Jeff Doyle -Vol 1: Chapter 7 Notes, EIGRP

February 7, 2008

IGRP: AD=100; IP Protocol 9; update 90s, invalidation = 3×90, holddown = invalidation+10, Flush = 7×90

Metric = {k1*BWIGRP + k2* BWIGRP /256-LOAD+k3*DLYIGRP} * k5/ (Reliability+k4)

Typically metric = BWIGRP + DLYIGRP; BWIGRP = 10^7/BW in Kbps, DLYIGRP = Delay in 10’s of microseconds. Unreachable DLYIGRP = FFFFFF = 167.8s

router igrp 1
metric weights <tos> k1 k2 k3 k4 k5

EIGRP: AD=90, default 100 hops, max 255 – n/w diameter, not a metric. Hello interval = 5s (on b/c and p-to-p links) 60s otherwise. Holdtime=3xHello. Multicast 224.0.0.10. IP protocol88  Metric = 256*IGRP metric.
Components of EIGRP:

Protocol dependant modules: IP/IPX/Appletalk.

DUAL

Neighbor Discovery/Recovery

Reliable Transport Protocol

EIGRP automatically redistributes: IPX -> IPX RIP/NLSP, Appletalk -> RTMP, IP -> IGRP (same AS#)
RTP: Hellos – unreliable m/c, ACK – unreliable unicast, UPDATES – reliable, non-periodic, bound, partial, m/c or u/c. QUERIES – m/c or u/c, reliable, REPLIES – u/c reliable, REQUESTS – unused
m/c flowtimer ……….. expires -> unicast (16 times)

Neighbor Discovery/Recovery: interface:

ip hello-interval eigrp <>
ip hold-time eigrp <>
sh ip eigrp neighbors

DUAL: Uses low-level protocols (RTP+ND/R) to :

- Detect new/loss of neighbors
- Make sure the messages are valid
- Make sure the updates are processed sequentially and correctly

  1. Establish adjacencies
  2. Exchange Updates
  3. Calculate Metrics

R1———————R2———————-R3—

\\\\\\\\\\\\\\\\\\\\\|————————| AD

|————————————————–| FD

Feasibility Condition: AD < FD. If FC is met, the neighbor becomes a Feasible Successor
Topological table contains: Every destination, FS, Successor, FD, neighbor’s AD, i/f.
show ip eigrp topology

Route is PASSIVE <—– INPUT EVENT*

|

|

New FS with lower metric — > add

(or)

New FD < old FD — > update FD

(or)

New Distance — > Send update

|

|

If no FS, route = ACTIVE à initiate Diffusing Computation

| | |

Query Query Query (set reply flag ‘r’)

|

If a neighbor has a FS, it sends a reply; else it sends a Query and goes ACTIVE

|

SIA if no reply is received from all neighbors within 3 mins

*INPUT EVENTS: Cost change of directly connected link, status change of link, update, query or reply
ACTIVE timer can be changed from 3 mins by: router eigrp 1, timers active-time <>

If no FS is discovered from the replies, the FD is set to infinity so that any non-infinite metric is added as FS.

EIGRP Header:

Version

Op Code

Checksum

Flags

Sequence #

Ack #

AS #

TLVs

Flag=1 => new neighbor, first set of routes.

TLVs: K values, load, reliability, AS#, next-hop, External R.P, metric.

CIDR: address aggregation by IANA

EIGRP performs unequal load balancing using VARIANCE: router eigrp 15; var 5
Maximum paths: 1->16, default 4.
*!* Implicit default command: traffic-shape balanced. If only the least cost path needs to be used, but all other routes need to be injected into the routing table, use traffic-shape min
Multiple EIGRP instances: to prevent inter-instance updates, define the i/f in AS1 as a passive i/f for the other AS etc. or use very specific wildcard bits so the exact n/w is matched. router eigrp 10; network 172.20.15.0 0.0.0.255
router eigrp 10; no auto-summary
– stops auto-summarization at the n/w boundary
Stub: updates contain only directly connected, static, summary or redistributed networks. router eigrp 10; eigrp stub {connected|static|direct|summary|receive-only}
show eigrp neighbor detail – indicates ‘stub’
To summarize: interface: ip summary-address eigrp 10 172.0.0.0 255.0.0.0
Authentication: same as RIPv2 key-chain; Supports only MD5
i/f: ip authentication key-chain eigrp 10 KC.
Troubleshooting: debug eigrp packets, debug eigrp neighbor
SIA: IOS 12.2[4.1] onwards have a SIA retransmit timer. Enables a route to be active for upto 6 mins before going SIA

|——————————||——————————||——————————————–|

0 90 180 360

Q0,R0 Q1,R1 Q3,R3 SIA

As long as a neighbor responds to a query, the SIA re-tx and Active timers are reset (3 attempts)
SIA causes: low b/w, congestion, resource issues (CPU/memory). EIGRP uses a max of 50% of the b/w by default. Interface: ip bandwidth-percent eigrp 200 (eg 56k link)


Jeff Doyle -Vol 1: Chapter 6 Notes, RIPv2/RIPng

February 6, 2008

http://ccieyatra.wordpress.com/2008/01/28/5/


Jeff Doyle -Vol 1: Chapter 5 Notes, RIP

February 6, 2008

RIP: UDP 520; update = 30s, invalidation = 6×30, holddown = 6×30, flush = invalidation +120s (Cisco uses +60s)
router rip
timers basic <update> <invalid> <holddown> < flush>
Changing the timer on any one router affects every neighbor it talks to => affects RIP domain
Triggered update: Only over serial links, only when changes occur. Timer 1-5s. Configured at both ends. (RIP timer expiry is observed in debugs)
debug ip rip trigger
interface se1/0
ip rip triggered.

ripv1 message

Max message size =512 bytes.
Command: 1= Request, 2= response, AFID = 2 for IP. (When a full table is requested, AFID=0, IP=0.0.0.0 & metric=16)

Classful Routing: If the n/w does not match the subnet of it’s i/f, RIP will treat is as a major n/w.
Passive if: router rip; passive interface se1/0 – > no updates are sent.
Neighbor: Default updates are b/c. router rip, neighbor <ip> will force unicast
Secondary IP address: To connect two discontigous n/ws, configure a secondary IP address with same mask and same classful n/w (for eg. 10.75.3.1 255.255.252.0 to connect 10.55.3.1 255.255.252.0)
Offset-List: Used to influence RIP metrics.
access-list 1 permit 10.33.0.0 0.0.0.0 (mask matches the n/w exactly)
router rip
offset-list 1 in 3 se 1/0
(add a metric of 3 to traffic matching ACL 1, incoming on se1/0)
If no i/f is specified, any traffic matching the acl on any i/f is affected.
If no ACL, all traffic through that i/f is affected

Troubleshooting: If there is a slow – fast neighbor combination and the slow router cant keep up with the RIP updates; on the faster router:
router rip
output-delay <8-50ms>


Jeff Doyle -Vol 1: Chapter 4 Notes, Dynamic Routing Protocols

February 6, 2008

Distance vector: RIP v1&2, IGRP, EIGRP, DEC’s DNA Phase IV, Appletalk RTMP

Common characteristics: Periodic updates (except EIGRP), neighbors, b/c updates (except RIPv2 and EIGRP), Full table

Link State: OSPF, ISIS, DEC’s DNA Phase V, NLSP. Uses Hello packets.

- LSA (not full routing table) use Seq and ACK #s.

Sequencing Algorithms:
Linear -> 1—————- X (where X is a very large #). Issue: router restart will reinitialize sequencing. Soln: Neighbor on receipt of a lower seq # sends its LSA (contains the last seq#) to that router. ISIS

Circular Sequencing. Eliminates need for neighbor to send an LSA to reinitialize sequencing. Cyclic 0 to n. Uses: if a>b; a-b < or = n/2 => a is latest. If a<b, b-a > n/2 => a is latest.

Lollipop Shaped: hybrid. (-N+1) to 0 : Linear, 0 to (N-2) is circular. OSPFv1
Current version of OSPF(v2) uses a Linear model (-N+1)——–0——-(N-2)

Aging: Set to 1 when LSA is created and incremented as a function of time at each router. It defines the MaxAgeDiff. If 2 LSAs with same seq# are received and if the difference in their ages is greater than MaxAgeDiff, the newer one is added.

Link State Database = Router Link Information + Stub n/w information
Dijkstra’s Algorithm: Database Tree <- Candidate <- Link state

- Router builds a SPF tree by first adding itself as a root node.
- It then creates a list of all directly connected neighbors and associated costs.
- Lowest cost link to a neighbor becomes a branch.
- This router’s neighbors are then added to the list
- The list is checked for duplicates and higher cost paths to dupes are dropped
- The lowest cost router is added to the tree and its neighbors are added to the list
- Process is repeated

Stub info is then added and the route is injected into the routing table.

Link State Routing Protocol Concerns: High CPU, B/w, memory – mitigated by areas.

EGPs: BGP, EGP, ISO’s IDRP, NLSP Level3 Routing.


Jeff Doyle -Vol 1: Chapter 3 Notes, Static Routing basics

February 5, 2008

ip route 10.10.1.0 255.255.255.0 fa0/0 10.200.1.1 – combination of i/f and next hop
ipv6 static routing:
(config)#ipv6 unicast-routing
interface fa0/0
ipv6 enable
ipv6 address fec0:0:0:3::/64 eui-64
IPv6 show commands:
show cdp neighbor details
show ipv6 interface fa0/0
show ipv6 route -> L indicates locally connected
If global IP addresses are re-numbered, link-local addresses remain the same. If the router has to be replaced, routing has to be reconfigured (if routes point to link-local addresses)
IPv6 never responds to PROXY-ARP

Alternate routes: static routes with a higher cost (influences the AD)

Load sharing: per packet/ per destination. Per packet is obviously a more ‘fair’ load-balance but may cause packets to arrive out of order. This maybe unacceptable for real-time applications like VoIP.

CEF: uses 2 tables FIB (L3 derived from routing table) and Adjacency table (L2 from ARP and NS). The tables are built even before the first packet needs to be routed.
Default : per destination (src & dest)
sh ip cef; sh ipv6 cef
at the interface: ip load-sharing per-packet

Ingress i/f

egress i/f

s/w ing method

CEFCEF

Process

Process

Fast

Fast

ProcessFast

CEF

Fast

CEF

Process

CEFCEF

Fast

Fast

Fast

Process

Fast Switching: Only done per-destination. 1st packet -> route table lookup, select egress i/f. -> L2 encap. Store this info in a cache (F.S cache). Subsequent packets use the cache.

Process Switching: IPv6 default. Only process s/w’ed packets show up in debug ip packet. Sometimes even if CEF is enabled, the packets are process sw’ed. Eg: access-list logging.

Recursive route lookup: when the gateway for a route is not directly reachable.


Jeff Doyle -Vol 1: Chapter 2 Notes, IPV6 basics

January 31, 2008

IPV6 Rules: Leading 0’s can be omitted.

1 or more contiguous all-0’s can be replaced by ::

::/0 – Default route ; ::/128 – unspecified (used by NDP)

Global unicast address : (001 – first 3 bits => all addresses begin 2xxx::/4 or 3xxx::/4)

Starting addresses: 6bone – 3ffe, RIRs – 2001

Global routing Prefix (48)

Subnet ID (16)

Interface ID (64)

ð 65535 subnets

::1/128 – Loopback address; FF00::/8 – Multicast; FE80::/10 – Link-local unicast; FEC0::/10 – Site-local unicast

Anycast address: can be any global unicast address – represents a service (the override bit is always set to 0 in the NA)

Multicast

Multicast prefix 0xFF (8)

Flags (4)

Scope (4)

Group ID (112)

Only last 32 used

Flags: First 3 bits unused; 0 = permanent, well known, 1 = temporary, admin assigned

Scope: 0×0 reserved, 0×1 node-local, 0×2 link-local, 0×5 site-local, 0×8 org-local, 0xE global

 

IPV6 Header: Always 40 octets.

Ver(4)

Traffic Class (8)

Flow Label (20)

Length (20)

Next Header (8)

Hop limit (8)

Source address

Destination Address

 

Extension Headers (Next Header) : Hop-by-hop (0), Routing (43), Fragment (44), ESP (50), AH (51), Destination Options (60), No Next Headers (59)

* Hard rule: If hop-hop is used, it should directly follow IPV6 header.

- NDP’s PnP Features: Router discovery, prefix discovery, parameter discover, address auto-config, address resolution (L2->L3), next-hop discovery (router or local n/w), Neighbor unreachability detection, Duplicate address discovery, Redirects.

ICMPv6 (protocol val = 58) is used for NDP. NDP messages are always link-local in scope and hop-limit is set to 255

RA: type 0, code 134, Source = Originator, Dest = unicast/ FF02::1 (all nodes m/c)

IPV6 RA message

M – Managed address – stateful (DHCPv6) /stateless

O – Other stateful options

Router Lifetime: set to 0 if the router is not a default gateway

Reachable time: Instructs the host of neighbor reachability duration

Retransmit time: Instructs host of NS messages retransmit interval

Options: Link-layer i/f address, MTU, prefix info

—-

RS: type 0 , code 133, Source = Originator/ ::/128(no ip yet), Dest = FF02::2 (all routers )

IPV6 RS message

——–

NS: type 0, code 135, Source = originator/ ::/128 (DaD), Dest = unicast/ Solicited-node m/c

IPV6 NS message

—-

NA: type0, code 136, Source = originator, Dest = unicast/ FF02::1(announce new IP)

IPV6 NA message

R- Router, S-solicited, O- override
—-
Redirect: type 0. code 137, source= router sending the redirect, Dest = unicast

Target = Better next hop, Dest = dest n/w for which target is the better next-hop

Options: set using TLVs ; Values = src-link address, target-link address, prefix-info, redirected header, MTU etc.

NDP Cisco configurable options:

ipv6 unicast-routing : automatically send RA on b/c media

ipv6 nd ra interval etc to influence the default settings

Address Auto-configuration: Prefix + mac-to-eui64 0xFFFE is inserted in the middle of the 48 bit mac and the 7th bit U/L is flipped to 1 (Universal)

Duplicate Address Detection:

  1. New address is classified “tentative”
  2. NS -> Dest = Solicited-node m/c address : FF02:0:0:0:0:1:FF::/104

Src = ::/128, target = new address

  1. Conflict => NA to NS requestor

Neighbor address resolution: DNS query -> <- response with /128 bit address, identifies if it is a link-local address or not (in which case it sends it to the router – known from RA).

  1. looks up neighbor cache, if absent
  2. enters the address, marks it INCOMPLETE
  3. sends a NS to the solicited node m/c of the target
  4. If there is no NA for 3 NS queries, resolution fails. Else the neighbor cache is updated, status : REACHABLE

Privacy addresses: RFC 3401 – to prevent users from being tracked, pseudo random i/f ID

Neighbor cache states: INCOMPLETE, REACHABLE, STALE (reachability time expired), PROBE (to re-establish reachability) sent after a DELAY

Neighbor Unreachability Detection: Two way confirmation – Either upper layer hints or NS in response to a NA or RA (with “s” set)


Jeff Doyle -Vol 1: Chapter 1 Notes, TCP/IP basics

January 29, 2008
TCP/IP:

5 Layers in contrast to 7 Layer OSI: Physical, Data-link, Internet, Host-to-Host, & Application

Physical+Datalink = N/w i/f layer: Defines the Electrical/Optical Protocols, Mechanical Protocols,

Functional protocols, Procedural Protocols

IP Header

IP Flags: 010 – DF, 001 – More fragments, 000 – End of fragments

Options: Strict source routing, Loose source routing, Record route, Timestamp route
ToS: 3 bit Precedence, 5 bit ToS. Now mostly used as 6 bit DSCP , 2 bit ECN (11)

TCP Header    

Misc:
ARP – cisco default timeout = 4hrs,
PROXY-ARP – default enabled per interface
GRATUITOUS ARP- default disabled per interface – used for duplicate address detection
IP redirect enabled by default.
Max size of IP packet: 65535 octets


Jeff Doyle -Vol 1: Chapter 6 Notes, RIPv2/RIPng

January 28, 2008

 

Concepts:

RIPv2: Extensions to RIP: subnet masks, hop-count, external route-tags
authentication, uses multicast (224.0.0.9)

ripv2.jpg

Compatibility: RIPv2 accepts v1 messages. RIPv1 discards the update if ver = 1 & unused fields are set. If ver > 1, then the unused field bits are ignored and the rest of the update is processed. Compatibility is set both in the RIP process and at the interface level

router rip –> Send and receive only V1 updates

version 1

router rip –> Send and receive only V2 updates

version 2

router rip –> Default Send only V1 but recieve V1 and V2

at the interface: ip rip send version 1 2

ip rip receive version 1 2

Authentication: The first route entry in the message is replaced with Authentication parameters. ID’ed by setting : Family address 0xffff; route-tag 2 (clear-text)/3 (md5 -purely Cisco, non-rfc)

 

———–xxx———-

RIPng: m/c address ff02::9, UDP 521, uses IPV6 Auth headers (AH/ESP)

ripng1.jpg

RIPng uses a special message for the next-hop. All routes following which, uses it, until a new next-hop message is seen.

ripng2.jpg

Configuration:

RIPv2

Enabling rip version 2 causes updates to be multicast. If the v2 update needs to be sent to a V1 router, other than by using the interface send/receive command (for eg if split horizon prevents a V1 send/receive enabled router to update a V1 only router). solution:

router rip

neighbor <ip of V1 only Rtr>

or

interface <broadcast segment>

no ip split-horizon

 

Summarization: Default behaviour – summarize networks to the interface subnet. In RIPv2, this can be disabled to send the subnnet mask with the update by:

router rip

no auto-summary

 

Authentication:

simple

(config)#key chain MyKeyChain

(config-keychain)#key 1

(config-keychain-key)#key-string test1

(config-if)#ip rip authentication mode md5

(config-if)#ip rip authentication key-chain MyKeyChain

 

Key Management (Used to roll-over the password)

(config)#key chain MyKeyChain

(config-keychain)#key 1

(config-keychain-key)#key-string test1

(config-keychain-key)#accept-lifetime <hh:mm:ss> <date> <Month> duration/infinite

(config-keychain-key)#send-lifetime <hh:mm:ss> <date> <Month> duration/infinite

RIPng:

Configured with a single interface command:

interface fa0/0

ipv6 enable Multiple such processes can be enabled per interface.

ipv6 address <>

ipv6 rip MyProc1 enable Inserts a “ipv6 router rip MyProc1″ into the global running config.

ipv6 rip MyProc2 enable

No 2 processes should use the same UDP ports on the same i/f

ipv6 router rip MyProc1

port 527 multicast ff02::9

Parameter Customization:

ipv6 router rip MyProc1

timers <update> <invalidate> <holddown> <flush>

maximum-paths <1-64> ; default 16 equal-cost paths

distance <AD> ; changes the value of the AD for this process locally.

 

Metrics: Unlike v1/v2, where the hop-count to an update (inbound or out) could be changed by using an offset-list, in ‘ng’ the hop-count can only be changed for all updates on an incoming interface. By default, the process increments the metric by 1.

At an interface: ipv6 rip MyProc1 metric-offset 3

 

Summarization: IPv6 => subnetting happens in the network bits

at an interface: ipv6 rip MyProc1 summary-address 2001:db8:0:10::/62