Ch.6-Routing Theory and Dynamic Routing Operations-2 PDF
Ch.6-Routing Theory and Dynamic Routing Operations-2 PDF
1
6/16/2013
2
6/16/2013
3
6/16/2013
4
6/16/2013
5
6/16/2013
Topics – (Continued)
Part II. Routing Theory and Dynamic Routing Operations
Dynamic Routing Operations
– Routing Metrics
– Classes of Routing Protocols
– Convergence
Distance Vector Routing Protocols
– Distance Vector Concepts
– Distance Vector Network Discovery
– Simple Split Horizon (Introduction)
– Distance Vector Network Discovery with Split Horizon
– Network Discovery FAQs
– Triggered Updates
– Routing Loops
– Count to Infinity
– Defining a Maximum
– Split Horizon
– Split Horizon with Poison Reverse
– Holddown Timers
– TTL – IP’s Time-To-Live Field
6
6/16/2013
172.16.0.0/16
7
6/16/2013
8
6/16/2013
9
6/16/2013
10
6/16/2013
Distance-Vector
RTA
Network
RTB
Discovery
RTC
Network W Network X Network Y Network Z
11
6/16/2013
Distance-Vector
RTA
Network
RTB
Discovery
RTC
Network W Network X Network Y Network Z
Distance-Vector
RTA
Network
RTB
Discovery
RTC
Network W Network X Network Y Network Z
12
6/16/2013
Convergence!
All of the routers now have a consistent and accurate view of the
network.
Later, we will see how RIP handles this operation.
13
6/16/2013
Net. Hops Ex-Int Net. Hops Ex-Int Net. Hops Ex-Int Net. Hops Ex-Int
10.1.1.0/24 0 e0 10.1.2.0/24 0 s0 10.1.3.0/24 0 s0 10.1.4.0/24 0 s0
10.1.2.0/24 0 s0 10.1.3.0/24 0 s1 10.1.4.0/24 0 s1 10.1.5.0/24 0 e0
Net. Hops Ex-Int Net. Hops Ex-Int Net. Hops Ex-Int Net. Hops Ex-Int
10.1.1.0/24 0 e0 10.1.2.0/24 0 s0 10.1.3.0/24 0 s0 10.1.4.0/24 0 s0
10.1.2.0/24 0 s0 10.1.3.0/24 0 s1 10.1.4.0/24 0 s1 10.1.5.0/24 0 e0
14
6/16/2013
Net. Hops Ex-Int Net. Hops Ex-Int Net. Hops Ex-Int Net. Hops Ex-Int
10.1.1.0/24 0 e0 10.1.2.0/24 0 s0 10.1.3.0/24 0 s0 10.1.4.0/24 0 s0
10.1.2.0/24 0 s0 10.1.3.0/24 0 s1 10.1.4.0/24 0 s1 10.1.5.0/24 0 e0
Net. Hops Ex-Int Net. Hops Ex-Int Net. Hops Ex-Int Net. Hops Ex-Int
10.1.1.0/24 0 e0 10.1.2.0/24 0 s0 10.1.3.0/24 0 s0 10.1.4.0/24 0 s0
10.1.2.0/24 0 s0 10.1.3.0/24 0 s1 10.1.4.0/24 0 s1 10.1.5.0/24 0 e0
Your Turn:
Write out the new routing tables for each router after this round.
Also, find any mistakes I might have made
15
6/16/2013
Net. Hops Ex-Int Net. Hops Ex-Int Net. Hops Ex-Int Net. Hops Ex-Int
10.1.1.0/24 0 e0 10.1.2.0/24 0 s0 10.1.3.0/24 0 s0 10.1.4.0/24 0 s0
10.1.2.0/24 0 s0 10.1.3.0/24 0 s1 10.1.4.0/24 0 s1 10.1.5.0/24 0 e0
Net. Hops Ex-Int Net. Hops Ex-Int Net. Hops Ex-Int Net. Hops Ex-Int
10.1.1.0/24 0 e0 10.1.2.0/24 0 s0 10.1.3.0/24 0 s0 10.1.4.0/24 0 s0
10.1.2.0/24 0 s0 10.1.3.0/24 0 s1 10.1.4.0/24 0 s1 10.1.5.0/24 0 e0
10.1.3.0/24 1 10.1.2.2 10.1.1.0/24 1 10.1.2.1 10.1.2.0/24 1 10.1.3.1 10.1.3.0/24 1 10.1.4.1
10.1.4.0/24 1 10.1.3.2 10.1.5.0/24 1 10.1.4.2
Net. Hops Ex-Int Net. Hops Ex-Int Net. Hops Ex-Int Net. Hops Ex-Int
10.1.1.0/24 0 e0 10.1.2.0/24 0 s0 10.1.3.0/24 0 s0 10.1.4.0/24 0 s0
10.1.2.0/24 0 s0 10.1.3.0/24 0 s1 10.1.4.0/24 0 s1 10.1.5.0/24 0 e0
10.1.3.0/24 1 10.1.2.2 10.1.1.0/24 1 10.1.2.1 10.1.2.0/24 1 10.1.3.1 10.1.3.0/24 1 10.1.4.1
10.1.4.0/24 1 10.1.3.2 10.1.5.0/24 1 10.1.4.2
16
6/16/2013
Net. Hops Ex-Int Net. Hops Ex-Int Net. Hops Ex-Int Net. Hops Ex-Int
10.1.1.0/24 0 e0 10.1.2.0/24 0 s0 10.1.3.0/24 0 s0 10.1.4.0/24 0 s0
10.1.2.0/24 0 s0 10.1.3.0/24 0 s1 10.1.4.0/24 0 s1 10.1.5.0/24 0 e0
10.1.3.0/24 1 10.1.2.2 10.1.1.0/24 1 10.1.2.1 10.1.2.0/24 1 10.1.3.1 10.1.3.0/24 1 10.1.4.1
10.1.4.0/24 1 10.1.3.2 10.1.5.0/24 1 10.1.4.2
Net. Hops Ex-Int Net. Hops Ex-Int Net. Hops Ex-Int Net. Hops Ex-Int
10.1.1.0/24 0 e0 10.1.2.0/24 0 s0 10.1.3.0/24 0 s0 10.1.4.0/24 0 s0
10.1.2.0/24 0 s0 10.1.3.0/24 0 s1 10.1.4.0/24 0 s1 10.1.5.0/24 0 e0
10.1.3.0/24 1 10.1.2.2 10.1.1.0/24 1 10.1.2.1 10.1.2.0/24 1 10.1.3.1 10.1.3.0/24 1 10.1.4.1
10.1.4.0/24 2 10.1.2.2 10.1.4.0/24 1 10.1.3.2 10.1.5.0/24 1 10.1.4.2 10.1.2.0/24 2 10.1.4.1
10.1.5.0/24 2 10.1.3.2 10.1.1.0/24 2 10.1.3.1
Net. Hops Ex-Int Net. Hops Ex-Int Net. Hops Ex-Int Net. Hops Ex-Int
10.1.1.0/24 0 e0 10.1.2.0/24 0 s0 10.1.3.0/24 0 s0 10.1.4.0/24 0 s0
10.1.2.0/24 0 s0 10.1.3.0/24 0 s1 10.1.4.0/24 0 s1 10.1.5.0/24 0 e0
10.1.3.0/24 1 10.1.2.2 10.1.1.0/24 1 10.1.2.1 10.1.2.0/24 1 10.1.3.1 10.1.3.0/24 1 10.1.4.1
10.1.4.0/24 2 10.1.2.2 10.1.4.0/24 1 10.1.3.2 10.1.5.0/24 1 10.1.4.2 10.1.2.0/24 2 10.1.4.1
10.1.5.0/24 2 10.1.3.2 10.1.1.0/24 2 10.1.3.1
Net. Hops Ex-Int Net. Hops Ex-Int Net. Hops Ex-Int Net. Hops Ex-Int
10.1.1.0/24 0 e0 10.1.2.0/24 0 s0 10.1.3.0/24 0 s0 10.1.4.0/24 0 s0
10.1.2.0/24 0 s0 10.1.3.0/24 0 s1 10.1.4.0/24 0 s1 10.1.5.0/24 0 e0
10.1.3.0/24 1 10.1.2.2 10.1.1.0/24 1 10.1.2.1 10.1.2.0/24 1 10.1.3.1 10.1.3.0/24 1 10.1.4.1
10.1.4.0/24 2 10.1.2.2 10.1.4.0/24 1 10.1.3.2 10.1.5.0/24 1 10.1.4.2 10.1.2.0/24 2 10.1.4.1
10.1.5.0/24 3 10.1.2.2 10.1.5.0/24 2 10.1.3.2 10.1.1.0/24 2 10.1.3.1 10.1.1.0/24 3 10.1.4.1
17
6/16/2013
Good Job!
18
6/16/2013
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.
19
6/16/2013
Routing Loops
Distance vector routing protocols are simple in their implementaton 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
20
6/16/2013
21
6/16/2013
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.
22
6/16/2013
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.)
23
6/16/2013
Counting to Infinity
The routing loop we just saw creates another problem, known as
“Counting to Infinity.”
This condition, called count to infinity, loops packets continuously
around the network in spite of the fundamental fact that the destination
network, Network 1, is down.
While the routers are counting to infinity, the invalid information allows
a routing loop to exist.
Without countermeasures to stop the process, the distance vector
(metric) of hop count increments each time the packet passes through
another router. - These packets loop through the network because of
wrong information in the routing tables.
24
6/16/2013
There is another situation where the router itself will modify the hop
count to infinity – split horizon with poison reverse. – Coming up
next!
Q: Why does RIP use a hop count as the route metric, and why is
its maximum value limited to 15?
A: 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 of more than 15 routers, so 16 was chosen
as the infinity value. (Zinin, Cisco IP Routing)
25
6/16/2013
26
6/16/2013
27
6/16/2013
28
6/16/2013
29
6/16/2013
30
6/16/2013
31
6/16/2013
Routing Update
Next-hop
Routing Update
Next-hop
“Poisoned”
Net. Hops Address Net. Hops Address routes in red.
10.1.1.0/24 1 10.1.1.1 10.1.3.0/24 1 10.1.2.2
10.1.2.0/24 16 10.1.2.1 10.1.2.0/24 16 10.1.2.2 Routing tables
10.1.3.0/24 16 10.1.2.1 10.1.1.0/24 16 10.1.2.2 remain the
same.
Split Horizon with Poison Reverse
Many vendor implementations of distance vector routing protocols like
Cisco’s RIP and IGRP apply a special kind of split horizon, called split
horizon with poison reverse.
“Split horizon with poison reverse means that, instead of not advertising
routes to the source, routes are advertised back to the source with a
metric of 16, which will make the source router ignore the route. It is
perceived that explicitly telling a router to ignore a route is better than not
telling it about the route in the first place.” (Lewis, Cisco TCP/IP Routing)
One drawback is that routing update packet sizes will be increased when
using Poison Reverse, since they now include these routes.
32
6/16/2013
Holddown timers
The main function of holddown timers is to prevent the
distance vector routing protocol from establishing routing loops
during periods of network transition (topology changes).
“The rule: Once a route is marked unreachable, it must stay in
this state for a period of time assumed sufficient for all routers to
receive new information about the unreachable network. In
essence, we instruct the routers to let the rumors calm down
and then to pick up the truth.” (Zinin, Cisco IP Routing)
The amount of time a router remains in “this state” is determined
by the holddown timer.
33
6/16/2013
34
6/16/2013
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.
We will look at this later in the presentations on RIP and IGRP.
35
6/16/2013
Data
36
6/16/2013
Data
Data
If the router decrements the TTL field to 0, it will then drop the packet
(unless the packet is destined specifically for the router, I.e. ping, telnet,
etc.).
Common operating system TTL values are:
– UNIX: 255
– Linux: 64 or 255 depending upon vendor and version
– Microsoft Windows 95: 32
– Other Microsoft Windows operating systems: 128
37
6/16/2013
http://www.switch.ch/docs/ttl_default.html
TTL Overview - Disclaimer:
The following list is a best effort overview of some widely used TCP/IP stacks. The
information was provided by vendors and many helpful system administrators. We would
like to thank all these contributors for their precious help ! SWITCH cannot, however,
take any responsibility that the provided information is correct. Furthermore, SWITCH
cannot be made liable for any damage that may arise by the use of this information.
+--------------------+-------+---------+---------+
| 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
IP TIME TO LIVE
Irix 5.3 y 60 60
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.
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.
38