Encyclopedia > BGP

  Article Content

Border gateway protocol

Redirected from BGP

The Border Gateway Protocol (BGP) is the routing protocol in the Internet. It maintains a table of IP networks or 'prefixes' which designate network reachability between autonomous systems (AS). It is described as a path vector[?] protocol.

It supports classless interdomain routing and uses route aggregation[?] to decrease the size of routing tables. Since 1994 version four of the protocol has been in use on the Internet. All previous versions are considered obsolete.

Very large private IP networks can also make use of BGP. For example to join a number of large OSPF networks together where OSPF by itself would not scale to size.

Most Internet users do not directly use BGP. However, as all Internet Service Providers must use BGP to establish routing between one another, it is one of the most important protocols on the Internet. Compare and contrast with Signalling System 7, which is the core inter-provider call setup protocol on the PSTN.

BGP operation

BGP neighbors or peers are established by manual configuration between routers, creating a TCP session on port 179. BGP is unique among routing protocols in this respect by using TCP as its transport protocol.

It is comprised of two parts, Interior Border Gateway Protocol and Exterior Border Gateway Protocol, respectively known as IBGP and EBGP. IBGP is used within a single autonomous system while EBGP is used between different ASs. All routers within a single AS and participating in BGP routing must be configured in a full mesh, ie, every router must be configured as a peer of every other. This causes obvious scaling problems, 10 routers in an AS would require 50 TCP connections to be established. There are two solutions to this built into BGP, route reflectors and confederations.

Route reflectors reduce the number of connections required in a AS. One or two (for redundancy) routers are configured as route reflectors and then other routers in the AS will only need to peer to them.

Confederations are used in very large networks where a large AS can be configured to encompass smaller more manageable internal ASs. Confederations can be used in conjunction with route reflectors.

BGP problems and mitigation

A feature known as 'dampening' is built into BGP to mitigate the effects flapping routes. Flapping routes can be caused by physical interfaces or WAN links going up and down or misconfigured or mismanged routers. Without dampening routes can be rapidly injected and withdrawn from routing tables which can cause a heavy processing load on routers and therefore possibly effect overall routing stability. With dampening flapping routes are exponentially decayed. On the first instance a route if a route becomes unavailable and then suddenly reappears, for whatever reason, the dampening will not take effect to maintain the normal fail over times of BGP. On the second occurrence BGP will time out that prefix for a certain length of time and subsequent occurrences will be exponentially timed out. After the abnormalities have ceased and a suitable length of time has passed for the offending route, prefixes can be reinstated and the slate wiped clean. Dampening can also prevent malicious denial of service type attacks. Dampening timings are highly customisable.

One of the largest problems BGP faces and indeed the Internet infrastructure as a whole is the exponential growth of the Internet routing table. One of the many advantages of IP version 6's huge address space is to potentially solve this by better use of route aggregation.

BGP version four is specified in Request for Comment (RFC) 1771.

External links

All Wikipedia text is available under the terms of the GNU Free Documentation License

  Search Encyclopedia

Search over one million articles, find something about almost anything!
  Featured Article

... of the urethra is urethritis, said to be more common in females than males. Urethritis is a common cause of dysuria[?] (pain when urinating). Related to urethritis is ...

This page was created in 24.1 ms