TCP流量控制机制与拥塞窗口机制之间的联系?
发布网友
发布时间:2022-04-26 23:42
我来回答
共1个回答
热心网友
时间:2022-05-02 05:48
目前,网格的发展越来越受到大家的重视,它们可以在不同国家甚至不同州的机器之间传输甚至到达几千G字节的大文件,将大规模的数据处理分散到世界范围的各个组织中。网格的应用需要高速远距离网络的支持,这可能需要网络速度达到622Mbit/s或是更高。在这种情况下,传统的TCP拥塞控制算法就不太适用了。这主要有以下三方面的原因:
(1)传统的TCP拥塞控制机制在高速网络中反应性比较差,这是因为TCP在高速网络中对分组丢失的反应要敏感得多。这主要是由于它的拥塞避免算法是基于AIMD(Additive Increase Multiplicative Decrease,和式增加积式减少)的。所以一个分组的丢失在高速网络中所造成的后果是很严重的:一个分组丢失被检测出来之后,TCP连接就会将带宽减半(积式减少),这样就会不止花上几百毫秒或是多达几秒钟,甚至花上几分钟或是几个小时来恢复所有的可用带宽(和式增加)。另外,慢启动也会造成TCP在高速网络中性能的下降,但是它的影响要比拥塞避免小点。因为通过三个重复的ACK来判断分组丢失的情况要比超时经常得多,因此TCP连接会花费大多数时间在拥塞避免算法上。
(2)传统的TCP总是把分组丢失解释为拥塞,而假定链路错误造成的分组丢失是可以忽略的,但是在高速网络中,这种假设是不成立的。当数据传输速率比较高时,链路错误是不能忽略的。由链路错误引起的分组丢失和由网络拥塞引起的分组丢失的可能性是相同的。因此,不能笼统地认为分组丢失都是由网络拥塞引起的。因此,当一个TCP分组丢失后我们不应该认为就是出现了网络拥塞,拥塞的判断需要两个连续的分组丢失。
(3)传统的TCP不能使用网络链路的所有容量。这主要是由于在AIMD算法中,TCP从一个分组丢失到带宽的恢复所用的时间比较长。这是目前所有TCP