2. What is BGP…?
Border Gateway Protocol (BGP) is the protocol
which is backing the core routing decisions on
the Internet. It maintains a table of IP networks
or 'prefixes' which designate network reach-
ability among autonomous systems (AS).
It is described as a path vector protocol (which
maintains the path information that gets
updated dynamically).
3. Count…
BGP is one of the most important protocols of the
Internet.
BGP was created to replace the Exterior
Gateway Protocol (EGP) to allow fully
decentralized routing.
BGP is used internally between the gateways to
determine which gateway offers the best route
to a given destination network.
4. BGP Peering
Peering is the term used to describe the transit
arrangements between ISPs.
There are really two levels of peering, either you are
a peer or a client. Peer networks agree to carry
traffic of a peer without charging for it.
Connections between networks can be private
point-to-point links or through an exchange. Many
NSPs are tending to move to private connections
due to the overload situation at many of the NAPs.
BGP is the protocol used to exchange routing
information between the various networks.
5. Types of BGP Sessions
While the stated purpose of BGP is to allow for the conveyance
of routing information between autonomous systems. Clearly,
BGP routers must communicate differently when they share a
common AS (as opposed to being in different ASs).
In fact, this is the distinction between
1. Internal BGP (IBGP)
2. External BGP (EBGP)
These two variations on the same protocol act virtually the same
in most instances. The differences between them lie in three
areas.
1. Routing update processing
2. Handling of route attributes
3. Connectivity requirements
6. BGP Message Types
There are four types of BGP messages, each with its own
role in setting up, maintaining, or tearing down a BGP
peering session.
They are listed below:
1. OPEN messages
2. UPDATE messages
3. KEEPALIVE messages
4. NOTIFICATION messages
None of these messages may be exchanged until two
BGP routers have first set up a TCP session between
themselves on port 179. Errors on that TCP link will trigger
BGP NOTIFICATION messages that will close the
connection.
7. BGP Attribute Categories
Attributes are used in the routing decision process.
They might also be used in the input and output
policy definition process.
The four categories of attributes are described below:
1. Well-known Mandatory
2. Well-known Discretionary
3. Optional Transitive
4. Optional Nontransitive
8. BGP Routing Process
Most routing protocols receive routing information, use
it to build and maintain a routing table, and share that
table (or a subset of the table) with other routers in the
network.
9. BGP Problems
With a lots of benefits and importance of BGP in
network, it also have some problem on it’s
maintenance.
The main problems are follow:
1. Internal BGP scalability
2. Instability
3. Routing table growth
4. Load-balancing problem
5. IP Hijacking
10. Implementations
Bird Internet routing daemon, a GPL routing
package for Unix-like systems.
GNU Zebra, a GPL routing suite supporting BGP4.
OpenBGPD, a BSD licensed implementation by
the OpenBSD team.
Quagga, a fork of GNU Zebra for Unix-like systems.
XORP, the extensible Open Router Platform, a BSD
licensed suite of routing protocols.
VNE, a C# software library implementing BGP