|Sets up the BGP adjacency
|Advertises, updates or removes routes
|Indicates an error to a BGP neighbour
|Ensures that the BGP neighbours are still reachable
This message is used to establish and set up the BGP adjacency. Each side of the connection will negotiate capabilities before a peering is established. The message will contain information such as the BGP version number, ASN of the originating router, hold time, BGP identifier and other parameters.
One parameter is the hold time, which sets the hold time in seconds for each BGP neighbour. The first couple of OPEN messages sent by the router have a smaller hold time value, which then increases to the default value of 180 seconds on Cisco routers. When an UPDATE or KEEPALIVE message is received the hold timer gets reset. If the hold timer reaches zero the session is removed, and an UPDATE message is sent to other BGP neighbours.
OPEN messages are attached with a BGP router ID (RID) which is a unique 32-bit number identifying the router that is sending the BGP messages that can be set statically or dynamically. It can also be used in addition to AS_PATH as a route loop prevention method.
These messages are exchanged every third of the hold time set on the session between the two routers. With a default hold time of 180 seconds on a Cisco router, BGP KEEPALIVE packets are sent every 60 seconds. BGP does not rely on the TCP connection state to ensure a BGP session remains online.
The UPDATE message advertises any feasible routers, or can withdraw any previously advertised routes. The message also contaisn network layer reachability information, or NLRI, including the prefix and any associated BGP policy accounting. An UPDATE message can act as a keepalive to reduce unnecessary traffic.
A NOTIFICATION message is sent when a error is detected with the BGP session, such as a hold timer expiring, capabilities with the neighbour changing or a BGP session reset being requested. Any of these notifications will cause the connection to close.