Distance vector protocols work by having each router advertise all the routes they know out all their interfaces. Other routers that share the same physical network receive the routing updates and learn the routes. The routers that share a common physical network are generally called neighbors. For instance, all routers attached to the same Ethernet are neighbors; the two routers on either end of a point-to-point serial link are also neighbors. If all routers advertise all their routes out all their interfaces, and all their neighbors receive the routing updates, eventually every router will know the routes to all the subnets in the network.
The following list spells out the basic distance vector logic and introduces a few important concepts:
- Routers add directly connected subnets to their routing tables, even without a routing protocol.
- Routers send routing updates out their interfaces to advertise the routes that this router already knows. These routes include directly connected routes, as well as routes learned from other routers.
- Routers listen for routing updates from their neighbors so that they can learn new routes.
- The routing information includes the subnet number and a metric. The metric defines how good the route is; lower metric routes are considered better routes.
- When possible, routers use broadcasts or multicasts to send routing updates. By using a broadcast or multicast packet, all neighbors on a LAN can receive the same routing information in a single update.
- If a router learns multiple routes to the same subnet, it chooses the best route based on the metric.
- Routers send periodic updates and expect to receive periodic updates from neighboring routers.
- Failure to receive updates from a neighbor in a timely manner results in the removal of the routes previously learned from that neighbor.
- A router assumes that, for a route advertised by Router X, the next-hop router in that route is Router X.
The following examples explain the concepts in the list in a little more depth. The schematic below demonstrates how Router A’s directly connected subnets are advertised to Router B and the whole advertising process with the metrics of the routes. In this case, Router A advertises two directly connected routes and Router C – one.
The following table shows the resulting routing table on Router B.
|Network (Mask is /24)||Outgoing interface||Next-hop Router||Metric||Comments|
|172.16.5.0||S1/0||172.16.8.1||1||This is one of two routes learned via the update in the figure.|
|172.16.7.0||FE0/0||–||0||Directly connected route.|
|172.16.8.0||S1/0||–||0||Directly connected route.|
|172.16.9.0||S1/0||172.16.8.1||1||This is one of two routes learned via the update in the figure.|
|172.16.10.0||S1/0||172.16.8.1||2||This one was learned from Router A, which learned it from Router C.|
Two interesting facts about what a Cisco IOS software-based Cisco router puts in the routing table become obvious in this example. First, just like for any other directly connected route, the two directly connected routes on Router B do not have an entry in the table’s Next-Hop Router field, because packets to those subnets can be sent directly to hosts in those subnets. In other words, there is no need for Router B to forward packets destined for those subnets to another router, because Router B is attached to those subnets. The second interesting fact is that the Next-Hop Router entries for the routes learned from Router A show Router A’s IP address as the next router. In other words, a route learned from a neighboring router goes through that router. Router B typically learns Router A’s IP address for these routes simply by looking at the routing update’s source IP address.
Router B believes some subnets are nearer than others, based on the metric. The show ip route EXEC command shows connected routes as metric 0, because there is no router between Router B and those subnets. Router B uses a metric of 1 for routes directly connected to Router A for two reasons. First, Router A advertises those two routes (172.16.5.0 and 172.16.9.0) with metric 1, so Router B believes those metrics. (Router A, before advertising those two routes, adds 1 to the metric value of its own routes to those subnets.) Conceptually, one router (Router A) separates Router B from those subnets. Because RIP’s metric is hop count, a metric of 1 implies that only one router separates Router B from the subnets in question. Similarly, Router B’s metric for subnet 172.16.10.0 is 2, because the routing update from Router A advertises the router with a metric of 2. Conceptually, Router B believes that two routers separate it from 172.16.10.0.
The next core concept of distance vector routing protocols relates to when to doubt the validity of routing information. Each router sends periodic routing updates. A routing update timer, which is equal on all routers, determines how often the updates are sent. The absence of routing updates for a preset number of routing timer intervals results in the removal of the routes previously learned from the router that has become silent.
Routing protocols carry out their most important functions when redundancy exists in the network. Most importantly, routing protocols ensure that the currently-best routes are in the routing tables by reacting to network topology changes. Routing protocols also prevent loops. Distance vector protocols need several mechanisms to prevent loops. The following table summarizes these issues and lists the solutions.
|Multiple routes to the same subnet have equal metrics||Implementation options involve either using the first route learned or putting multiple routes to the same subnet in the routing table.|
|Routing loops occur due to updates passing each other over a single link||Split horizon-The routing protocol advertises routes out an interface only if they were not learned from updates entering that interface.
Split horizon with poison reverse-The routing protocol uses split-horizon rules unless a route fails. In that case, the route is advertised out all interfaces, including the interface in which the route was learned, but with an infinite-distance metric.
|Routing loops occur because routing information loops through alternative paths||Route poisoning-When a route to a subnet fails, the subnet is advertised with an infinite-distance metric. This term specifically applies to routes that are advertised when the route is valid. Poison reverse refers to routes that normally are not advertised because of split horizon but that are advertised with an infinite metric when the route fails.|
|Counting to infinity||Hold-down timer-After finding out that a route to a subnet has failed, a router waits a certain period of time before believing any other routing information about that subnet.
Triggered updates-When a route fails, an update is sent immediately rather than waiting on the update timer to expire. Used in conjunction with route poisoning, this ensures that all routers know of failed routes before any hold-down timers can expire.
Our Recommended Premium CCNA Training Resources
These are the best CCNA training resources online:
Click Here to get the Cisco CCNA Gold Bootcamp, the most comprehensive and highest rated CCNA course online with a 4.8 star rating from over 30,000 public reviews. I recommend this as your primary study source to learn all the topics on the exam.
Want to take your practice tests to the next level? AlphaPreps purpose-built Cisco test engine has the largest question bank, adaptive questions, and advanced reporting which tells you exactly when you are ready to pass the real exam. Click here for your free trial.