Sunday, December 18, 2011

EIGRP SPLIT HORIZON

OK i also split horizon  like ripv2 eigrp has split horizon on by default.
In eigrp it is on by default on frame relay multipoint interface which it is not in
ripv2.
You can disable using
 (where x is the AS number)

no ip split-horizon eigrp x
It is on in eigrp not really as loop prevention as eigrp has the dual mechanism but
more of an efficence of routing updates.

The split horizon rule prohibits a router from advertising a route through an interface that the router itself uses to reach the destination. In order to disable the split horizon behavior, use the no ip split-horizon eigrp as-number interface command. Some important points to remember about EIGRP split horizon are:

    * Split horizon behavior is turned on by default.
    * When you change the EIGRP split horizon setting on an interface, it resets all adjacencies with EIGRP neighbors reachable over that interface.
    * Split horizon should only be disabled on a hub site in a hub-and-spoke network.
    * Disabling split horizon on the spokes radically increases EIGRP memory consumption on the hub router, as well as the amount of traffic generated on the spoke routers.
    * The EIGRP split horizon behavior is not controlled or influenced by the ip split-horizon command.


LAB
----
I will do a lab on this even though it is very similar to the rip split horizon we
can see some interesting behaviour by dual. So R1 is the hub in the frame relay it
using main point multipoint interface both r5 and r2 have circuits to r1 but not to
each other also r5 has a direct serial connection to r4 which is not in the frame
relay network



r4
---
r4(config)#no router rip
r4(config)#router eigrp 1
r4(config-router)#network 44.44.44.44 0.0.0.0
r4(config-router)#no auto
r4(config-router)#network 10.17.17.0 0.0.0.255
r4(config-router)#exit
Serial0/1/0                10.17.17.4      YES manual down                  down
Loopback0                  44.44.44.44     YES manual up                    up 
r4(config)#

r5
---
r5#sh ip int brief
Interface                  IP-Address      OK? Method Status                Protocol
FastEthernet0/0            unassigned      YES TFTP   up                    down
FastEthernet0/1            unassigned      YES TFTP   administratively down down
Serial0/0/0                unassigned      YES NVRAM  up                    up 
Serial0/0/0.1              10.229.254.5    YES manual up                    up 
Serial0/1/0                10.17.17.5      YES manual up                    up
r5(config)#router eigrp 1
r5(config-router)#network 10.17.17.0 0.0.0.255
r5(config-router)#network 10.229.254.0 0.0.0.255
r5(config-router)#no auto
r2
--
r2#sh ip int brief
Interface                  IP-Address      OK? Method Status                Protocol
FastEthernet0/0            unassigned      YES TFTP   up                    down
Serial0/0                  unassigned      YES NVRAM  up                    up 
Serial0/0.1                10.229.254.2    YES manual down                  down
Serial0/1                  unassigned      YES NVRAM  down                  down

r2(config)#router eigrp 1
r2(config-router)#network 10.229.254.0 0.0.0.255
r2(config-router)#no auto
r2(config-router)#
r1 the hub
---

r1(config)#int s0/0
r1(config-if)#encap frame-relay
r1(config-if)#ip address 10.229.254.1 255.255.255.0
r1(config-if)#frame-relay map ip 10.229.254.2 102
r1(config-if)#frame-relay map ip 10.229.254.5 105
r1(config-if)#no shut
r1(config)#router eigrp 1
r1(config-router)#no auto
r1(config-router)#network 10.229.254.0 0.0.0.255
r1(config-router)#

i kept having problems with eigrp going up and down this is because i forgot the broadcast keyword in my map statements added and back working fine
I also added on r2 a loopback just so we would see it in the tables
r2(config)#int lo0
r2(config-if)#ip addres
*Mar  1 00:48:34.643: %LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback0, changed state to ups 22.22.22.22 255.255.255.255
r2(config-if)#exit
r2(config)#router eigrp 1
r2(config-router)#network 22.22.22.22 0.0.0.0
r2(config-router)#

ok on
r1
---
r1#sh ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route
Gateway of last resort is not set
     22.0.0.0/32 is subnetted, 1 subnets
D       22.22.22.22 [90/2297856] via 10.229.254.2, 00:00:59, Serial0/0
     10.0.0.0/24 is subnetted, 2 subnets
D       10.17.17.0 [90/2681856] via 10.229.254.5, 00:03:58, Serial0/0
C       10.229.254.0 is directly connected, Serial0/0
     44.0.0.0/32 is subnetted, 1 subnets
D       44.44.44.44 [90/2809856] via 10.229.254.5, 00:03:58, Serial0/0
r1#

I am seeing all networks

on r2 i am not seeing any of r5 networks
r2#sh ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route
Gateway of last resort is not set
     22.0.0.0/32 is subnetted, 1 subnets
C       22.22.22.22 is directly connected, Loopback0
     10.0.0.0/24 is subnetted, 1 subnets
C       10.229.254.0 is directly connected, Serial0/0.1
r2#

r5#sh ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route
Gateway of last resort is not set
     10.0.0.0/24 is subnetted, 2 subnets
C       10.17.17.0 is directly connected, Serial0/1/0
C       10.229.254.0 is directly connected, Serial0/0/0.1
     44.0.0.0/32 is subnetted, 1 subnets
D       44.44.44.44 [90/2297856] via 10.17.17.4, 00:35:53, Serial0/1/0
r5#
same on r5 not seeing any of r2 networks

ok so back to r1 and i will disable split horizon
r1(config)#int s0/0
r1(config-if)#no ip split-?
split-horizon
r1(config-if)#no ip split-horizon
r1(config-if)#

this got me for  while it was not working

r1#sh ip int
FastEthernet0/0 is administratively down, line protocol is down
  Internet protocol processing disabled
Serial0/0 is up, line protocol is up
  Internet address is 10.229.254.1/24
  Broadcast address is 255.255.255.255
  Address determined by setup command
  MTU is 1500 bytes
  Helper address is not set
  Directed broadcast forwarding is disabled
  Multicast reserved groups joined: 224.0.0.10
  Outgoing access list is not set
  Inbound  access list is not set
  Proxy ARP is enabled
  Local Proxy ARP is disabled
  Security level is default
  Split horizon is disabled
  ICMP redirects are always sent
  ICMP unreachables are always sent
  ICMP mask replies are never sent
  IP fast switching is enabled
  IP fast switching on the same interface is enabled
  IP Flow switching is disabled
  IP CEF switching is enabled
  IP CEF Fast switching turbo vector
  IP multicast fast switching is enabled
  IP multicast distributed fast switching is disabled
  IP route-cache flags are Fast, CEF
  Router Discovery is disabled
  IP output packet accounting is disabled
  IP access violation accounting is disabled
  TCP/IP header compression is disabled
  RTP/IP header compression is disabled
  Policy routing is disabled
  Network address translation is disabled
  BGP Policy Mapping is disabled
  WCCP Redirect outbound is disabled
  WCCP Redirect inbound is disabled
  WCCP Redirect exclude is disabled
Serial0/1 is administratively down, line protocol is down
  Internet protocol processing disabled

eventhough split horizon was disabled i still was not getting the routes
there is a inbuilt split horizon that needs to be disabled
r1(config-if)#int s0/0
r1(config-if)#no ip split-horizon eigrp 1
r1(config-if)#
*Mar  1 00:57:33.815: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 1: Neighbor 10.229.254.5 (Serial0/0) is resync: split horizon changed
*Mar  1 00:57:33.815: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 1: Neighbor 10.229.254.2 (Serial0/0) is resync: split horizon changed

I am not seeing all routes
r5#sh ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route
Gateway of last resort is not set
     22.0.0.0/32 is subnetted, 1 subnets
D       22.22.22.22 [90/2809856] via 10.229.254.1, 00:01:26, Serial0/0/0.1
     10.0.0.0/24 is subnetted, 2 subnets
C       10.17.17.0 is directly connected, Serial0/1/0
C       10.229.254.0 is directly connected, Serial0/0/0.1
     44.0.0.0/32 is subnetted, 1 subnets
D       44.44.44.44 [90/2297856] via 10.17.17.4, 00:01:26, Serial0/1/0
r5#

I also done the no ip split-horizon eigrp 1 on the spokes r5 and r2
r5#sh ip eigrp top all-
IP-EIGRP Topology Table for AS(1)/ID(5.5.5.5)
Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
       r - reply Status, s - sia Status
P 22.22.22.22/32, 1 successors, FD is 2809856, serno 15
        via 10.229.254.1 (2809856/2297856), Serial0/0/0.1
P 44.44.44.44/32, 1 successors, FD is 2297856, serno 4
        via 10.17.17.4 (2297856/128256), Serial0/1/0
        via 10.229.254.1 (3321856/2809856), Serial0/0/0.1
P 10.17.17.0/24, 1 successors, FD is 2169856, serno 3
        via Connected, Serial0/1/0
        via 10.229.254.1 (3193856/2681856), Serial0/0/0.1
P 10.229.254.0/24, 1 successors, FD is 2169856, serno 14
        via Connected, Serial0/0/0.1
        via 10.229.254.1 (2681856/2169856), Serial0/0/0.1

if we look at the router on the directly connected r4 44.44.44.44

P 44.44.44.44/32, 1 successors, FD is 2297856, serno 4
        via 10.17.17.4 (2297856/128256), Serial0/1/0
        via 10.229.254.1 (3321856/2809856), Serial0/0/0.1
I am now getting it via r4 and also via r1 there is duplicate.
I have the route directly via r4 and i am also reciveing back the route
via r1 that i sent it. This is potential loop but the dual algorithm will not
allow this as backup route as the route via r4 is selected as the best route with a
feasible distance of 2297856 and the route via r1 is not a feasible successor as it advertised distance 2809856 is not less than the route via r4 feasible distance so this prevents a potential loop

 The reason split horizon is on by default in eigrp is to stop these duplicate routes been recieved not from a loop prevention standpoint as we see dual will take care of  the loop prevention but from an efficency of the routing protocol of having to process this additional route unneedless this of course unless you are is in the example in partial mesh nmba network

1 comment:

  1. if SPLIT HORIZON is used for avoiding loop how does disabling prevents loop in eigrp in this scenario.

    ReplyDelete