There are four BGP message types used for communication, namely, OPEN, KEEPALIVE, UPDATE, and NOTIFICATION messages. Each message type is utilized differently by BGP. Listed below are the different BGP message types.
The BGP OPEN message is used to set up and establish BGP neighbor adjacency. An OPEN message includes information on the BGP router, and these must be negotiated and accepted by both BGP routers before they can exchange routing information. The BGP router information comprises the following:
BGP Version Number – the BGP version which the router is using. BGP version 4 is the latest version. If the two BGP routers have a version mismatch, then no BGP session will be made.
AS Number – the AS number must match the originating BGP router’s AS number. This specifies if the BGP routers will run iBGP or eBGP as well.
Hold Time – it ensures that the BGP neighbor is ‘alive.’ By default, Cisco routers have 180 seconds hold time value. If the routers’ hold time values are different, the lowest hold time value will be used. The minimum hold time value is 3 seconds and to disable KEEPALIVE messages, the hold time value is set to 0.
If the BGP router doesn’t receive any UPDATE or KEEPALIVE messages from the BGP neighbor during the hold time, then it will claim that the neighbor is ‘dead.’ It will tear down the BGP session, the routes from the ‘dead’ neighbor are removed, and an UPDATE message with route withdrawal is sent to the other BGP routers for the affected prefixes. If the router does receive an UPDATE or KEEPALIVE message, then the hold timer will be reset to the initial value.
BGP Identifier (RID) – the BGP router ID (RID) identifies the BGP router in the advertised prefixes. It is a 32-bit unique number and it can be used to prevent loops for the routers that are advertised within the autonomous system (AS). The RID value must not be zero in order to form a neighbor adjacency. It can be set manually using the ‘bgp router-id’ command. If the RID is n0t manually defined, it can dynamically use the highest loopback IP address, and if no loopback interface is configured, it will use the highest IP address on a physical interface.
Optional Parameters – these parameters establish the session capabilities of the BGP router. New features can be added to BGP even without having to create a new version by using this field.
KEEPALIVE messages ensure that BGP neighbors are still alive. These messages are sent every one-third of the negotiated hold time value of the two BGP routers. By default, Cisco devices have a hold time of 180 seconds. One-third of 180 is 60, so the default KEEPALIVE message interval is 60 seconds.
If a BGP neighbor misses the three KEEPALIVE intervals, 180 seconds by default (60 x 3 = 180), the routes from that neighbor will be flushed from the other BGP router. If the hold time value is zero, no KEEPALIVE messages will be sent between the BGP peers.
UPDATE messages are used for advertising and exchanging routing information between BGP neighbors. The advertised prefix or the Network Layer Reachability Information (NLRI) information is included in the UPDATE message. The UPDATE message is also used in withdrawing advertised BGP routes, and it includes just the prefix only in the message. UPDATE messages also act as keepalives to lessen unnecessary traffic.
The last of the BGP message types, NOTIFICATION messages will be sent if errors are detected in the BGP session. When a NOTIFICATION message is sent, the BGP neighbor adjacency will be terminated, and the BGP connection will be closed. The TCP session and the BGP table will be cleared of all entries from the BGP neighbor. Route withdrawals are done by sending UPDATE messages which will be sent to the other BGP peer/s.
Download our Free CCNA Study Guide PDF for complete notes on all the CCNA 200-301 exam topics in one book.
We recommend the Cisco CCNA Gold Bootcamp as your main CCNA training course. It’s the highest rated Cisco course online with an average rating of 4.8 from over 30,000 public reviews and is the gold standard in CCNA training: