RIP – Routing Information Protocol
• Uses hop count as metric.
• Does not support more than 15 for a hop count.
• Routing updates are broadcast or multicast every 30 seconds by default.
IGRP – Interior Gateway Routing Protocol
• Cisco proprietary protocol.
• Bandwidth, delay, reliability, and load are used to create the metric.
• Routing updates are broadcast every 90 seconds by default.
• IGRP is now obsolete and has been followed by EIGRP.
EIGRP – Enhanced IGRP
• Cisco proprietary protocol.
• Performs unequal cost load balancing.
• Uses Diffusing Update Algorithm (DUAL) to calculate shortest path.
• No periodic updates. Updates only sent when a topology change occurs.
Distance vector routers do not know the full path to a destination. They only know which interface to forward a packet and how far away the destination is.
Distance vector protocols such as RIP and IGRP require periodic updates to be sent to their neighbors. This is problematic because it consumes bandwidth and CPU processing
Most distance vector protocols share the following common characteristics:
• Use Bellman-Ford algorithm to determine best path.
• Periodic updates sent at regular intervals even if there are no topology changes.
• Neighbors are routers that share a link and are running the same routing protocol. Routers are not aware of the network topology.
• Broadcast updates are sent to 255.255.255.255. Routers running the same protocol will listen for these updates; all other devices will receive the packet but drop it at layer 3. Some protocols use multicasting to send updates.
• Entire routing tables are sent in some updates.
Each routing protocol uses its own algorithm to make best path decisions. The routing protocol needs to decide whether a path should be installed into a routing table or not.
When comparing all routing protocols the following are points to observe:
• Time to converge – how long does it take for all routers to be in a state of consistency.
• Scalability – how large can a network become.
• Classless (VLSM) or classful.
• Resource Usage – memory and CPU consumption.
• Implementation and Maintenance – how much knowledge is required to configure and maintain the protocol.
Initial Routing Exchange
When routers first come online they only know about the existence of their directly connected neighbors. Routing information starts to be shared with neighbors and in the first exchange with their neighbors they learn of each others networks. Any networks they did not know of they install into their routing tables. Depending on how many routers there are this process does not usually result in convergence until the second or more updates.
A network is not completely operational until it has converged.
Routing Table Maintenance
RIP every 30 seconds (by default) sends a route update to its neighbors. This update includes the entire routing table. This helps maintain complete and correct information with its neighbors. It also helps keep the routing table information refreshed. Routes learned from routing protocols age and eventually are removed from a routing table.
RIP uses the following timers:
• Update timer (30 seconds)
• Invalid – after 180 without an update route marked as invalid (still in routing table)
• Flush – after 240 seconds without an update the route is removed (60s longer than invalid)
• Holddown – 180 seconds, is used to help prevent routing loops. When a network is marked as unreachable it must stay in holddown long enough for the entire network to converge.
Triggered updates are updates that are sent before an update timer expires. RIP uses triggered updates when one of the following occurs:
• An interface changes state.
• A route has entered or exited the “unreachable” state.
• A route is installed in the routing table.
Triggered updates cannot exist alone because of potential route corruption and looping.
EIGRP Specific Updates
EIGRP is not like many distance vector protocols and is considered to be a protocol that is a mix between distance vector and link state. They use updates:
• Partial updates are sent only when there is a change in topology.
• Bounded updates, which means they are only sent to routers that need them.
A routing loop is when a packet is caught in a loop between two or more routers because of incorrect routing information. Loops can occur by:
• Incorrectly configured static routes.
• Incorrectly configured route redistribution (CCNP level)
• Inconsistent routing tables not being updated due to slow network convergence in a changing network.
• Incorrectly configured or installed discard routes.
IP helps with the fact that a loop is only finite at Layer 3 because of the TTL.
Count to Infinity
The Bellman-Ford algorithm does not prevent routing loops from happening and suffers from the count-to-infinity problem. The core of the count-to-infinity problem is that if A tells B that it has a path somewhere, there is no way for B to know if it is on the path. To see the problem clearly, imagine a subnet connected like A-B-C-D-E-F, and let the metric between the routers be "number of jumps". Now suppose that A goes down. In the vector-update-process B notices that its once very short route of 1 to A is down - B does
not receive the vector update from A. The problem is, B also gets an update from C, and C is still not aware of the fact that A is down - so it tells B that A is only two jumps from it, which is false. This slowly propagates through the network until it reaches infinity (in which case the algorithm corrects itself, due to the "Relax property" of Bellman Ford).
Preventing Routing Loops
Holddown timers are used to prevent regular update messages from inappropriately reinstating a route that may have gone bad. If a router receives a message that a route is down then the holddown timer starts. The router will ignore any messages that state there is a new route of equal or worse conditions. This process helps the count to infinity problem and it also allows the routers time to propagate correct information throughout the network.
Routers do continue to forward packets to routes marked as possibly down.
Split horizon rule says that a router should not advertise a network through the interface from which the update came.
Route poisoning is used to mark the route as unreachable in a routing update that is sent to other routers.
The rule for split horizon with poison reverse states when sending updates out a specific interface, designate any networks that were learned on that interface as unreachable:
- It assigns a value that represents an infinite metric to the poisoned route.
- It sends back the poisoned route update to the same interface from where it was received.
RIP vs. EIGRP
• Limited to 15 hops, good for small networks.
• Vendor independent.
• Easy to configure.
• Supports split horizon and split horizon with poison reverse.
• Capable of load balancing up to 6 equal cost paths (default is 4).
• Supports VLSM (sends subnet mask in updates), classless routing.
• Authentication mechanism to secure routing updates.
• Uses multicast addresses instead of broadcast messages.
• Supports manual route summarization.
• Cisco appliance dependent.
• Triggered updates.
• Uses a topology table to store all routes not just best routes.
• Establishment of adjacencies with hello packets.
• Supports VLSM.
• Supports manual route summarization.
• Can support 200+ routers.
• Metric based on bandwidth and delay.
• Uses DUAL as algorithm, which allows for backup routes.
• Bounded updates use less bandwidth.
• EIGRP supports multiple routed protocols through Protocol Dependent Modules.
• Uses multicast address messaging.