TCP拥塞控制和网络层采取的策略有密切联系。 重传会使TCP连接的发送端认为在网络中发生了拥塞。于是在TCP的发送端就采取了拥塞控制措施, 但实际上网络并没有发生拥塞。 网络层的策略对TCP拥塞控制影响最大的就是路由器的分组丢弃策略。
“先进先出”FIFO处理规则
路由器的队列通常都是按照“先进先出”FIFO (First In First Out) 的规则处理到来的分组。
当队列已满时,以后再到达的所有分组(如果能够继续排队,这些分组都将排在队列的尾部)将都被丢弃。这就叫做尾部丢弃策略 (tail-drop policy)。
路由器的尾部丢弃往往会导致一连串分组的丢失, 这就使发送方出现超时重传,使TCP进入拥塞控制的慢开始状态,结果使TCP连接的发送方突然把数据的发送速率降低到很小的数值。
更为严重的是,在网络中通常有很多的TCP连接, 这些连接中的报文段通常是复用在网络层的IP数据报中传送的。
在这种情况下,若发生了路由器中的尾部丢弃,就可能会同时影响到很多条TCP连接,结果使这许多TCP连接在同一时间突然都进入到慢开始状态。这在TCP 的术语中称为全局同步 (global syncronization)。
全局同步使得全网的通信量突然下降了很多,而在网络恢复正常后,其通信量又突然增大很多。