EIGRP (Enhanced interior Gateway Routing Protocol)
EIGRP is a cisco proprietary, Advance distance vector, classless Interior gateway routing protocol.
Released in-1994. It works on Network Layer of OSI Model. It use the IP protocol no 88. (It doesn’t use TCP or UDP) EIGRP AD – 90 Eigrp External routes AD – 170 EIGRP has a maximum hop-count of 224, though the default maximum hop-count is set to 100 EIGRP use AS numbers to divide a network logically. AS No – 1to 65535. EIGRP supports only one type of Authentication that is MD-5. It forwards incremental updates. It forwards bounded updates. It supports unequal load balancing. Multi-protocol support – IP, IPx and AppleTalk. Rapid convergence using DUAL Algo. Supports CIDR and VLSM.
EIGRP uses Bandwidth and Delay of the Line, by default to calculate its distance metric. It also supports three other parameters to calculate its metric: Reliability, Load and MTU. EIGRP uses Diffusing Update Algorithm (DUAL) to determine the best path among all “feasible” paths. DUAL also helps ensure a loop free routing environment. EIGRP will form neighbor relationships with adjacent routers in the same Autonomous System. EIGRP traffic is either sent as unicasts, or as multicasts. It send multicast hello using the multicast IP 224.0.0.10 Reliable Transport Protocol is used to ensure delivery of most EIGRP packets. EIGRP routers do not send periodic, full-table routing updates. Updates are sent when a change occurs, and include only the change. EIGRP allows for up to 16 equal-metric routes to be installed in the routing table, the default is four. EIGRP also has something called variance. Variance allows for un - equal cost load balancing. EIGRP packets are by default use no more than 50% of bandwidth.
Hello and Hold Interval Timers Link Bandwidth
Hello
Hold
1.544 Mbps or less 1.544 Mbps or more
60 sec 5 sec
180 sec 15 sec
EIGRP (Enhanced interior Gateway Routing Protocol)
EIGRP Technologies/Components 1. 2. 3. 4.
NDR (Neighbor Discovery and Recovery). RTP (Reliable Transport protocol). DUAL (Defusing update algorithm). PDM (Protocol Dependent Module).
1. NDR – It is used to maintain the neighborship.
Functions of NDR Firstly it determines that how many neighbors are exists. It determines that how many hellos and acknowledge will be expected. If it does not receive hello in whole hold time then it erase the neighbor from neighbor table. If it doesn’t receive hello then it forwards 16 unicasts hello message, if neighbor is still not responding then it erase that neighbor from neighbor table. 2. RTP – RTP is cisco proprietary protocol. It is used to send some EIGRP messages. EIGRP is protocol independent; it does not rely on TCP/IP to exchange routing information, the way RIP, IGRP and OSPF do. RTP supports reliable and unreliable delivery. RTP is used for EIGRP Queries, updates and replies. RTP is not used for hellos and acks. 3. DUAL – It is a modification in distance vector algorithm. It provides a backup path with loop free network.
Functions of DUAL Best path determination Backup path with loop free network 4. PDM – It is used to support different types of routed protocols. Ex- IP, IPx, AppleTalk. (Routing protocol gives us best path and routed protocols are used to carry the data packets.)
EIGRP Packet Types EIGRP employs five packet types: 1. Hello packets- Hello packets are used to discover, verify and rediscover neighbor routers. On IP networks, EIGRP hello packets are multicast, 224.0.0.10.
EIGRP (Enhanced interior Gateway Routing Protocol)
EIGRP routers send hellos at a fixed interval, called the hello interval. Which is 5 sec. 2. Update packets- Update packets are used when a router discovers a new neighbor. EIGRP Updates are only sent when a network is added or removed from the topology database. The EIGRP router sends a multicast update packet to all neighbors alerting them to change. 3. Query packets- Query packets are sent by a router when a Successor route fails, and there is no Feasible Successor in the topology table. The router places the route in an Active state, and queries its neighbors for an alternative route. Query packets are sent as a multicast to address 224.0.0.10. 4. Reply packets- A reply packet is used to respond a query. If an EIGRP router loses its successor and cannot find a feasible successor for a route, Dual places the route in the active state. The router multicasts a query to all neighbors, searching for a successor to the destination network. Neighbors must send replies that either provide information on successors, or indicate that no successor information is available. Queries can be multicast or unicast, while replies are always unicast. 5. Acknowledgement packets- Acknowledgement packets are unicast. It is used to ensure reliable communication.
EIGRP much like OSPF builds 3 Tables 1. Neighbor Table 2. Topology Table 3. Routing Table 1. Neighbor Table- Each EIGRP router maintains a neighbor table that lists adjacent routers. It contains the information related to its neighbors. Requirements for neighborship
AS value must match Network must match K values must match Authentication must match If you are using static neighbor, then define on both routers.
EIGRP (Enhanced interior Gateway Routing Protocol)
Components of neighbor table
IP Address of neighbor. Interface on which the Hello was received. Hold Time in seconds Up Time - how long the neighbor has been up. SRTT - Smooth Round Trip Time (SRTT) - the average time in milliseconds between the transmission of a packet to a neighbor and the receipt of an acknowledgement. RTO - Retransmission Timeout (RTO) - if a multicast has failed, then a unicast is sent to that particular router, the RTO is the time in milliseconds that the router waits for an acknowledgement of that unicast Queue - shows the number of queued packets. Sequence Number of the last EIGRP packet received.
2. Topology Table- List of all the routes in the network. Topology table contains the information about successor and feasible successor. 3. Routing Table- It contains the best route to reach destination.
EIGRP Terminology 1. Successor- A best path to reach destination is called successor.
Figure 1 Successor in EIGRP
Terminology
EIGRP (Enhanced interior Gateway Routing Protocol) 2. Feasible Successor- A path which provides backup to the successor is called feasible successor. To be considered a feasible successor the AD must be less than the FD of Successor. 3. Feasible distance- A total calculated metric of successor is called feasible distance. The metric of EIGRP is Bandwidth and delay. Note- Basically EIGRP use composite metrics. This composite metric is K1, K2, K3, K4 and K5. K1 – Bandwidth K2 – Load K3 – Delay K4 – Reliability K – 5 MTU But Cisco recommends to use only bandwidth and delay as a metric.
4. LINK By default
5. Delay (In Microseconds)
6. Serial 8. Ethernet 10. Fast Ethernet
7. 20,000 9. 1000 11. 100
256*(107/least bandwidth + Total delay/10) (This is the formula which EIGRP uses) 4. Advertised Distance/Reported Distance- A routers’ FD is called Advertised Distance for its neighbor. How far it is from your neighbor is called Advertised distance or Reported Distance. 5. Input Events- An input which has the capability to change the database of EIGRP is called Input events. 6. Local Computation- When the input event has occurred EIGRP performs a local computation, EIGRP looks for a Feasible Successor (FS) route in its topology table and if it cannot find one it will actively query its neighbors for a route. 7. Going Active- If successor goes down then feasible successor will become successor. If feasible successor is not available then that route will become active and will start to forward query messages to its neighbors.
EIGRP (Enhanced interior Gateway Routing Protocol)
Figure 2 EIGRP
Terminology
First we need to configure the above IP add on each interface and then we will run EIGRP Protocol R1 (config) #router Eigrp 100 R1 (config-router) #network 192.168.1.0 R1 (config-router) #network 192.168.4.0 R1 (config-router) #network 172.168.101.0 0.0.0.255 R1 (config-router) #no auto-summary R2 (config) # router Eigrp 100 R2 (config-router) #network 192.168.1.0 R2 (config-router) #network 192.168.2.0 R2 (config-router) #network 172.168.102.0 0.0.0.255 R2 (config-router) #no auto-summary R3 (config) # router Eigrp 100 R3 (config-router) #network 192.168.2.0 R3 (config-router) #network 192.168.3.0 R3 (config-router) #network 172.168.103.0 0.0.0.255 R3 (config-router) #no auto-summary R4 (config) # router Eigrp 100 R4 (config-router) #network 192.168.3.0
EIGRP (Enhanced interior Gateway Routing Protocol) R4 (config-router) #network 192.168.4.0 R4 (config-router) #network 172.168.104.0 0.0.0.255 R4 (config-router) #no auto-summary R1#show ip route R1#show ip Eigrp neighbors R1#show ip Eigrp topology R1#show int fa0/0 R1#show int s0/0 R1#show ip protocols R1#Ping 172.168.103.1 R1#Traceroute 172.168.103.1 By default EIGRP uses 4 paths to reach destination, we can increase it R1 (config) #router Eigrp 100 <1-16> number of paths R1 (config-router) #maximum-paths 10 R1#show Ip protocol In EIGRP we can create static neighborship also R1 (config) #router Eigrp 100 R1 (config-router) #neighbor 192.168.1.2 s0/0 If we are creating static neighborship then we need to create on both sides R2 (config) # router Eigrp 100 R2 (config-router) #neighbor 192.168.1.1 s0/0 Now we will check Hello and Hold interval and we will change also R1#show ip Eigrp int s0/0 R1#show ip Eigrp int detail R1#show ip Eigrp neighbors R1 (config) #int s0/0 R1 (config-if) # ip hello-interval Eigrp 100 ? (1-65535) seconds between hello transmissions R1(config-if)#ip hello-interval Eigrp 100 10 R1# sh ip Eigrp interface detail R1 (config) # int s0/0 R1 (config-if) # ip hold-time Eigrp 100 ? R1 (config-if) # ip hold-time Eigrp 100 20 R1# show ip Eigrp neighbors
EIGRP (Enhanced interior Gateway Routing Protocol)
EIGRP uses multicast address 224.0.0.10 to see this we need to use debug command R1#debug ip packet R1# un all R1#debug Eigrp packet R1# un all To stop unwanted updates sending on fast Ethernet R1(config)#router Eigrp 100 R1(config-router)#passive-interface fa0/0 EIGRP Authentication R1 (config) #key chain mani R1 (config-keychain) #key 5 R1 (config-keychain-key) # key-string cisco R1 (config) #int s0/0 R1 (config-if) #ip authentication mode Eigrp 100 md5 R1 (config-if) #ip authentication key-chain Eigrp 100 mani R2(config)#key chain test R2(config-keychain)#key 5 R2(config-keychain-key)# key-string cisco R2(config)#int s0/0 R2(config-if)#ip authentication mode Eigrp 100 md5 R2(config-if)#ip authentication key-chain Eigrp 100 test By default Eigrp uses 100 hop count. But we can increase it R1(config)#router Eigrp 100 R1(config-router)#metric maximum-hops 255 R1#sh ip protocols We can change the bandwidth also R1(config)#int s0/0 R1(config-if)#bandwidth 1000 We can change the variance for unequal load balancing R1(config)#router Eigrp 100 R1(config-router)#variance 2 R1#sh protocols
EIGRP (Enhanced interior Gateway Routing Protocol)
Now we will change K values. But for neighborship K values must match R1#sh protocols R1(config)#router Eigrp 100 R1(config-router)#metric weight 0 0 0 0 0 1 Neighborship would break now. Because we changed the K values. After weight we use Toss value, which is always 0. And then k1, k2, k3,k4 and k5 values. Now we will correct it R1(config-router)#no metric weight 0 0 0 0 0 1 Here we will create some loop back on the Router1 R1(config)# int lo 1 R1(config-if)# ip add 10.1.1.1 255.255.255.0 R1(config-if)# int lo 2 R1(config-if)# ip add 10.1.2.1 255.255.255.0 R1(config-if)# int lo 3 R1(config-if)# ip add 10.1.3.1 255.255.255.0 R1(config-if)# int lo 4 R1(config-if)# ip add 10.1.4.1 255.255.255.0 R1(config-if)# int lo 5 R1(config-if)# ip add 10.1.5.1 255.255.255.0 R1(config-if)# int lo 6 R1(config-if)# ip add 10.1.6.1 255.255.255.0 R3#sh ip route R1(config)#int s0/0 R1(config-if)#ip summary-add Eigrp 100 10.1.0.0 255.255.248.0 R1(config)#int s0/1 R1(config-if)#ip summary-address Eigrp 100 10.1.0.0 255.255.248.0 R1#clear ip route * R3#clear ip route * R3#sh ip route