In the Established state, the router can send and receive: Keepalive Update and Notification messages to and from its peer. Keepalive messages are exchanged and, upon successful receipt, the router is placed into the Established state. In the OpenSent state, the router sends an Open message and waits for one in return in order to transition to the OpenConfirm state. In the Active state, the router resets the ConnectRetry timer to zero and returns to the Connect state.
If unsuccessful, it starts the ConnectRetry timer and transitions to the Active state upon expiration. In the Connect state, the router waits for the TCP connection to complete and transitions to the OpenSent state if successful. In the Idle state, BGP initializes all resources, refuses all inbound BGP connection attempts and initiates a TCP connection to the peer. The BGP defines the messages that each peer should exchange in order to change the session from one state to another. For each peer-to-peer session, a BGP implementation maintains a state variable that tracks which of these six states the session is in. In order to make decisions in its operations with peers, a BGP peer uses a simple finite state machine (FSM) that consists of six states: Idle Connect Active OpenSent OpenConfirm and Established. Increasingly, BGP is used as a generalized signaling protocol to carry information about routes that may not be part of the global Internet, such as VPNs. These families include the IPv4 (default), IPv6, IPv4/IPv6 Virtual Private Networks and multicast BGP. If the multiprotocol extensions to BGP are negotiated at the time of creation, the BGP speaker can prefix the Network Layer Reachability Information (NLRI) it advertises with an address family prefix. The action could be to drop the route, or it could be to modify some attributes of the route before inserting it in the routing table.ĭuring the peering handshake, when OPEN messages are exchanged, BGP speakers can negotiate optional capabilities of the session, including multiprotocol extensions and various recovery modes. Each rule describes, for routes matching some given criteria, what action should be taken. This mechanism consists of a set of rules. How routes are propagated can be controlled in detail via the route-maps mechanism.
These route-propagation rules effectively require that all iBGP peers inside an AS are interconnected in a full mesh with iBGP sessions.
It is also called the Multiprotocol Extensions which is Multiprotocol BGP (MP-BGP).īGP neighbors, called peers, are established by manual configuration among routers to create a TCP session on port 179. The new RFC allows BGP4 to carry a wide range of IPv4 and IPv6 "address families".
The major enhancement was the support for Classless Inter-Domain Routing (CIDR) and use of route aggregation to decrease the size of routing tables. RFC 4271 corrected errors, clarified ambiguities and updated the specification with common industry practices. The current version of BGP is version 4 (BGP4), which was published as RFC 4271 in 2006. IPv6 BGP was first defined in RFC 1654 in 1994, and it was improved to RFC 2283 in 1998. The Border Gateway Protocol was first described in 1989 in RFC 1105, and has been in use on the Internet since 1994. 5.2 AS numbers depletion and 32-bit ASNs.2.2 Router connectivity and learning routes.