Enhanced Interior Gateway Routing Protocol (EIGRP) is a Cisco proprietary, distance vector, classless routing protocol used for routing inside a network (IGP). In addition to other distance vector routing protocol, like RIP and IGRP, EIGRP has some unique features like: Reliable Transport Protocol (RTP), which provides reliable and unreliable delivery of EIGRP packets, Bounded Updates, Diffusing Update Algorithm (DUAL) to guarantee loop-free paths and backup paths, Neighbor and Topology Tables. EIGRP can operate as a classful routing protocol, as well as a classless one.
Unlike other distance vector routing protocols, EIGRP does not send periodic updates, so the route entries to not age out, instead, EIGRP uses a lightweight Hello protocol to monitor connection status with its neighbors.
Every EIGRP packet includes the EIGRP
Packet Header. The important fields in this header are the Opcode field
and the Autonomous System Number field. The Opcode specifies the packet
type, which can be Update, Query, Reply and Hello. The Autonomous
System (AS) Number specifies the EIGRP routing process. Unlike RIP, a Cisco router can run multiple instances of EIGRP. The AS number is used to track multiple instances of EIGRP.
Reliable Transport Protocol (RTP) is used by EIGRP for the delivery and reception of EIGRP packets. RTP sends packets to either unicast address or the reserved multicast address 224.0.0.10.
As we already told you, EIGRP uses five different packet types:
· Hello packets – are used to discover neighbors and form adjacencies with them. These packets are multicast and use unreliable delivery and are sent typically every 5 seconds.
· Update packets –
are used to propagate the routing information. Update packets are sent
only when a change in the topology occurs and only to those routers who
require them. EIGRP
update packets use reliable delivery and are sent to the multicast
address when multiple routers require them, and to the unicast address
when they are required by a single router.
· Acknowledgement (ACK) packets –
are sent when reliable delivery is used. They contain a nonzero
acknowledgement number and are always sent to the unicast address.
· Query and Replay packets –
are used by DUAL when searching for networks and other tasks. Queries
are sent to the multicast address and use reliable delivery, while
replies are sent as unicast and they are also using reliable delivery.
In EIGRP, the default administrative distance (AD) is 170 when used as an Exterior Gateway Protocol (EGP), 90 when used as an IGP and 5 for EIGRP summary routes.
EIGRP also supports authentication to ensure the information transmitted over the network is authentic and from a trusted source.
To better understand EIGRP, we will use the following topology to configure an EIGRP network.
First, let’s configure the IP addresses on the interfaces of the routers.
R0(config)#int Fa0/0
R0(config-if)#ip addr 172.16.1.1 255.255.255.0
R0(config-if)#no shutdown
R0(config-if)#int Fa0/1
R0(config-if)#ip addr 192.168.1.1 255.255.255.0
R0(config-if)#no shutdown
R0(config-if)#ip addr 172.16.1.1 255.255.255.0
R0(config-if)#no shutdown
R0(config-if)#int Fa0/1
R0(config-if)#ip addr 192.168.1.1 255.255.255.0
R0(config-if)#no shutdown
R1(config)#int Fa0/0
R1(config-if)#ip addr 172.16.1.2 255.255.255.0
R1(config-if)#no shutdown
R1(config-if)#int Fa0/1
R1(config-if)#ip addr 192.168.2.1 255.255.255.0
R1(config-if)#no shutdown
R1(config-if)#ip addr 172.16.1.2 255.255.255.0
R1(config-if)#no shutdown
R1(config-if)#int Fa0/1
R1(config-if)#ip addr 192.168.2.1 255.255.255.0
R1(config-if)#no shutdown
R2(config)#int Fa0/0
R2(config-if)#ip addr 192.168.1.2 255.255.255.0
R2(config-if)#no shutdown
R2(config-if)#ip addr 192.168.1.2 255.255.255.0
R2(config-if)#no shutdown
R3(config)#int Fa0/0
R3(config-if)#ip addr 192.168.2.2 255.255.255.0
R3(config-if)#no shutdown
R3(config-if)#ip addr 192.168.2.2 255.255.255.0
R3(config-if)#no shutdown
Now, let’s enable EIGRP and specify what networks to advertise to our neighbors. We will use EIGRP autonomous system (AS) 1.
R0(config)#router eigrp 1
R0(config-router)#network 172.16.1.0 0.0.0.255
R0(config-router)#network 192.168.1.0
R0(config-router)#network 172.16.1.0 0.0.0.255
R0(config-router)#network 192.168.1.0
Optionally, in EIGRP,
you can specify the wildcard bits when you chose to advertise a
network. By default, when using the network command and a classful
network address such as 172.16.1.0, all interfaces will be enabled for EIGRP.
Although this is not our case, if you don’t want to enable all of them,
you must specify the wildcard mask. To calculate the wildcard mask, you
must substract the subnet mask from 255.255.255.255. For example, the
wildcard mask for 255.255.255.252 is 255.255.255.255 – 255.255.255.252 =
0.0.0.3.
Let’s continue to configure the other routers now.
R1(config-router)#router eigrp 1
R1(config-router)#network 172.16.1.0
R1(config-router)#
*Mar 1 00:14:27.267: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 1: Neighbor 172.16.1.1 (FastEthernet0/0) is up: new adjacency
R1(config-router)#network 192.168.2.0
R1(config-router)#network 172.16.1.0
R1(config-router)#
*Mar 1 00:14:27.267: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 1: Neighbor 172.16.1.1 (FastEthernet0/0) is up: new adjacency
R1(config-router)#network 192.168.2.0
R2(config)#router eigrp 1
R2(config-router)#network 192.168.1.0
R2(config-router)#
*Mar 1 00:16:17.475: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 1: Neighbor 192.168.1.1 (FastEthernet0/0) is up: new adjacency
R2(config-router)#network 192.168.1.0
R2(config-router)#
*Mar 1 00:16:17.475: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 1: Neighbor 192.168.1.1 (FastEthernet0/0) is up: new adjacency
R3(config)#router eigrp 1
R3(config-router)#network 192.168.2.0
R3(config-router)#
*Mar 1 00:17:02.279: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 1: Neighbor 192.168.2.1 (FastEthernet0/0) is up: new adjacency
R3(config-router)#network 192.168.2.0
R3(config-router)#
*Mar 1 00:17:02.279: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 1: Neighbor 192.168.2.1 (FastEthernet0/0) is up: new adjacency
Now, let’s check the routing table.
R3#show ip route
Codes: C – connected, S – static, R – RIP, M – mobile, B – BGP
D – EIGRP, EX – EIGRP external, O – OSPF, IA – OSPF inter area
N1 – OSPF NSSA external type 1, N2 – OSPF NSSA external type 2
E1 – OSPF external type 1, E2 – OSPF external type 2
i – IS-IS, su – IS-IS summary, L1 – IS-IS level-1, L2 – IS-IS level-2
ia – IS-IS inter area, * – candidate default, U – per-user static route
o – ODR, P – periodic downloaded static route
Codes: C – connected, S – static, R – RIP, M – mobile, B – BGP
D – EIGRP, EX – EIGRP external, O – OSPF, IA – OSPF inter area
N1 – OSPF NSSA external type 1, N2 – OSPF NSSA external type 2
E1 – OSPF external type 1, E2 – OSPF external type 2
i – IS-IS, su – IS-IS summary, L1 – IS-IS level-1, L2 – IS-IS level-2
ia – IS-IS inter area, * – candidate default, U – per-user static route
o – ODR, P – periodic downloaded static route
Gateway of last resort is not set
D 172.16.0.0/16 [90/307200] via 192.168.2.1, 00:00:35, FastEthernet0/0
D 192.168.1.0/24 [90/332800] via 192.168.2.1, 00:00:35, FastEthernet0/0
C 192.168.2.0/24 is directly connected, FastEthernet0/0
As you can see, the routing table is already populated with the routes. Let’s check the neighbors.
R0#show ip eigrp neighbors
IP-EIGRP neighbors for process 1
H Address Interface Hold Uptime SRTT RTO Q Seq
(sec) (ms) Cnt Num
1 192.168.1.2 Fa0/1 10 00:04:27 8 200 0 4
0 172.16.1.2 Fa0/0 13 00:06:17 6 300 0 9
IP-EIGRP neighbors for process 1
H Address Interface Hold Uptime SRTT RTO Q Seq
(sec) (ms) Cnt Num
1 192.168.1.2 Fa0/1 10 00:04:27 8 200 0 4
0 172.16.1.2 Fa0/0 13 00:06:17 6 300 0 9
The fields of this command show you the following:
· H column – lists the neighbors in the order they were learned.
· Address – the IP address of the neighbor.
· Interface – the local interface on which the Hello packet was received.
· Hold – the current hold time. Every
time a Hello packet is received, this value is reset to the maximum
hold time for that interface and then counts down to zero. If zero is
reached, the neighbor is considered down.
· Uptime – amount of time since the neighbor was added to the neighbor table
· SRTT (Smooth Round Trip Timer) and RT0 (Retransmit Interval ) – used by RTP to manage reliable EIGRP packets.
· Queue Count – should always be zero, else EIGRP packets are waiting to be sent.
· Sequence Number – used to track updates, queries and reply packets.
As with the other routing protocols, you can use the show ip protocols command to check detailed information about your routing protocols.
R0#show ip protocols
Routing Protocol is “eigrp 1”
Outgoing update filter list for all interfaces is not set
Incoming update filter list for all interfaces is not set
Default networks flagged in outgoing updates
Default networks accepted from incoming updates
EIGRP metric weight K1=1, K2=0, K3=1, K4=0, K5=0
EIGRP maximum hopcount 100
EIGRP maximum metric variance 1
Redistributing: eigrp 1
EIGRP NSF-aware route hold timer is 240s
Automatic network summarization is in effect
Automatic address summarization:
192.168.1.0/24 for FastEthernet0/0
172.16.0.0/16 for FastEthernet0/1
Summarizing with metric 281600
Maximum path: 4
Routing for Networks:
172.16.1.0/24
192.168.1.0
Routing Information Sources:
Gateway Distance Last Update
(this router) 90 00:16:06
172.16.1.2 90 00:11:56
Distance: internal 90 external 170
Routing Protocol is “eigrp 1”
Outgoing update filter list for all interfaces is not set
Incoming update filter list for all interfaces is not set
Default networks flagged in outgoing updates
Default networks accepted from incoming updates
EIGRP metric weight K1=1, K2=0, K3=1, K4=0, K5=0
EIGRP maximum hopcount 100
EIGRP maximum metric variance 1
Redistributing: eigrp 1
EIGRP NSF-aware route hold timer is 240s
Automatic network summarization is in effect
Automatic address summarization:
192.168.1.0/24 for FastEthernet0/0
172.16.0.0/16 for FastEthernet0/1
Summarizing with metric 281600
Maximum path: 4
Routing for Networks:
172.16.1.0/24
192.168.1.0
Routing Information Sources:
Gateway Distance Last Update
(this router) 90 00:16:06
172.16.1.2 90 00:11:56
Distance: internal 90 external 170
When automatic summarization is enabled or at least one subnet was learned via EIGRP, EIGRP
includes a summary route. Null0 is the interface used for summary
routes. This is a “virtual” interface used only for advertising
purposes.
R0#show ip route
Codes: C – connected, S – static, R – RIP, M – mobile, B – BGP
D – EIGRP, EX – EIGRP external, O – OSPF, IA – OSPF inter area
N1 – OSPF NSSA external type 1, N2 – OSPF NSSA external type 2
E1 – OSPF external type 1, E2 – OSPF external type 2
i – IS-IS, su – IS-IS summary, L1 – IS-IS level-1, L2 – IS-IS level-2
ia – IS-IS inter area, * – candidate default, U – per-user static route
o – ODR, P – periodic downloaded static route
Codes: C – connected, S – static, R – RIP, M – mobile, B – BGP
D – EIGRP, EX – EIGRP external, O – OSPF, IA – OSPF inter area
N1 – OSPF NSSA external type 1, N2 – OSPF NSSA external type 2
E1 – OSPF external type 1, E2 – OSPF external type 2
i – IS-IS, su – IS-IS summary, L1 – IS-IS level-1, L2 – IS-IS level-2
ia – IS-IS inter area, * – candidate default, U – per-user static route
o – ODR, P – periodic downloaded static route
Gateway of last resort is not set
172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks
D 172.16.0.0/16 is a summary, 00:37:40, Null0
C 172.16.1.0/24 is directly connected, FastEthernet0/0
C 192.168.1.0/24 is directly connected, FastEthernet0/1
D 192.168.2.0/24 [90/307200] via 172.16.1.2, 00:33:30, FastEthernet0/0
D 172.16.0.0/16 is a summary, 00:37:40, Null0
C 172.16.1.0/24 is directly connected, FastEthernet0/0
C 192.168.1.0/24 is directly connected, FastEthernet0/1
D 192.168.2.0/24 [90/307200] via 172.16.1.2, 00:33:30, FastEthernet0/0
To calculate the preferred path on a network, EIGRP uses the following values in its composite metric:
· Bandwidth
· Delay
· Reliability
· Load
The default composite formula is: metric = [K1 * bandwidth + K3*delay]
By default, K1 and K3 are set to 1, and K2, K4 and K5 are set to 0. These values can be changed with metric weights tos k1 k2 k3 k4 k5 EIGRP router configuration command.
To find out the values used by EIGRP for the bandwidth, delay, reliability and load use the show interface interface interface-number command.
R0#show interface Fa0/0
FastEthernet0/0 is up, line protocol is up
Hardware is Gt96k FE, address is c400.039f.0000 (bia c400.039f.0000)
Internet address is 172.16.1.1/24
MTU 1500 bytes, BW 10000 Kbit/sec, DLY 1000 usec,
reliability 255/255, txload 1/255, rxload 1/255
Encapsulation ARPA, loopback not set
Keepalive set (10 sec)
Half-duplex, 10Mb/s, 100BaseTX/FX
ARP type: ARPA, ARP Timeout 04:00:00
FastEthernet0/0 is up, line protocol is up
Hardware is Gt96k FE, address is c400.039f.0000 (bia c400.039f.0000)
Internet address is 172.16.1.1/24
MTU 1500 bytes, BW 10000 Kbit/sec, DLY 1000 usec,
reliability 255/255, txload 1/255, rxload 1/255
Encapsulation ARPA, loopback not set
Keepalive set (10 sec)
Half-duplex, 10Mb/s, 100BaseTX/FX
ARP type: ARPA, ARP Timeout 04:00:00
When you use Serial interfaces, the default bandwidth value may not match your real bandwidth which may cause EIGRP
to not work properly. In this case, you have to manually configure the
bandwidth value for your interface. Although, this is not our case,
because we use FastEthernet interface, we will demonstrate you how to accomplish this, with the bandwidth kilobits interface configuration command.
R0(config)#interface Serial 0/0/0
R0(config-if)#bandwidth 1024
R0(config-if)#bandwidth 1024
0 comments:
Post a Comment