Professional Documents
Culture Documents
Egpbgp
Egpbgp
Abstract
This paper presents two Internet protocols used in inter-domain routing: the Exterior
Gateway Protocol (EGP) and the Border Gateway Protocol (BGP).
When it became necessary to split the Internet into several domains, a specific solution was
also required in order to exchange global internet routing information between the domains.
After introducing some concepts used in inter-domain routing, this paper gives an overview
of the first inter-domain routing protocol to be used in the Internet, EGP, and explains its
limitations.
This paper then reviews BGP-3, a successor of EGP, and shows how the problems
encountered with EGP were addressed. The new requirements imposed by the development of
the Internet are also presented.
Table of Contents
1. Introduction
1.1 The Initial Problem.
1.2 An Evolving Solution.
2. Some Concepts Used in Inter-Domain Routing
3. The Exterior Gateway Protocol (EGP)
3.1 EGP Overview.
3.2 Some Interesting Details.
3.3 The Limitations of EGP.
4. The Border Gateway Protocol (BGP-3)
4.1 Main Differences With EGP.
4.2 The BGP Messages.
4.3 The Path Attributes.
4.4 UPDATE Message Handling.
5. Conclusions
Acronyms
References
1
1. Introduction
82 84 89 90 91 94 95 year
¶¶¿¶¾¿¶¶¿¾¶¿¶¶¿¶¶¿¶¶¿¶¶¿¶¾¿¶¾¿¶¾¿¶¶¿¶¶¿¶¾¿¶¾¿¶¶¿¶¶
· EGP(S) · · BGP-3(DS) · BGP-4(DS)
EGP(DS) · BGP-2(PS) BGP-4(PS)
BGP-1(E)
The first of these protocols was EGP. Its successor, BGP, builds on the experience gained
with EGP. BGP is currently used in the Internet, but it is not yet a "real" standard. It has been
2
recycled once, back to the "proposed standard" status. The reason of the delay between BGP-
3 and BGP-4 is the introduction of the Classless Inter-Domain Routing (CIDR), a
consequence of the exponential growth of the Internet. The differences between the various
versions of BGP are detailed in [13].
Another recent protocol, the Inter-Domain Policy Routing protocol (IDPR), is not described
in this paper.
References: [1], [3], [13], [17].
These concepts are common to EGP and BGP, the examples refer to Fig 2.
• An autonomous system (AS) is a set of routers and networks under the same
administration, where all the elements are "internally connected". In other words, between
any two elements of the AS there is a path using only elements of the AS.
In EGP and BGP, each AS is identified by a 16-bit number.
• Inside an AS, the routing tables are maintained by one Internal Gateway Protocol (IGP),
for example RIP or OSPF. The information about external networks is only acquired
through the inter-domain routing protocol and injected into the IGP.
• Two routers are exterior neighbours if they each have an interface to a common network
and they belong to different autonomous systems, e.g.; B and C, or A and F. They can also
be connected by a point-to-point link.
• A router is a border router if it has at least an exterior neighbour, e.g.: A, B, …,G. The
inter-domain protocol runs on the border routers.
• Two routers are interior neighbours if they are border routers in the same autonomous
system. They may be connected indirectly through several networks, e.g.: A and B.
3
3. The Exterior Gateway Protocol (EGP)
EGP is the first Inter-Domain Routing protocol which has been used in Internet. It is to be
noted that EGP is now considered as an "historic" standard, and therefore should not be used
anymore. This paper therefore only presents an overview of EGP and explains its limitations.
A detailed description can be found in the official documents defining the protocol [1], [2]
and [4].
In line with this situation, one basic assumption in EGP is that the ASs in the Internet would
remain organised as a tree structure. As there are no cycles in this topology, the protocol has
no provision to carry the information that would be needed to avoid routing loops. Another
property of this topology is that there is only one route -- at the inter-domain level -- between
any two ASs, hence there is no defined mechanism for the selection between multiple routes
to the same destination.
EGP external neighbours exchange network reachability information: which networks can be
reached through each external neighbour. Reachable destinations are advertised inside the
AS, using the IGP. There is no specific EGP-defined communication between internal
neighbours.
A first-hop address and an arbitrary metric called "distance" is also carried (0-255). Each AS
can manipulate this metric freely: EGP only specifies that 255 represents an unreachable
destination. This "distance" is mostly used to specify a local preference for some route. For
example, if two ASs are directly connected by a main link and a backup link, the destinations
can be advertised with a higher "distance" through the backup link, hence this link would be
used only if the main link fails.
The actual operation of EGP is composed of three separate procedures, the times indicated
inside parenthesis are just typical values and are not part of the protocol:
• Neighbour acquisition - two external neighbours agree to exchange EGP information.
This is a simple "two-way handshake". The potential neighbours are usually explicitly
4
configured for each border router. A neighbour can refuse to become an EGP partner or
cease its co-operation.
• Neighbour reachability - once two external neighbours have agreed to become EGP
partners they must check that the link is still operational, this is a periodic handshake (30
seconds).
• Network reachability - if the two external neighbours can reach each other, they
periodically exchange their list of reachable networks. Each neighbour polls its partner to
get a new list (2 minutes). The whole list must be sent each time.
EGP runs directly over IP, all messages are carried inside IP datagrams. EGP therefore
implements its own mechanism for reliability. For example all messages are sequenced.
References: [1], [2], [15], [16].
5
supported by the network (MTU), the message is always fragmented. The loss of a
fragment then forces a complete retransmission, which is inefficient. A more serious
consequence is that, in case of congestion, the failure to perform the exchange in time
causes the routes to be dropped.
• EGP does not provide any protection if a router misbehaves, the warning given in [1] is
very explicit: "If any gateway sends a network reachability message with false
information, claiming to be an appropriate first hop to a network which it in fact cannot
even reach, traffic destined to that network may never be delivered."
• Because its basic design assumes a tree-like topology, EGP does not support the meshed
architecture topology required in Internet today, where multiple commercial backbones
are competing.
It is to be noted that, despite these limitations, EGP is still in use today. For example, a stub
AS with only one link to the rest of the Internet can very well use EGP for its inter-domain
protocol, as long as the backbone provides an EGP peer.
References: [1], [5], [6], [7], [16].
BGP is the successor of EGP. This paper only reviews BGP-3. The additions brought by the
latest design iteration, BGP-4, are best explained when presenting CIDR and therefore are not
detailed here. (See [13], [14], [16].)
The official documents defining BGP-3 are [10], and [11].
6
The comparison of the two protocols in the field have shown that BGP is clearly superior to
EGP in terms of CPU and bandwidth requirements [9]. On the other hand, [8] evaluates the
extra memory requirements for BGP to less than 7 percent.
References: [8], [9], [10], [11], [15], [16].
7
Some sanity checks are performed on the header of all messages, the marker field itself must
comply with the security algorithm specified in the OPEN message, if an error is detected, a
NOTIFICATION is sent and the TCP connection is closed.
It is interesting to note that, if the Internet is stable, the steady state traffic generated by BGP
is only made of the periodic KEEPALIVE messages. This is a tiny 5 bit/sec bandwidth for
each BGP connection (one way).
References: [8], [10], [11], [16].
8
AS-level best path to a destination is therefore determined by a route selection operation at
each border router of the AS.
Whenever a new route is selected or a reachable destination inside the AS has changed, an
UPDATE message is sent to each external peer, the local AS number is prepended to the AS
path attribute.
Note: the router which is the best exit point for a new route injects the route information into
the IGP. The use of direct connections to propagate inter-domain routing information to
internal BGP neighbours actually creates a synchronisation problem with the IGP: a route
should not be advertised to external neighbours before it is properly established within the AS
itself.
The UPDATE handling mechanism is know described with more details.
Please note that, for the sake of clarity, the explanations are given for an update concerning
only one network. In practice, several networks may be listed in the message.
When an UPDATE message is received, it is validated. The attributes are processed and
checked. This include the detection of the AS’s own AS number in the AS path attribute, if
this is the case, the route is never selected as this would result in a routing loop.
The actual handling of an UPDATE message is different whether it was received over an
external or an internal BGP connection.
Update received from an external neighbour.
• New route: for the network listed in the update message, the new route is compared with
the routes received previously from other external neighbours. If the best external route has
changed, it is advertised to the internal neighbours after a “hold down” time, a route
selection operation is also performed at that time.
• Unreachable route: if this route was the currently selected route to the destination, the
update is immediately propagated to all the internal neighbours. This is followed by a route
selection operation.
Update received from an internal neighbour.
• A route selection operation is performed. If a new route is selected, or a destination
becomes unreachable, this is immediately advertised to the external neighbours. If the
internal neighbours are linked by full-mesh BGP connections, as recommended in [10],
then the update is not propagated to internal neighbours.
References: [10], [12], [16].
9
5. Conclusions
Acronyms
AS Autonomous System
BGP Border Gateway Protocol
EGP Exterior Gateway Protocol
IETF Internet Engineering Task Force
IGP Internal Gateway Protocol
IP Internet Protocol
MTU Media Transmission Unit
OSPF Open Shortest Path First
RIP Routing Information Protocol
TCP Transfer Control Protocol
10
References
Note about the Requests For Comments (RFC): these documents can be retrieved from
http://ds.internic.net/ds/dspg1intdoc.html or ftp://ds.internic.net/rfc. The abbreviation
immediately following the RFC number is the RFC status as at 29 September 1996 - S:
Standards, DS: Draft Standards, PS: Proposed Standards, E: Experimental, I: Informational,
H: Historic. See [17] for more details.
NOTICE: The RFC publication date is in American format (mm/dd/yyyy).
EGP
BGP
General
11