Please Whitelist This Site?

I know everyone hates ads. But please understand that I am providing premium content for free that takes hundreds of hours of time to research and write. I don't want to go to a pay-only model like some sites, but when more and more people block ads, I end up working for free. And I have a family to support, just like you. :)

If you like The TCP/IP Guide, please consider the download version. It's priced very economically and you can read all of it in a convenient format without ads.

If you want to use this site for free, I'd be grateful if you could add the site to the whitelist for Adblock. To do so, just open the Adblock menu and select "Disable on". Or go to the Tools menu and select "Adblock Plus Preferences...". Then click "Add Filter..." at the bottom, and add this string: "@@||^$document". Then just click OK.

Thanks for your understanding!

Sincerely, Charles Kozierok
Author and Publisher, The TCP/IP Guide

NOTE: Using software to mass-download the site degrades the server and is prohibited.
If you want to read The TCP/IP Guide offline, please consider licensing it. Thank you.

The Book is Here... and Now On Sale!

Enjoy The TCP/IP Guide? Get the complete PDF!
The TCP/IP Guide

Custom Search

Table Of Contents  The TCP/IP Guide
 9  TCP/IP Lower-Layer (Interface, Internet and Transport) Protocols (OSI Layers 2, 3 and 4)
      9  TCP/IP Internet Layer (OSI Network Layer) Protocols
           9  TCP/IP Routing Protocols (Gateway Protocols)
                9  TCP/IP Exterior Gateway/Routing Protocols (BGP and EGP)
                     9  TCP/IP Border Gateway Protocol (BGP/BGP-4)
                          9  BGP Fundamentals and General Operation

Previous Topic/Section
BGP Fundamentals and General Operation
Previous Page
Pages in Current Topic/Section
Next Page
BGP Topology, Speakers, Border Routers and Neighbor Relationships (Internal and External Peers)
Next Topic/Section

BGP Overview, History, Standards and Versions
(Page 4 of 4)

Overview of BGP Functions and Features

If I were to summarize the job of BGP in one phrase, it would be “to exchange network reachability information between autonomous systems and from this information determine routes to networks”. In a typical internetwork (and in the Internet) each autonomous system designates one or more routers that run BGP software. BGP routers in each autonomous system are linked to those in one or more other autonomous systems. Each BGP stores information about networks and the routes to them in a set of Routing Information Bases (RIBs). This route information is exchanged between BGP routers, and propagated throughout the entire internetwork, allowing each AS to find paths to each other AS, and thereby enabling routing across the entire internetwork.

Key Concept: The exterior routing protocol used in modern TCP/IP internetworks is the Border Gateway Protocol (BGP). Initially developed in the late 1980s as a successor to EGP, BGP has been revised many times; the current version is 4, so BGP is also commonly called BGP-4. BGP’s primary function is the exchange of network reachability information between autonomous systems to allow each AS on an internetwork to send messages efficiently to every other one.

BGP supports an arbitrary topology of ASes, meaning they can be connected in any manner. An AS must have a minimum of one router running BGP, but can have more than one. It is also possible to use BGP to communicate between BGP routers within the same autonomous system.

BGP uses a fairly complex system for route determination. The protocol goes beyond the limited notion of considering only the next hop to a network the way distance-vector algorithms like RIP function. Instead, the BGP router stores more complete information about the path (sequence of autonomous systems) from itself to a network. Special path attributes describe the characteristics of paths, and are used in the process of route selection. Because of its storage of not just next-hop but path information, BGP is sometimes called a path vector protocol.

BGP chooses routes using a deterministic algorithm that assess path attributes and chooses an efficient route while avoiding router loops and other problem conditions. The selection of routes by a BGP router can also be controlled through a set of BGP policies that specify, for example, whether an AS is willing to carry traffic from other ASes or not. However, BGP cannot guarantee the most efficient route to any destination, because it cannot know what happens within each AS and therefore what the cost is to traverse each AS.

BGP's operation is based on the exchange of messages that perform different functions. BGP routers use Open messages to contact neighboring routers and establish BGP sessions. They exchange Update messages to communicate information about reachable networks, sending only partial information as needed. They also use Keepalive and Notification messages to maintain sessions and inform peers of error conditions. The use of these messages is summarized in the topic on BGP general operation, with details (including message formats) in the section on detailed operation.

BGP uses TCP as a reliable transport protocol, so it can take advantage of the many connection setup and maintenance features of that protocol. This also means that BGP doesn't need to worry about issues such as message sequencing, acknowledgements, or lost transmissions. Since unauthorized BGP messages could wreak havoc with the operation of the Internet, BGP includes an authentication scheme for security.

Key Concept: BGP supports an arbitrary topology of autonomous systems. Each autonomous system using BGP assigns one or more routers to implement the protocol. These devices then exchange messages to establish contact with each other and share information about rates through the internetwork using TCP. BGP employs a sophisticated path vector route calculation algorithm that determines routes from path attributes that describe how different networks can be reached.

Note: BGP maintains backwards compatibility with the older exterior routing protocol, EGP.

Previous Topic/Section
BGP Fundamentals and General Operation
Previous Page
Pages in Current Topic/Section
Next Page
BGP Topology, Speakers, Border Routers and Neighbor Relationships (Internal and External Peers)
Next Topic/Section

If you find The TCP/IP Guide useful, please consider making a small Paypal donation to help the site, using one of the buttons below. You can also donate a custom amount using the far right button (not less than $1 please, or PayPal gets most/all of your money!) In lieu of a larger donation, you may wish to consider purchasing a download license of The TCP/IP Guide. Thanks for your support!
Donate $2
Donate $5
Donate $10
Donate $20
Donate $30
Donate: $

Home - Table Of Contents - Contact Us

The TCP/IP Guide (
Version 3.0 - Version Date: September 20, 2005

Copyright 2001-2005 Charles M. Kozierok. All Rights Reserved.
Not responsible for any loss resulting from the use of this site.