Tuesday, December 20, 2011

EIGRP UPDATE TYPES

Tonight i took a look eigrp update types
eigrp by default will use both  multicast & unicaste
hello,query,update  multicast to 224.0.0.10
update ack reply unicast to neighbor
like a rip if you would like to limit the updates to particular adjacent router possible for security you can use
the
neighbor "ip address" " interface"
under the router eigrp  process

passive interface stop both unicast and multicast been sent and received\processed. A passive interface will ignore multicast packets to receive
eigrp is protocol 88 so this needs to be open between the neighbors

From the cisco site
--------------------
EIGRP uses five packet types:
Hello/Acks
Updates
Queries
Replies
Requests
As stated earlier, hellos are multicast for neighbor discovery/recovery. They do not require acknowledgment. A hello with no data is also used as an acknowledgment (ack). Acks are always sent using a unicast address and contain a non-zero acknowledgment number.
Updates are used to convey reachability of destinations. When a new neighbor is discovered, update packets are sent so the neighbor can build up its topology table. In this case, update packets are unicast. In other cases, such as a link cost change, updates are multicast. Updates are always transmitted reliably.
Queries and replies are sent when destinations go into Active state. Queries are always multicast unless they are sent in response to a received query. In this case, it is unicast back to the successor that originated the query. Replies are always sent in response to queries to indicate to the originator that it does not need to go into Active state because it has feasible successors. Replies are unicast to the originator of the query. Both queries and replies are transmitted reliably.
Request packets are used to get specific information from one or more neighbors. Request packets are used in route server applications. They can be multicast or unicast. Requests are transmitted unreliably.


a tip for getting protocol numbers to name is define a access list

access-list 101 permit 1 host 155.10.58.8 any
access-list 101 permit 2 host 155.10.58.8 any
access-list 101 permit 3 host 155.10.58.8 any

when you do sh access-list it will resolve the protocol number to its well known name for example protocol 1 will resolve to icmp protocol 88 will resovlve to eigrp
Ok for the lab
sw2 is layer 2 only switch in this scenerio it joins sw1 r2 and r4 in the same broadcast vlan 100. sw1 r2 and r4 will be in 10.229.254.0 and all run eigrp
we will run eigrp and deny unicast updates + put neighbor statement + watch the debug




sw1
====
switch1(config-if)#ip address 10.229.254.1 255.255.255.0
switch1(config-if)#exit
switch1(config)#router eigrp 1
switch1(config-router)#no auto
switch1(config-router)#network 10.229.254.0 0.0.0.255
switch1(config-router)#exit
switch1(config)#no router rip

r2
---
r2(config)#int fa0/0
r2(config-if)#ip address 10.229.254.2 255.255.255.0
r2(config-if)#no shut
r2(config-if)#exit
r2(config)#no router rip
r2(config)#router eigrp 1
IP routing not enabled
r2(config)#ip routing
r2(config)#router eigrp 1
r2(config-router)#network 10.229.254.0 0.0.0.255
r2(config-router)#no aut
*Mar  1 00:25:59.251: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 1: Neighbor 10.229.254.1 (FastEthernet0/0) is up: new adjacency
r2(config-router)#

r4
---
r4(config)#int fa0/0
r4(config-if)#ip address 10.229.254.4 255.255.255.0
r4(config-if)#no shut
r4(config-if)#
*Dec 19 21:45:52.335: %LINK-3-UPDOWN: Interface FastEthernet0/0, changed state to up
*Dec 19 21:45:53.335: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up
r4(config-if)#router eigrp 1
r4(config-router)#no auto
r4(config-router)#network 10.229.254.0

As we are now on broadcast network with multiple neighbors we are seeing
2 peers in the sh ip eigrp int
r4#sh ip eigrp int
IP-EIGRP interfaces for process 1
                        Xmit Queue   Mean   Pacing Time   Multicast    Pending
Interface        Peers  Un/Reliable  SRTT   Un/Reliable   Flow Timer   Routes
Fa0/0              2        0/0         1       0/1            0           0
r4#

from debug eigrp packet and debug ip packet on r4
*Dec 20 21:06:56.747: EIGRP: Received HELLO on FastEthernet0/0 nbr 10.229.254.1
*Dec 20 21:06:56.747:   AS 1, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0 peer                                                                             Q un/rely 0/0
*Dec 20 21:06:57.043: IP: s=10.229.254.4 (local), d=224.0.0.10 (FastEthernet0/0)                                                                             , len 60, sending broad/multicast
*Dec 20 21:06:57.043: EIGRP: Sending HELLO on FastEthernet0/0
*Dec 20 21:06:57.043:   AS 1, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0
*Dec 20 21:07:00.827: IP: s=10.229.254.2 (FastEthernet0/0), d=224.0.0.10, len 60                                                                             , rcvd 2
*Dec 20 21:07:00.827: EIGRP: Received HELLO on FastEthernet0/0 nbr 10.229.254.2
*Dec 20 21:07:00.827:   AS 1, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0 peer                                                                             Q un/rely 0/0
*Dec 20 21:07:01.727: IP: s=10.229.254.1 (FastEthernet0/0), d=224.0.0.10, len 60                                                                             , rcvd 2
*Dec 20 21:07:01.727: EIGRP: Received HELLO on FastEthernet0/0 nbr 10.229.254.1
*Dec 20 21:07:01.727:   AS 1, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0 peer                                                                             Q un/rely 0/0
*Dec 20 21:07:01.751: IP: s=10.229.254.4 (local), d=224.0.0.10 (FastEthernet0/0)                                                                             , len 60, sending broad/multicast
*Dec 20 21:07:01.751: EIGRP: Sending HELLO on FastEthernet0/0
*Dec 20 21:07:01.751:   AS 1, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0u
*Dec 20 21:07:05.223: IP: s=10.229.254.2 (FastEthernet0/0), d=224.0.0.10, len 60                                                                             , rcvd 2
*Dec 20 21:07:05.223: EIGRP: Received HELLO on FastEthernet0/0 nbr 10.229.254.2
*Dec 20 21:07:05.223:   AS 1, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0 peer
we can see from the debug we are recieving a hello every few seconds from our neighbors and we are generating multicast hellos u

When i shutdown the interface fa0/0 and restarted we see eigrp is sending out multicast  for neighbor descovery every few seconds when we pick up neighbor recieving a hello our our eigrp adjacency changes to up
we then go through a unicast updating phase of update and acks these are all unicast

*Dec 20 21:14:37.967: EIGRP: Sending HELLO on FastEthernet0/0
*Dec 20 21:14:37.967:   AS 1, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0
*Dec 20 21:14:42.275: IP: s=10.229.254.4 (local), d=224.0.0.10 (FastEthernet0/0), len 60, sending broad/multicast
*Dec 20 21:14:42.275: EIGRP: Sending HELLO on FastEthernet0/0
*Dec 20 21:14:42.275:   AS 1, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0
*Dec 20 21:14:44.135: IP: s=10.229.254.2 (FastEthernet0/0), d=224.0.0.10, len 60, rcvd 2
*Dec 20 21:14:44.139: EIGRP: Received HELLO on FastEthernet0/0 nbr 10.229.254.2
*Dec 20 21:14:44.139:   AS 1, Flags 0x0, Seq 0/0 idbQ 0/0
*Dec 20 21:14:44.139: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 1: Neighbor 10.229.254.2 (FastEthernet0/0) is up: new adjacency
*Dec 20 21:14:44.139: EIGRP: Enqueueing UPDATE on FastEthernet0/0 nbr 10.229.254.2 iidbQ un/rely 0/1 peerQ un/rely 0/0
*Dec 20 21:14:44.143: IP: s=10.229.254.4 (local), d=224.0.0.10 (FastEthernet0/0), len 60, sending broad/multicast
*Dec 20 21:14:44.143: EIGRP: Sending HELLO on FastEthernet0/0
*Dec 20 21:14:44.143:   AS 1, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/1
*Dec 20 21:14:44.143: EIGRP: Requeued unicast on FastEthernet0/0
*Dec 20 21:14:44.147: IP: s=10.229.254.2 (FastEthernet0/0), d=224.0.0.10, len 60, rcvd 2
*Dec 20 21:14:44.147: EIGRP: Received HELLO on FastEthernet0/0 nbr 10.229.254.2
*Dec 20 21:14:44.147:   AS 1, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0 peerQ un/rely 0/1
*Dec 20 21:14:44.147: IP: s=10.229.254.4 (local), d=10.229.254.2 (FastEthernet0/0), len 40, sending
*Dec 20 21:14:44.147: IP: s=10.229.254.4 (local), d=10.229.254.2 (FastEthernet0/0), len 40, encapsulation failed
*Dec 20 21:14:44.147: EIGRP: Sending UPDATE on FastEthernet0/0 nbr 10.229.254.2
*Dec 20 21:14:44.147:   AS 1, Flags 0x1, Seq 13/0 idbQ 0/0 iidbQ un/rely 0/0 peerQ un/rely 0/1
*Dec 20 21:14:44.151: IP: tableid=0, s=10.229.254.2 (FastEthernet0/0), d=10.229.254.4 (FastEthernet0/0), routed via RIB
*Dec 20 21:14:44.151: IP: s=10.229.254.2 (FastEthernet0/0), d=10.229.254.4 (FastEthernet0/0), len 40, rcvd 3
*Dec 20 21:14:44.155: EIGRP: Received UPDATE on FastEthernet0/0 nbr 10.229.254.2
*Dec 20 21:14:44.155:   AS 1, Flags 0x1, Seq 9/0 idbQ 0/0 iidbQ un/rely 0/0 peerQ un/rely 0/1
*Dec 20 21:14:44.155: IP: tableid=0, s=10.229.254.1 (FastEthernet0/0), d=10.229.254.4 (FastEthernet0/0), routed via RIB
*Dec 20 21:14:44.155: IP: s=10.229.254.1 (FastEthernet0/0), d=10.229.254.4 (FastEthernet0/0), len 40, rcvd 3
*Dec 20 21:14:44.155: EIGRP: Received UPDATE on FastEthernet0/0 nbr 10.229.254.1
*Dec 20 21:14:44.155:   AS 1, Flags 0x9, Seq 5/0 idbQ 0/0
*Dec 20 21:14:44.155: EIGRP: Neighbor(10.229.254.1) not yet found
*Dec 20 21:14:46.147: IP: s=10.229.254.4 (local), d=10.229.254.2 (FastEthernet0/0), len 40, sending
*Dec 20 21:14:46.147: EIGRP: Sending UPDATE on FastEthernet0/0 nbr 10.229.254.2, retry 1, RTO 3000
*Dec 20 21:14:46.147:   AS 1, Flags 0x1, Seq 13/9 idbQ 0/0 iidbQ un/rely 0/0 peerQ un/rely 0/1
*Dec 20 21:14:46.151: IP: tableid=0, s=10.229.254.2 (FastEthernet0/0), d=10.229.254.4 (FastEthernet0/0), routed via RIB
*Dec 20 21:14:46.155: IP: s=10.229.254.2 (FastEthernet0/0), d=10.229.254.4 (FastEthernet0/0), len 40, rcvd 3
*Dec 20 21:14:46.155: EIGRP: Received UPDATE on FastEthernet0/0 nbr 10.229.254.2
*Dec 20 21:14:46.155:   AS 1, Flags 0x8, Seq 10/13 idbQ 0/0 iidbQ un/rely 0/0 peerQ un/rely 0/1
*Dec 20 21:14:46.155: EIGRP: Enqueueing UPDATE on FastEthernet0/0 nbr 10.229.254.2 iidbQ un/rely 0/1 peerQ un/rely 0/0 serno 8-8
*Dec 20 21:14:46.155: EIGRP: Enqueueing ACK on FastEthernet0/0 nbr 10.229.254.2
*Dec 20 21:14:46.155:   Ack seq 10 iidbQ un/rely 0/1 peerQ un/rely 1/0
*Dec 20 21:14:46.159: EIGRP: Forcing multicast xmit on FastEthernet0/0
*Dec 20 21:14:46.159: EIGRP: Requeued unicast on FastEthernet0/0
*Dec 20 21:14:46.159: IP: tableid=0, s=10.229.254.1 (FastEthernet0/0), d=10.229.254.4 (FastEthernet0/0), routed via RIB
*Dec 20 21:14:46.159: IP: s=10.229.254.1 (FastEthernet0/0), d=10.229.254.4 (FastEthernet0/0), len 40, rcvd 3
*Dec 20 21:14:46.163: EIGRP: Received UPDATE on FastEthernet0/0 nbr 10.229.254.1
*Dec 20 21:14:46.163:   AS 1, Flags 0x9, Seq 5/0 idbQ 0/0
*Dec 20 21:14:46.163: EIGRP: Neighbor(10.229.254.1) not yet found
*Dec 20 21:14:46.163: EIGRP: Suppressed ACK 10 to 10.229.254.2 on FastEthernet0/0
*Dec 20 21:14:46.163: IP: s=10.229.254.4 (local), d=10.229.254.2 (FastEthernet0/0), len 40, sending
*Dec 20 21:14:46.163: EIGRP: Sending UPDATE on FastEthernet0/0 nbr 10.229.254.2
*Dec 20 21:14:46.163:   AS 1, Flags 0x8, Seq 14/10 idbQ 0/0 iidbQ un/rely 0/0 peerQ un/rely 0/1 serno 8-8
*Dec 20 21:14:46.167: IP: tableid=0, s=10.229.254.2 (FastEthernet0/0), d=10.229.254.4 (FastEthernet0/0), routed via RIB
*Dec 20 21:14:46.167: IP: s=10.229.254.2 (FastEthernet0/0), d=10.229.254.4 (FastEthernet0/0), len 40, rcvd 3
*Dec 20 21:14:46.171: EIGRP: Received ACK on FastEthernet0/0 nbr 10.229.254.2
*Dec 20 21:14:46.171:   AS 1, Flags 0x0, Seq 0/14 idbQ 0/0 iidbQ un/rely 0/0 peerQ un/rely 0/1
*Dec 20 21:14:47.779: IP: s=10.229.254.1 (FastEthernet0/0), d=224.0.0.10, len 60, rcvd 2
*Dec 20 21:14:47.779: EIGRP: Received HELLO on FastEthernet0/0 nbr 10.229.254.1
*Dec 20 21:14:47.779:   AS 1, Flags 0x0, Seq 0/0 idbQ 0/0

Now i will turn off multicasting by using the neighbor commands on r4
router eigrp 1
neighbor 10.229.254.1 fa0/0
neighbor 10.229.254.2 fa0/0

*Dec 20 21:23:50.771: EIGRP: Sending HELLO on FastEthernet0/0 nbr 10.229.254.2
*Dec 20 21:23:50.771:   AS 1, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0
*Dec 20 21:23:50.771: IP: s=10.229.254.4 (local), d=10.229.254.1 (FastEthernet0/0), len 60, sending
*Dec 20 21:23:50.771: EIGRP: Sending HELLO on FastEthernet0/0 nbr 10.229.254.1
*Dec 20 21:23:50.771:   AS 1, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0
*Dec 20 21:23:51.859: IP: s=10.229.254.2 (FastEthernet0/0), d=224.0.0.10, len 60, rcvd 2
*Dec 20 21:23:51.859: EIGRP: Received HELLO on FastEthernet0/0 nbr 10.229.254.2
*Dec 20 21:23:51.859:   AS 1, Flags 0x0, Seq 0/0 idbQ 0/0
*Dec 20 21:23:51.859: EIGRP: Ignore multicast Hello FastEthernet0/0 10.229.254.2
*Dec 20 21:23:54.171: IP: s=10.229.254.1 (FastEthernet0/0), d=224.0.0.10, len 60, rcvd 2
*Dec 20 21:23:54.175: EIGRP: Received HELLO on FastEthernet0/0 nbr 10.229.254.1
*Dec 20 21:23:54.175:   AS 1, Flags 0x0, Seq 0/0 idbQ 0/0
*Dec 20 21:23:54.175: EIGRP: Ignore multicast Hello FastEthernet0/0 10.229.254.1
*Dec 20 21:23:55.071: IP: s=10.229.254.4 (local), d=10.229.254.2 (FastEthernet0/0), len 60, sending
*Dec 20 21:23:55.071: EIGRP: Sending HELLO on FastEthernet0/0 nbr 10.229.254.2
*Dec 20 21:23:55.071:   AS 1, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0
*Dec 20 21:23:55.071: IP: s=10.229.254.4 (local), d=10.229.254.1 (FastEthernet0/0), len 60, sending
*Dec 20 21:23:55.071: EIGRP: Sending HELLO on FastEthernet0/0 nbr 10.229.254.1
*Dec 20 21:23:55.071:   AS 1, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0
*Dec 20 21:23:56.555: IP: s=10.229.254.2 (FastEthernet0/0), d=224.0.0.10, len 60, rcvd 2
*Dec 20 21:23:56.555: EIGRP: Received HELLO on FastEthernet0/0 nbr 10.229.254.2
*Dec 20 21:23:56.559:   AS 1, Flags 0x0, Seq 0/0 idbQ 0/0
*Dec 20 21:23:56.559: EIGRP: Ignore multicast Hello FastEthernet0/0 10.229.254.2
ok from the debug we can see we are now sending out hello as unicast not multicast
and we are recieving hellos but ignoring them as they are multicast when you do the neigbor command effectively turns off multicast recieving and sending
We still recieve on the interface but we just ignore

r2 has not got the neighbor statement

look at the debug
r2#debug ip p
*Mar  1 01:07:13.803: EIGRP: Received HELLO on FastEthernet0/0 nbr 10.229.254.1
*Mar  1 01:07:13.803:   AS 1, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0 peerQ un/rely 0/0
*Mar  1 01:07:14.351: EIGRP: Received HELLO on FastEthernet0/0 nbr 10.229.254.4
*Mar  1 01:07:14.351:   AS 1, Flags 0x0, Seq 0/0 idbQ 0/0
*Mar  1 01:07:14.351: EIGRP: Ignore unicast Hello from FastEthernet0/0 10.229.254.4
*Mar  1 01:07:14.459: EIGRP: Sending HELLO on FastEthernet0/0
*Mar  1 01:07:14.459:   AS 1, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0acke

In the eigrp protocol if it is not configured with the neighbor command it will reject the unicast hello

r2(config)#router eigrp 1
r2(config-router)#neighbor 10.229.254.4 fa0/0
r2(config-router)#
*Mar  1 01:22:47.427: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 1: Neighbor 10.229.254.1 (FastEthernet0/0) is down: Static peer configuredexit
r2(config)#
*Mar  1 01:22:50.579: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 1: Neighbor 10.229.254.4 (FastEthernet0/0) is up: new adjacency
if you configure the neighbor statement on r2 it will bring up as both are now listening + accepting  unicast hello

No comments:

Post a Comment