There are two classes of routing protocols: Distance Vector and Link-State.
To remember which routing protocol is based on the two classess and the diffence between them, I wrote this article.
Distance Vector:
– Based on the distance / metric, of the destination. (usually hops) and the vector / direction to reach that destination.
– Exchanges complete routing tables with directly connected neighbor (that uses the same routing protocol)
– Updates are performed periodically
– Routing protocols that uses distance vector: RIP(v2), EIGRP
– Suspectable for routing loops (counter measures like poison reverse and split horizon are used)
Split-Horizon:
Prevents a router from advertising a route back onto the interface from which it was learned.
Poison reverse:
Prevent a router from sending packets through a route that has become invalid and indicate to other routers that a route is no longer reachable. (and therefore should not be considered from their routing tables)
Combined:
Router(s) actively advertises routes as unreachable over the interface over which they were learned by setting the route metric to infinite (16 for RIP). The effect of such an announcement is to immediately remove most looping routes before they can propagate through the network.
Link-state:
– All routers know about the paths reachable by all other routers in the network.
– Link-state (Link State Advertisements) information is flooded throughout the routing domain.
– Does not advertise the entire routing table, but directly connected links, neighboring routers
– All the routers have the same topology databases.
– Send updates using multicast addresses based on triggered routing updates
– Routing protocols that uses distance vector: OSPF, IS-IS
Link state routing protocol uses three different tables:
Neighbor table: stores neighboring routers, running the same link state routing protocol
Topology table: stores the topology of the entire network
Routing table: stores the best routes