EIGRP
EIGRP (Enhanced Interior Gateway Routing Protocol) is described in draft-savage-eigrp.
EIGRP is protocol number 88.
Packets are sent to multicast 224.0.0.10 (IPv4) or FF02::A (IPv6).
Metrics
- bandwidth
- minimum bandwidth (kbps) => 10^7 / bandwidth
- delay
- total route delay (tens of microseconds) => delay/10
- reliability
- likelihood of successful packet transmission (0-255)
- load
- effective load of the route (0-255)
- mtu
- minimum MTU size (bytes)
All metrics are calculated from the outgoing interface towards the destination.
metric = [K1 * bandwidth + (K2 * bandwidth) / (256 - load) + K3 * delay] * [K5 / (reliability + K4)]
Default
- K1=K3=1
- K2=K4=K5=0
metric = (10^7/bandwidth + delay/10) x 256
Example
- minimum bandwidth = 100 Kbps
- total delay = 20000 + 5000 = 25000 usec
- metric = (10^7/100 + 25000/10 ) x 256 = 26240000
Mismatched K values (weights for EIGRP metrics) can prevent neighbor relationships.
IOS
router eigrp 1
metric weights 0 1 0 1 0 0
IOS-XR
router eigrp 1
address-family ipv4
metric weights 0 1 0 1 0 0
Route Selection
- The lowest calculated metric from a router to a destination is called the feasible distance (FD) of that destination
- If a neighbor's advertised distance to a destination is lower than router's FD, then that neighbor becomes a feasible successor (FS) to the specific destination
- Every destination for which there is at least one FS, will be installed in the router's EIGRP topology
- For every destination in the router's EIGRP topology, the route with the lowest metric will be installed in the RIB
- The neighbor advertising that route will be successor for that destination
Load Balancing
By default traffic to equal cost paths (up to 4) is load balanced.
Unequal-Cost Load Balancing
You can use a variance as a multiplier to determine which routes are feasible for unequal-cost load balancing, according to the following condition:
route metric < lowest cost metric * variance
Routes that follow the above rule are installed into RIB as long as maximum-paths (default=4) is not exceeded.
Traffic Sharing
- balanced (default)
- traffic is distributed proportionately to the ratios of the route metrics
- minimum
- traffic is distributed equally across all paths that have a cost equal to the minimum cost path
In general:
- variance
- affects what non-lowest cost routes are installed into RIB
- traffic-share
- affects how traffic is distributed across best routes
In order to use only one path for traffic forwarding, but install more different-cost paths into RIB (for faster convergence), you can use a combination of both features.
IOS
router eigrp 1
traffic-share min across-interfaces
variance x
IOS-XR
router eigrp 1
address-family ipv4
variance x
Traffic-share is not supported in IOS-XR.
Stub Routing
A router that is configured as a stub with the "eigrp stub" command cannot be used as transit and shares connected and summary routing information with all neighbor routers by default. Generally, the following can be permitted/denied explicitly :
- connected
- static
- summary
- redistributed
- leak-map
- receive-only
Stub routing also minimizes the exchange of queries.
Route Summarization
IOS
interface X
ip summary-address eigrp 100 x.x.x.x y.y.y.y
IOS-XR
router eigrp 100
address-family ipv4
interface X
summary-address x.x.x.x/y
Default route can be originated the same way
Split-horizon
Split horizon blocks route information from being advertised by a router out of any interface from which that information originated. With non-broadcast networks (such as Frame Relay multipoint), you may want to disable it with "no ip split-horizon eigrp x".
An alternative is poison-reverse: Once you learn of a route through an interface, advertise it as unreachable back through that same interface.
Configuration
IOS
router eigrp 1
network 1.1.1.0 0.0.0.255
!
ipv6 router eigrp 1
!
interface X
ipv6 eigrp 1
IOS-XR
router eigrp 1
address-family ipv4
interface X
!
address-family ipv6
interface X
"ip hello-interval eigrp x" and "ip hold-time eigrp x" under an interface can be used to tune the convergence time.
Authentication
IOS
interface X
ip authentication mode eigrp 1 md5
ip authentication key-chain eigrp 1 KEYCHAIN
!
key chain KEYCHAIN
key 1
key-string TESTPASS
IOS-XR
router eigrp 1
address-family ipv4
interface X
authentication keychain KEYCHAIN
!
key chain KEYCHAIN
key 1
key-string TESTPASS
send-lifetime 1:00:00 february 01 2014 infinite
accept-lifetime 1:00:00 february 01 2014 infinite
Only MD5 is supported.
Key-chains in IOS-XR might require the use of lifetimes.
PE-CE
R1 (CE)
IOS
router eigrp 1
network 1.1.1.0 0.0.0.255
IOS-XR
router eigrp 1
address-family ipv4
interface X
R2 (PE)
IOS
router eigrp 100
address-family ipv4 vrf VPN autonomous-system 1
network 1.1.1.0 0.0.0.255
exit-address-family
IOS-XR
router eigrp 100
vrf VPN
address-family ipv4
autonomous-system 1
interface X
CE EIGRP process number and PE EIGRP autonomous-system must match.
Some software releases require the manual addition of "no auto-summary" under the EIGRP process.
EIGRP adjacency might not get established in IOS devices if you initially forget to add the autonomous-system number and add it later. Try to remove the whole EIGRP config and then reapply it if this is the case.
For IPv6 VRFs you have to use the named configuration on IOS (see below).
Verification
IOS
R1#sh ip eigrp neighbors
EIGRP-IPv4 Neighbors for AS(1)
H Address Interface Hold Uptime SRTT RTO Q Seq
(sec) (ms) Cnt Num
0 10.1.2.2 Fa0/0 14 00:32:28 1280 5000 0 4
R2#sh ip eigrp vrf VPN_A neighbors
EIGRP-IPv4 Neighbors for AS(1) VRF(VPN)
H Address Interface Hold Uptime SRTT RTO Q Seq
(sec) (ms) Cnt Num
0 10.1.2.1 Fa1/0 13 00:32:47 54 324 0 4
IOS-XR
GSR#sh eigrp vrf VNP neighbors
Sun Jan 12 19:23:12.845 UTC
IPv4-EIGRP neighbors for AS(1) vrf VPN
H Address Interface Hold Uptime SRTT RTO Q Seq
(sec) (ms) Cnt Num
0 10.1.0.10 Gi0/1/0/1.1019 13 00:01:10 8 200 0 4
IOS
R1#sh ip eigrp topology
EIGRP-IPv4 Topology Table for AS(1)/ID(1.1.1.1)
Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
r - reply Status, s - sia Status
P 10.5.8.0/24, 1 successors, FD is 30720
via 10.1.2.2 (30720/28160), FastEthernet0/0
P 8.8.8.8/32, 1 successors, FD is 158720
via 10.1.2.2 (158720/156160), FastEthernet0/0
P 10.1.2.0/24, 1 successors, FD is 28160
via Connected, FastEthernet0/0
P 1.1.1.1/32, 1 successors, FD is 128256
via Connected, Loopback0
R2#sh ip eigrp vrf VPN topology
EIGRP-IPv4 Topology Table for AS(1)/ID(10.1.2.2) VRF(VPN)
Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
r - reply Status, s - sia Status
P 10.5.8.0/24, 1 successors, FD is 28160
via VPNv4 Sourced (28160/0)
P 8.8.8.8/32, 1 successors, FD is 156160
via VPNv4 Sourced (156160/0)
P 10.1.2.0/24, 1 successors, FD is 28160
via Connected, FastEthernet1/0
P 1.1.1.1/32, 1 successors, FD is 156160
via 10.1.2.1 (156160/128256), FastEthernet1/0
IOS-XR
GSR#sh eigrp vrf VPN topology
Sun Jan 12 19:30:02.425 UTC
IPv4-EIGRP Topology Table for AS(1)/ID(19.19.19.19) VRF: VPN
Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
r - reply Status, s - sia Status
P 10.10.10.10/32, 1 successors, FD is 130816
via 10.1.0.10 (130816/128256), GigabitEthernet0/1/0/1.1019
P 10.9.9.9/32, 1 successors, FD is 130816
via VPNv4 Sourced (130816/0)
P 10.0.0.0/24, 1 successors, FD is 2816
via VPNv4 Sourced (2816/0)
P 10.1.0.0/24, 1 successors, FD is 2816
via Connected, GigabitEthernet0/1/0/1.1019
EIGRP route attributes are transferred as extended communities, EIGRP metric is transferred as BGP MED.
IOS
R2#sh bgp vpnv4 unicast vrf VPN 8.8.8.8/32
BGP routing table entry for 100:1:8.8.8.8/32, version 10
Paths: (1 available, best #1, table VPN)
Not advertised to any peer
Local
5.5.5.5 (metric 3) from 3.3.3.3 (3.3.3.3)
Origin incomplete, metric 156160, localpref 100, valid, internal, best
Extended Community: RT:100:1 Cost:pre-bestpath:128:156160
0x8800:32768:0 0x8801:1:130560 0x8802:65281:25600 0x8803:65281:1500
0x8806:0:0
Originator: 5.5.5.5, Cluster list: 3.3.3.3
mpls labels in/out nolabel/23
Named vs AS
The following is applicable only to IOS.
- Named (new)
- supports VRFs under IPv4 and IPv6
- supports IPv6 VRF-Lite
- interface configuration goes under the af-interface under the address-family
- AS (old)
- supports VRFs under IPv4 only
- interface configuration goes under the physical interface
Named Configuration (new)
IOS
interface POS2/0
ip address 10.10.10.1 255.255.255.0
ipv6 address 2001:20:20:20::1/64
ipv6 eigrp 2
!
router eigrp EIGRP1
!
address-family ipv4 unicast autonomous-system 1
!
af-interface POS2/0
hello-interval 20
hold-time 60
exit-af-interface
!
network 10.10.10.0 0.0.0.255
exit-address-family
!
address-family ipv6 unicast autonomous-system 2
!
af-interface POS2/0
authentication mode md5
authentication key-chain KEYCHAIN
exit-af-interface
!
exit-address-family
AS Configuration (old)
IOS
interface POS2/0
ip address 10.10.10.2 255.255.255.0
ip hello-interval eigrp 1 20
ip hold-time eigrp 1 60
ipv6 address 2001:20:20:20::2/64
ipv6 eigrp 2
ipv6 authentication mode eigrp 2 md5
ipv6 authentication key-chain eigrp 2 KEYCHAIN
!
router eigrp 1
network 10.10.10.0 0.0.0.255
!
ipv6 router eigrp 2
IOS
R1#sh eigrp address-family ipv4 neighbors
EIGRP-IPv4 VR(EIGRP1) Address-Family Neighbors for AS(1)
H Address Interface Hold Uptime SRTT RTO Q Seq
(sec) (ms) Cnt Num
0 10.10.10.2 PO2/0 45 00:56:05 46 276 0 30
R2#sh ip eigrp neighbors
EIGRP-IPv4 Neighbors for AS(1)
H Address Interface Hold Uptime SRTT RTO Q Seq
(sec) (ms) Cnt Num
0 10.10.10.1 PO2/0 43 00:56:23 42 252 0 29
R1#sh eigrp address-family ipv6 int det
EIGRP-IPv6 VR(EIGRP1) Address-Family Interfaces for AS(2)
Xmit Queue Mean Pacing Time Multicast Pending
Interface Peers Un/Reliable SRTT Un/Reliable Flow Timer Routes
PO2/0 1 0/0 1601 0/1 7969 0
Hello-interval is 5, Hold-time is 15
Split-horizon is enabled
Next xmit serial <none>
Un/reliable mcasts: 0/0 Un/reliable ucasts: 4/8
Mcast exceptions: 0 CR packets: 0 ACKs suppressed: 0
Retransmissions sent: 3 Out-of-sequence rcvd: 2
Topology-ids on interface - 0
Authentication mode is md5, key-chain is "KEYCHAIN"
R2#sh ipv6 eigrp int det
EIGRP-IPv6 Interfaces for AS(2)
Xmit Queue Mean Pacing Time Multicast Pending
Interface Peers Un/Reliable SRTT Un/Reliable Flow Timer Routes
PO2/0 1 0/0 32 0/1 50 0
Hello-interval is 5, Hold-time is 15
Split-horizon is enabled
Next xmit serial <none>
Un/reliable mcasts: 0/0 Un/reliable ucasts: 3/6
Mcast exceptions: 0 CR packets: 0 ACKs suppressed: 0
Retransmissions sent: 2 Out-of-sequence rcvd: 1
Topology-ids on interface - 0
Authentication mode is md5, key-chain is "KEYCHAIN"
No comments:
Post a Comment