当前位置:论文网 > 论文宝库 > 工程技术类 > 工程硕士论文 > 正文

基于opnet 的TCP Veno 仿真和性能研究

来源:UC论文网2015-12-06 20:28

摘要:

摘 要:由于传输介质不同,传统拥塞控制算法在无线网络中出现了性能退化。为此,人们提出了包括TCP VENO 在内的多种改进算法。TCP Veno 通过检测链路中积压数据包大小来判断丢包的性

摘 要:由于传输介质不同,传统拥塞控制算法在无线网络中出现了性能退化。为此,人们提出了包括TCP VENO 在内的多种改进算法。TCP Veno 通过检测链路中积压数据包大小来判断丢包的性质,进而对TCP Reno 后三个阶段进行改进。本文利用OPNET Modeler 对该算法下的吞吐量、网络利用率、公平性、友好性进行仿真分析。结果表明,TCP VENO 各方面性能均比Reno 得到提高。
  关键词: 计算机网络;OPNET Modeler;TCP VENO;TCP Reno;拥塞控制
  
  0 引言
  由于无线传输的便捷性,越来越多的终端通过无线方式接入互联网,人们对无线网络的传输速率要求越来越高,无线网络中的拥塞控制渐显重要。鉴于TCP/IP 协议在有线网络中的良好表现,传统拥塞控制协议在无线通信网络以及混合网络中也得到了越来越广泛的应用。然而,由于传输介质的差异,传统的TCP 拥塞控制协议并不能在无线网络中获得较好的效果。因此,要想使TCP 在无线网络中具有良好的表现,就必须对传统的TCP 传输协议进行改进。
  传统的拥塞控制机制(TCP Reno)有四个阶段:慢启动(slow start)、拥塞避免(congestionavoidance)、快速重传(fast retransmit)和快速恢复(fast recovery)。在慢启动阶段开始,将拥塞窗口初始化为1 个数据包大小,发送端每收到一个ACK 确认,拥塞窗口增加1,拥塞窗口以指数速度递增。当拥塞窗口达到慢启动阈值(ssthresh)时,进入拥塞避免阶段,此时发送端每隔一个往返时延(RTT)使拥塞窗口增加1,即采取线性速度增加拥塞窗口。在上述过程中,若接收端收到3 个或以上重复ACK 确认,则认为网络中出现拥塞,进入快速重传和快速恢复阶段,直至收到新的ACK 确认,结束快速恢复[1][2][3]。
  显然,TCP Reno 将丢包的原因全部归于拥塞,这是由于传统的拥塞控制协议是基于有线网络的良好传输介质设计的,而无线网传输介质具有高时延、高误码、强干扰等特性,丢包的大部分原因不是由于拥塞所致。此时TCP Reno 仍将丢包归因于拥塞,不能准确计算网络的实时可用带宽,只是盲目的降低拥塞窗口,减少发送端发送的数据量。基于此,TCP Veno提出了能区分丢包原因的拥塞控制算法。
  1 TCP 
  VENO 拥塞控制机制TCP Veno 采用类似Vegas[4]的机制来判断网络的拥塞状态,通过判断丢包的性质来采取不同的拥塞控制策略。当网络处于真正的拥塞时,采用TCP Reno 的拥塞控制机制,当网络的丢包是由误码等原因产生的随即丢包时,则采用另外一种拥塞控制机制。
  1.1 丢包判断算法TCP Veno 通过计算网络中数据报的积压状况来判断网络的状态。设积压的数据报大小为N,则有N = Actural *(RTT ? BaseRTT) (1)其中Actural 为发送端实际发送速率,RTT 为网络当前往返时延,BaseRTT 为网络测到的最小往返时延。
  TCP Veno 将N 的大小作为判断网络是否拥塞的依据,设定一个门限值β,当N 超过β时,说明连路中数据包积压严重,判定连接处于拥塞状态,若此时发生丢包则采用类似TCPReno 的拥塞控制机制;当N 小于β 时,即使发送端检测到丢包,也认定连接正常,判定丢包为其他原因造成的随即丢包,采取不同于TCP Reno 的拥塞控制算法。实验表明,β 取3较合理[5]。
  1.2 TCP Veno 的四个控制阶段TCP Veno 是对TCP Reno 的改进算法,也即采用四个阶段来实现拥塞控制[6]。
  慢启动阶段:TCP Veno 采用同TCP Reno 一样的慢启动控制策略。
  拥塞避免阶段:TCP Veno 采用基于区分丢包性质的拥塞控制策略:当检测到丢包非拥塞所致,则每收到一个新ACK 确认,发送端使cwnd 增加1,使拥塞窗口继续保持指数速度增加。当检测到丢包为拥塞所致,则每收到2 个新的ACK 确认,使cwnd 增加1。这样当拥塞没有发生时,发送端不会盲目降低拥塞窗口的增加速度,而当拥塞发生时,发送端将拥塞窗口增速放缓,从而能使拥塞窗口更长时间地保持在较大的状态,提高网络的吞吐量和利用率。
  快速重传和快速恢复:当发送端收到3 个及以上重复ACK 确认,TCP Reno 认为此时网络中出现了拥塞,开始重传丢失的数据包,进入快速重传阶段。TCP Veno 对此进行了调整,当收到3 个或以上重复ACK 确认,判断网络的状态:若N<β,则认为网络不够拥塞,判定丢包为随即丢包,将拥塞阈值ssthresh 置为4*cwnd/5, 将cwnd=ssthresh+3,重传丢失的包;若N>β,则认为网络出现拥塞,将拥塞阈值ssthresh 置为cwnd/2,将cwnd=ssthresh+3,重传丢失的包。前者中,网络中出现随即丢包时发送端也将拥塞阈值ssthresh 降低,是基于一种稳定性考虑。采用新策略的TCP Veno 算法能使拥塞窗口更长时间地保持在较大范围,更有利于提高网络吞吐量和利用率。
  若发送端计时器超时,则将拥塞阈值设为cwnd/2,并将cwnd 重置为1,重传丢失的数据包。若拥塞窗口小于或等于慢启动门限值,则TCP 进入慢启动阶段;否则进入拥塞避免阶段。
  2 TCP Veno 和TCP Reno 性能比较
  鉴于 OPNET 良好的仿真性能,本仿真在OPNET 原有TCP Reno 代码的基础上进行修改来实现改进算法。将实际的网络结构简化为图1 所示的哑铃状
  2.1 吞吐量、拥塞窗口、网络利用率性能比较设定丢包率为0.5%,一条链接为TCP Veno,一条链接为TCP Reno。利用图1 的哑铃状模型得到仿真结果如下图:
  图2 吞吐量图3 拥塞窗口图4 网络利用率由图2、3、4 可知,和TCP Reno 相比, 采取VENO 的发送端能一直保持一个较大的拥塞窗口,从而能获得较大的吞吐量和较高的带宽利用率。这是因为这种改进算法中拥塞窗口的设置是基于RTT 的计算获得的,它能反映出网络的实时状况,从而避免了Reno 中降低拥塞窗口的盲目性。也在一定程度上消除了拥塞窗口的波动,使发送速率表现出较好的稳定性。
  另外:当网络丢包率为0 时,二者表现出一样的性能,当丢包率在一定范围内上升时,TCP Veno 在吞吐量、拥塞窗口、网络利用率等方面比TCP Reno 表现出更好的性能。
  2.2 TCP VENO 算法的友好性和公平性算法的友好性是指:使用该算法的TCP 连接和使用其他版本TCP 协议连接的共存能力,该算法不能导致其它版本TCP 连接没有资源可用。为此,新建立1 条采用TCP Reno 的连接,采用0.5%丢包率,观察不同连接的吞吐量大小:
  图5 不同连接的吞吐量由图5 知,采用不同拥塞控制协议的连接在带宽资源的利用中,具有相似的竞争力。因此TCP Veno 算法具有很好的友好性。当设置不同的丢包率时,TCP Veno 均能表现出良好的友好性。
  公平性是指:采用同种协议的不同连接,往返延时小的能够获得更多的资源,往返延时大的得到的资源较少。这种问题在所有算法中均存在,但协议应尽量减小这种不公平性。为此,在原仿真模型中新建一条连接,在丢包率为0.5%时对公平性的仿真如组图6.
  (a)两条Reno 连接的吞吐量比较(b)两条Veno 连接的吞吐量比较图6 公平性比较图6(a)为传统Reno 算法的公平性结果,图6(b)为Veno 算法的公平性结果,由图可知TCP Veno 在公平性方面表现更好。另外,在丢包率为0 到5%的范围内进行仿真,可见,TCP VENO 具有比Reno 更好的公平性。
  3 结论
  TCP Veno 利用队列中积压的数据包大小来判别丢包的原因,进而采取不同的措施来调整发送窗口,它能避免盲目的将拥塞窗口减半。本实验以0.5%丢包率为典型环境进行仿真,仿真结果表明,TCP Veno 在各方面均表现良好,能够维持更大的拥塞窗口,吞吐量可比RENO 提高四倍,取得更高的带宽利用率。该算法的友好性和公平性也较好。
  另外,该算法是基于TCP Reno 的改进,与其他TCP 协议具有很好的共存性,该算法是一种基于端点的拥塞控制算法,不需考虑网络中间环节,具有很好的可实施性。该算法在稳定性方面还存在一些问题,这是今后需要改进的地方。
  [参考文献] 
  [1]C.P.Fu,“TCP VENO:End-to End Condestion Control Over Heterogeneous Networks,”Ph.D.dissertaion,TheChinese Univ.Hong Kong,,Hong kong,,2001.
  [2] 王文博,张金文.OPNET Modeler 与网络仿真.北京:人民邮电出版社,2003
  [3] 李世银,王秀娟,徐冬等. Method of Available Bandwidth Estimation for TCP Based on Channel NoiseModel[J]. 系统仿真学报 2008 年19 期
  [4] 徐昌彪,鲜永菊.计算机网络中的拥塞控制与流量控制.北京:人民邮电出版社,2007
  [5] Cheng Peng Fu and Soung C.Liew. TCP Veno: TCP Enhancement for Transmission Over Wireless AccessNetworks[J].IEEE Journal of Selected Areas in Communications,2003(2)
  [6] C.P.Fu,“TCP VENO:End-to End Condestion Control Over Heterogeneous Networks,”Ph.D.dissertaion,TheChinese Univ.Hong Kong,,Hong kong,,2001.

核心期刊推荐