异 构 网 络 TCP 性 能 优 化 研 究

2018-04-11 03:41白晓东
实验室研究与探索 2018年1期
关键词:重传网络拓扑数据流

白晓东, 郭 菊

(1. 阳泉师范高等专科学校(电教中心), 山西 阳泉 045000; 2. 西南交通大学 经济与管理学院, 成都 610031)

0 引 言

近年来,随着计算机网络技术的飞速发展,异构性在其所呈现的特性中变得越来越突出。为了灵活有效的开发、集成、制定和部署网络业务,异构网络的通信成为下一代网络的发展趋势[1-3]。目前为止,TCP/IP技术已经成功地应用于异构网络的通信,IP技术和TCP协议已经成为下一代网络技术的核心。TCP协议用于Internet的关键在于TCP拥塞控制[4-7]。对拥塞控制的研究主要有:Jacobson于1988年首次提出了拥塞避免(Congestion Avoidance)和慢启动(Slow Start)算法;为了提高TCP传输的顽健性,1990年出现了Reno TCP版本;近几年,又出现了NewReno、SACK等改进版本。迄今为止,TCP协议的传输性能在不断地得到提升,同时也有多个改进版本应用于TCP拥塞控制算法[8-11]。

然而,在有线/无线网络异构环境下[12-13],对TCP性能增加技术只进行了初级阶段的研究。不同网络之间的路径改变称为垂直切换,常常存在于异构的网络环境中,相同网络内的路径改变称为水平切换[14-15]。就目前而言,对于异构环境中垂直切换下的TCP性能增强技术还需做进一步研究。

1 拥塞控制的改进设计

拥塞现象是指到达通信子网中某一部分的分组数量过多,使得该部分网络来不及处理,以致引起这部分乃至整个网络性能下降的现象,严重时甚至会导致网络通信业务陷入停顿,即出现死锁现象,目前的拥塞控制不能较好的满足实际通信的需求,以下将就其反馈进行改进。

1.1 端到端的反馈控制改进

根据丢失率来判断某时刻无线网络的网络状况,这是由于丢失率的连接吞吐量比利用RTT反馈信息的连接吞吐量要大。发送端的发送速率可表示为:

式中:Li和Twindow分别为传输窗口中第i帧的数据大小和数据发送出去的时间;P=Nresend/Nsend,其中Nresend和Nsend分别为需要重传的帧数和传输窗口的大小。这里我们采用了低通滤波来避免QOS波动,其丢包率P的表达式为:

P=(1-a)P+ab

(1)

式中:a(0〈a〈1)为滤波参数,b为最新的丢包率。a值越小,就会使新值越接近原有的值;a值越大,则会越增强对最终结果的影响。参数a是丢包率的方式对网络状况自适应性的主要影响因素:如果a值过大,则对丢包率的反应较快,发生拥塞时,其反应较快,但是会造成传输速率的不必要抖动;如果a值过小,则对拥塞的反应较慢,不能及时地进行调整。因此,为了提高预测的准确性,a值的选取应该视情况而定,试验中a=0.3时,适应能力最好。图1为网络负载估测模型。

图1网络负载估测模型

在图1中设置了Ph和Pl两个阈值。经过低通滤波器对丢包率P进行了平滑处理:如果P值小于Pl,则认为网络处于空闲状态;如果P值大于Ph,则认为网络处于拥塞状态;如果P值处于Ph和Pl之间,则认为网络处于负载中。基于端到端自适应的反馈控制机制能够很好降低包的丢失率和动态调整数据传输速率来适应网络状况。假设发送速率为R,发送端的最小速率和最大速率分别为MinRate和MaxRate,初始速率为IR,线性增量为AIR。

1.2 改进的TCP友好性拥塞控制

区分拥塞和非拥塞丢包是改进无线环境下TFRC性能的最基本的办法,也是最直接的办法。这种差错率失真模型能够分别对无线差错丢包和拥塞丢包进行高精度的判决,其主要原因是它可以创建非常高的精确度。这里将一个丢包模式决议函数定义为:

F(x,r,k)=1-(k×x/r)

式中:k和x分别表示所有包中和丢失包中打了“out”标记的包占所有包的比例,而r则表示丢失包数占所有包数的比例。为了找到合适有效的判决因子,在实际的网络情况中,需要对原始判决思路进行修正。

1.3 算法实现

与基于丢包的拥塞控制机制(如BIC和CUBIC)不同,Switch-TCP是通过计算期望值的吞吐量与实际吞吐量的,差值来估计网络瓶颈处的可用带宽。这样Switch-TCP不用依靠丢包就能检测到网络拥塞,从而在丢包之前进行其基本思想:当期望的吞吐量与实际的吞吐量相差超过一定值时,就认为网络拥塞程度严重,应该减小发送窗口;而当两者之间的差小于一定值时,则认为连接没有完全有效的利用带宽,应该要增大发送窗口。图2为改进的Switch-TCP算法流程图。

2 实验仿真研究

在图3的网络拓扑图中,网络2为快速网络,网络1和3为慢速网络,并且快速网络的带宽是慢速网络带宽的8倍。该网络拓扑由快速网络和慢速网络异构而成。

该网络拓扑共有5个TCP 连接,整个过程的仿真时间为160 s。网络中所有的TCP流全部从0时刻开始,在0~40 s内由路由器经慢速网络1到达目的端。40 s时通过垂直切换的方式进入快速网络2,在40~120 s内由路由器经快速网络2到达目的端。120 s时再次以同样的方式切换到慢速网络3,160 s时仿真全部结束。

2.1 算法性能改进场景1

仿真采用了图3的网络拓扑,TCP1~TCP5为发送方,Sink1~Sink5为接受方。实验中,TCP源端分别使用TCP Switch-TCP和TCP Reno算法。多个数据流存在的情况下Switch-TCP流的性能为此次仿真的考察目的。其主要性能指标包括拥塞窗口,用符号CWND表示;瞬时吞吐量,用符号Instant Throughput表示;丢包数,也可称之为慢速切换暂态;和重传率。

图2Switch-TCP算法流程图

图3 网络拓扑

2.1.1拥塞窗口

图4和图5分别为拓扑2的环境下,Reno和Switch-TCP的拥塞窗口变化值。由两个图的对比可得:在40~120 s的时间内,即快速网络状态下,Switch-TCP有很好的网络可用资源的利用率。在相同通信量的情况下,Switch-TCP流发生的拥塞要明显少于Reno流。同时,Switch-TCP流之间也能够维持较高的拥塞窗口。这充分说明了Switch-TCP不仅能够提高网络可用资源的利用率,而且还能有效的控制了拥塞窗口的变化,同时减少拥塞的发生次数。

图4 Reno拥塞窗口

图5 Switch-TCP拥塞窗口

2.1.2瞬时吞吐量

图6、7所示分别为Reno流和Switch-TCP流瞬时吞吐量。

图6 Reno瞬时吞吐量

从两图的对比中,可以得出:

(1) 整个过程中,Reno流的瞬时吞吐量的波动较大,而Switch-TCP流的瞬时吞吐量不仅收敛性好,而且一直维持在一个较高值。

图7 Switch-TCP瞬时吞吐量

(2) 由于Switch-TCP在控制拥塞窗口采用的机制存在很大的优势,故在快速网络状态中,其瞬时吞吐量的波动范围明显高于Reno流,Reno流和Switch-TCP流的瞬时吞吐量的波动范围分别为0~3.5 Mb/s和2~4 Mb/s。由此不仅减少了拥塞的发生次,同时也提高了网络的利用率。

2.1.3重传率

表1所示为Reno流与Switch-TCP流重传率的对比,由该表可见:

(1) 多个数据流存在的情况下,Switch-TCP流和Reno流的平均重传率分别为:9.252 017 2×10-4和29.638 824×10-4。与Reno数据流相比,Switch-TCP数据流的重传率明显要小。

(2) 这说明:Switch-TCP发送端能够使不必要的重传有效减少,从而有效降低发送端的能量消耗。

表1 Reno与Switch-TCP的重传率

2.1.4丢包数

表2为Reno流与Switch-TCP流切换到慢速网络阶段的丢包统计表。该阶段又称之慢速切换暂态,是一段非常短的过程。由该表可见:由于Switch-TCP对切换到慢速网络这一阶段进行了拥塞窗口的控制,所以Reno数据流的丢包数是Switch-TCP数据流的8.5倍,分别为34packets和4packets。这一措施能够大大降低数据流的丢包数,从而有效地减少了不必要的重传,并提高了网络的利用率。

表2 切换到慢速网络阶段的丢包数

2.2 算法性能改进场景2

依然采用图3的网络拓扑结构。只是TCP所采用的协议不同:除了TCP4和TCP5采用了Switch-TCP协议外,剩下的均采用了TCP Reno协议。以考察TCP Switch-TCP与Reno之间是否能够友好的共存为此次实验的主要目的。拥塞窗口和瞬时吞吐量为此次考察的主要性能指标,分别用符号CWND和Instant Throughput表示。

2.2.1拥塞窗口和瞬时吞吐量

图8~10分别为拓扑2环境下的两个数据流各性能指标的变化曲线图。

图8 Reno与Switch-TCP共存下的拥塞窗口

(1) 从图8中可见,Reno数据流对网络资源的竞争要稍稍弱于Switch-TCP数据流。

(2) 从图10中可见,Reno数据流在瞬时吞吐量方面也稍稍逊色于Switch-TCP数据流。

(3) 从图8和图9的对比中可见,不仅Reno与Switch-TCP共存的窗口收敛性比Reno窗口的收敛性要好,而且Reno与Switch-TCP共存还可以缓解网络的拥塞情况。因此,Switch-TCP数据流与Reno数据流具有友好的共存性。

图9 Reno拥塞窗口

图10 Reno与Switch-TCP共存下的瞬时吞吐量

3 结 语

在有线自身异构的网络环境下,TCP进行切换时会产生一系列问题。本文将这些问题与TCP协议的优点相结合,提出了一种基于带宽估计和双重AIMD算法的改进的TCP拥塞控制机制。Switch-TCP具有实现简单,系统额外开销小等特点,在该设计方案中,不需要改变TCP端到端的语义,只需要在发送端进行部分修改足以。另外,在与TCP Reno算法同时使用时,除了能够提高网络资源的利用率之外,还能够与TCP之间实现资源的公平竞争。通过理论分析和实验数据可以得出:与TCP Reno相比,Switch-TCP不仅平均吞吐量和重传率有了很大的改善:平均吞吐量提高了16.34%,重传率约降低了2/3;且在快速和慢速切换态时也有很大的优势:在慢速切换态时,Switch-TCP比TCP Reno降低了7/8的丢包数,在快速切换态时,Switch-TCP达到网络最佳利用率的时间比TCP Reno大约早了4 s。

参考文献(References):

[1]王志明,曾孝平,刘学,等.一种异构网络TCP拥塞控制算法[J].电子与信息学报,2016,38(4):780-786.

[2]孔金生,张浩.异构网络下TCP拥塞控制疏导方法的研究与仿真[J].计算机仿真,2016,33(9):284-287.

[3]靳玉宝,董育宁.异构网络中的丢包区分和拥塞控制机制[J].应用科学学报,2015,33(3):234-242.

[4]苑野,于永澔.基于异构网络机群环境下NPB性能分析[J].哈尔滨师范大学自然科学学报,2016,32(2):75-78.

[5]黄宏程,陆卫金,刘建星,等.基于丢包区分及共享瓶颈的MPTCP拥塞控制算法[J].计算机工程与设计,2016,37(3):571-576.

[6]葛鸽,张国清.一种适用于异构网络的TCP协议设计及其仿真[J].系统仿真学报,2004,16(12):2875-2879.

[7]曲大鹏,黄东军.一种新的适用于异构网络的TCP算法[J].计算机应用,2007,27(10):2437-2439.

[8]晋伊灿,陈立云,高秀峰,等.基于TCP Veno算法的异构网络边界代理改进机制研究[J].军械工程学院学报,2013,25(3):53-57.

[9]苏放,FAN Ying-lei.一种基于Fuzzy丢包区分的TCP拥塞控制算法[J].系统仿真学报,2008,20(7):1904-1908.

[10]王凌云,王辉.TCP性能增强代理包处理策略的研究[J].计算机工程与设计,2009,30(4):858-861.

[11]胡飞飞,李云,刘期烈,等.TCP-BM:一种适用于异构网络的TCP协议改进策略[J].电子技术应用,2010,36(4):115-118.

[12]杨军,张和生,潘成,等.一种交通信息采集传感器网络的IP互连方法[J].仪器仪表学报,2011,32(11):2596-2601.

[13]肖锴,章国安.无线异构网络TCP性能研究与改进[J].计算机应用与软件,2013,30(5):41-43.

[14]毕元梅,徐昌彪,尤齐,等.异构网络中TCP面临的问题及解决方案[J].数据通信,2008(2):39-43.

[15]李庆华,陈志刚,邓晓衡,等.基于线性均方误差的无线自组网TCP定时器改进[J].中南大学学报(自然科学版),2012,43(5):1780-1786.

猜你喜欢
重传网络拓扑数据流
基于通联关系的通信网络拓扑发现方法
汽车维修数据流基础(上)
汽车维修数据流基础(下)
能量高效的无线传感器网络拓扑控制
面向异构网络的多路径数据重传研究∗
劳斯莱斯古斯特与魅影网络拓扑图
基于多任务异步处理的电力系统序网络拓扑分析
基于数据流聚类的多目标跟踪算法
数据链路层的选择重传协议的优化改进
北医三院 数据流疏通就诊量