The Border Gateway Protocol is the routing protocol that holds the internet together at its largest scale. Where interior protocols decide how packets move inside a single network, BGP decides how reachability information passes between separate networks run by separate organizations. The first specification, RFC 1105, “A Border Gateway Protocol (BGP),” was published in June 1989 by K. Lougheed of cisco Systems and Y. Rekhter of the T.J. Watson Research Center at IBM. It was an experimental document describing how autonomous systems could exchange the network reachability information they each knew about.
BGP is a path-vector protocol. Rather than advertising a numeric distance to a destination, a BGP speaker advertises the full list of autonomous systems that a route passes through. The current standard, RFC 4271, “A Border Gateway Protocol 4 (BGP-4),” published in January 2006 by Y. Rekhter, T. Li, and S. Hares, states that the routing data exchanged “includes information on the list of Autonomous Systems (ASes) that reachability information traverses.” From these AS paths a router can build “a graph of AS connectivity for this reachability from which routing loops may be pruned, and, at the AS level, some policy decisions may be enforced.” Carrying the whole path makes loop detection trivial: if a router sees its own AS already in a path, it rejects the route.
That policy dimension is what makes BGP unusual. Interior routing protocols generally try to compute a shortest path, but BGP exists in a world of commercial and administrative boundaries, where the cheapest path and the preferred path are often different. BGP lets each autonomous system apply its own rules about which routes to accept, which to prefer, and which to pass along to neighbors. RFC 4271 defines an autonomous system as a set of routers “under a single technical administration” with “a single coherent interior routing plan,” using an inter-AS protocol to reach other ASes. BGP is that inter-AS protocol.
BGP runs over TCP, which is why it is sometimes described as sitting on top of the reliable transport layer rather than reinventing reliability itself. Using TCP means BGP does not need its own retransmission, acknowledgment, or sequencing logic; it opens a connection to a neighbor, exchanges routing tables once, and afterward sends only incremental updates as routes appear and disappear. This design keeps the protocol relatively simple while letting it scale to the hundreds of thousands of prefixes that the global routing table now carries.
The protocol’s informal origin story is part of internet folklore: early BGP design notes are said to have been sketched on a few napkins during an IETF meeting, leading to the nickname the “two-napkin protocol” or “three-napkin protocol.” The lasting point is more important than the napkins. BGP turned a collection of independently administered networks into one interoperable internet, and every route between two distant networks today is still chosen by autonomous systems advertising AS paths to one another exactly as the 1989 and 2006 specifications describe.