path-vector routing

term

networkingISP & telecom

A routing method in which each route carries the list of autonomous systems it has crossed, not just a distance.

BGP works this way. RFC 4274 calls its algorithm a modified distance vector, referred to as path vector, that uses path information to avoid the traditional distance-vector problems. The reader meets the idea when comparing routing families and when reading the AS path column of a BGP table.

With each destination a BGP speaker sends the list of autonomous systems (ASes) the announcement has traversed. RFC 4271 says that list is enough to build a graph of AS connectivity, from which routing loops may be pruned and some policy enforced at the AS level. A speaker prepends its own AS number when it advertises a route to an external peer, and leaves the path unchanged towards internal peers.

Loop prevention is therefore a scan rather than a count: a router checks whether its own AS number appears anywhere in the AS_PATH, and a route that contains it is excluded from the decision. Path length also takes part in choosing a route, as the first tie-break after the degree of preference: the route with the fewest AS numbers wins, an AS_SET counting as one.

Two misreadings are common. RFC 4274 describes BGP as neither a pure distance-vector nor a pure link-state algorithm. And the path records the announcement, not the packets: after aggregation the actual path may not be the one the AS_PATH shows (RFC 4271, section 5.1.6), and nothing internal to BGP protects that list against being modified or forged (RFC 4272).

Also known as: path vector, path-vector protocol, path vector algorithm, path-vector

← All glossary entries