拥塞控制端算法的实验研究

随着计算机和通信技术的发展,Internet网络在过去的十几年中迅猛发展,拥塞问题亦越来越严重。同时为了满足网格中超大数据传输和高性能计算的要求,也迫切需要一种更加鲁棒的高带宽网络环境。现有的TCP(TCP Reno)已经不能在高带宽时延乘积的网络中高效地工作,主要是传统的TCP会导致严重的性能问题,它不仅不能有效地利用高带宽,而且在高速网络中传输速率很不稳定。根据著名的TCP拥塞窗口与丢包率的关系式[1]:w=1.5/p,在高带宽下当拥塞窗口很大时,就要求非常低的丢包率,而这是极不现实的。另外,TCP在高速网络中调整窗口的方式也引起了不稳定,导致不可避免的振荡。因此在高带宽网络中,传输协议需要具有很快的响应特性同时又不能造成振荡,这些要求给设计新的算法带了很大的困难。

  近几年对源端节点的拥塞控制算法研究非常活跃,提出了几个很优秀的端算法,如HighSpeed-TCP(HSTCP)[2,3]、Scalable TCP(STCP)[4]、Fast-TCP[5]、H-TCP[6]和BIC-TCP[7]。面对高带宽延时乘积网络环境,这些新的端算法虽然采用不同的窗口控制方法,但都是快速地响应网络的拥塞,及时增加和减少拥塞窗口,从而达到高的利用率、低的排队时延、良好的公平性和稳定性等。对于这些适用于高带宽延时乘积网络的端算法的性能表现,国内对此研究还较少,在文献[8]中通过拥塞控制的流模型和响应函数从理论上分析了这些端算法的性能。在本文实验研究中,增加了文献[8]中没有涉及到的H-TCP算法。

  1拥塞控制端算法的实验研究

  1.5TCP友好性实验

  从现有的TCP过渡到未来新协议需要有一个长期共存的过渡期。在这个过渡期内,新协议必须具备良好的TCP友好性,也就是说,在新协议流与TCP流共存时,不会过多地抢占TCP流的可用带宽。所以一个过渡时期的拥塞控制协议应该是在低带宽时能与TCP流友好共存。目前大部分协议采取分段函数的方法来达到TCP友好性的目的,一般是在低带宽时采用传统TCP,而在高带宽时使用提出的新协议。但因为从低带宽到高带宽的阈值是很难精确求出来,所以采用这种方法往往效果不是很好。下面,用NS-2来模拟各个协议在瓶颈链路带宽为10和20 Mbps时,五个新协议流与五个TCP流共存的情况。表4为TCP流的平均吞吐量、新协议流的平均吞吐量和两者的比值(按从大到小排列)。

  表4在瓶颈链路带宽为10和20 Mbps时五个新协议流和

  1.6带宽利用率实验

  传统TCP不能在新型网络中取得高性能的一个最根本的原因是,瓶颈链路带宽利用率并没有随着带宽的增加而提高,因此导致了网络带宽没有得到充分利用。在此,利用NS-2模拟工具来对比分析各协议在不同瓶颈链路带宽下带宽利用率的变化。实验中,采用了20个FTP流共享瓶颈链路带宽,带宽为100 Mbps~2 Gbps。实验结果如图3所示。

  从图3不难看出,最近这些新协议在带宽利用率上都比TCP要好。这些新协议在高带宽时均能保持90%以上的带宽利用率,而TCP的带宽利用率则低于82%。表5为这些协议在不同带宽下的平均带宽利用率(按从大到小排列)。从表5可以看出,带宽利用率最高的是STCP和BIC-TCP,其次是Fast-TCP和H-TCP,然后是HSTCP,最差的是TCP Reno。

  2结束语

  通过以上端算法性能的模拟实验比较,结合文献[8]中的理论分析结果可以知道,在这些新出现的端算法中,BIC-TCP在各个方面均表现不错,总体性能最好;H-TCP在收敛性、协议内公平性方面表现很好,但RTT公平性和TCP友好性需要提高;HSTCP在TCP友好性方面表现最好,但其他方面的性能较一般。STCP的带宽利用率和稳定性是所有协议中最高的,但收敛性、协议内公平性和RTT公平性表现最差。Fast-TCP带宽利用率和RTT公平性方面表现较好,但在其他方面都表现得很不近人意。