External versus Internal BGP

The classic application of BGP is a route exchange between autonomous systems. However, the scalable properties of the protocol, along with the need to transit several attributes to implement routing policy, have encouraged its use within autonomous systems. As a result, as shown in Figure 11-2, there are two types of BGPs: External BGP (EBGP), for use between ASs; and Internal BGP (IBGP), for use within them.

Figure 11-2. External BGP (EBGP) Exists between Autonomous Systems, and Internal BGP

(IBGP) Exists within Them

Figure 11-2. External BGP (EBGP) Exists between Autonomous Systems, and Internal BGP

(IBGP) Exists within Them

External Bgp

EBGP and IBGP differ in a number of important ways. The most critical difference to understand at this stage is that the BGP router never forwards a path learned from one IBGP peer to another IBGP peer, even if that path is its best path. The exception to this is when a route-reflector hierarchy (discussed later) is established to reduce the size of the IBGP mesh. EGP peers, on the other hand, always forward the routes learned from one EBGP peer to both EBGP and IBGP peers, although you can use filters to modify this behavior. IBGP routers in an AS, therefore, must maintain an IBGP session with all other IBGP routers in the network to obtain complete routing information about external networks. In addition to this full IBGP mesh, most networks also use an IGP, such as IS-IS or OSPF, to carry the routing information for links within the local network.

BGP is described as a path-vector protocol, although it is essentially a distance-vector protocol that carries a list of the ASs traversed by the route to provide loop detection for EBGP. An EBGP speaker adds its own AS to this list before forwarding a route to another EBGP peer. An IBGP speaker does not modify the list because it is sending the route to a peer within the same AS.

As a result, the AS list cannot be used to detect the IBGP routing loops (loops within a single autonomous system). These loops usually are caused by poor configuration, resulting in inconsistent policy. The Cisco BGP implementation provides methods to fine-tune configurations for improved scalability, but careless use may result in routing loops. When modifying the default BGP behavior, you should ensure that your modifications provide for a consistent policy within the AS.

BGP4 was the first version of the protocol to include masks with each route, and therefore supports Classless Inter Domain Routing (CIDR). As you may remember from Chapter 2, "IP Fundamentals," CIDR provides a means for address aggregation, and has been the major contributor to minimizing the prefix count in Internet routing tables since 1993. Prefix aggregation involves a loss of more detailed routes. Because all BGP prefixes have an associated AS path list, it follows that BGP4 also provides the means for aggregating AS paths into an AS set.

Continue reading here: Description of the BGP4 Protocol

Was this article helpful?

0 0