Lab 31: RIPv2 Split Horizon

Lab Objective:

The objective of this lab exercise is for you to learn and understand the effects of split horizon in a typical hub-and-spoke topology.

Lab Purpose:

Configuring and troubleshooting split horizon is a fundamental skill. RIPv2 is a distance vector protocol, and as such uses split horizon to prevent routing loops. Split horizon mandates that RIPv2 will not send updates back out of the interface on which they were received. In newer versions of Cisco IOS software, split horizon is disabled by default for frame relay and SMDS. However, in the real world, you may encounter routers running older Cisco IOS software that do have split horizon enabled by default. It is for the preparation of such scenarios that you should be knowledgeable about split horizon. As a Cisco engineer, as well as in the Cisco CCNA exam, you will be expected to know how to address split horizon issues in RIPv2.

Certification Level:

This lab is suitable for CCNA certification exam preparation.

Lab Difficulty:

This lab has a difficulty rating of 8/10.

Readiness Assessment:

When you are ready for your certification exam, you should complete this lab in no more than 20 minutes.

IMPORTANT NOTE: In order to configure frame relay between two routers in your lab, you will need THREE routers! The first two routers will be regular routers, and the third will need to be configured as a frame relay switch. This can be any Cisco router that has at least two Serial interfaces. Please refer to Appendix B: Cabling and Configuring a Frame Relay Switch for Three Routers for the appropriate configuration to issue on the frame relay switch.

Frame relay is no longer featured in the CCNA exam but we are using it here to demonstrate the split horizon issue. It’s easier to set up without using the command line if you use Packet Tracer.

Lab Topology:

Please use the following topology to complete this lab exercise:

Task 1:

This lab will only be performed on routers R1, R2, and R3. Configure the hostnames on R1, R2, and R3 as illustrated in the topology.

Task 2:

Configure the switch in the topology with the hostname Sw1. Enable F0/1, F0/2, and F0/3 on Sw1 so that when you bring up the router interfaces connected to those switchports, they can come up.

Task 3:

Configure IP addresses on the Fa0/0 interfaces on R1, R2, and R3. Make sure that you enable these interfaces. Verify that the Fa0/0 interfaces on all three routers are up. We won’t use R4 in this lab. Feel free to use Loopback interfaces instead if you wish.

Task 4:

Configure frame relay on R1, R2, and R3. Use the IP addresses in the topology for their respective Serial interfaces. Use the default frame relay encapsulation of Cisco.

Task 5:

Create a static frame relay map on each router for the other two routers. Verify your static frame relay maps. You can also use pings to test connectivity between the routers to double-check your frame relay mapping.

Task 6:

Enable RIPv2 on R1, R2, and R3 for all the subnets configured on those respective routers. Be sure to prevent RIPv2 from automatically summarizing at classful network boundaries on all routers.

Task 7:

Check your IP routing tables. If you have configured everything as required, you will be receiving all routes on all routers. You can also use pings to test connectivity between the routers to double-check your routing.

Task 8:

Generally, if you are working on a hub-and-spoke network running RIPv2 and the router is running a Cisco IOS image that has split horizon disabled by default, you do not want to enable that feature unless you have very good cause to do so. However, in order to better understand split horizon, enable this feature on the Serial interface of R1 and clear the ip routing tables of all three routers.

Having done so, check the routing table of R3 and you will see that the 10.1.1.0/24 route is no longer present. Next, check the routing table of R2 and you will see that the 172.16.3.0/25 route is no longer present. Finally, check the routing table of R1 and you will see both of these routes. Because split horizon has been enabled, R1 will not send updates out of the same interface it received them. Make sure that you understand split horizon.

Configuration and Verification

Task 1:

For reference information on configuring hostnames, please refer to earlier labs.

Task 2:

Switch#config t 
Enter configuration commands, one per line.  End with CTRL/Z. 
Switch(config)#hostname Sw1 
Sw1(config)#interface fastethernet0/1 
Sw1(config-if)#no shutdown 
Sw1(config-if)#exit 
Sw1(config)#interface fastethernet0/3 
Sw1(config-if)#no shutdown 
Sw1(config-if)#end 
Sw1#

Task 3:

R1#conf t 
Enter configuration commands, one per line.  End with CTRL/Z. 
R1(config)#int fa0/0 
R1(config-if)#ip address 192.168.1.1 255.255.255.192 
R1(config-if)#no shutdown 
R1(config-if)#end 

R2#conf t 
Enter configuration commands, one per line.  End with CTRL/Z. 
R2(config)#int fa0/0 
R2(config-if)#ip add 10.1.1.2 255.255.255.0 
R2(config-if)#no shut 
R2(config-if)#end 

R3#config term 
Enter configuration commands, one per line.  End with CTRL/Z. 
R3(config)#int fa0/0 
R3(config-if)#ip address 172.16.3.3 255.255.255.128
R3(config-if)#no shutdown 
R3(config-if)#end

Task 4:

R1#config t 
Enter configuration commands, one per line.  End with CTRL/Z. 
R1(config)#int s1/0 
R1(config-if)#no shut 
R1(config-if)#ip address 10.0.0.1 255.255.255.224 
R1(config-if)#encapsulation frame-relay 
R1(config-if)#end 
R1# 

R2#conf t 
Enter configuration commands, one per line.  End with CTRL/Z. 
R2(config)#int s0/0 
R2(config-if)#no shut 
R2(config-if)#encap frame-relay 
R2(config-if)#ip address 10.0.0.2 255.255.255.224 
R2(config-if)#^Z 
R2# 

R3#conf term 
Enter configuration commands, one per line.  End with CTRL/Z. 
R3(config)#int s1/0 
R3(config-if)#ip address 10.0.0.3 255.255.255.224 
R3(config-if)#encapsulation fram 
R3(config-if)#no shut 
R3(config-if)#end 
R3#

Task 5:

R1#conf t 
Enter configuration commands, one per line.  End with CTRL/Z. 
R1(config)#int s1/0 
R1(config-if)#frame-relay map ip 10.0.0.2 102 broadcast 
R1(config-if)#frame-relay map ip 10.0.0.3 103 broadcast
R1(config-if)#end 
R1# 
R1#show frame-relay map 
Serial1/0 (up): ip 10.0.0.2 dlci 102(0x66,0x1860), static, 
                broadcast, 
                CISCO, status defined, inactive 
Serial1/0 (up): ip 10.0.0.3 dlci 103(0x67,0x1870), static, 
                broadcast, 
                CISCO, status defined, inactive 

R2#config t 
Enter configuration commands, one per line.  End with CTRL/Z. 
R2(config)#int s0/0 
R2(config-if)#frame-relay map ip 10.0.0.1 201 broadcast 
R2(config-if)#frame-relay map ip 10.0.0.3 201 broadcast 
R2(config-if)#end 
R2# 
R2#show frame-relay map 
Serial0/0 (up): ip 10.0.0.1 dlci 201(0xC9,0x3090), static,
                broadcast, 
                CISCO, status defined, active 
Serial0/0 (up): ip 10.0.0.3 dlci 201(0xC9,0x3090), static, 
                broadcast, 
                CISCO, status defined, active 

R3#conf ter 
Enter configuration commands, one per line.  End with CTRL/Z. 
R3(config)#int s1/0 
R3(config-if)#frame-rel map ip 10.0.0.1 301 broad 
R3(config-if)#frame-rel map ip 10.0.0.2 301 broad 
R3(config-if)#^Z 
R3# 
R3#show frame-relay map 
Serial1/0 (up): ip 10.0.0.1 dlci 301(0x12D,0x48D0), static,
                broadcast, 
                CISCO, status defined, active 
Serial1/0 (up): ip 10.0.0.2 dlci 301(0x12D,0x48D0), static, 
                broadcast,
                CISCO, status defined, active

Task 6:

R1#config 
Configuring from terminal, memory, or network [terminal]? term 
Enter configuration commands, one per line.  End with CTRL/Z. 
R1(config)#router rip 
R1(config-router)#ver 2 
R1(config-router)#no auto-summary 
R1(config-router)#net 192.168.1.0 
R1(config-router)#net 10.0.0.0 
R1(config-router)#end 
R1# 

R2#conf t 
Enter configuration commands, one per line.  End with CTRL/Z. 
R2(config)#router rip 
R2(config-router)#version 2 
R2(config-router)#network 10.0.0.0 
R2(config-router)#no auto-sum 
R2(config-router)#^Z 
R2# 

R3#conf t 
Enter configuration commands, one per line.  End with CTRL/Z. 
R3(config)#router rip 
R3(config-router)#ver 2 
R3(config-router)#net 172.16.3.0 
R3(config-router)#net 10.0.0.0 
R3(config-router)#no auto-summary 
R3(config-router)#end 
R3#

Task 7:

R1#sh ip route rip 
        172.16.0.0/25 is subnetted, 1 subnets 
R       172.16.3.0 [120/1] via 10.0.0.3, 00:00:18, Serial1/0
        10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks 
R       10.1.1.0/24 [120/1] via 10.0.0.2, 00:00:07, Serial1/0 

R2#show ip route rip 
        172.16.0.0/25 is subnetted, 1 subnets 
R       172.16.3.0 [120/2] via 10.0.0.3, 00:00:11, Serial0/0 
        192.168.1.0/26 is subnetted, 1 subnets 
R       192.168.1.0 [120/1] via 10.0.0.1, 00:00:11, Serial0/0 

R3#show ip route rip 
        10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks 
R       10.1.1.0/24 [120/2] via 10.0.0.2, 00:00:00, Serial1/0 
        192.168.1.0/26 is subnetted, 1 subnets 
R       192.168.1.0 [120/1] via 10.0.0.1, 00:00:00, Serial1/0

Task 8:

R1#conf t 
Enter configuration commands, one per line.  End with CTRL/Z. 
R1(config)#int s1/0 
R1(config-if)#ip split-horizon 
R1(config-if)#end 
R1# 
R1#clear ip route * 
R1# 
R1#show ip route rip 
        172.16.0.0/25 is subnetted, 1 subnets 
R       172.16.3.0 [120/1] via 10.0.0.3, 00:00:24, Serial1/0 
        10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks 
R       10.1.1.0/24 [120/1] via 10.0.0.2, 00:00:09, Serial1/0 

R2#clear ip route * 
R2# 
R2#show ip route rip 
        192.168.1.0/26 is subnetted, 1 subnets 
R       192.168.1.0 [120/1] via 10.0.0.1, 00:00:01, Serial0/0 

R3#clear ip route * 
R3#
R3#show ip route rip 
        192.168.1.0/26 is subnetted, 1 subnets 
R       192.168.1.0 [120/1] via 10.0.0.1, 00:00:03, Serial1/0

 


Related Articles

Leave a Reply

avatar