【My Study Note】Interior Gateway Protocols
Interior Gateway Protocols
The real magic of routing is in the way that routing tables are always updated with new information about the quickest path to destination networks. In order to learn about the world around them, routers use what are known as routing protocols.
These are special protocols the routers use to speak to each other in order to share what information they might have. This is how a router on one side of the planet can eventually learn about the best path to a network on the other side of the planet.
Routing protocols fall into two main categories
・Interior gateway protocols
・exterior gateway protocols
Interior gateway protocols are further split into two categories:
・Link state routing protocols
・Distance-vector protocols
In networking terms, an autonomous system is a collection of networks that all fall under the control of a single network operator.
The best example of this would be a large corporation that needs to route data between its many offices each of which might have its own local area network.
Another example is the many routers employed by an Internet service provider who’s reaches are usually national in scale.
You can contrast this with exterior gateway protocols, which are used for the exchange of information between independent autonomous systems.
The two main types of interior gateway protocols are link state routing protocols and distance-vector protocols. Their goals are super similar, but the routers that employ them share different kinds of data to get the job done.
Distance-vector protocols
Distance-vector protocols are an older standard. A router using a distance-vector protocol basically just takes its routing table, which is a list of every network known to it and how far away these networks are in terms of hops.
Then the router sends this list to every neighboring router, which is basically every router directly connected to it.
With a distance-vector protocol, routers don’t really know that much about the total state of an autonomous system, they just have some information about their immediate neighbors. For a basic glimpse into how distance vector protocols work, let’s look at how two routers might influence each other’s routing tables.
Example
Router A has a routing table with a bunch of entries. One of these entries is for 10.1.1.0/24 network, which we’ll refer to as Network X. Router A believes that the quickest path to Network X is through its own interface 2, which is where Router C is connected.
Router A knows that sending data intended for Network X through interface 2 to Router C means it’ll take four hops to get to the destination.
Meanwhile, Router B is only two hops removed from Network X, and this is reflected in its routing table. Router B using a distance vector protocol sends the basic contents of its routing table to Router A. Router A sees that Network X is only two hops away from Router B even with the extra hop to get from Router A to Router B.
This means that Network X is only three hops away from Router A if it forwards data to Router B instead of Router C. Armed with this new information, Router A updates its routing table to reflect this.
In order to reach Network X in the fastest way, it should forward traffic through its own interface 1 to Router B.
Now distance vector protocols are pretty simple, but they don’t allow for a router to have much information about the state of the world outside of their own direct neighbors. Because of this, a router might be slow to react to a change in the network far away from it.
Link State Protocols
This is why link state protocols were eventually invented. Routers using a link state protocol taking more sophisticated approach to determining the best path to a network.
Link state protocols get their name because each router advertises the state of the link of each of its interfaces. These interfaces could be connected to other routers, or they could be direct connections to networks. The information about each router is propagated to every other router on the autonomous system.
This means that every router on the system knows every detail about every other router in the system. Each router then uses this much larger set of information and runs complicated algorithms against it to determine what the best path to any destination network might be.
Link state protocols require both more memory in order to hold all of this data and also much more processing power. This is because it has to run algorithms against this data in order to determine the quickest path to update the routing tables.
As computer hardware has become more powerful and cheaper over the years, link state protocols have mostly made distance vector protocols outdated.
Protocols
The most common distance vector protocols are RIP (Routing Information Protocol), and EIGRP (Enhanced Interior Gateway Routing Protocol). The most common link state protocol is OSPF (Open Shortest Path First).