EIGRP
Enhanced Interior Gateway Routing Protocol is a routing protocol created by Cisco. Originally, it was only available on Cisco hardware but for a few years, it’s now an open standard. EIGRP is called a hybrid or advanced distance vector protocol, and most of the rules that apply to RIP also apply here:
- Split Horizon
- Route Poisoning
- Poison Reverse
advertised distance is also called the reported distance. Is the metric that the neighbour router advertise, the metric that costs the advertising router to get to the destination.
feasible distance is the total path cost to reach the destination. It is AD (received from the neighbour) + our local metric to reach to the neighbour.
successor is the next-hop IP for the successor route. The successor advertises a distance to a destination. This is the reported distance.
successor route is the route with the best metric to reach a destination. That route is stored in the routing table.
feasible successor is a backup path to reach that same destination that can be used immediately if the successor route fails. These backup routes are stored in the topology table.
feasibility condition is a simple rule that states that the reported distance must be less than the feasible distance.
BW calculation
#show interfaces gigabitEthernet 2
GigabitEthernet2 is up, line protocol is up
Hardware is CSR vNIC, address is 0050.56b0.7db3 (bia 0050.56b0.7db3)
Internet address is 192.168.123.1/24
MTU 1500 bytes, BW 1000000 Kbit/sec, DLY 10 usec,
reliability 255/255, txload 1/255, rxload 1/255
Where:
k1: BW 1000000
k2: txload 1/255, rxload 1/255
k3: DLY 5000 usec
k4: reliability 255/255
k5: MTU 1500 bytes
#show ip eigrp topology
EIGRP-IPv4 Topology Table for AS(100)/ID(100.64.0.1)
Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
r - reply Status, s - sia Status
P 100.64.0.1/32, 1 successors, FD is 512
via Connected, Loopback0
P 192.168.123.0/24, 1 successors, FD is 2816
via Connected, GigabitEthernet2
#show ip protocols
...
EIGRP-IPv4 Protocol for AS(100)
Metric weight K1=1, K2=0, K3=1, K4=0, K5=0
EIGRP Classic Metric Formula:
EIGRP Classic Metric Formula with Definitions
EIGRP Classic Metric Formula with Default K Values
FD = 256 * [ ( 10^7 / (min BW) ) + ( (total delay) / 10) ]
FD = 256 * [ 10^7 / 1 000 000 = 10 ] + [ 10 / 10 = 1 ]
FD = 256 * (10 + 1 = 11) = 2816
- for Loopback BW is always 10 000 0000 - metric is 256 * (1+ delay/10)
FD = 256 * [ ( 10^7 / (min BW) + ( (total delay) / 10) ]
FD = 256 * [ 10^7 / 10 000 000 = 1 ] + [ 10 / 10 = 1 ]
FD = 256 * (1 + 1 = 2) = 512
### R1
csr_1#show ip eigrp topology
EIGRP-IPv4 Topology Table for AS(100)/ID(100.64.0.1)
Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
r - reply Status, s - sia Status
P 100.64.0.1/32, 1 successors, FD is 512
via Connected, Loopback0
### R2
csr2#show ip eigrp topology
EIGRP-IPv4 Topology Table for AS(100)/ID(100.64.0.2)
Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
r - reply Status, s - sia Status
P 100.64.0.1/32, 1 successors, FD is 3072
via 192.168.123.1 (3072/512), GigabitEthernet2
show interfaces gigabitEthernet 2
GigabitEthernet2 is up, line protocol is up
Hardware is CSR vNIC, address is 0050.56b0.1383 (bia 0050.56b0.1383)
Internet address is 192.168.123.2/24
MTU 1500 bytes, BW 1000000 Kbit/sec, DLY 10 usec,
On the next hop:
FD = 256 * [ ( 10^7 / (min BW) ) + ( (total delay) / 10) ]
FD = 256 * [ 10^7 / 1 000 000 = 10 ] + [ (10 + 10 ) / 10 = 2 ]
FD = 256 * (10 + 2 = 12) = 3072
FD = 256 * [ ( 10^7 / (min BW) ) + ( (total delay) / 10) ]
FD = 256 * [ 10^7 / 1 000 100 = 9,999 (integer 9) ] + [ (10 + 10 ) / 10 = 2 ]
FD = 256 * (9,999 + 2 = 11 ) = 2816
FD = 256 * [ ( 10^7 / (min BW) ) + ( (total delay) / 10) ]
FD = 256 * [ 10^7 / 1 000 000 = 10 ] + [ (10 + 10 + 10 ) / 10 = 3 ]
FD = 256 * (10 + 3 = 13 ) = 3328
### R1
csr_1#show ip eigrp topology
EIGRP-IPv4 Topology Table for AS(100)/ID(100.64.0.1)
Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
r - reply Status, s - sia Status
P 100.64.0.1/32, 1 successors, FD is 512
via Connected, Loopback0
### R2
csr_2#show ip eigrp topology
EIGRP-IPv4 Topology Table for AS(100)/ID(100.64.0.2)
Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
r - reply Status, s - sia Status
P 100.64.0.1/32, 1 successors, FD is 3072
via 192.168.123.1 (3072/512), GigabitEthernet2
via 192.168.23.3 (3328/2816), GigabitEthernet3.23
### R3
csr_3#show ip eigrp topology
EIGRP-IPv4 Topology Table for AS(100)/ID(100.64.0.3)
Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
r - reply Status, s - sia Status
P 100.64.0.1/32, 1 successors, FD is 2816
via 192.168.123.1 (2816/512), GigabitEthernet2
### R4
csr_4#show ip eigrp topology
EIGRP-IPv4 Topology Table for AS(100)/ID(100.64.0.4)
Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
r - reply Status, s - sia Status
P 100.64.0.1/32, 2 successors, FD is 3328
via 192.168.34.3 (3328/2816), GigabitEthernet2.34
via 192.168.24.2 (3328/3072), GigabitEthernet2.24
Once dividing it takes integer:
csr_3#sh ip eigrp topology 100.64.0.1/32
EIGRP-IPv4 Topology Entry for AS(100)/ID(100.64.0.3) for 100.64.0.1/32
State is Passive, Query origin flag is 1, 1 Successor(s), FD is 2816
Descriptor Blocks:
192.168.123.1 (GigabitEthernet2), from 192.168.123.1, Send flag is 0x0
Composite metric is (2816/512), route is Internal
Vector metric:
Minimum bandwidth is 1000001 Kbit <<<
Total delay is 20 microseconds
Reliability is 255/255
Load is 1/255
Minimum MTU is 1500
Hop count is 1
Originating router is 100.64.0.1
10^7/1000001 = 9,99999000
csr_3#sh ip eigrp topology 100.64.0.1/32
EIGRP-IPv4 Topology Entry for AS(100)/ID(100.64.0.3) for 100.64.0.1/32
State is Passive, Query origin flag is 1, 1 Successor(s), FD is 2816
Descriptor Blocks:
192.168.123.1 (GigabitEthernet2), from 192.168.123.1, Send flag is 0x0
Composite metric is (2816/512), route is Internal
Vector metric:
Minimum bandwidth is 1099999 Kbit <<<
Total delay is 20 microseconds
Reliability is 255/255
Load is 1/255
Minimum MTU is 1500
Hop count is 1
Originating router is 100.64.0.1
10^7/1000001 = 9,0909
Stuck in Active
Topology:
-
Once csr1 looses some route and it doesn’t have FS, it send QUERY to csr2 and csr3 and puth the route in ACTIVE state.
-
it sends out queries to all neighbors on interfaces other than the one used to reach the previous successor (a function of split horizon).
-
If these router don’t know about this route, they will send QUERY to csr4, csr5 and csr6, csr7 accordinguly.
-
If these end routers don’t know, they will send Reply with route metric infinite.
-
Then csr2, csr3 will send REPLY to csr1
-
csr1 removes the route from RT
-
if csr1 doesn’t receive REPLAY within 1.5 min it sends SIA QUERY - csr should reply with SIA REPLY - meaning that is up but still waiting for the REPLYs
-
if csr1 won’t receive REPLY within 3 mins then drops neighbour adjecency with particular router and puts the route in SIA state.
if csr2 would send summary 10.0.0.0/8 and also 10.10.10.0/24 to csr3 and csr4. In case 10.0.0.0/24 would go down csr1 would send QUERY to csr2 and csr2 would also send a QUERY to csr3, csr4. As csr3 and csr4 would have only summary for this route they would immediately reply with unreachable. They would not send QUERY to cr5 etc.
EIGRP stub
Only remote routers are configured as stubs.
The stub feature does not prevent routes from being advertised to the remote router.
Stub routers are not queried. Instead, hub routers connect to the stub router answer the query on behalf of the stub router.