Thursday, July 5, 2012

EIGRP Advance Topics


EIGRP has five packet types

Hello- packets are used to build and maintain neighbor relationships, multicast 224.0.0.10
Acknowledge- packets are empty hello packets used to acknowledge EIGRP packets
Update - packets are used first in a new neighbor relation to build routing and topology table and also when a network changes. Uses RTP.
Query- packets are used when a router loses a successor route and doesn't have a fesiable successor. Uses RTP.
Reply- packets are used to send routing information when a router receives a query packet

Using the show ip eigrp traffic command will display these packets types


R1#show ip eigrp traffic
IP-EIGRP Traffic Statistics for AS 1
  Hellos sent/received: 77/27
  Updates sent/received: 4/6
  Queries sent/received: 0/0
  Replies sent/received: 0/0
  Acks sent/received: 4/2
  Input queue high water mark 2, 0 drops
  SIA-Queries sent/received: 0/0
  SIA-Replies sent/received: 0/0
  Hello Process ID: 71
  PDM Process ID: 70

Designing EIGRP to meet certain goals requires configuring more advance EIGRP attributes. EIGRP neighbors converge using hello and hold down timers. Unlike OSPF, hello and hold down (Dead) timers do not need to match between neighbors but the rule of having the hold down timer be three times the hello interval is good practice. My default on high speed links (Ethernet) the hello timer is 5 seconds while the hold timer is 15 seconds. EIGRP will consider a neighbor down after not receiving a hello in 15 seconds. On slower links (T1)the hello timer will default to 60 seconds while the hold down is 180 seconds. Timers can be adjusted to speed time of convergence at the interface level. The command ip hello-interval eigrp <AS> <seconds> similarly with the hold down timer. To verify timers, the show ip eigrp neighbor command will show the hold down timer while the show ip eigrp interfaces detail <interface> command will show the hello timer.


R1#show ip eigrp neighbors 
IP-EIGRP neighbors for process 100
H   Address                 Interface       Hold Uptime   SRTT   RTO  Q  Seq
                                            (sec)         (ms)       Cnt Num
0   10.1.1.2                Se0/0             14 00:01:50    1  3000  0  1



R1(config-if)#ip hello-interval eigrp 100 2 
R1(config-if)#ip hold-time eigrp 100 6

R1#show ip eigrp interfaces detail serial 0/0
IP-EIGRP interfaces for process 100

                        Xmit Queue   Mean   Pacing Time   Multicast    Pending
Interface        Peers  Un/Reliable  SRTT   Un/Reliable   Flow Timer   Routes
Se0/0              1        0/0         0       0/15           0           0
  Hello interval is 2 sec
  Next xmit serial <none>
  Un/reliable mcasts: 0/0  Un/reliable ucasts: 0/2
  Mcast exceptions: 0  CR packets: 0  ACKs suppressed: 0
  Retransmissions sent: 1  Out-of-sequence rcvd: 0
  Authentication mode is not set

R1#show ip eigrp neighbors 
IP-EIGRP neighbors for process 100
H   Address                 Interface       Hold Uptime   SRTT   RTO  Q  Seq
                                            (sec)         (ms)       Cnt Num
0   10.1.1.2                Se0/0              5 00:09:03    1  3000  0  1



There might be a time when a connected interface needs to be advertised via EIGRP but no hello messages should be sent because a neighborship should never be formed. Using passive interfaces can accomplish this feat.  In the example below, I used the network command 192.168.1.0 0.0.0.255 in EIGRP 100 because I wanted to advertised the network but by doing so , EIGRP my default is sending hello packets trying to find a neighbor which will never happen. Using passive-interface under router EIGRP mode, I can prevent an accidental EIGRP adjacency and remove wasted bandwidth.




Here we can see EIGRP enable on interface Fa 0/0, which we don't want.

R1#show ip eigrp interfaces 
IP-EIGRP interfaces for process 100

                        Xmit Queue   Mean   Pacing Time   Multicast    Pending
Interface        Peers  Un/Reliable  SRTT   Un/Reliable   Flow Timer   Routes
Se0/0              1        0/0        24       0/15          50           0
Fa0/0              0        0/0         0       0/10           0           0




R1(config)#router eigrp 100
R1(config-router)#passive-interface fastEthernet 0/0

After configuring the passive-interface, I can verify that EIGRP is no longer enable on the interface but still being advertised in EIGRP. R2 can still see the routes and ping the Fa0/0 interface.

R1#show ip eigrp interfaces 
IP-EIGRP interfaces for process 100

                        Xmit Queue   Mean   Pacing Time   Multicast    Pending
Interface        Peers  Un/Reliable  SRTT   Un/Reliable   Flow Timer   Routes
Se0/0              1        0/0        24       0/15          50           0

R2#show ip route eigrp 
D    192.168.1.0/24 [90/2172416] via 10.1.1.1, 00:06:51, Serial0/0
R2#ping 192.168.1.1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/4/16 ms





EIGRP has three conditions in which it won't create a neighbor adjacency, AS mismatch, not on the same subnet and metric weights (k-values) are mismatched. Hello and dead timers don't need to match unlike OSPF.



When no subinterfaces are used, just add each VC to get the total bandwidth for the link.
R5(config)# int serial 0/0
R5(config)# bandwidth 768






When no subinterfaces are used and each VC is a different CIR, take the lowest rate and multiply it by the number of VCs. The recommended solution is to use subinterface if possible.

R5(config)# int serial 0/0
R5(config)# bandwidth 168





When using point-to-point subinterfaces with VC of different CIR, set each subinterface to its CIR.
R5(config)# int serial 0/0.1 point-to-point
R5(config-subif)# bandwidth 512
R5(config)# int serial 0/0.2 point-to-point
R5(config-subif)# bandwidth 256
R5(config)# int serial 0/0.3 point-to-point
R5(config-subif)# bandwidth 56





When using mutlipoint subinterfaces with VC of different CIRs, total the CIR for each VC.
R5(config)# int serial 0/0.1 multipoint
R5(config-subif)# bandwidth 824


No comments:

Post a Comment