Tcp – What if someone doesn’t implement congestion control

congestiontcp

I was reading about TCP and came across the topic of congestion control wherein the TCP sender is responsible for obeying flow control and congestion control messages to prevent congestion in the network. What will happen if the sender decides not to listen to the congestion control messages and continues sending packets at a high rate anyway? Is there some way to protect the network from such devices as it seems like a security threat? I could not find the answer to this question in the text book and google wasn't of much help either so decided to ask here.

Best Answer

Congestion control enforced by TCP clients is not there to protect the network, it's simply to try determine the maximum network resource that is reliably available for that specific client at that point in time.

As TCP is a reliable protocol (acknowledging each packet) any packet loss (for example caused by congestion) will result in the TCP connection slowing down to perform re-transmissions, congestion control tries to limit these retransmissions to speed up the connection.

Congestion will always happen on your network, as a networking engineer you should always assume that clients are not trusted and therefore you need tools within the (trusted) network that will protect you from their traffic.

Look into tools like Quality of Service, Scheduling and Queues. Simply put you should be enforcing polices on your network so high priority traffic like network control OSPF traffic should not have the same level of service as someone downloading a video from YouTube, that way client congestion will not affect other services on your network.

Related Topic