Download Distance Vector Routing Protocols

Document related concepts

IEEE 802.1aq wikipedia , lookup

Deep packet inspection wikipedia , lookup

Backpressure routing wikipedia , lookup

Network tap wikipedia , lookup

Internet protocol suite wikipedia , lookup

Zero-configuration networking wikipedia , lookup

Peering wikipedia , lookup

Wake-on-LAN wikipedia , lookup

Cracking of wireless networks wikipedia , lookup

Multiprotocol Label Switching wikipedia , lookup

IEEE 1355 wikipedia , lookup

Computer network wikipedia , lookup

Recursive InterNetwork Architecture (RINA) wikipedia , lookup

Airborne Networking wikipedia , lookup

Routing wikipedia , lookup

Routing in delay-tolerant networking wikipedia , lookup

Transcript
Distance Vector Routing
Protocols
W.lilakiatsakun
Distance Vector Routing Protocols
(1/3)
• Distance vector routing protocols include RIP,
IGRP, and EIGRP.
• Routing Information Protocol (RIP) was originally
specified in RFC 1058. It has the following key
characteristics:
– Hop count is used as the metric for path selection.
– If the hop count for a network is greater than 15, RIP
cannot supply a route to that network.
– Routing updates are broadcast or multicast every 30
seconds, by default.
Distance Vector Routing Protocols
(2/3)
• Interior Gateway Routing Protocol (IGRP) is a
proprietary protocol developed by Cisco. IGRP
has the following key design characteristics:
– Bandwidth, delay, load and reliability are used to
create a composite metric.
– Routing updates are broadcast every 90 seconds,
by default.
– IGRP is the predecessor of EIGRP and is now
obsolete.
Distance Vector Routing Protocols
(3/3)
• Enhanced IGRP (EIGRP) is a Cisco proprietary
distance vector routing protocol. EIGRP has
these key characteristics:
– It can perform unequal cost load balancing.
– It uses Diffusing Update Algorithm (DUAL) to
calculate the shortest path.
– There are no periodic updates as with RIP and
IGRP. Routing updates are sent only when there is
a change in the topology.
Meaning of distance Vector (1/2)
• A router using a distance vector routing
protocol does not have the knowledge of the
entire path to a destination network.
• The router only knows
– The direction or interface in which packets should
be forwarded and
– The distance or how far it is to the destination
network
Meaning of distance Vector (2/2)
Operation of distance vector (1/4)
• Some distance vector routing protocols call for
the router to periodically broadcast the entire
routing table to each of its neighbors.
– This method is inefficient because the updates not
only consume bandwidth but also consume router
CPU resources to process the updates.
Operation of distance vector (2/4)
• Periodic Updates are sent at regular intervals (30
seconds for RIP and 90 seconds for IGRP).
– Even if the topology has not changed in several days,
periodic updates continue to be sent to all neighbors.
– Neighbors are routers that share a link and are configured
to use the same routing protocol.
– The router is only aware of the network addresses of its
own interfaces and the remote network addresses it can
reach through its neighbors
Operation of distance vector (3/4)
• Broadcast Updates are sent to
255.255.255.255.
– Neighboring routers that are configured with the
same routing protocol will process the updates.
– All other devices will also process the update up to
Layer 3 before discarding it.
– Some distance vector routing protocols use
multicast addresses instead of broadcast addresses.
Operation of distance vector (4/4)
• Entire Routing Table Updates are sent,
periodically to all neighbors.
– Neighbors receiving these updates must process
the entire update to find pertinent information
and discard the rest.
– Some distance vector routing protocols like EIGRP
do not send periodic routing table updates.
Routing Algorithm
• The algorithm used for the routing protocols
defines the following processes:
– Mechanism for sending and receiving routing
information.
– Mechanism for calculating the best paths and
installing routes in the routing table.
– Mechanism for detecting and reacting to topology
changes.
Routing protocol characteristics (1/3)
• Time to Convergence - Time to convergence
defines how quickly the routers in the network
topology share routing information and reach a
state of consistent knowledge.
– The faster the convergence, the more preferable the
protocol.
– Routing loops can occur when inconsistent routing
tables are not updated due to slow convergence in a
changing network.
Routing protocol characteristics (2/3)
• Scalability - Scalability defines how large a network can
become based on the routing protocol that is
deployed.
– The larger the network is, the more scalable the routing
protocol needs to be.
• Classless (Use of VLSM) or Classful - Classless routing
protocols include the subnet mask in the updates.
– This feature supports the use of Variable Length Subnet
Masking (VLSM) and better route summarization.
– Classful routing protocols do not include the subnet mask
and cannot support VLSM.
Routing protocol characteristics (3/3)
• Resource Usage - Resource usage includes the
requirements of a routing protocol such as memory
space, CPU utilization, and link bandwidth utilization
– Higher resource requirements necessitate more powerful
hardware to support the routing protocol operation in
addition to the packet forwarding processes.
• Implementation and Maintenance - Implementation and
maintenance describes the level of knowledge that is
required for a network administrator to implement and
maintain the network based on the routing protocol
deployed.
Distance Vector Routing Protocols
Comparison of Routing Protocol
Periodic updates :RIP(1/3)
• The term periodic updates refers to the fact
that a router sends the complete routing table
to its neighbors at a predefined interval.
– For RIP, these updates are sent every 30 seconds as
a broadcast (255.255.255.255) whether or not
there has been a topology change.
– This 30-second interval is a route update timer that
also aids in tracking the age of routing information
in the routing table.
Periodic updates:RIP (2/3)
• The age of routing information in a routing table is
refreshed each time an update is received.
• This way information in the routing table can be
maintained when there is a topology change.
• Changes may occur for several reasons, including:
–
–
–
–
Failure of a link
Introduction of a new link
Failure of a router
Change of link parameters
Periodic updates:RIP (3/3)
Convergence
• The amount of time it takes for a network to
converge is directly proportional to the size of
that network.
• The speed of achieving convergence consists of:
– How quickly the routers propagate a change in the
topology in a routing update to its neighbors.
– The speed of calculating best path routes using the
new routing information collected.
• A network is not completely operable until it has
converged, therefore, network administrators
prefer routing protocols with shorter convergence
times.
RIP Timers (1/3)
• In addition to the update timer, the IOS implements
three additional timers for RIP:
• Invalid Timer. If an update has not been received to
refresh an existing route after 180 seconds (the default),
the route is marked as invalid by setting the metric to
16.
– The route is retained in the routing table until the flush timer
expires.
• Flush Timer. By default, the flush timer is set for 240
seconds, which is 60 seconds longer than the invalid
timer. When the flush timer expires, the route is
removed from the routing table.
RIP Timers (2/3)
• Holddown Timer. This timer stabilizes routing
information and helps prevent routing loops
during periods when the topology is
converging on new information.
– Once a route is marked as unreachable, it must stay
in holddown long enough for all routers in the
topology to learn about the unreachable network.
– By default, the holddown timer is set for 180
seconds.
RIP Timers (3/3)
Bounded Updates :EIGRP(1/3)
• Unlike other distance vector routing protocols, EIGRP
does not send periodic updates.
• Instead, EIGRP sends bounded updates about a route
when a path changes or the metric for that route
changes.
• When a new route becomes available or when a
route needs to be removed, EIGRP sends an update
only about that network instead of the entire table.
• This information is sent only to those routers that
need it.
Bounded Updates :EIGRP(2/3)
• EIGRP uses updates that are:
– Non-periodic because they are not sent out on a
regular basis.
– Partial updates sent only when there is a change in
topology that influences routing information.
– Bounded, meaning the propagation of partial
updates are automatically bounded so that only
those routers that need the information are
updated.
Bounded Updates :EIGRP(3/3)
Triggered Update (1/4)
• To speed up the convergence when there is a
topology change, RIP uses triggered updates.
• A triggered update is a routing table update that is
sent immediately in response to a routing change.
• Triggered updates do not wait for update timers to
expire.
– The detecting router immediately sends an update message
to adjacent routers.
– The receiving routers, in turn, generate triggered updates
that notify their neighbors of the change.
Triggered Update (2/4)
• Triggered updates are sent when one of the
following occurs:
– An interface changes state (up or down)
– A route has entered (or exited) the "unreachable"
state
– A route is installed in the routing table
Triggered Update (3/4)
Triggered Update (4/4)
• However, there are two problems with triggered
updates:
– Packets containing the update message can be dropped or
corrupted by some link in the network.
– The triggered updates do not happen instantaneously. It is
possible that a router that has not yet received the triggered
update will issue a regular update at just the wrong time,
causing the bad route to be reinserted in a neighbor that had
already received the triggered update.
Routing Loop (1/6)
• A routing loop is a condition in which a packet
is continuously transmitted within a series of
routers without ever reaching its intended
destination network.
• A routing loop can occur when two or more
routers have routing information that
incorrectly indicates that a valid path to an
unreachable destination exists.
Routing Loop (2/6)
• The loop may be a result of:
– Incorrectly configured static routes
– Incorrectly configured route redistribution
(redistribution is a process of handing the routing
information from one routing protocol to another
routing protocol)
– Inconsistent routing tables not being updated due to
slow convergence in a changing network
– Incorrectly configured or installed discard routes
Routing Loop (3/6)
Routing Loop (4/6)
Routing Loop (5/6)
Routing Loop (6/6)
Implication of Routing Loops
• A routing loop can create the following conditions:
– Link bandwidth will be used for traffic looping back and
forth between the routers in a loop.
– A router's CPU will be strained due to looping packets.
– A router's CPU will be burdened with useless packet
forwarding that will negatively impact the convergence of
the network.
– Routing updates may get lost or not be processed in a
timely manner. These conditions would introduce
additional routing loops, making the situation even worse.
– Packets may get lost in "black holes."
Solution for Routing Loops
• There are a number of mechanisms available to
eliminate routing loops, primarily with distance
vector routing protocols. These mechanisms
include:
– Defining a maximum metric to prevent count to
infinity
– Holddown timers
– Split horizon
– Route poisoning or poison reverse
– Triggered updates
Count to infinity (1/5)
• Count to infinity is a condition that exists
when inaccurate routing updates increase the
metric value to "infinity" for a network that is
no longer reachable.
Count to infinity (2/5)
Count to infinity (3/5)
Count to infinity (4/5)
Count to infinity (5/5)
Setting a Maximum (1/2)
• To eventually stop the incrementing of the
metric, "infinity" is defined by setting a
maximum metric value.
• For example, RIP defines infinity as 16 hops an "unreachable" metric.
• Once the routers "count to infinity," they mark
the route as unreachable.
Setting a Maximum (2/2)
Preventing routing loop with holddown
timer (1/5)
• Holddown timers are used to prevent regular update
messages from inappropriately reinstating a route
that may have gone bad.
• Holddown timers instruct routers to hold any changes
that might affect routes for a specified period of time.
• If a route is identified as down or possibly down, any
other information for that route containing the same
status, or worse, is ignored for a predetermined
amount of time (the holddown period).
Preventing routing loop with holddown
timer (2/5)
Preventing routing loop with holddown
timer (3/5)
Preventing routing loop with holddown
timer (4/5)
Preventing routing loop with holddown
timer (5/5)
Operation during Holdown (1/2)
• 1. A router receives an update from a neighbor
indicating that a network that previously was
accessible is now no longer accessible.
• 2. The router marks the network as possibly
down and starts the holddown timer.
• 3. If an update with a better metric for that
network is received from any neighboring router
during the holddown period, the network is
reinstated and the holddown timer is removed.
Operation during Holdown (2/2)
• 4. If an update from any other neighbor is received during
the holddown period with the same or worse metric for
that network, that update is ignored. Thus, more time is
allowed for the information about the change to be
propagated.
• 5. Routers still forward packets to destination networks that
are marked as possibly down. This allows the router to
overcome any issues associated with intermittent
connectivity. If the destination network truly is unavailable
and the packets are forwarded, black hole routing is
created and lasts until the holddown timer expires.
Split Horizon Rules (1/5)
• The split horizon rule says that a router should
not advertise a network through the interface
from which the update came.
Split Horizon Rules (2/5)
Split Horizon Rules (3/5)
Split Horizon Rules (4/5)
Split Horizon Rules (5/5)
Route Poisoning (1/4)
• Route poisoning is yet another method
employed by distance vector routing protocols
to prevent routing loops.
• Route poisoning is used to mark the route as
unreachable in a routing update that is sent to
other routers.
• Unreachable is interpreted as a metric that is
set to the maximum.
– For RIP, a poisoned route has a metric of 16.
Route Poisoning (2/4)
Route Poisoning (3/4)
Route Poisoning (4/4)
Split Horizon with Poison reverse (1/5)
• The concept of split horizon with poison
reverse is that explicitly telling a router to
ignore a route (sending poison route back to
the sending router)
• Note: Split horizon is enabled by default.
However split horizon with poison reverse
may not be the default on all IOS
implementations.
Split Horizon with Poison reverse (2/5)
• The following process occurs:
• Network 10.4.0.0 becomes unavailable due to a link
failure.
• R3 poisons the metric with a value of 16 and then
sends out a triggered update stating that 10.4.0.0 is
unavailable.
• R2 processes that update, invalidates the routing
entry in its routing table, and immediately sends a
poison reverse back to R3.
Split Horizon with Poison reverse (3/5)
Split Horizon with Poison reverse (4/5)
Split Horizon with Poison reverse (5/5)
Time to Live (1/2)
• Time to Live (TTL) is an 8-bit field in the IP
header that limits the number of hops a packet
can traverse through the network before it is
discarded.
• The purpose of the TTL field is to avoid a
situation in which an undeliverable packet
keeps circulating on the network endlessly.
Time to Live (2/2)
• With TTL, the 8-bit field is set with a value by the
source device of the packet. The TTL is decreased by
one by every router on the route to its destination.
• If the TTL field reaches zero before the packet arrives
at its destination, the packet is discarded and the
router sends an Internet Control Message Protocol
(ICMP) error message back to the source of the IP
packet