Routing
Routing
Routing
Q:- Routing
Routing is a relay system by which packets are forwarded from one device to
another. Each device in the network as well as the network itself has a logical
address so it can be identified and reached individually or as part of a larger group
of devices. For a router to act as an effective relay device, it must be able to
understand the logical topology of the network and to communicate with its
neighboring devices. The router understands several different logical addressing
schemes and regularly exchanges topology information with other devices in the
network. The mechanism of learning and maintaining awareness of the network
topology is considered to be the routing function while the movement of traffic
through the router is a separate function and is considered to be the switching
function. Routing devices must perform both a routing and a switching function to
be an effective relay device. A router receiving a packet from a host, the router will
need to make a routing decision based on the protocol in use; the existence of the
destination network address in its routing table; and the interface that is connected
to the destination network. After the decision has been made the router will switch
the packet to the appropriate interface on the router to forward it out. If the
destination logical network does not exist in the routing table, routing devices will
discard the packet and to generate an Internet Control Message Protocol (ICMP)
message to notify the sender of the event.
Q:- Routing Tables
A routing table is a database repository that holds the router's routing information
that represents each possible logical destination network that is known to the
router. The entries for major networks are listed in ascending order and, most
commonly, within each major network the sub networks are listed in descending
order. If the routing table entry points to an IP address, the router will perform a
recursive lookup on that next-hop address until the router finds an interface to use.
The router will switch the packet to the outbound interfaces buffer. The router will
then determine the Layer 2 address that maps to the Layer 3 address. The packet
will then be encapsulated in a Layer 2 frame appropriate for the type of
encapsulation used by the outbound interface. The outbound interface will then
place the packet on the medium and forward it to the next hop. The packet will
continue this process until it reaches its destination.
There are two ways in which a routing table can be populated: a route can be
entered manually, this is called static routing, or routers can dynamically learning a
route. Once a router learns a route, it is added to its route table.
Q:- Static Routing
A statically defined route is a route is manually entered into the router. The
purpose of this is to add routes to a router's routing table. Thus, static routing
consists of individual configuration commands that define a route to a router. A
router can forward packets only to subnets in its routing table. The router always
knows about directly connected routes. By adding static routes, a router can be told
how to forward packets to subnets that are not attached to it.
A static route can be entered into the router in global configuration mode with the
following command:
ip route destination_ip_address subnet_mask { ip-address | interface } [
distance ]
In the ip route command, the destination_ip_address and subnet_mask is the IP
address and subnet mask for the destination host. The ip-address parameter is the
IP address of the next hop that can be used to reach the destination and interface is
the router interface to use. The optional distance parameter specifies the
administrative distance.
The advantages to using static routes in an internetwork are the administrator has
total control of what is in the routers routing table and there is no network
overhead for a routing protocol. The disadvantage of using only static routes is
they do not scale well.
Q:- Dynamic Routing
Dynamic routing is a process in which a routing protocol will find the best path in
a network and maintain that route. Once a route fails, the routing protocol will
automatically find an alternate route to the destination. Routing protocols are easier
to use than static routes. However, a routing protocol will consume more CPU
cycles and network bandwidth than a static route.
Routing Updates
Routing updates can occur using the distance vector approach or the link-state
approach.
Distance-vector protocols use a routine, periodic announcement that contains the
entire contents of the routing table. These announcements are usually broadcasts
and are propagated only to directly-connected, next-hop, devices. This allows the
router to view the network from the neighbor's perspective and facilitates the
addition of the router's metric to the 'distance' already stated by the neighboring
router. However, this approach uses considerable bandwidth at regular intervals on
each link even if no topology changes have occurred.
Link-state protocols use a triggered-update type of announcement that is
generated only when there is a topology change within the network. The link-state
announcements only contain information about the link that changed and are
propagated or flooded to all devices in the network. This approach saves
bandwidth on each link because the announcements contain less information and is
only sent when there is a topology change. In some link-state protocols, a periodic
announcement is required to ensure that the topology database is synchronized
among all routing devices.
Verifying Routing Tables
You can use the show ip route privileged exec command to view an IP routing
table. If the information that is displayed is not correct, you can force an update
from the neighboring devices with the clear ip route command. An optional
keyword specifying an ip_address and subnet_mask, or the * (wildcard) character,
can be used to further identify the routes to be refreshed.
Routing Protocols
There are two types of dynamic routing protocols: Interior Gateway Protocols
(IGP) and External Gateway Protocols (EGP). IGPs are used to exchange routing
information within an autonomous system (AS), which is a collection of routing
domains under the same administrative control the same routing domain. An EGP,
on the other hand, is used to exchange routing information between different ASs.
IGPs can be broken into two classes: distance-vector and link-state, and can also be
broken into two categories: classful routing protocols and classless routing
protocols.
Distance-Vector Routing
Distance-vector routing is consists of two parts: distance and vector. Distance is
the measure of how far it is to reach the destination and vector is the direction the
packet must travel to reach that destination. The latter is determined by the next
hop of the path. Distance-vector routing protocols will learn routes from its
neighbors. This is called routing by rumor. Examples of distance-vector routing
protocols are: Routing Information Protocol (RIP), Interior Gateway Routing
Protocol (IGRP), and Enhanced Interior Gateway Routing Protocol (EIGRP).
Route Poisoning
Route poisoning is a feature that distance vector protocols use to reduce the chance
of routing loops. Route poisoning begins when a router notices that a connected
route is no longer valid. The router then advertises that route out all its interfaces
and with a very large metric so that other routers consider the metric infinite and
the route invalid. However, route poisoning does not solve the counting-to-infinity
problem.
Split Horizon
As mentioned earlier, route poisoning does not solve the counting-to-infinity
problem. Counting-to-infinity can occur when one router has a valid metric that
points to an address that is reachable through an intermediate router while the
intermediate router has an infinite-distance route to the same address (see Figure
4.1). If routing table updates are sent by both routers at the same in time, the
intermediate router will advertise that the route to the destination address is an
infinite-distance route while the other router will advertise that the route has a valid
metric. Because the two routers use the same update interval between updates, this
process repeats itself with the next routing update, with the difference that the valid
metric will be incremented by 1 each time until an infinite metric is reached, hence
this phenomenon is called counting to infinity.
FIGURE: Count to Infinity
Split horizon solves the counting-to-infinity problem by preventing a router from
sending routing updates out the same interface on which it learnt the route. Thus,
in Figure 4.1, the router would have learnt the route to the destination address
across the link from the intermediate router. With split horizon, that router cannot
then send advertisements about the route to the destination address out across the
same link. Therefore the intermediate router will not receive the valid metric from
the route to the destination address from the other router ad the count to infinity
problem will not occur, solving the count-to-infinity problem on a single link.
Split Horizon with Poison Reverse
Split horizon with poison reverse, or simply poison reverse combines the two
features. When a route fails the router uses route poisoning, i.e., the router
advertises an infinite-metric route about that subnet out all interfaces, including
interfaces previously prevented by split horizon. This ensures that all routers know
for sure that the route has failed, while split horizon prevents counting to infinity.
Hold-Down Timer
Split horizon solves the counting-to-infinity problem over a single link but the
counting to infinity problem can also occur in networks with multiple or redundant
paths because there are more than one path to a router. In such networks, the hold-
down timer feature prevents the counting-to-infinity problem. With the Hold-down
timer feature, a router ignores any information about an alternative route to a
destination address for a time equal to the hold-down timer once it has learnt that a
route to the destination address has failed.
Triggered Updates
Distance vector protocols typically send updates based on a regular update interval.
However, most looping problems occur when a route fails. Therefore, some
distance vector protocols send triggered updates as soon as a route fails. This
causes the information about the route whose status has changed to be forwarded
more quickly and also starts the hold-down timers more quickly on the neighboring
routers.
Link-State Routing
Link-state routing differs from distance-vector routing in that each router knows
the exact topology of the network. This reduces the number of bad routing
decisions that can be made because every router in the process has an identical
view of the network. Each router in the network will report on its state, the directly
connected links, and the state of each link. The router will then propagate this
information to all routers in the network. Each router that receives this information
will take a snapshot of the information. This ensures all routers in the process have
the same view of the network, allowing each router to make its own routing
decisions based upon the same information.
In addition, link-state routing protocols generate routing updates only when there is
a change in the network topology. When a link, i.e., a point on a route, changes
state, a link-state advertisement (LSA) concerning that link is created by the device
that detected the change and propagated to all neighboring devices using a
multicast address. Each routing device takes a copy of the LSA, updates its
topological database and forwards the LSA to all neighboring devices. An LSA is
generated for each link on a router. Each LSA will include an identifier for the
link, the state of the link, and a metric for the link. With the use of LSAs, link state
protocols reduce routing bandwidth usage.
Examples of link-state routing protocols are: Open Shortest Path First (OSPF) and
Integrated Intermediate System to Intermediate System (IS-IS). Another protocol,
Enhanced Interior Gateway Routing Protocol (EIGRP) is considered a hybrid
protocol because it contains traits of both distance-vector and link-state routing
protocols. Most link-state routing protocols require a hierarchical design,
especially to support proper address summarization. The hierarchical approach,
such as creating multiple logical areas for OSPF, reduces the need to flood an LSA
to all devices in the routing domain. The use of areas restricts the flooding to the
logical boundary of the area rather than to all devices in the OSPF domain. In other
words, a change in one area should only cause routing table recalculation in that
area, not in the entire domain.
Classful Routing
Classful routing is used in routing packets based upon the class of IP address. IP
addresses are divided into five classes: Class A, Class B, Class C, Class D, and
Class E. Class A, Class B and Class C are used to private and public network
addressing; Class D is used for multicast broadcasting; and Class E is reserved by
the Internet Assigned Numbers Authority (IANA) for future use.
Classful routing is a consequence of the fact that routing masks are not advertised
in the periodic, routine, routing advertisements generated by distance vector
routing protocols. In a classful environment, the receiving device must know the
routing mask associated with any advertised subnets or those subnets cannot be
advertised to it. There are two ways this information can be gained:
Share the same routing mask as the advertising device
If the routing mask does not match, this device must summarize the received
route a classful boundary and send the default routing mask in its own
advertisements.
Classful routing protocols, such as Routing Information Protocol version 1 (RIPv1)
and Interior Gateway Routing Protocol (IGRP), exchange routes to sub networks
within the same network if network administrator configured the entire sub
networks in the major network have the same routing mask. When routes are
exchanged with foreign networks, sub network information from this network
cannot be included because the routing mask of the other network is not known. As
a result, the sub network information from this network must be summarized to a
classful boundary using a default routing mask prior to inclusion in the routing
update. The creation of a classful summary route at major network boundaries is
handled automatically by classful routing protocols. However, summarization at
other points within the major network address is not allowed by classful routing
protocols.
Classless Routing
One of the most serious limitations in a classful network environment is that the
routing mask is not exchanged during the routing update process. This requires the
same routing mask be used on all sub networks. The classless approach advertises
the routing mask for each route and therefore a more precise lookup can be
performed in the routing table. Classless routing, which is also known as Classless
Interdomain Routing (CIDR), is thus not dependent on IP address classes but,
instead, allows a variable length subnet mask (VLSM), which extends IP
addressing beyond the limitations of using fixed-length subnet masks (FLSM),to
be sent in the routing update with the route. This allows you to conserve IP
addresses, extending the use of IP addresses. Classless routing protocols also
addressed the need to summarize to a classful network with a default routing mask
at major network boundaries. In the classless environment, the summarization
process is manually controlled and can be invoked at any point within the network.
The routing protocols that support classless routing protocols are: Routing
Information Protocol version 2 (RIPv2); Enhanced Interior Gateway Routing
Protocol (EIGRP); Open Shortest Path First (OSPF); and Integrated Intermediate
System to Intermediate System (IS-IS).