Technical Notes

What is BGP Routing and why it’s important for networked enterprises and Internet users

Internet building blocks: the Autonomous Systems

The global Internet is a collection of over 16,000 administratively independent networks (called Autonomous Systems, or ASes) that participate in global routing of IP traffic. An AS may be a corporation, an Internet service provider, or a government entity.

Some Autonomous Systems are huge, continent-spanning backbone networks; most are enterprise networks; and there are also smaller ones whose network may be in a single building. Some large enterprises encompass multiple Autonomous Systems.

The ASes can be divided into customer networks and provider networks (the latter mostly transiting traffic), and they operate under service agreements governing how the traffic should be sent from one AS to another.

An organization can register itself as an Autonomous System in order to have some control over routing its own traffic. A common reason to register enterprise networks as an AS is to have two or more Internet providers. In order to connect a newly established AS to the global Internet, it suffices to find an Internet provider who will let the new AS connect to it. This is good for Internet growth, but sometimes creates problems for its security and integrity.

BGP routing protocol—the glue that keeps the Internet inter-connected

Every enterprise that is an Autonomous System owns a number of BGP border routers that are connected to its own internal network on the inside, and to border routers of neighboring ASes on the outside. BGP (Border Gateway Protocol) is a distributed software protocol, defined in the Internet standards, that is running on the border routers.

The role of the BGP routers is to exchange routing information messages with one another so that they can properly direct traffic, hop by hop from one AS to another, until it reaches its final destination. Without such a global routing infrastructure, there simply would be no Internet as we know it.

In a nutshell, the way BGP works is that BGP routers participate in a “global gossip”, with each router telling its neighbors what it thinks are the best routes to the networks it is aware of. By listening to such messages from all neighbors, a BGP router makes a decision which route to adopt from among many alternatives, and in turn announces its decision to its neighbors, and so on.

Importantly, BGP routing is policy-based: it means that the best route selection is determined by how IT management and network administrators of each AS set their routing policies. A routing policy is a list of somewhat arcane rules that instruct the router how to choose the preferred routes to all destinations, and which routes to reject, given the BGP messages it receives.

Thus, how traffic is routed from one AS to another is the net result of all such policies combined. There are no magic optimal algorithms that find best routes—it is the policies set deliberately by network administrators that result in global patterns of traffic flow. Alas, configuring policies on routers is difficult and error-prone; and with the current BGP standards there are no guarantees that certain combinations of particular policies will result in stable routing. Indeed, it has been mathematically proven that for certain conflicting policies the routes will never converge to a stable pattern, but rather will be oscillating forever between alternative patterns.

BGP routing can get very dynamic: Renesys monitoring data show that Internet routing patterns are constantly changing, and that accidental BGP misconfigurations and failures, or deliberate attacks on the routers, can have a global impact on Internet traffic ranging from degraded quality of service to complete loss of connectivity for a large number of networks.

BGP routing is part of the critical communications infrastructure spanning the entire planet.