Monday 1 April 2013


IP Routing Technology
Routing is the process by which a packet gets from one location to another. To route a packet, a router needs to know the destination address and on what interface to send the traffic out .When a packet comes into an interface (in interface) on a router, it looks up the destination IP address in the packet header and compares it with its routing table. The routing table, which is stored in RAM, tells the router which outgoing interface the packet should go out to reach the destination network. There are three ways to control routing decisions on your router:
  • Static routes
  • Default route
  • Dynamic routes

Static Routes

Use a static route when you want to manually define the path that the packet will take through your network. Static routes are useful in small networks with rarely changing routes, when you have little bandwidth and do not want the overhead of a dynamic routing protocol, or when you want to manually define all of your routes for security reasons. Static routes are created in global configuration mode. The syntax for the static route is as follows:
 ip route destination network address [subnet mask] {next-hop-address | interface] [distance] 

Defaults routers

This is the special type of static route, commonly called the gateway of last resort. If the specified destination is not listed in the routing table, the default route can be used to route the packet. A default route has an IP address of 0.0.0.0 and a subnet mask of 0.0.0.0, often represented as 0.0.0.0/0. Default routes are commonly used in small networks on a perimeter router pointing to the directly connected ISP router.

Dynamic Routes

A router learns dynamic routes by running a routing protocol. Routing protocols will learn about routes from other neighboring routers running the same routing protocol. Through this sharing process, a router will eventually learn about all of the reachable network and subnet numbers in the network.
Now be familiar with the terms routing protocol and routed protocol that have two different meanings. A routing protocol learns about routes for a routed protocol.

Routed protocol:

Any network protocol that provides enough information in its network layer address to enable a packet to be forwarded from one host to another host based on the addressing scheme, without knowing the entire path from source to destination. Packets generally are conveyed from end system to end system. IP is an example of a routed protocol.

Routing protocol:

Facilitates the exchange of routing information between networks, enabling routers to build routing tables dynamically. Traditional IP routing stays simple because it uses next-hop (next-router) routing, in which the router needs to consider only where it sends the packet and does not need to consider the subsequent path of the packet on the remaining hops (routers). Routing Information Protocol (RIP) is an example of a routing protocol.
There are two types of routing protocols:
  • Interior Gateway Protocols (IGP): These routing protocols exchange routing information within an autonomous system. Routing Information Protocol version 2 (RIPv2), Enhanced Interior Gateway Routing (EIGRP), and Open Shortest Path First (OSPF) are examples of IGPs.
  • Exterior Gateway Protocols (EGP): These routing protocols are used to route between autonomous systems. Border Gateway Protocol (BGP) is the EGP of choice in networks today.

Metrics

Metrics can be calculated based on a single characteristic of a path. More complex metrics can be calculated by combining several path characteristics. The metrics that routing protocols most commonly use are as follows:
  • Hop count: The number of times that a packet passes through the output port of one router
  • Bandwidth: The data capacity of a link; for instance, normally, a 10-Mbps Ethernet link is preferable to a 64-kbps leased line
  • Delay: The length of time that is required to move a packet from source to destination
  • Load: The amount of activity on a network resource, such as a router or link
  • Reliability:Usually refers to the bit error rate of each network link
  • Cost:A configurable value that on Cisco routers is based by default on the bandwidth of the Interface

Routing ProtocolsMetricDescription
RIPHop countHow many layer 3 hops away from the destination
OSPFCostMeasurement in the inverse of the bandwidth of the links
EIGRPBandwidthThe capacity of the links in Kbps (T1 = 1554)
EIGRPDelayTime it takes to reach the destination
EIGRPLoadThe path with the least utilization
EIGRPMTUThe path that supports the largest frame sizes
EIGRPReliabilityThe path with the least amount of errors or down time

Autonomous Systems

An autonomous system (AS) is a group of networks under a single administrative control, which could be your company, a division within your company, or a group of companies.
Not every routing protocol understands the concept of an AS. Routing protocols that understand the concept of an AS are EIGRP, OSPF, IS-IS, and BGP. RIP doesn’t understand autonomous systems, while OSPF does; but OSPF doesn’t require you to configure the AS number, whereas other protocols, such as EIGRP, do.

Administrative Distance

Administrative distance is the measure of trustworthiness that a router assigns to how a route to a network was learned. 
An administrative distance is an integer from 0 to 255. A routing protocol with a lower administrative distance is more trustworthy than one with a higher administrative distance.
Administrative DistanceRoute Type
0Connected interface route
1Static route
90Internal EIGRP route (within the same AS)
110OSPF route
120RIPv1 and v2 route
170External EIGRP (from another AS)
255Unknown route (is considered an invalid route and will not be used)
Routing protocols can be further classified into two categories:
  • Distance vector routing protocols
  • Link state routing protocols

Distance vector–based routing algorithms (also known as Bellman-Ford-Moore algorithms) pass periodic copies of a routing table from router to router and accumulate distance vectors. (Distance means how far, and vector means in which direction.) Regular updates between routers communicate topology changes.
Sometimes these protocols are referred to as routing by rumor, since the routers learn routing information from directly connected neighbors, and these neighbors might have learned these networks from other neighboring routers. RIP is an example of a routing protocol that is a distance vector.

Advertising Updates

Routers running distance vector protocols learn who their neighbors are by listening for routing broadcasts on their interfaces. No formal handshaking process or hello process occurs to discover who are the neighboring routers. Distance vector protocols assume that through the broadcast process, neighbors will be learned, and if a neighbor fails, the missed broadcasts from these neighbors will eventually be detected
Distance vector algorithms call for each router to send its entire routing table to each of its adjacent or directly connected neighbors. Distance vector routing tables include information about the total path cost (defined by its metric) and the logical address of the first router on the path to each network it knows about.
When a router receives an update from a neighboring router, it compares the update to its own routing table. The router adds the cost of reaching the neighboring router to the path cost reported by the neighbor to establish the new metric. If the router learns about a better route (smaller total metric) to a network from its neighbor, the router updates its own routing table.

Distance Vector Protocol Problems and Solutions

Problem: Convergence

The term convergence refers to the time it takes for all of the routers to understand the current topology of the network. When a router receives an update from a neighboring router, it compares the update to its own routing table. The router adds the cost of reaching the neighboring router to the path cost reported by the neighbor to establish the new metric. If the router learns about a better route (smaller total metric) to a network from its neighbor, the router updates its own routing table. It’s too time consuming process. Because in a 10 router topology last router will know about the network of first router only while all middle router will complete their periodic update. For example if interval timer is set to 60 second then last router will know about first network in 60*8 480 second or 8 minute.

Solution: Change the periodic timer interval

One solution is to change the periodic timer interval. For instance, in an example the timer was set to 60 seconds. To speed up convergence, you might want to set the interval to 10 seconds. Also, by setting the timer to 10 seconds, you are creating six times the amount of routing broadcast traffic, which is not very efficient

A second solution is to implement triggered updates

The distance vector routing protocol would still generate periodic updates; however, whenever a change takes place, the router will immediately generate an update without waiting for the periodic timer to expire. This can decrease convergence times, but it also creates a problem. If you have a flapping route, then an update will be triggered each time the route changes state, which creates a lot of unnecessary broadcast traffic in your network and could cause a broadcast storm.

Problem: Routing Loops

A routing loop is a layer-3 loop in the network. Basically, it is a disagreement about how to reach a destination network. Because distance vector routing protocols trust the next router without compiling a topology map of all networks and routers, distance vector protocols run the risk of creating loops in a network. This is analogous of driving to a location without a map. Instead, you trust what each sign tells you. Trusting the street signs might get you where you want to go, but I've been in some cities where trusting what the signs say will lead you in loops. The same is true with distance vector routing protocols. Simply trusting what the next router tells it can potentially lead the packets to loop endlessly. These loops could saturate a network and cause systems to crash. This, in turn, makes managers very upset and means that you have to work late into the evening to fix it.

Solution: Counting to Infinity Solution: Maximum Hop Count

IP packets have inherent limits via the Time-To-Live (TTL) value in the IP header. In other words, a router must reduce the TTL field by at least 1 each time it gets the packet. If the TTL value becomes 0, the router discards that packet. However, this does not stop the router from continuing to attempt to send the packet to a network that is down. To avoid this prolonged problem, distance vector protocols define infinity as some maximum number. This number refers to a routing metric, such as a hop count.

Solution: Split Horizon

Split horizon states that if a neighboring router sends a route to a router, the receiving router will not propagate this route back to the advertising router on the same interface. Split horizon prevents a router from advertising a route back out the same interface where the router originally learned the route. One way to eliminate routing loops and speed up convergence is through the technique called split horizon. The split horizon rule is that sending information about a route back in the direction from which the original update came is never useful.

Solution: Route Poisoning

Another operation complementary to split horizon is a technique called route poisoning. Route poisoning attempts to improve convergence time and eliminate routing loops caused by inconsistent updates. With this technique, when a router loses a link, the router advertises the loss of a route to its neighbor device. Route poisoning enables the receiving router to advertise a route back toward the source with a metric higher than the maximum. The advertisement back seems to violate split horizon, but it lets the router know that the update about the down network was received. The router that received the update also sets a table entry that keeps the network state consistent while other routers gradually converge correctly on the topology change. This mechanism allows the router to learn quickly of the down route and to ignore other updates that might be wrong for the hold-down period. This prevents routing loops.
A poisoned route has an infinite metric assigned to it. A poison reverse causes the router to break split horizon rule and advertise the poisoned route out all interfaces. When a router detects that one of its connected routes has failed, the router will poison the route by assigning an infinite metric to it. In IP RIP, the route is assigned a hop count of 16 (15 is the maximum), thus making it an unreachable network. When a router advertises a poised route to its neighbors, its neighbors break the rule of split horizon and send back to the originator the same poisoned route, called a poison reverse. This ensures that everyone received the original update of the poisoned route.

Solution:Hold-Down Timers

In order to give the routers enough time to propagate the poisoned route and to ensure that no routing loops occur while propagation is occurring; the routers implement a hold-down mechanism. During this period, the routers will freeze the poisoned route in their routing tables for the period of the hold-down timer, which is typically three times the interval of the routing broadcast update. When hold-down timers are used, a poisoned route will remain in the routing table until the timer expires. However, if a router with a poisoned route receives a routing update from a neighboring router with a metric that is the same or better than the original route, the router will abort the hold-down period, remove the poisoned route, and put the new route in its table. However, if a router receives a worse route from a neighboring router, the router treats this as a suspect route and assumes that this route is probably part of a routing loop, ignoring the update. One of the problems of using hold-down timers is that they cause the distance vector routing protocol to converge slowly—if the hold-down period is 180 seconds, you can’t use a valid alternative path with a worse metric until the hold-down period expires. Therefore, your users will lose their connections to this network for at least three minutes.
Hold-down timers perform route maintenance as follows:
  • 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 an update arrives from a neighboring router with a better metric than originally recorded for the network, the router marks the network as accessible and removes the hold-down timer.
  • If at any time before the hold-down timer expires, an update is received from a different neighboring router with a poorer metric, the update is ignored. Ignoring an update with a higher metric when a holddown is in effect enables more time for the knowledge of the change to propagate through the entire network.
  • During the hold-down period, routes appear in the routing table as “possibly down.”