Cisco Support Community
Community Member

How to calculate the bandwidth that for BGP?

Hi all,

When I learned BGP, the book said BGP is not suitable for low bandwidth links for the BGP overhead. But how to calcuate the bandwidth consumed by BGP? and How much bandwidth that is good for running BGP? Thank You!

Best Regards

Teru Lei

Community Member

Re: How to calculate the bandwidth that for BGP?

Hi Teru,

The BGP Routing table is very huge and If BGP is advertising thousands of routes to many peers, TCP must transmit thousands of packets in a short duration. The BGP peers receive these packets and send TCP acknowledgements to the advertising BGP speaker, which causes the BGP speaker to receive a flood of TCP ACKs in a short period of time. If the ACKs arrive at a rate that is too high for the route processor, packets back up in inbound interface queues. By default, router interfaces use an input queue size of 75 packets.

a. Increasing the interface input queue depth (using the hold-queue <1-4096> in command) helps reduce the number of dropped TCP ACKs and hence the convergence time.

b. Enabling fast switching and/or CEF on the inbound and the outbound interfaces would also help.

I would not be able to suggest the exact Bandwidth, but you could check for the packet drops and then decide if you would need to increase the bandwidth of the link.

c. Enable the Path MTU (PMTU) feature, using the ip tcp path-mtu-discovery command.

BGP uses TCP sessions and all TCP sessions are bounded by a limit on the number of bytes that can be transported in a single packet. This limit, known as the Maximum Segment Size (MSS), is 536 bytes by default. In other words, TCP breaks up packets in a transmit queue into 536 byte chunks before passing packets down to the IP layer.

The disadvantage is that smaller packets increase the amount of bandwidth used to transport overhead. Since BGP builds a TCP connection to all peers, a 536 byte MSS affects BGP convergence times.

PMTU allows TCP to determine the smallest MTU size among all links in a TCP session. TCP then uses this MTU value, minus room for the IP and TCP headers, as the MSS for the session. If a TCP session only traverses Ethernet segments, then the MSS will be 1460 bytes. If it only traverses Packet over SONET (POS) segments, then the MSS will be 4430 bytes. The increase in MSS from 536 to 1460 or 4430 bytes reduces TCP/IP overhead, which helps BGP converge faster.

I hope this helps.

CreatePlease to create content