Border Gateway Protocol (BGP) is a dynamic routing protocol used between Autonomous Systems (ASs). BGP is widely used by Internet Service Providers (ISPs).
As three earlier-released versions of BGP, BGP-1, BGP-2, and BGP-3 are used to exchange reachable inter-AS routes, establish inter-AS paths, avoid routing loops, and apply routing policies between ASs.
Currently, BGP-4 is used.
BGP has the following characteristics:
Unlike an Interior Gateway Protocol (IGP), such as Open Shortest Path First (OSPF) and Routing Information Protocol (RIP), BGP is an Exterior Gateway Protocol (EGP) which controls route advertisement and selects optimal routes between ASs rather than discovering or calculating routes.
BGP uses Transport Control Protocol (TCP) as the transport layer protocol, which enhances BGP reliability.
When routes are updated, BGP transmits only the updated routes, which reduces bandwidth consumption during BGP route distribution. Therefore, BGP is applicable to the Internet where a large number of routes are transmitted.
BGP provides many routing policies to flexibly select and filter routes.
BGP provides a mechanism that prevents route flapping, which effectively enhances Internet stability.
As a dynamic routing protocol used between ASs, BGP4+ is an extension of BGP.
Traditional BGP4 manages IPv4 routing information but does not support the inter-AS transmission of packets encapsulated by other network layer protocols (such as IPv6).
To support IPv6, BGP4 must have the additional ability to associate an IPv6 protocol with the next hop information and network layer reachable information (NLRI).
Two NLRI attributes that were introduced to BGP4+ are as follows:
Multiprotocol Reachable NLRI (MP_REACH_NLRI): carries the set of reachable destinations and the next hop information used for packet forwarding.
Multiprotocol Unreachable NLRI (MP_UNREACH_NLRI): carries the set of unreachable destinations.
The Next_Hop attribute in BGP4+ is in the format of an IPv6 address, which can be either a globally unique IPv6 address or a next hop link-local address.
Using multiple protocol extensions of BGP4, BGP4+ is applicable to IPv6 networks without changing the messaging and routing mechanisms of BGP4.
BGP transmits route information between ASs. It, however, is not required in all scenarios.
BGP is required in the following scenarios:
On the network shown in Figure 1, users need to be connected to two or more ISPs. The ISPs need to provide all or part of the Internet routes for the users. Routers, therefore, need to select the optimal route through the AS of an ISP to the destination based on the attributes carried in BGP routes.
The AS_Path attribute needs to be transmitted between users in different organizations.
Users need to transmit VPN routes through a Layer 3 VPN. For details, see the HUAWEI NetEngine 8000 F Series Feature Description - VPN.
Users need to transmit multicast routes and construct a multicast topology. For details, see the HUAWEI NetEngine 8000 F Series Feature Description - IP Multicast.
BGP is not required in the following scenarios: