Dynamic routing is a networking practice that provides optimum data routing. Unlike static routing, dynamic routing enables routers to select paths according to real-time consistent network layout variations. In dynamic routing, the routing protocol operating on the router is responsible for the establishment, maintenance and updating of the dynamic routing table. In static routing, all these jobs are manually done by the system administrator. Dynamic routing uses multiple algorithms and protocols. The most popular are Routing Information Protocol (RIP) and Open Shortest Path First (OSPF).
Routers do share dynamic routing information with each other, which increases CPU, RAM, and bandwidth usage. However, routing protocols are capable of dynamically choosing a different (or better) path when there is a change to the routing arrangement.
- A routed protocol is a Layer 3 protocol that applies logical addresses to devices and routes data between networks (such as IP).
- A routing protocol dynamically builds the network, topology and next hop information in routing tables (such as RIP, EIGRP, etc.)
|Simpler to configure on larger networks||Routing protocols put additional load on router CPU/RAM|
|Will dynamically choose a different (or better) route if a link goes down||The choice of the “best route” is in the hands of the routing protocol, and not the network administrator|
|Ability to load balance between multiple links|
|Updates are shared between routers, thus consuming bandwidth|
There are two distinct categories of dynamic routing protocols:
- Distance-vector protocol
- Link-state protocol
Examples of distance-vector protocols include RIP and IGRP. Examples of link-state protocols include OSPF and IS-IS. EIGRP exhibits both distance-vector and link-state characteristics, and is considered a hybrid protocol.
All distance-vector routing protocols share several key characteristics:
- Periodic updates of the full routing table are sent to routing neighbors.
- Distance-vector protocols suffer from slow convergence, and are highly susceptible to loops.
- Some form of distance is used to calculate a route’s metric.
- The Bellman-Ford algorithm is used to determine the shortest path.
A distance-vector routing protocol begins by advertising directly-connected networks to its neighbors. These updates are sent regularly (RIP – every 30 seconds; IGRP – every 90 seconds). Neighbors will add the routes from these updates to their own routing tables. Each neighbor trusts this information completely, and will forward their full routing table (connected and learned routes) to every other neighbor. Thus, routers fully (and blindly) rely on neighbors for route information, a concept known as routing by rumor.
There are several disadvantages to this behavior. Because routing information is propagated from neighbor to neighbor via periodic updates, distance-vector protocols suffer from slow convergence. This, in addition to blind faith of neighbor updates, results in distance-vector protocols being highly susceptible to routing loops.
Distance-vector protocols utilize some form of distance to calculate a route’s metric. RIP uses hop-count as its distance metric, and IGRP uses a composite of bandwidth and delay.
Link-state routing protocols were developed to alleviate the convergence and loop issues of distance-vector protocols. Link-state protocols maintain three separate tables:
- Neighbor table – contains a list of all neighbors, and the interface each neighbor is connected off of. Neighbors are formed by sending Hello packets.
- Topology table – otherwise known as the “link-state” table, contains a map of all links within an area, including each link’s status.
- Shortest-Path table – contains the best routes to each particular destination (otherwise known as the “routing” table”)
Link-state protocols do not “route by rumor.” Instead, routers send updates advertising the state of their links (a link is a directly-connected network). All routers know the state of all existing links within their area, and store this information in a topology table. All routers within an area have identical topology tables.
The best route to each link (network) is stored in the routing (or shortest-path) table. If the state of a link changes, such as a router interface failing, an advertisement containing only this link-state change will be sent to all routers within that area. Each router will adjust its topology table accordingly, and will calculate a new best route if required. By maintaining a consistent topology table among all routers within an area, link-state protocols can converge very quickly and are immune to routing loops.
Additionally, because updates are sent only during a link-state change, and contain only the change (and not the full table), link-state protocols are less bandwidth intensive than distance-vector protocols. However, the three link-state tables utilize more RAM and CPU on the router itself.
Link-state protocols utilize some form of cost, usually based on bandwidth, to calculate a route’s metric. The Dijkstra formula is used to determine the shortest path.