2016年考研计算机专业辅导:TCP的糊涂窗口综合症和Nagle算法
专业课
时间: 2019-03-09 12:18:58
作者: 匿名
TCP的糊涂窗口综合症和Nagle算法
TCP的流量控制方案是基于窗口的,有可能会出现一种被称为“糊涂窗口综合症”的状况。其中一种情况是,如果接受方处理较慢,并且每次从其接收缓存取走很少量数据就通告这个很小的窗口,而不是等到有较大的窗口时才通告;发送方得到这个很小的接收窗口后,立即按照这个窗口大小组成一个TCP报文段发送出去,而不是等待其它的数据以便发送一个大的报文段。如此往复,会导致网络的传输效率降低。
对于糊涂窗口综合症的现象,发送和接收双方均可以采取措施加以避免。 发送端比较有效的方法是采用Nagle算法。该算法主要是:在连接建立开始发送数据时,立即按序发送缓存中的数据(必须小于或等于MSS),在已经传输的数据还未被确认的情况下,后续数据的发送由数据是否足以填满发送缓存的一半或一个最大报文段长度决定。
接收端采用推迟确认技术,对收到的报文段进行确认和通告窗口的前提条件是:接收缓存的可用空间至少得到总空间的一半或者达到最大报文长度之后。如果条件不满足,则推迟发送确认和窗口通告。
总之,避免糊涂窗口综合症的总的原则是:接收端避免通告小窗口,发送端尽量将数据组成较大的报文段发送出去。