Lessons Learned:
HYBRID IGP
-Properties of both link-state and distance vector
-forms active adjacencies but still uses split-horizon (link
state)
-Dual, guaranteed loop free but still “routing by rumor”
(split-horizon)
Uses its own transport protocol
-IP Protocol 88
-Multicast to 224.0.0.10 to establish adjacencies
-unicast and multicast to synchronize the topology
---------------------------------------------------------------------
EIGRP –
Not as complicated as OSFP and BGP but more complicated than
RIP. Is still considered a distance vector because it uses properties like
Split-horizon and it doesn’t have an overall view of the entire network like
OSPF.
It also only forms adjacencies with its connected neighbors.
Must make sure protocol 88 is allowed between neighbor to form adjacencies.
Note: By default EIGRP uses multicast to form neighbors –
beyond that most communication will be unicast to sycn topology. Multicast will
be used for incremental updates.
If there is acls between neighbors we would need to permit
the IP protocol and the multicast address.
ENABLE EIGRP:
#Router eigrp (AS #)
AS number must match to be adjacent
Enable the interface process
#network (address) (wildcard) – similar to OSPF network
statement.
Note: If you enter the network statement under the interface then add the subnet instead of an wildcard mask. The IOS parser will convert that to a wildcard mask. EIGRP can run multiple processes globally on a single router.
Note: If you enter the network statement under the interface then add the subnet instead of an wildcard mask. The IOS parser will convert that to a wildcard mask. EIGRP can run multiple processes globally on a single router.
The most accurate way would be to match the actual address.
Example: if I have an address of 192.168.5.5 and I enter that into EIGRP as,
“network 192.168.5.5 0.0.0.0” this does not mean I just entered a /32 address
it means I’m now running and forming adjacencies on any interface with that
specific address. The interface has the protocol running on it. Every router
must agree on the AS number to form and adjacency.
EIGRP can run multiple processes in the global routing
table. The AS # is significant throughout the entire network.
Once enabled -
we can verify EIGRP enabled:
we can verify EIGRP enabled:
# sh ip protocols - will show what links the process is
running on.
#sh ip eigrp
interfaces detail – will show the timers, adj and attributes on a per link
basis.
Verify EIGRP Transport.
#debug eigrp packet
(hello | ACK | updates | query | reply )
Note: use this
output for debugging eigrp, debug eigrp
packet – NOT – debug IP EIGRP. Even
though EIGRP is an IP based protocol, EIGRP was originally written to route
multiple protocol stacks. Ipv4 , IPX and AppleTalk.
Debug eigrp is specific to the multiprotocol process
Debug IP eigrp – is specific to the IPv4
Note: the establishment of the EIGRP adjacency is
independent of IPv4.
Verifying EIGRP neighbors:
#sh ip eigrp
neighbors (detail)
Note: Queue count shout be at 0 if converged. This indicates
how many updates are waiting in the queue waiting to be sent to the neighbor. If
this is anything but 0 the routes are in the process of converting. Also means
there’s an issue with the adjacency.
Verify EIGRP topology one adjaceny’s have formed.
#sh ip eigrp topology
(all-links)
#sh ip eigrp topology
(prefix/len)
Note: In EIGRP – similar to BGP - we only advertise the
paths EIGRP is actually using. Unlike OSPF which will advertise every possible
link in the network.
EIGRP will only advertise the routes that will be actively installed
in the routing table. If there’s a case where there’s a routing in the topology
but not in the routing table, it means that particular prefix cannot be
advertised (same for RIP).
Note: in EIGP if the feasible distance is “inaccessible” for
a particular prefix, it means for some reason it wi not getting installed in
the routing table. Which mean then the route cannot be advertised.
LAB:
Show commands and verifications:
Configure EIGRP on all interfaces:
You could configure EIGRP on any interface in the network with
the command
Network 0.0.0.0 255.255.255.255 = any interface that has an
IP Address.
The problem with this is if we add another interface later –
a loopback for testing – it will automatically be installed into the EIGRP
process. In a production network you want as much control as possible.
#Sh ip eigrp
interfaces - Will show which
interface the process is enabled on.
IP-EIGRP interfaces for process 550
Xmit Queue Mean Pacing Time
Multicast Pending
Interface
Peers Un/Reliable SRTT
Un/Reliable Flow Timer Routes
Fa0/0
2 0/0 1305
0/1 7736 0
Fa0/1
2 0/0
642 0/1 3848 0
R3#
Peers = The number of peers that
are on the interface. So off interfaces FA0/0 and 0/1 there are two peers each
speaking EIGRP.
Note: We can get more information by
adding the keyword “detail”
R3#sh ip eigrp interfaces detail
IP-EIGRP interfaces for process 550
Xmit Queue Mean Pacing Time
Multicast Pending
Interface Peers
Un/Reliable SRTT Un/Reliable
Flow Timer Routes
Fa0/0
2 0/0 1305
0/1 7736 0
Hello interval is 5
sec = Show the hello onterval
Next xmit serial
<none>
Un/reliable mcasts:
0/1 Un/reliable ucasts: 6/6
Mcast exceptions:
2 CR packets: 1 ACKs suppressed: 0
Retransmissions
sent: 0 Out-of-sequence rcvd: 0
Authentication mode
is not set -- Show the Auth mode is not set, so we’re not running MD5
Use multicast -- Says we CAN use multilink on this interface
Note: For A LAN
interface we should be using Multicast because there’s more than one neighbor.
Fa0/1
2 0/0 642
0/1 3848 0
Hello interval is 5
sec
Next xmit serial
<none>
Un/reliable mcasts:
0/1 Un/reliable ucasts: 5/7
Mcast exceptions:
2 CR packets: 1 ACKs suppressed: 0
Retransmissions
sent: 1 Out-of-sequence rcvd: 0
Authentication mode
is not set
Use multicast
R3#
Note: the key is
we need both the multicast and unicast transport for the adjacencies to
establish. If we were to filter out the unicast we would see the adjacencies
form but the topology’s would not sync and we would not have routes in the
routing table.
R3#sh ip eigrp
neighbors
IP-EIGRP neighbors for process 550
H Address Interface Hold Uptime SRTT
RTO Q Seq
(sec) (ms) Cnt Num
3 192.168.123.2 Fa0/1 12 00:15:57 24
200 0 6
2 192.168.45.4 Fa0/0 13 00:15:57 1312 5000
0 6
1 192.168.123.1 Fa0/1 14 00:15:57 1261 5000
0 6
0 192.168.45.5 Fa0/0 13 00:15:57 1299 5000
0 6
R3#
From the IP EIGRP Neighbors command:
We can see the neighbors addresses, what are the interfaces
that they’re running on. What is the hold time that is left - whether to declare the neighbor down.
Most importantly what is the queue count. If the Queue count
is “0”, it means the adjacencies are converged.
Normally when the Queue count is not “0” there’s a transport
issue between the neighbors. There’s a K value mismatch, ACL, etc between the
neighbors.
Debug eigrp packet.
This is a good verification that there’s good bi-directional
traffic between the neighbors.
R3#debug eigrp packet
EIGRP Packets debugging is
on
(UPDATE, REQUEST,
QUERY, REPLY, HELLO, IPXSAP, PROBE, ACK, STUB, SIAQUERY, SIAREPLY)
R3#
*Mar 1 01:15:17.131:
EIGRP: Received HELLO on FastEthernet0/1 nbr 192.168.123.1
*Mar 1
01:15:17.135: AS 550, Flags 0x0, Seq
0/0 idbQ 0/0 iidbQ un/rely 0/0 peerQ un/rely 0/0
*Mar 1 01:15:17.819:
EIGRP: Received HELLO on FastEthernet0/0 nbr 192.168.45.4
*Mar 1
01:15:17.819: AS 550, Flags 0x0, Seq
0/0 idbQ 0/0 iidbQ un/rely 0/0 peerQ un/rely 0/0
*Mar 1 01:15:18.119:
EIGRP: Received HELLO on FastEthernet0/1 nbr 192.168.123.2
*Mar 1
01:15:18.123: AS 550, Flags 0x0, Seq
0/0 idbQ 0/0 iidbQ un/rely 0/0 peerQ un/rely 0/0
R3#
*Mar 1 01:15:19.323:
EIGRP: Sending HELLO on FastEthernet0/1
*Mar 1
01:15:19.327: AS 550, Flags 0x0, Seq
0/0 idbQ 0/0 iidbQ un/rely 0/0
*Mar 1 01:15:19.427:
EIGRP: Received HELLO on FastEthernet0/0
nbr 192.168.45.5
*Mar 1
01:15:19.431: AS 550, Flags 0x0, Seq
0/0 idbQ 0/0 iidbQ un/rely 0/0 peerQ un/rely 0/0
*Mar 1 01:15:19.543:
EIGRP: Sending HELLO on FastEthernet0/0
*Mar 1
01:15:19.543: AS 550, Flags 0x0, Seq
0/0 idbQ 0/0 iidbQ un/rely 0/0
Shows the sending and receiving the interfaces. Once the adjacencies
are establish then the routers will exchange the topology information and run
the DUAL calculation and decide on how to route the traffic.
Sh IP eigrp topology
R3#sh ip eigrp
topology
IP-EIGRP Topology Table for AS(550)/ID(34.34.34.34)
Codes: P - Passive, A - Active, U - Update, Q - Query, R -
Reply,
r - reply
Status, s - sia Status
P 192.168.123.0/24, 1 successors, FD is 28160
via Connected,
FastEthernet0/1
P 192.168.45.0/24, 1 successors, FD is 28160
via Connected,
FastEthernet0/0
R3#
Note: This command will show all the current routes that can
be used to reach the destinations.
This doesn’t mean all these links will be installed into the
routing table.
Normally only the prefix that has the lowest feasible
distance – which is the composite metric value – is going to be installed into the
routing table.
Sh ip eigrp topology all-links
R3#sh ip eigrp topology all-links
IP-EIGRP Topology Table for AS(550)/ID(34.34.34.34)
Codes: P - Passive, A - Active, U - Update, Q - Query, R -
Reply,
r - reply
Status, s - sia Status
P 1.1.1.0/24, 1 successors, FD is 156160, serno 8
via
192.168.123.1 (156160/128256), FastEthernet0/1
P 2.2.2.0/24, 1 successors, FD is 156160, serno 7
via
192.168.123.2 (156160/128256), FastEthernet0/1
P 3.3.3.0/24, 1 successors, FD is 128256, serno 5
via Connected,
Loopback3
P 4.4.4.0/24, 1 successors, FD is 156160, serno 4
via 192.168.45.4
(156160/128256), FastEthernet0/0
P 5.5.5.0/24, 1 successors, FD is 156160, serno 3
via
192.168.45.5 (156160/128256), FastEthernet0/0
P 192.168.123.0/24, 1 successors, FD is 28160, serno 2
via Connected,
FastEthernet0/1
P 34.34.34.0/24, 1 successors, FD is 128256, serno 6
via Connected,
Loopback34
P 192.168.45.0/24, 1 successors, FD is 28160, serno 1
via Connected,
FastEthernet0/0
R3#
Shows – also all paths that you’re not using. These could
potentially be paths that are non-loop free patch that are being excluded from
the routing table.
EIGRP Basic logic:
Eigrp say – tell me, what metric are you advertising to me for
the destination, and what is my metric to reach you? Eigrp will take what is
being advertised to the local router and the local routers metric to get to the
destination – add those together – this becomes the full metric to get through
the destination.
Note: if another neighbor is also advertising the same route
to me and the value they’re advertising to me is lower than my local end-to-end
cost. It mean that they have to be a loop free path because they are closer to
the destination.
Example:
The image shows two paths from R1 to reach the cloud.
The path from R2 is a cost of 10 – the path from R1 to R2 is
20 – so the total cost is 30 through R2.
Also, the path from R3 to R1 is a cost of 5. The path back
from R1 through R3 id 105. The preferred path
To reach the cloud would be through R2. However there’s no
way that R3 can be routing back though R1 because then R3’s metric would be
higher. Based on this simple logic, EIGRP says if your metric to the
destination is better than mine. Then you’re actually closed to the destination
than I am.
Basically R3 is closed to the destination that R1 is
locally. This is known as the feasibility
condition in EIGRP.
This is how EIGRP can have sub-second convergence, by having
recalculated loop-free paths as backup in the topology.
P 192.168.123.0/24, 1 successors, FD is 33280, serno 17
via 192.168.56.5 (33280/30720),
FastEthernet0/1
via
192.168.46.4 (286720/30720),
FastEthernet0/0
P 34.34.34.0/24, 1 successors, FD is 158720, serno 19
via
192.168.56.5 (158720/156160), FastEthernet0/1
via
192.168.46.4 (412160/156160), FastEthernet0/0
P 192.168.45.0/24, 1 successors, FD is 30720, serno 16
via
192.168.56.5 (30720/28160), FastEthernet0/1
via
192.168.46.4 (284160/28160), FastEthernet0/0
Note: the values we need to look at are the first number in
the parenthesis verses the second number
(via 192.168.56.5 (33280/30720),
FastEthernet0/1 ) In this case the first number is 33280.
The first number is the total metric that we would use to
route through the neighbor. This is the combined number of what they are advertising
and my metric to get to them.
The router first – looks at all the values that are listed
in the parenthesis for all the possible paths.
In this case the number 33280 is better than 286720 – this is
now the feasible distance – basically the metric.
Next – the router will look at what the other neighbors are
advertising to the local router. That is the second value. Example for the (via
192.168.46.4 (286720/30720),
FastEthernet0/0 ) the second value of 30720. This metric is lower than the
feasible distance. This says based on this number you are closer to the
destination and are a loop free path.
No comments:
Post a Comment