CCNA Exploration: Routing Protocols and Concepts Chapter 4 Case

advertisement
CCNA Exploration: Routing Protocols and Concepts Chapter 4 Case Study
Objectives:
•
•
•
Consolidate knowledge of Routing Stability Features.
Consolidate knowledge of Distance Vector Routing Protocols operation.
Consolidate routing troubleshooting skills and techniques.
Intro:
Tred Inc. called you because of a problem in their network. According to the phone conversation, portions
of the network are unreachable.
Topology:
© 2009 Cisco Learning Institute
CCNA Exploration: Routing Protocols and Concepts Chapter 4 Case Study
Scenario:
Tred has 3 physically separate offices. From a network perspective, they are identified as Branch 1 (B1),
Branch 2 (B2) and Main (M). Main was the first office created and it has a connection to the Internet. As
shown on the topology above, B1 and B2 reach the Internet via M.
In order to interconnect all 3 sites, Tred hired 2 512Kb WAN links from the telephony company. The first
WAN link connects B1 to B2 and the second, B2 to M. A third 2Mb link connects M to the internet.
B1 is responsible for route packets to/from network 1 (192.168.1.0/24). B2 is responsible for route
packets to/from network 2 (192.168.2.0/24) and provides the path which allows Branch 1 site to reach M,
network 3 and the Internet.
M is responsible for providing Internet connectivity to all Tred Inc. sites and for routing packets to/from
Network 3 (192.168.3.0/24) which is under M.
The Problem:
According to your conversation via phone, no traffic is occurring between network 1 (under B1) and
network 3 (under M). All other traffic works fine.
Due to the simplicity of the network, RIPv1 was chosen as routing protocol. Reports state everything was
working fine until a week ago.
Once at the main site, you check router M configuration. M has correct IP addresses assigned to its
interfaces (as described on the topology above) and all its interfaces are up and running. Even though
Router M is able to send successful pings to B2’s interface serial0/1 (192.168.6.1/24), pings to network 1
fail. M is also able to successfully ping random addresses out on the Internet (a default route, pointing to
ISP, exists on M and is properly configured). Router M also has a route to network 1 (192.168.1.0/24)
learnt from R2 via RIPv1 which uses B2’s serial0/1 as the next hop. Because it has RIP routes on its
routing table, you assume RIPv1 is properly configured.
Question 1:
“Because it has RIP routes on its routing table, you assume RIPv1 is properly configured”. Is this a safe
assumption?
Answer: No. M’s RIPv1 could learn routes from other routers but still be improperly configured. This
wrong assumption will be fixed later on.
According to M’s routing table, M has RIPv1 routes to:
Network 1 (192.168.1.0/24), via 192.168.6.1 (B2’s serial 1/0)
Network 2 (192.168.2.0/24), via 192.168.6.1 (B2’s serial 1/0)
Network 5 (192.168.5.0/24), via 192.168.6.1 (B2’s serial 1/0)
© 2009 Cisco Learning Institute
CCNA Exploration: Routing Protocols and Concepts Chapter 4 Case Study
M has directly connected routes to:
Network 3 (192.168.3.0/24), direct connected
Network 6 (192.168.6.0/24), direct connected
Network 7 (201.123.43.0/30), direct connected (link to ISP)
Default route points to 201.123.43.1 (ISP router’s IP address)
Since M is able to reach B2 and B2 is at a different physical location, it is easier to access B2 via telnet.
From M, you start a telnet session on B2.
Question 2:
In which aspect does a remote troubleshoot process (via telnet in this case) differ from a local
troubleshoot process (via console port) when it comes to debug messages?
Answer: Cisco routers print debug messages on the console port by default. A user connected via telnet
or any other protocol which uses virtual lines would not see debug messages by default. When working
remotely the terminal monitor exec command must be used to ensure such messages will be printed on
a virtual session (telnet, for example) window.
Now you are working on B2 from M via telnet. To ensure debug messages are visible you issue:
B2# terminal monitor
B2 also has IP addressing scheme ok, its interfaces are up and running, RIPv1 is up and running. A quick
look at the B2’s routing table shows a few routes learnt via RIP.
You issue pings from B2 to PC1 (under network 1) and they are successful.
You issue a few more pings from B2 and get the following results:
B2 to B1’s serial 0/0: successful!
B2 to B1’s network 1: successful!
B2 to M’s serial 0/1: successful!
B2 to random address on Internet: successful!
B2 to network PC2 (under network 3): fail!
The last failure tricks you. M is able to ping B2 (actually you are working on B2 from M!) and, as you
already saw, M has a correct route to B2’s network 2 and is able to successfully ping it. You list B2’s
routing information, it is as follows:
B2 routes learnt via RIPv1:
Network 1 (192.168.1.0/24), via 192.168.5.1 (B1’s serial0/0)
Network 3 (192.168.3.0/24), via 192.168.5.1 (B1’s serial0/0)
Default route via 192.168.6.2 (M’s serial 0/1)
© 2009 Cisco Learning Institute
CCNA Exploration: Routing Protocols and Concepts Chapter 4 Case Study
B2’s direct connected routes:
Network 2 (192.168.2.0/24), direct connected
Network 5 (192.168.5.0/24), direct connected
Network 6 (192.168.6.0/24), direct connected
B2 has a route learnt via RIPv1 to network 3 but it was learnt from B1! This makes B2 use B1 as the next
hop to network 3 when B2 should be using M. Since B1 forwards packets to B2 in order to reach network
3, a loop is created. To reach network 3, B1 sends packets to B2 which sends them back to B1 which
sends them to B2 and so on. This keeps network 1 from reaching network 3 and vice-versa. Even though
you found the problem, the reason why B2 is learning about network 3 from B1 instead from M is still
unknown.
Question 3:
What is another command frequently used to troubleshoot routing loops?
Answer: Traceroute. On this case, a traceroute from B2 to PC2 would show the packets “bouncing”
between B1 and B2.
Question 4:
Which methods are used mostly by distance vector protocols to avoid routing loops?
Answer: The methods are Split-Horizon, Poison Reverse, Holdown timers and count to infinity. Such
methods are generally called Stability Features.
Question 5:
What should keep B1 from advertising to B2, a route to network 3?
Answer: Cisco routers running RIPv1 have split-horizon enabled by default. Since B1 learnt about
network 3 from B2 via B1’s serial0/0, split-horizon should keep B1 from advertising this route back to B2.
You decide to take a quick look on B1.
Since all B2 interfaces are up, you try a ping to B1’s serial 0/0 as a test. The ping is successful and you
try a telnet to B1 which is also successful. You are now working on B1.
After ensuring debug messages will be printed on your terminal window (as you did on B2), you check
B1’s configuration. B1 also has RIPv1 configured. Its IP addresses were properly configured and all B1’s
interfaces are up as well. You issue a few pings from B1. The results are as follows:
© 2009 Cisco Learning Institute
CCNA Exploration: Routing Protocols and Concepts Chapter 4 Case Study
B1 to PC1 (under network 1): successful!
B1 to B2’s serial 0/0: successful!
B1 to B2’s network 2: successful!
B1 to M’s serial 0/1: successful!
B1 to random address on Internet: successful!
B1 to PC2 (under network 3): fail!
You check B1’s routing table and all routes are not quite as expected. B1 has routes learnt via RIPv1 to:
Network 2 (192.168.2.0/24), via 192.168.5.2 (B2’s serial0/0)
Network 6 (192.168.6.0/24), via 192.168.5.2 (B2’s serial0/0)
Default route, via 192.168.5.2 (B2’s serial0/0)
The direct connected routes on B1 are:
Network 1 (192.168.1.0/24), direct connected
Network 5 (192.168.5.0/24), direct connected
B1 also has a static route to network 3:
Network 3 (192.168.3.0/24), via 192.168.5.2 (B2’s serial0/0)
The fact B1 has a static route to network 3 is unexpected because B1 should be able to learn such route
via RIPv1. Despite it is a static route, it correctly uses B2 as the next hop. Even though B1 has a static
route to network 3, B1 still can’t reach network 3.
You check RIPv1 advanced settings using the command sh ip protocols and notice split-horizon is not
enabled. More than that, B1 RIPv1 timers were also changed. The timer values currently configured in B1
are shown below:
Update: 3 seconds
Invalid: 180 seconds
Holdown: 1 second
Flush: 240 seconds
B1 was also configured to advertise its static routes within its RIPv1 updates.
Question 6:
What is the function of each timer above? Are they set to their default value?
Answer: Update: defines the time between RIPv1 updates (periodicity of the updates); Invalid: If a RIPv1
router doesn’t receive an update for a specific route within INVALID seconds, that route is declared
invalid; Holdown: a router, after receiving destination unreachable information from a neighbor router, will
© 2009 Cisco Learning Institute
CCNA Exploration: Routing Protocols and Concepts Chapter 4 Case Study
not accept new routing information from that router about that specific route for the HOLDOWN period of
time.
No, Update and Holdown have different values. The defaults are: Update=30 seconds and Holdown=180
seconds. As stated before, holdown timer and split-horizon are used to help avoiding routing loops.
After asking Tred’s manager, you are told that a few days ago network 3 went down and a technician was
called to fix the problem. After an entire day working on the problem, even though network 3 was back
online, it wasn’t able to reach network 1. Because the technician was not able to completely solve the
problem, Tred Inc. called you.
Chances are the technician changed B1’s RIPv1 configuration in an attempt to fix the network 3 problem.
The advertised static route, the wrong timer values and the not-enabled split-horizon helped to advertise
to B2 a wrong route to network 3.
Still on B1, you set the timers back to their default values (which are good enough for a small network
such as Tred’s), enable split-horizon once more and tell B1 not to advertise its static routes anymore. The
commands are documented for future reference as follows:
B1(config)# router rip
B1(config-router)# timers basic 30 180 180 240
B1(config-router)# no redistribute static
B1(config)# int se 0/0
B1(config-if)# ip split-horizon
B1(config-if)# end
You also remove the static route to network 3 from B1’s configuration.
Question 7:
What is the command used to remove static routes?
Answer: B1(config)# no ip route 192.168.3.0 255.255.255.0 192.168.5.2
You end the telnet session in B1 and go back to B2. All routers need a closer and more careful look.
To speed up the routing updates you issue clear ip route * command on B1 before move back to B2 and,
once in B2, you do the same.
Once more in B2, you decide to check its advanced RIPv1 settings. Even though split-horizon is enabled
on B2, the timers were also changed the very same way they were on B1. You set the timers back to their
default values on B2 as well and check B2’s routing table. You notice it has no route no network 3 now.
B1 is no longer advertising network 3 to B2 and B2 should have learnt about network 3 from M by now.
Something is still wrong.
© 2009 Cisco Learning Institute
CCNA Exploration: Routing Protocols and Concepts Chapter 4 Case Study
A last look at M’s configuration show more traces of the technician: network 3 is not part of M’s RIPv1 and
therefore, is not being advertised within RIPv1 updates to B2. Your previous assumption about RIPv1
being properly configured on M was wrong.
You add network 3 to M’s RIPv1 process and, in B1, issue a few extended pings from network 1 to PC2
(under network 3) and from PC1 to PC2. All pings are successful this time. The commands issued on M
are documented below:
M(config)# router rip
M(config-router)# network 192.168.3.0
M(config-router)# end
Question 8:
Why were extended pings sent from network 1 to PC2 and not regular pings?
Answer: Since you don’t have physical access to PC1 (different site location) from B1, you issued
extended pings using B1’s fa0/0 interface.
You issue a few more pings and everything is back to normal.
Conclusion
In an attempt to solve the problem on network 3, the technician wrongly removed network 3 from RIPv1
process which led M to stop advertising network 3 to B2.
Because traffic from network 1 to 3 was heavy, when B2 lost its route to network 3, it was flagged as
unreachable.
The technician also changed the timers on B1 and B2 which made B2 accept new information about
network 3 from B1 before B2 could tell B2 it had no route to network 3 anymore. (holdown=1 on B2).
The technician created a static route to network 3 and added it to B1’s RIPv1 process. B1 reached its
own update timer and broadcasted its routing table to B2 which included the wrong route to network 3.
Since B2 had no route to network 3 at all and had its timers modified, it accepted B1’s and took B1 as the
next hop to network 3.
Notice that since B1’s own route to network 3 was via B2, a routing loop was created.
B1 should not send advertisements about network 3 back to B2 because it learnt about it from B2 in first
place. Because split-horizon was also disabled on B1, it ended up advertising information about network
3 back to B2, creating the loop.
The problem was solved by re-enabling split-horizon on B1, removing the static route from B1, correcting
the timers on B1 and B2 and adding network 3 back to M’s RIPv1 process.
© 2009 Cisco Learning Institute
Download