"Distance-vector routing: requires that each node (router or host that implements the routing protocol) exchange information with its neighboring nodes. For this purpose, each node maintains a vector of link costs for each directly attached network and distance and next-hop vectors for each destination. Link-state routing: When a router is initialized, it determines the link cost on each of its network interfaces. The router then advertises this set of link costs to all other routers in the internet topology, not just neighboring routers. From then on, the router monitors its link costs. Whenever there is a significant change (a link cost increases or decreases substantially, a new link is created, an existing link becomes unavailable), the router again advertises its set of link costs to all other routers in the configuration. Path-vector routing: dispenses with routing metrics and simply provide information about which networks can be reached by a given router and the ASs that must be crossed to get there. The approach differs from a distancevector algorithm in two respects: First, the path-vector approach does not include a distance or cost estimate. Second, each block of routing information lists all of the ASs visited in order to reach the destination network by this route."