background image
260
Chapter 7
BGP's Basic Components
other endpoints until a specific message is sent that the route is no longer
valid or that the TCP session is lost.
BGP uses TCP so that it does not have to provide a component that con-
trols the orderly delivery of messages, recognizes when data packets have
been lost, detects duplicates, and controls buffering for both ends of the reli-
able session. Before a session between two or more BGP routers has been ini-
tiated, the endpoints are considered to be in the Idle state.
As soon as one endpoint tries to open a TCP session, the endpoint is con-
sidered to be in the Connection state. If there is a problem in establishing a
connection between two endpoints, the router trying to initiate the session
will transition to the Active state, where it will periodically try to establish a
TCP session.
When the TCP connection has been established, the endpoints can be
assured that as long as the session is active, there is a reliable connection-
oriented path between the endpoints. Messages between the endpoints can
be sent reliably. This connection allows BGP messages to be very simple and
include only the information necessary with little overhead.
BGP must rely on the connection-oriented TCP session to provide the
Connection state as BGP cannot use a keepalive signal but sends a message
with a KEEPALIVE type in a common header to allow routers to verify ses-
sions are active. Standard keepalives are signals sent from one router to
another on a circuit not using a TCP session. Routers use these signals on cir-
cuits to verify that there are no failures on the circuit or that the circuit has
not terminated.
Once the TCP connection has been established, BGP sends messages back
and forth in a specific format. The first message is an identification message
from the endpoints. As soon as this message is sent, the router transitions to
the OpenSent state. When the router receives a reply to the identification
message, it transitions to the OpenConfirm state. If a connection is received
and accepted by the endpoints, the Connection state becomes the Estab-
lished state
. From then on, when a message is sent to the endpoint routers,
the routers can respond to the sent message, update their routing table with
new information in the message, or have no reaction to the sent message
whatsoever.
Using the identification message information, the endpoints can accept or
refuse a connection from their BGP neighbor.
Copyright ©2001 SYBEX , Inc., Alameda, CA
www.sybex.com