BGP - FSM - Active state

Like all dynamic routing protocols, BGP employs a Finite State Machine (FSM) to establish and maintain peerings between BGP routers, and to exchange routing information.

Within this FSM, we have the Active state. The Active state is an adjacency state that a BGP peering goes into when the initial Connect state fails.

If the initial TCP three-way handshake of the Connect state fails, BGP will enter the Active state and will:

  • Attempt another TCP three-way handshake to establish a connection with the remote BGP neighbor.
  • If it is successful, it will move to the OpenSent state.
  • If the ConnectRetry timer expires before success, then we move back to the Connect state.
  • BGP will also keep listening for incoming connections in case the remote BGP neighbor tries to establish a connection.
  • Other events can cause the router to go back to the Idle state such as the resetting of BGP for example.

The Active state is optional and often skipped in modern implementations. In the past, the Active state was used to initiate a new connection when the initial attempt failed, but nowadays, routers often move directly from Connect to OpenSent state, skipping the Active state altogether.