Sunday, December 18, 2011

EIGRP OVERVIEW

Ok i started looking at EIGRP today
it is hybrid igp has properties of both link state & distance vector protocol
forms active adjacencies but still uses split horizon
it is using the dual algorith to guarantee loopfree but since it does not have a view
of the whole topology like a link state protocol does it is still considered routing
by rumour
It uses it own transport protocol  RTP which is protocol 88
it multicast to 224.0.0.10 to establish adjacncies
unicasts + multicast to synch the topology


Packet Format
------------------


The opcode is type of packet
1 - Update
3 - Query
4 - Reply
5 - Hello
6 - IPX SAP

FLags will be stuff like init if it is new relationship

withing the TLV we have multiple types of TLVS

Parameter TLV



which holds all the k values or the metrics of eigrp


k1 is bandwidth, k2 is load, k3 is delay, k4 is reliability and k5 is MTU.
These need to match between neighbors

We have the internal route TLV




Also external route TLV


To enable the global process
use
router eigrp "AS no"
AS no must match with neighbors in order to create a adjacency with a neighbor
You enable on an interface with the
network "address" "wildcard mask"
if you make a mistake of doing the subnet mask not the wildcard mask the parser
should pick it up and correct it
To verify eigrp
sh ip eigrp interface [detail]
sh ip protocols
debug eigrp packet [hello|ack|update|query|reply]
You can verifu your neighbor adjacncies wih
sh ip eigrp neighbor [detail]
you should watch the que count if the que count is more than zero for a period it
means your network is not converging so there is some issue stopping convergence

verify eigrp topology with
sh ip eigrp topology [all-links]
sh ip eigrp topology [prefix]
EIGRP does not have link types like ospf nbma etc eigrp will auto figure out which
type of updates to send whether unicast or multicast. FOr example on serial int p2p
eigrp will unicast as it knows that there is only one directly connected neighbor
where on a fast ethernet it will multicast it updates. But the point is it is not
manual config it is autodone.

An EIGRP router will only advertise the routes that it itself puts in the routing
table it is the same as rip this typical distant vector behaviour. There are
situations where routes could be in the topology that do not make it into the routing
table one of the main sitaution is the loop prevention mechanism for eigrp

When eigrp recieves a route it keeps track of both what the neigbor sent as the
metric this known as advertised distance aswell as the advertised  metric + the
metric to get to the neighbor which is known as the feasible distance.
Feasible distance is your full metric to get to the route while advertised distance
is your neighbor distance to get to the route.
If a eigrp router recieves a route from multiple neighbors i.e it has a multiple path
to the route the first thing it does is it selects the route with the lowest feasible
distance
this route is then known as a successor
it will then look at the secondary route it needs to decide whether to install this
as a backup route. To prevent loops eigrp will install as backup a route that is more
upstream than itself. So it looks at the routes advertised distance and compares it
to its feasible distance to the route if the advertised distance is less then the
router is more upstream and definelty not using the router installing the route as a
transit path potential causing a loop if this is the case the route is installed and
known as feasible succesor in the case the primary route goes down eigrp will switch
straigh away to the feasible successor

EIGRP uses bandwidth x delay as metric by default it could optionally use relability,load,delay,mtu
where k1 is bandwidth, k2 is load, k3 is delay, k4 is reliability and k5 is MTU

This are not really used they were put in as backward capability with eigrp relabiltity and load would be real time attributes which would be changeable so it would be impossible to preconfigure. 

LAB
----
OK for the Lab i will set up s2 connected to both sw1 and sw4  sw1 and sw 4 are also
connected and sw1 has connection to r5. R5 has a loopback of 5.5.5.5. We will look at
some of the commands discussed earlier and watch how dual selects the best route



SW1
----
Port channel 2 is to sw2 and po7 is to switch 4 fa0/5 is to router 5

FastEthernet0/5        10.164.49.2     YES manual up                    up
Port-channel2          192.168.1.2     YES NVRAM  up                    up
Port-channel7          172.25.11.1     YES NVRAM  down                  down
switch1#

switch1(config)#router eigrp 1
switch1(config-router)#no auto
switch1(config-router)#network 192.168.1.0 0.0.0.255
switch1(config-router)#network 172.25.11.0 0.0.0.255
switch1(config-router)#network 10.164.49.0 0.0.0.255

sw2
----
port channel 2 is to switch 1 and port-channel 8 is to switch 4
Port-channel2          192.168.1.1     YES NVRAM  up                    up
Port-channel8          172.25.10.1     YES NVRAM  up                    up

switch2(config)#router eigrp 1
switch2(config-router)#network 192.168.1.0 0.0.0.255
switch2(config-router)#
00:13:10: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 1: Neighbor 192.168.1.2 (Port-channel2) is up: new adjacency
switch2(config-router)#network 172.25.10.0 0.0.0.255
switch2(config-router)#no auto
I have already made eigrp adjacency with sw1

sw4
---
Port channel 8 is to switch 1 and port channel 9 is to switch 2
Port-channel8          172.25.11.2     YES manual up                    up
Port-channel9          172.25.10.2     YES NVRAM  up                    up

switch4(config)#router eigrp 1
switch4(config-router)#no auto
switch4(config-router)#network 172.25.11.0 0.0.0.255
switch4(config-router)#
00:18:26: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 1: Neighbor 172.25.11.1 (Port-channel8) is up: new adjacency
switch4(config-router)#network 172.25.10.0 0.0.0.255
switch4(config-router)#
00:18:37: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 1: Neighbor 172.25.10.1 (Port-channel9) is up: new adjacency


r5
---
fa0/0 is connected to switch1 and we are adverising 5.5.5.5 our loopback
r5#sh ip int brief
Interface                  IP-Address      OK? Method Status                Protocol
FastEthernet0/0            10.164.49.1     YES manual up                    up 
Serial0/0/0                unassigned      YES NVRAM  administratively down down
Serial0/1/0                unassigned      YES NVRAM  administratively down down
Loopback0                  5.5.5.5         YES NVRAM  up                    up 
router eigrp 1
 network 5.5.5.5 0.0.0.0
 network 5.0.0.0
 network 10.164.49.0 0.0.0.255
 network 10.0.0.0
 network 172.25.0.0
 no auto-summary

OK we will just look at a few of the commands on r4
r4
---
switch4#sh ip eigrp interface
IP-EIGRP interfaces for process 1
                        Xmit Queue   Mean   Pacing Time   Multicast    Pending
Interface        Peers  Un/Reliable  SRTT   Un/Reliable   Flow Timer   Routes
Po8                1        0/0       336       0/1         1668           0
Po9                1        0/0       902       0/1         4508           0
switch4#

shows what interfaces and number of peers per interface if you were running eigrp on multipoint or broadcast segment with multiple devices connected you would see more than 1 peer. You also get info on some of your timers

switch4#sh ip eigrp interface detail
IP-EIGRP interfaces for process 1
                        Xmit Queue   Mean   Pacing Time   Multicast    Pending
Interface        Peers  Un/Reliable  SRTT   Un/Reliable   Flow Timer   Routes
Po8                1        0/0       336       0/1         1668           0
  Next xmit serial <none>
  Un/reliable mcasts: 0/5  Un/reliable ucasts: 5/1
  Mcast exceptions: 0  CR packets: 0  ACKs suppressed: 0
  Retransmissions sent: 1  Out-of-sequence rcvd: 0
  Authentication mode is not set
Po9                1        0/0       902       0/1         4508           0
  Next xmit serial <none>
  Un/reliable mcasts: 0/3  Un/reliable ucasts: 4/1
  Mcast exceptions: 0  CR packets: 0  ACKs suppressed: 0
  Retransmissions sent: 0  Out-of-sequence rcvd: 0
  Authentication mode is not set

this just more detailed output you can authentication has not been set and additional timers and acks recieved etc

Ok now look at
switch4#sh ip protocols
*** IP Routing is NSF aware ***
Routing Protocol is "rip"
  Outgoing update filter list for all interfaces is not set
  Incoming update filter list for all interfaces is not set
  Sending updates every 30 seconds, next due in 4 seconds
  Invalid after 180 seconds, hold down 180, flushed after 240
  Redistributing: rip
  Default version control: send version 2, receive version 2
    Interface                 Send  Recv  Triggered RIP  Key-chain
    Port-channel8             2     2
    Port-channel9             2     2
    Loopback0                 2     2
  Automatic network summarization is not in effect
  Maximum path: 4
  Routing for Networks:
    1.0.0.0
    172.25.0.0
  Routing Information Sources:
    Gateway         Distance      Last Update
    172.25.10.1          120      00:15:55
  Distance: (default is 120)
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 not in effect
  Maximum path: 4
  Routing for Networks:
    172.25.10.0/24
    172.25.11.0/24
  Routing Information Sources:
    Gateway         Distance      Last Update
    172.25.10.1           90      00:04:40
    172.25.11.1           90      00:04:40
  Distance: internal 90 external 170

this give you info distance what networks we are advertising and importanly what are out k values. Whether we are using filter list or redistribvuting can also be got from here

switch4#debug eigrp packet hello
EIGRP Packets debugging is on
    (HELLO)
switch4#
00:34:13: EIGRP: Received HELLO on Port-channel8 nbr 172.25.11.1
00:34:13:   AS 1, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0 peerQ un/rely 0/0
00:34:15: EIGRP: Sending HELLO on Port-channel9
00:34:15:   AS 1, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0
00:34:16: EIGRP: Received HELLO on Port-channel9 nbr 172.25.10.1
00:34:16:   AS 1, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ u
from here we can see hello been recieved and been sent can be used to debug neighbor adjacency issues

switch4#sh ip eigrp neighbors
IP-EIGRP neighbors for process 1
H   Address                 Interface       Hold Uptime   SRTT   RTO  Q  Seq Type
                                            (sec)         (ms)       Cnt Num
1   172.25.10.1             Po9               13 00:16:32  902  5000  0  10
0   172.25.11.1             Po8               14 00:16:42  336  2016  0  13
switch4#
will show you what neighbors you are connected to and stats on it and important field here is the que count if this more than 0 for a period you have a issue of convergence with the neighbor a potential issue with adjacency
switch4#sh ip eigrp neighbors detail
IP-EIGRP neighbors for process 1
H   Address                 Interface       Hold Uptime   SRTT   RTO  Q  Seq Type
                                            (sec)         (ms)       Cnt Num
1   172.25.10.1             Po9               13 00:17:44  902  5000  0  10
   Version 12.2/1.2, Retrans: 0, Retries: 0
0   172.25.11.1             Po8               11 00:17:55  336  2016  0  13
   Version 12.2/1.2, Retrans: 1, Retries: 0
switch4#
just gives further info retrans of updates retries etc


switch4#sh ip eigrp topology all-links
IP-EIGRP Topology Table for AS(1)/ID(172.25.11.2)
Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
       r - reply Status, s - sia Status
P 5.5.5.0/24, 1 successors, FD is 158720, serno 7
        via 172.25.11.1 (158720/156160), Port-channel8
        via 172.25.10.1 (161280/158720), Port-channel9
P 192.168.1.0/24, 2 successors, FD is 13568, serno 5
        via 172.25.10.1 (13568/11008), Port-channel9
        via 172.25.11.1 (13568/11008), Port-channel8
P 10.164.49.0/24, 1 successors, FD is 30720, serno 6
        via 172.25.11.1 (30720/28160), Port-channel8
        via 172.25.10.1 (33280/30720), Port-channel9
P 172.25.11.0/24, 1 successors, FD is 11008, serno 1
        via Connected, Port-channel8
P 172.25.10.0/24, 1 successors, FD is 11008, serno 4
        via Connected, Port-channel9

This important one to show dual if you look at the
5.5.5.5 network  via 172.25.11.1 po8 is to switch 1 and has a feasible distance of 158720 so this is it total metric to 5.5.5.5 sw1 has a metric of 156160 so this to sw4 is the advertised distance

5.5.5.5 network via 172.25.10.1 po9 (sw2) has feasible distance of 161280 and advertised distance 158720
This is not considered a feasible succesor (backup route) as 158720 adverised distabce is equal to not less than 158720 feasible distance so sw4 knows that sw2 is not more upsteam than itself it has the same feasible distance for this reason it will auto switch to it in case of failure as there is potential for a route loop as it is not more upstream but in the case of po8 going down it will query sw2 and potential get that route via port-channel 9 but it will not auto switch in case for example sw2 was looped back to sw4

which it does i shutdown po8

switch4#sh ip eigrp topology all-links
IP-EIGRP Topology Table for AS(1)/ID(172.25.11.2)
Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
       r - reply Status, s - sia Status
P 5.5.5.0/24, 1 successors, FD is 161280, serno 14
        via 172.25.10.1 (161280/158720), Port-channel9
P 192.168.1.0/24, 1 successors, FD is 13568, serno 12
        via 172.25.10.1 (13568/11008), Port-channel9
P 10.164.49.0/24, 1 successors, FD is 33280, serno 15
        via 172.25.10.1 (33280/30720), Port-channel9
P 172.25.10.0/24, 1 successors, FD is 11008, serno 4
        via Connected, Port-channel9
switch4#


switch4#sh ip eigrp topology 5.5.5.0/24
IP-EIGRP (AS 1): Topology entry for 5.5.5.0/24
  State is Passive, Query origin flag is 1, 1 Successor(s), FD is 158720
  Routing Descriptor Blocks:
  172.25.11.1 (Port-channel8), from 172.25.11.1, Send flag is 0x0
      Composite metric is (158720/156160), Route is Internal
      Vector metric:
        Minimum bandwidth is 100000 Kbit
        Total delay is 5200 microseconds
        Reliability is 255/255
        Load is 1/255
        Minimum MTU is 1500
        Hop count is 2
  172.25.10.1 (Port-channel9), from 172.25.10.1, Send flag is 0x0
      Composite metric is (161280/158720), Route is Internal
      Vector metric:
        Minimum bandwidth is 100000 Kbit
        Total delay is 5300 microseconds
        Reliability is 255/255
        Load is 1/255
        Minimum MTU is 1500
        Hop count is 3
switch4#
if you do sh ip eigrp topology with the prefix you get more detailed info on the delay bandwidth been used etc

No comments:

Post a Comment