Beruflich Dokumente
Kultur Dokumente
Q: What happens when there is a change in the topology, link goes down, new
network is added, new router, is added, etc.?
A: Let’s take a look.
Triggered Updates
• Routers do not have to wait for the periodic update to hear about
changes in the network topology.
• Improvements to the distance-vector algorithm is typically made in
distance-vector routing protocols, like RIP, to include triggered
updates.
• Even with triggered updates, large distance vector networks can suffer
from long convergence times in some situations.
Rick Graziani graziani@cabrillo.edu 7
Triggered Updates
Routing Loops
• Distance vector routing protocols are simple in their implementation and configuration,
but this comes at a price.
• Pure distance vector routing protocols suffer from possible routing loops.
• Routing loops can cause major network problems, from packets getting lost (blackholed)
in your network, to bringing down your entire network.
• Several remedies to have been added to distance-vector algorithms to help prevent
routing loops including:
– Split horizon
– Hold-down timers
– Defining a maximum metric
Rick Graziani graziani@cabrillo.edu 10
Routing Loop Issues
Network 1 Fails
• Router E sends an update to Router A.
• Router A stops routing packets to network 1.
• But Routers B, C, and D continue to do so because they have not yet been
informed about the failure.
• Router A sends out its update.
• Routers B and D stop routing to network1, (via Router A).
• However, Router C is still not updated.
• To router C, network 1 is still reachable via router B.
Rick Graziani graziani@cabrillo.edu 13
Routing Loop Issues
Here we go again!
• Data packets destined for Network 1 get caught in a routing loop, from Routers
A to D to C to B to A to D etc.
• As routing updates continue between the routers, the hop count gets greater –
to infinity? (Not quite – we will see in a moment.)
Rick Graziani graziani@cabrillo.edu 16
Defining a Maximum
Question: Why does RIP use a hop count as the route metric, and why is its
maximum value limited to 15?
Answer: “When RIP was designed and implemented, dynamic routing protocols
were not widely used. Instead, networks relied mostly on static routing. RIP,
even with its hop-count-metric – which seems very poor to us today – was
quite a big improvement. Counting intermediate routes is the simplest method
to measure the quality of routes. Setting the infinity value for the metric is
always a problem of choosing between wider networks and faster convergence
when the protocol starts counting. When RIP was invented, it seemed unlikely
to have a network with the maximum diameter more more than 15 routers, so
16 was chosen as the infinity value.” (Zinin, Cisco IP Routing)
• “The effect of split horizon is that a router will send out different routing
messages on different interfaces. In effect a router never sends out
information on an interface that it learned from that interface.” (Lewis,
Cisco TCP/IP Routing)
New
Routing Table Routing Table
New
Routing Table Routing Table
Split
e0 s0 s0 e0
tables
Routing Update Routing Update
Next-hop Next-hop
Net. Hops Address Net. Hops Address
10.1.1.0/24 1 10.1.1.1 10.1.3.0/24 1 10.1.2.2
Curriculum
• A count to infinity problem can be avoided by using holddown timers.
• When a router receives an update from a neighbor indicating that a
previously accessible network is now inaccessible, the router marks
the route as inaccessible and starts a hold-down timer.
• If at any time before the hold-down timer expires an update arrives from a
different neighboring router with a poorer metric than originally recorded for the
network the update is ignored and the hold-down timer continues.
• Ignoring an update with a poorer metric when a hold-down is in effect allows
more time for the knowledge of a disruptive change to propagate through the
entire network.
Holddown Time
• As we will see with both RIP and IGRP, the amount of time the router remains
in the holddown state can be modified (with caution!), even set to 0.
• RickWe will look at this later in the presentations on RIP and IGRP.
Graziani graziani@cabrillo.edu 40
Preventing routing loops with holddown
timers
0 15 16 31
4-bit 4-bit 8-bit Type Of
Version Header Service 16-bit Total Length (in bytes)
Length (TOS)
3-bit
16-bit Identification Flags 13-bit Fragment Offset
Data
0 15 16 31
4-bit 4-bit 8-bit Type Of
Version Header Service 16-bit Total Length (in bytes)
Length (TOS)
3-bit
16-bit Identification Flags 13-bit Fragment Offset
Data
• When a packet is first generated a value is entered into the TTL field.
• Originally, the TTL field was the number of seconds, but this was difficult to implement
and rarely supported.
• Now, the TTL is now set to a specific value which is then decremented by each router.
Rick Graziani graziani@cabrillo.edu 44
IP’s TTL – Time To Live field
IP Header
0 15 16 31
4-bit 4-bit 8-bit Type Of
Version Header Service 16-bit Total Length (in bytes)
Length (TOS)
3-bit
16-bit Identification Flags 13-bit Fragment Offset
+--------------------+-------+---------+---------+
| OS Version |"safe" | tcp_ttl | udp_ttl |
+--------------------+-------+---------+---------+
AIX n 60 30 Assigned Numbers (RFC
DEC Pathworks V5 n 30 30
1700, J. Reynolds, J.
FreeBSD 2.1R y 64 64
HP/UX 9.0x n 30 30 Postel, October 1994):
HP/UX 10.01 y 64 64
Irix 5.3 y 60 60
IP TIME TO LIVE
Irix 6.x y 60 60 PARAMETER
Linux y 64 64
MacOS/MacTCP 2.0.x y 60 60
The current
OS/2 TCP/IP 3.0 y 64 64 recommended default
OSF/1 V3.2A n 60 30 time to live (TTL)
Solaris 2.x y 255 255 for the Internet
SunOS 4.1.3/4.1.4 y 60 60 Protocol (IP) is 64.
Ultrix V4.1/V4.2A n 60 30
VMS/Multinet y 64 64
VMS/TCPware y 60 64
VMS/Wollongong 1.1.1.1 n 128 30 Safe: TCP and UDP
VMS/UCX (latest rel.) y 128 128 initial TTL values
MS WfW n 32 32
MS Windows 95 n 32 32
should be set to a
MS Windows NT 3.51 n 32 32 "safe" value of at
MS Windows NT 4.0 y 128 128 least 60 today.
Rick Graziani graziani@cabrillo.edu 46
IP’s TTL – Time To Live field
IP Header
0 15 16 31
4-bit 4-bit 8-bit Type Of
Version Header Service 16-bit Total Length (in bytes)
Length (TOS)
3-bit
16-bit Identification Flags 13-bit Fragment Offset
Data
• The idea behind the TTL field is that IP packets can not travel around the
Internet forever, from router to router.
• Eventually, the packet’s TTL which reach 0 and be dropped by the router, even
if there is a routing loop somewhere in the network.
Rick Graziani graziani@cabrillo.edu 47
RIP routing process
Rick’s Clarifications (This is for IGPs only and not EGPs such as BGP):
• The network command does two things:
1. Determines which interfaces will participate in sending and receiving routing
updates, as long as the interface IP address falls in the range of the network
command.
2. Determines which networks this router will announce as being directly
connected to in its routing updates to other routers.
• The network numbers do not necessarily have to be based on the network
class, as it depends on the routing protocol. Network numbers are based on
the network class for RIP, IGRP, and usually EIGRP, but can be more specific
for OSPF, EIGRP and IS-IS.
interface serial 0
ip rip triggered
interface serial 0
ip rip triggered
RIP Message
Data Link Frame
• MAC Source Address
• MAC Destination Address = Broadcast
IP Packet
• IP Source Address
• IP Destination Address = Broadcast: 255.255.255.255
• Protocol field = 17 for UDP
UDP Segment
• Source Port number field = 520 for RIP Message
0 7 8 15 16 23 24 31
Command = 1 or 2 Version = 1 Must be zero
Address family identifier (2 = IP) Must be zero
IP Address (Network Address)
Must be zero
Must be zero
Metric (Hops)
• All the extensions to the original protocol are carried in the unused
fields.
• The Address Family Identifier (AFI) field is set to two for IP. The only
exception is a request for a full routing table of a router or host, in
which case it will be set to zero.
• The Route Tag field provides a way to differentiate between internal and
external routes.
• External routes are those that have been redistributed into the RIP v2.
• The Next Hop field contains the IP address of the next hop listed in the IP
Address field.
• Metric indicates how many internetwork hops, between 1 and 15 for a valid
route, or 16 for an unreachable route.
Rick Graziani graziani@cabrillo.edu 58
Configuring RIP
RIP must be enabled and the networks specified. The remaining tasks are
optional. Among these optional tasks are:
• Applying offsets to routing metrics (Not commonly used)
• Adjusting timers
• Specifying a RIP version (RIPv1 or RIPv2)
• Enabling RIP authentication
• Configuring route summarization on an interface
• Verifying IP route summarization
• Disabling automatic route summarization (RIPv2)
• Running IGRP and RIP concurrently (Usually, redistributing, not concurrently.)
• Disabling the validation of source IP addresses
• Enabling or disabling split horizon
• Connecting RIP to a WAN
Rick Graziani graziani@cabrillo.edu 59
ip classless command
RouterB#show ip route
Parent Route
• Created automatically whenever there is a route with a mask greater
than the classful mask.
• For non-VLSM routes, contains the mask of the child routes.
Child Routes
• Routes with masks greater than the default classful mask.
RouterB#show ip route
RouterB#show ip route
DA = 192.168.1.10
• 16 bits of 172.16.0.0 do not match, so child routes are not checked.
• 24 bits of 192.168.1.0/24 do match, so this route is used.
RouterB#show ip route
DA = 172.16.2.1
• 16 bits of 172.16.0.0 do match, so child routes are checked.
• 24 bits of 172.16.1.0 do not match, so continue to next child route.
• 24 bits of 172.16.2.0 do match, so this route is used!
RouterB#show ip route
DA = 32.1.1.10
• 16 bits of 172.16.0.0 do not match, so child routes are not checked.
• 24 bits of 192.168.1.0/24 do not match, so this route is not used.
• 8 bits of 172.0.0.0/8 do not match, so this route is not used.
• 4 bits of 160.0.0.0/4 do not match, so this route is not used.
• 0 bits of 0.0.0.0/0 does match, so this route is used!
RouterB#show ip route
DA = 172.16.4.1
• 16 bits of 172.16.0.0 do match, so child routes are checked.
• 24 bits of 172.16.1.0 do not match, so continue to next child route.
• 24 bits of 172.16.2.0 do not match, so continue to next child route.
• 24 bits of 172.16.3.0 do not match, no more child routes.
Now what??? It depends!
RouterB#show ip route
DA = 172.16.4.1
Router(config)# no ip classless
• With classful routing behavior, if the child routes are checked but
there are no matches, the routing lookup process ends and the Packet
is dropped. (The packets get in, but they can’t get out!)
• Supernet and default routes are not checked.
• Default with IOS 11.2 and prior
Rick Graziani graziani@cabrillo.edu
Classless Routing Behavior
RouterB#show ip route
DA = 172.16.4.1
Router(config)# ip classless
• With classless routing behavior, if the child routes are checked but
there are no matches, the routing lookup process continues with other
routes in the routing table, including supernet and default routes.
• 8 bits of 172.0.0.0/8 do match, so this route is used!
• Default with IOS 11.3 and later
Rick Graziani graziani@cabrillo.edu
Common RIP Configuration Issues
Split Horizon
• The following command is used to disable split horizon:
GAD(config-if)#no ip split-horizon
Holddown Timer
• The ideal setting would be to set the timer just longer that the longest
possible update time for the internetwork.
• To change the holddown timer:
Router(config-router)#timers basic update invalid
holddown flush [sleeptime]
Update Timer
• The default RIP update interval in Cisco IOS is 30 seconds. This can
be configured for longer intervals to conserve bandwidth, or for shorter
intervals to decrease convergence time.
• To change the update internal:
GAD(config-router)#update-timer seconds
router rip
passive-interface fastethernet 0/0
For RIP and IGRP, the passive interface command stops the router from
sending updates to a particular neighbor, but the router continues to
listen and use routing updates from that neighbor. (More later.)
• Also used when there are no routers on that interface, such as stub
LANs.
• By default, the Cisco IOS software receives RIP Version 1 and Version
2 packets, but sends only Version 1 packets.
• The network administrator can configure the router to only receive and
send Version 1 packets or the administrator can configure the router to
send only Version 2 packets.
interface fastethernet0/0
ip address 192.168.50.129 255.255.255.192
ip rip send version 1
ip rip receive version 1
RIPv2
interface fastethernet0/1
ip address 172.25.150.193 255.255.255.240
ip rip send version 1 2
Fast Switching
2. Router switches first packet to a particular destination, a routing table lookup
is performed and an exit interface is selected.
3. The necessary data-link information to frame the packet for the selected
interface is retrieved including any ARP cache information.
4. The route and data-link information is stored in fast switching cache.
5. The router uses the cache to look up subsequent packets.
6. All other packets to the same destination are immediately switched out the
same interface without the router performing another routing table lookup,
including any recursive lookups. (Also no ARP cache lookup).
Rick Graziani graziani@cabrillo.edu 83
Process Switching
– Per Packet Load Balancing
Router(config-if)#no ip route-cache
Process Switching
• Given equal cost paths, per packet load sharing means that one packet to a
destination is sent over one link, the next packet to the same destination is
sent over the next link, and so on.
• If the paths are unequal cost, the load balancing may be one packet over the
higher-cost link for every three packets over the lower-cost link, or similar
ratio.
• With process switching, for every packet, the router performs a route table
lookup and selects an interface, and looks up the data-link information.
• To enable distributed or process switching:
Router(config-if)# no ip route-cache
Rick Graziani graziani@cabrillo.edu 84
Which one?
Router(config-router)#maximum-paths [number]
172.16.0.0/16
X
router rip
network 192.168.14.0
ip route 172.16.0.0 255.255.0.0 bri0/1 130
• Floating static routes are static routes which are used as backup
routes.
• They are only injected into the routing table when a route with a lower
administrative distance (dynamic or another static route) goes down.
• Should the route with the lower administrative distance come back up
then the floating static route is removed from the routing table.
Rick Graziani graziani@cabrillo.edu 89
Redistribute Static
172.16.0.0/16
RouterA
ip route 172.16.0.0 255.255.0.0 eth 0
RIP Router rip
redistribute static
network ….
Objective
• In this lab, you will configure RIP routing in three different scenarios.
• At the end of each scenario, all hosts and all routers should be able to reach
(ping) each other.
Scenario
There are five separate classful networks. After configuring RIP, we want to view
the RIP update messages being sent and received by each router.
Setup
• Use the 8 Steps to Success to help you configure the routers.
• Be sure your cabling is correct, as this causes more troubleshooting issues
than anything else.
• If the routers have a startup-config already on them, erase it and reboot the
routers.
• Configure the routers to include hostnames and the proper interface commands
including IP addresses, subnet masks, etc.
• Each router should be able to ping the interface of the adjacent (neighboring)
router and the host on its LAN (Ethernet) interface.
• Test and troubleshoot as necessary.
Basic Configurations
• There is a Basic Configuration included for each scenario, but it does not
include clock rate, no shutdown and some other necessary commands.
• Note: Even though some of the networks are in numerical order, obviously this
does not need to be the case. We only did this to make it easier to remember
where the networks originated from.
Before we begin to configure RIP, lets configure the console 0 port to keep debug and other
output messages from interrupting our input. Use the following command on each router
to keep the debug out from interfering with you command-line input:
After 10 minutes, by default, if there is no input via the console, the user will be logged off.
Although a good idea in production environment, in a lab environment this can be
somewhat annoying. To turn-off the automatic timeout feature, we use the command:
exec-timeout minutes [seconds], setting both the minutes and seconds to 0.
SanJose1
hostname SanJose1
interface ethernet 0
ip add 192.168.3.1 255.255.255.0
interface serial 0
ip add 192.168.2.2 255.255.255.0
interface serial 1
ip add 192.168.4.2 255.255.255.0
Baypointe
hostname Baypointe
interface ethernet 0
ip add 192.168.5.1 255.255.255.0
interface serial 0
ip add 192.168.4.1 255.255.255.0
This scenario is the same one we used in the network discovery lab, with the same
configurations and the same outputs. The concepts specific to this scenario will become
more clear when we view the differences between this scenario and Scenario 2: Running
RIPv1 on subnets and between classful networks.
From global configuration you will enter the command (the default is RIPv1):
Router(config)#router rip
Once you are in the Router RIP configuration sub-mode, all you need to do is enter the
classful network address for each directly connected network, using the network
command.
Router(config-router)#network directly-connected-classful-network-
address
SanJose2#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
SanJose2(config)#router rip
SanJose2(config-router)#network 192.168.1.0
SanJose2(config-router)#network 192.168.2.0
Baypointe#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Baypointe(config)#router rip
Baypointe(config-router)#network 192.168.4.0
Baypointe(config-router)#network 192.168.5.0
SanJose1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
SanJose1(config)#router rip
SanJose1(config-router)#network 192.168.2.0
SanJose1(config-router)#network 192.168.3.0
SanJose1(config-router)#network 192.168.4.0
For example, SanJose2 to will send out RIP update messages on Ethernet 0 because that interface has an
IP address that belong to the network 192.168.1.0, and on Serial 0 because that interface has an IP
address that belongs to the network 192.168.2.0.
Just because a router has a directly connected network does not mean it will automatically include that
network in its routing updates to neighboring routers. The network command also tells the RIP to
include these networks in its updates to adjacent neighbors.
To view the RIP messages being sent and received use the debug ip rip command.
SanJose2
01:03:27: RIP: sending v1 update to 255.255.255.255 via Ethernet0 (192.168.1.1)
01:03:27: network 192.168.2.0, metric 1
01:03:27: RIP: sending v1 update to 255.255.255.255 via Serial0 (192.168.2.1)
01:03:27: network 192.168.1.0, metric 1
For example, SanJose2 to will listen for RIP update messages on Ethernet 0
because that interface has an IP address that belong to the network
192.168.1.0, and also listen for RIP update messages on Serial 0 because that
interface has an IP address that belongs to the network 192.168.2.0.
As RIP messages are received router, will add those networks in the messages to
their routing tables:
If the RIP message contains a network not currently in the routing table.
If the RIP message contains a network with a better metric (fewer hops) than an
entry currently in the routing table.
SanJose2
01:10:56: RIP: received v1 update from 192.168.2.2 on
Serial0
01:10:56: 192.168.4.0 in 1 hops
01:10:56: 192.168.3.0 in 1 hops
Rick Graziani graziani@cabrillo.edu 99
Scenario 1: Running RIPv1 on classful networks
Step 3 – Viewing the debug ip rip output and the routing tables
After convergence, each router will continue to send its RIP update
messages out the appropriate interfaces every 30 seconds.
Lets look at the debug messages and the routing table for each router:
SanJose2#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
<omitted>
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate default
U - per-user static route, o - ODR
Gateway of last resort is not set
SanJose1#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
<omitted>
Gateway of last resort is not set
C 192.168.4.0/24 is directly connected, Serial1
R 192.168.5.0/24 [120/1] via 192.168.4.1, 00:00:12, Serial1
R 192.168.1.0/24 [120/1] via 192.168.2.1, 00:00:10, Serial0
C 192.168.2.0/24 is directly connected, Serial0
C 192.168.3.0/24 is directly connected, Ethernet0
Baypointe#show ip route
Codes: C - connected, S - static, I - IGRP, 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, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate default
U - per-user static route, o - ODR
Gateway of last resort is not set
NOTE: At this point all routers should be able to ping all networks. We will discuss RIP much
more in the chapter on Routing Protocols (RIP).
Don’t forget to turn-off debug when you are done collecting the output.
Step 5 – Reflections
• For each router compare the RIP received messages with its routing table. Now you see
how the information is entered into the routing table.
• Cisco IOS uses split horizon with poison reverse, however this information is not
displayed with debug ip rip command.
• You will notice that the routers send RIP messages out their stub Ethernet interfaces,
even though there are no routers out there to receive those messages. This does take up
unnecessary bandwidth on the link; so later we will see how to keep those RIP messages
from going out those interfaces.
SanJose1
hostname SanJose1
interface ethernet 0
ip add 172.30.3.1 255.255.255.0
interface serial 0
ip add 172.30.2.2 255.255.255.0
interface serial 1
ip add 192.168.4.9 255.255.255.252
Baypointe
hostname Baypointe
interface ethernet 0
ip add 192.168.5.1 255.255.255.0
interface serial 0
ip add 192.168.4.10 255.255.255.252
In this scenario we will see how subnetted routes are distributed with the same classful
network. We will also see how RIPv1 automatically summarizes between classful
network boundaries. You will notice that SanJose1 and SanJose2 have subnets
belonging to the 172.30.0.0 network, but Baypointe does not.
Be sure to change the IP addressing as displayed in the diagram and Basic Configuration
section for Scenario 2. Sometimes when changing the IP address on a serial
interface, you may need to reset that interface by doing a shutdown, wait for the
LINK-5-CHANGED message, then follow it with a no shutdown command.
If you have just completed Scenario 1, lets remove RIP by issuing the following command
on each router:
Once you are in the Router RIP configuration sub-mode, all you need to do
is enter the classful network address for each directly connected
network, using the network command. If a router has multiple
interfaces on the same classful network, you will only need to enter a
single command enabling RIP on all interfaces for that network.
Router(config-router)#network directly-connected-
classful-network-address
SanJose2#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
SanJose2(config)#router rip
SanJose2(config-router)#network 172.30.0.0
Notice we only used a single network statement for SanJose2, which includes both interfaces, on different
subnets, of the 172.30.0.0 major network.
SanJose1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
SanJose1(config)#router rip
SanJose1(config-router)#network 172.30.0.0
SanJose1(config-router)#network 192.168.4.0
Again, notice that we only used a single network statement for SanJose1, which includes both interfaces, on
different subnets, of the 172.30.0.0 major network.
Baypointe#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Baypointe(config)#router rip
Baypointe(config-router)#network 192.168.4.0
Baypointe(config-router)#network 192.168.5.0
SanJose2#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
<omitted>
Gateway of last resort is not set
172.30.0.0/24 is subnetted, 3 subnets
C 172.30.2.0 is directly connected, Serial0
R 172.30.3.0 [120/1] via 172.30.2.2, 00:00:08, Serial0
C 172.30.1.0 is directly connected, Ethernet0
R 192.168.4.0/24 [120/1] via 172.30.2.2, 00:00:08, Serial0
R 192.168.5.0/24 [120/2] via 172.30.2.2, 00:00:08, Serial0
Rick Graziani graziani@cabrillo.edu 110
Scenario 2: Running RIPv1 on subnets and between
classful networks
Reflections
• IMPORTANT INFORMATION: RIPv1 is a classful routing protocol. Classful routing
protocols do not send the subnet mask with network in routing updates, ie. 172.30.1.0 is
sent by SanJose1 to SanJose2 without any subnet mask information.
• QUESTION: Notice that SanJose2 is receiving the subnet 172.30.3.0 from SanJose1,
which is put in the routing table under the parent network (classful network) of 172.30.0.0
with the /24 subnet mask (172.30.0.0/24 is subnetted, 3 subnets). Also notice that the
RIP message received from SanJose1 was “172.30.3.0 in 1 hops” but did not include a
subnet mask for the subnet. How does SanJose2 know that this subnet has a /24
(255.255.255.0) subnet mask?
• ANSWER: SanJose2 received this information on an interface belonging to the same
classful network as the incoming 172.30.3.0 update. The IP address that SanJose1
received the “172.30.3.0 in 1 hops” message was on (Serial 0) with an IP address of
172.30.2.1 and a subnet mask of 255.255.255.0. SanJose2 uses its own subnet mask
and applies it to this and all other 172.30.0.0 subnets it receives on this interface. The
172.30.3.0 network is placed with the other 172.30.0.0 /24 subnets in the routing table.
• Routers running RIPv1 are limited to using the same subnet mask for all subnets with the
same classful network. Classless routing protocols like RIPv2 allow the same major
(classful) network to use different subnet masks on different subnets. This is known as
VLSM (Variable Length Subnet Masks) and is discussed later (Cabrillo’s CCNA Sem 2
course and the CCNP Advanced Routing).
Rick Graziani graziani@cabrillo.edu 111
SanJose1
SanJose1#debug ip rip
RIP protocol debugging is on
SanJose1#
00:17:52: RIP: sending v1 update to 255.255.255.255 via Ethernet0 (172.30.3.1)
00:17:52: subnet 172.30.2.0, metric 1
00:17:52: subnet 172.30.1.0, metric 2
00:17:52: network 192.168.4.0, metric 1
00:17:52: network 192.168.5.0, metric 2
00:17:52: RIP: sending v1 update to 255.255.255.255 via Serial0 (172.30.2.2)
00:17:52: subnet 172.30.3.0, metric 1
00:17:52: network 192.168.4.0, metric 1
00:17:52: network 192.168.5.0, metric 2
00:17:52: RIP: sending v1 update to 255.255.255.255 via Serial1 (192.168.4.9)
00:17:52: network 172.30.0.0, metric 1
SanJose1#
00:18:10: RIP: received v1 update from 172.30.2.1 on Serial0
00:18:10: 172.30.1.0 in 1 hops
SanJose1#
00:18:12: RIP: received v1 update from 192.168.4.10 on Serial1
00:18:12: 192.168.5.0 in 1 hops
SanJose1# undebug all
SanJose1#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
<omitted>
Gateway of last resort is not set
172.30.0.0/24 is subnetted, 3 subnets
C 172.30.2.0 is directly connected, Serial0
C 172.30.3.0 is directly connected, Ethernet0
R 172.30.1.0 [120/1] via 172.30.2.1, 00:00:14, Serial0
192.168.4.0/30 is subnetted, 1 subnets
C 192.168.4.8 is directly connected, Serial1
R 192.168.5.0/24 [120/1] via 192.168.4.10, 00:00:10, Serial1
Rick Graziani graziani@cabrillo.edu 112
Scenario 2: Running RIPv1 on subnets and between
classful networks
Reflections
• The same subnet route information applies with routes sent from
SanJose2 to SanJose1 (see Reflections for SanJose2).
• SanJose1 knows that the 172.30.1.0 update has a subnet mask of /24
because it received it on an interface with a /24 subnet mask (Serial 0,
172.30.3.2 255.255.255.0).
SanJose1#show ip route
Codes: <omitted>
Gateway of last resort is not set
172.30.0.0/24 is subnetted, 3 subnets
C 172.30.2.0 is directly connected, Serial0
C 172.30.3.0 is directly connected, Ethernet0
R 172.30.1.0 [120/1] via 172.30.2.1, 00:00:14, Serial0
192.168.4.0/30 is subnetted, 1 subnets
C 192.168.4.8 is directly connected, Serial1
R 192.168.5.0/24 [120/1] via 192.168.4.10, 00:00:10, Serial1
Rick Graziani graziani@cabrillo.edu 114
Scenario 2: Running RIPv1 on subnets and between
classful networks
More Reflections
• IMPORTANT INFORMATION: Notice the RIP update being sent out Serial 1:
RIP: sending v1 update to 255.255.255.255 via Serial1 (192.168.4.9)
network 172.30.0.0, metric 1
• Compare that to the same information for the 172.30.0.0 network being sent out
Serial 0 & Ethernet 0:
RIP: sending v1 update to 255.255.255.255 via Serial0 (172.30.2.2)
subnet 172.30.3.0, metric 1
• Notice that the 172.30.0.0 subnets are being summarized to their classful
network address of 172.30.0.0 when sent out Serial 1 to Baypointe.
• RIP automatically summarizes RIP updates between classful networks.
Because the 172.30.0.0 update is being sent out an interface (Serial 1) on a
different classful network (192.168.4.0), RIP sends out only a single update for
the entire classful network instead of all of the different subnets. This is similar
to what we did with summarizing several static routes into a single static route.
• A router like SanJose1, which has an interface in more than one classful
network is sometimes called a “boundary router” in RIP. Boundary routers
automatically summarize RIP subnets from one classful network to the other.
Rick Graziani graziani@cabrillo.edu 115
Scenario 2: Running RIPv1 on subnets and between
classful networks
Reflections
• Notice that Baypointe is only receiving the classful summary of the 172.30.0.0
subnets:
RIP: received v1 update from 192.168.4.9 on Serial0
172.30.0.0 in 1 hops
• SanJose1 automatically summarized the subnets into a single classful update.
• This keeps Baypointe’s routing table smaller, resulting in faster routing table
lookups.
• This also isolates any changes in the 172.30.0.0 network on SanJose1 and
SanJose2 from affecting Baypointe. In other words, SanJose1 and SanJose2
can add and delete 172.30.0.0/24 subnets without affecting Baypointe’s routing
table, as Baypointe doesn’t care. Baypointe will send all packets destined for
the 172.30.0.0/16 network to SanJose1. Baypointe’s routing table:
R 172.30.0.0/16 [120/1] via 192.168.4.9, 00:00:11, Serial0
Also, the subnet mask scheme could be changed (i.e. to /27) on the 172.30.0.0
network without affecting Baypointe’s routing table or the RIP update sent to
Baypointe by SanJose1.
Rick Graziani graziani@cabrillo.edu 118
Scenario 3: Running RIPv1 on a stub network
SanJose2
hostname SanJose2
interface ethernet 0
ip add 172.30.1.1 255.255.255.0
interface serial 0
ip add 172.30.2.1 255.255.255.0
SanJose1
hostname SanJose1
interface ethernet 0
ip add 172.30.3.1 255.255.255.0
interface serial 0
ip add 172.30.2.2 255.255.255.0
interface serial 1
ip add 192.168.4.9 255.255.255.252
Baypointe
hostname Baypointe
interface ethernet 0
ip add 192.168.5.1 255.255.255.0
interface serial 0
ip add 192.168.4.10 255.255.255.252
In this scenario we will modify Scenario 2 to only run RIP between SanJose1 and SanJose2. Scenario 3 is a
very common situation for many companies. It is very common that a company will want to run a
dynamic routing protocol (RIPv1 in our case) within their own network, but find in unnecessary to run a
dynamic routing protocol between their company and their ISP.
For Scenario 3 let us assume that Baypointe is the ISP for our Company XYZ, which consists of the
SanJose1 and SanJose2 routers using the 172.30.0.0/16 major network, subnetted with a /24 mask.
Company XYZ is a stub network, meaning there is only one way in and out of the 172.30.0.0/16 network, in
via SanJose1 (a.k.a. the entrance router) and out via Baypointe (the ISP). It is doesn’t make sense for
SanJose1 to send Baypointe the RIP update of 172.30.0.0 every 30 seconds, because Baypointe has no
other way to get there. RIP update message from SanJose1 to Baypointe, if RIP were configured:
RIP: received v1 update from 192.168.4.9 on Serial0
172.30.0.0 in 1 hops
Instead, it makes more sense for Baypointe to have a static route configured for the 172.30.0.0/16 network
via SanJose1.
Well, how about traffic from Company XYZ towards the Internet? It makes no sense for Baypointe to send
more than the 120,000 summarized Internet routes to SanJose1. All SanJose1 needs to know is that if
it is not in the 172.30.0.0 network then send it to the ISP, Baypointe. This is the same for all other
Company XYZ routers (only SanJose2 in our case), that they would send all traffic with destination IP
addresses other than 172.30.0.0 to SanJose1 who would forward them on to Baypointe. Let’s see how
to configure this.
If you have just completed Scenario 2, lets remove RIP by issuing the following
command on each router:
SanJose2#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
SanJose2(config)#router rip
SanJose2(config-router)#network 172.30.0.0
SanJose1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
SanJose1(config)#router rip
SanJose1(config-router)#network 172.30.0.0
Notice that we are only including the 172.30.0.0 interfaces, networks, for SanJose1.
We will not be exchanging RIP updates with Baypointe via the 192.168.4.0/30
network.
On SanJose1, let’s configure a static default route, sending all default traffic, packets with
destination IP addresses which do not match a specific route in the routing table, to
Baypointe.
SanJose1(config)# ip route 0.0.0.0 0.0.0.0 serial 1
Notice, since the exit interface is a point-to-point serial interface we chose to use the exit-
interface instead of a intermediate-address (next-hop-ip address), saving the router from
having to do a recursive lookup. However, using an intermediate-address (next-hop-ip-
address) would have worked also.
Previous to IOS version 12.1, SanJose1 would propagate, send, this default route
automatically via RIP with its RIP updates to all other routers (in this case SanJose2).
SanJose2 and all other routers will receive this default route via RIP and forward to all
other routers in the RIP routing domain.
However, with IOS 12.1 and later, we need to enter the default-information originate
command on Baypointe, the router with the static default route. This will tell SanJose1 to
include the static default route with its RIP updates to SanJose2.
SanJose1(config)#router rip
SanJose1(config-router)#default-information originate
Since Baypointe and SanJose1 are not exchanging RIP updates, we need to configure a static
route on Baypointe for the 172.30.0.0/16 network. This will send all 172.30.0.0/16 traffic,
packets with destination IP addresses of 172.30.x.x, to SanJose1.
Once again, notice, since the exit interface is a point-to-point serial interface we chose to use
the exit-interface instead of a intermediate-address (next-hop-ip address), saving the router
from having to do a recursive lookup. However, using an intermediate-address (next-hop-
ip-address) would have worked also.
SanJose1#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
<omitted>
Gateway of last resort is 0.0.0.0 to network 0.0.0.0
Reflections
• Notice that the static default route is being propagated by SanJose1 to
other routers (SanJose2) via RIP.
• Notice the static route in the routing table and the “Gateway of last
resort.”
SanJose2#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
<omitted>
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate default
U - per-user static route, o - ODR
Gateway of last resort is 172.30.2.2 to network 0.0.0.0
172.30.0.0/24 is subnetted, 3 subnets
C 172.30.2.0 is directly connected, Serial0
R 172.30.3.0 [120/1] via 172.30.2.2, 00:00:22, Serial0
C 172.30.1.0 is directly connected, Ethernet0
R* 0.0.0.0/0 [120/1] via 172.30.2.2, 00:00:22, Serial0
Reflections
• Notice that SanJose2 is receiving the default route from SanJose1.
• SanJose2 forwards that default route out Ethernet 0, a RIP enabled
interface, although there are no other routers on that segment.
• Notice the default route in the routing table and that it was learned via
RIP.
• Notice the “Gateway of last resort”
Baypointe#show ip route
Codes: C - connected, S - static, I - IGRP, 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, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate default
U - per-user static route, o - ODR
Reflections
• Notice that RIP is not being used on Baypointe. The only routes that are
not directly-connected is the static route.
SanJose2#show ip protocols
Routing Protocol is "rip"
Sending updates every 30 seconds, next due in 11 seconds
Invalid after 180 seconds, hold down 180, flushed after 240
Outgoing update filter list for all interfaces is
Incoming update filter list for all interfaces is
Redistributing: rip
Default version control: send version 1, receive any version
Interface Send Recv Key-chain
Ethernet0 1 1 2
Serial0 1 1 2
Routing for Networks:
172.30.0.0
Routing Information Sources:
Gateway Distance Last Update
172.30.2.2 120 00:00:04
Distance: (default is 120)
SanJose2#
Be sure to understand this command. We will examine it again when we take a closer look at RIPv1,
RIPv2 and IGRP. Take a look at the items in bold and make sure you understand them.
Instead of using the following command to remove all networks from RIP:
Router(config)# no router rip
You can specify just the network you wish to remove by using the no network command, for
example:
Router(config)#router rip
Router(config-router)#no network 172.30.0.0
• If you wish to see what is happening in the router’s routing table process, you can use the
debug ip routing command:
SanJose2#debug ip routing
IP routing debugging is on
SanJose2#conf t
Enter configuration commands, one per line. End with CNTL/Z.
SanJose2(config)#router rip
SanJose2(config-router)#network 172.30.0.0
SanJose2(config-router)#
00:15:03: RT: add 172.30.3.0/24 via 172.30.2.2, rip metric [120/1]
00:15:03: RT: add 0.0.0.0/0 via 172.30.2.2, rip metric [120/1]
00:15:03: RT: default path is now 0.0.0.0 via 172.30.2.2
00:15:03: RT:
Rick Graziani new default network 0.0.0.0
graziani@cabrillo.edu 133
End of Part I
• End of Part I
• See Part II for IGRP