Hi @BAZ
Thanks for your question:
Network congestion is when there are more data traffic is forwarded through some portion of the network than would otherwise need to carry the traffic. Congestion, in the context of networks, refers to a network state where a node or link carries so much data that it may deteriorate network service quality, resulting in queuing delay, frame or data packet loss and the blocking of new connections.
Congestion control aims to keep number of packets below level at which performance falls off dramatically
Effects of Congestion:
Packets arriving are stored at input buffers
Routing decision made
Packet moves to output buffer
Packets queued for output transmitted as fast as
possible
Statistical time division multiplexing
If packets arrive to fast to be routed, or to be output,
buffers will fill
Can discard packets
Can use flow control
Can propagate congestion through network
Like most other routing protocols, the BGP protocol does not detect congestion.
BGP uses TCP to communicate route announcements between neighbors. In this case, it uses any congestion avoidance mechanisms available to keep neighbors communicating in an effective way. All features of TCP in this case only affect the performance of the BGP protocol communication and not the content of the messages.
At a higher level, BGP does not use any specific congestion information obtained by the router's TCP stack in order to calculate the resulting routing table. In fact, it's impossible to use this information in any useful way even if you try. TCP statistics from the BGP session represent only a very small part of the Internet; may be affected by very specific factors; and may have little or nothing to do with overall network performance at any given moment.
Thanks!