异构网络中传统TCP的性能仿真研究

来源 :网络与信息 | 被引量 : 0次 | 上传用户:ynsyxs
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  1 引言
  TCP已经被证明在传统的有线网络中能够高效地运行,即使在原先并不是为其设计的高速有线网络以及其它的拓扑结构中也能够正常运行。然而随着计算机和通信技术的发展,无线广域网(如GPRS、UMTS等)、无线局域网(如IEEE802.11)、卫星通信网、蓝牙网络等多种无线网络系统正逐步代替传统有线网络成为互联网接入的最后一跳。异构网络融合在一起,也使得TCP拥塞控制机制面临着新的挑战。
  
  2 TCP版本简介
  当前在网络中使用的TCP版本有NewReno 和SACK等,下面对NewReno和SACK做简单介绍。
  (1) NewReno
  NewReno在早期版本Reno的基础上做了一个简单的改进,它消除了Reno在遭遇单窗口多包丢失的情况下被迫等待重传定时器超时的现象。部分ACK(partial ACKs)是指在快速恢复开始时,对发送端已经发送的部分分组的确认。在Reno中,当发送端TCP接收到partial ACKs时,则退出快速恢复阶段,并把当前可用窗口“缩减”至拥塞窗口(cwnd)的大小;而在NewReno中,partial ACKs却不使TCP退出快速恢复阶段,其具体实现的机制如下:
  ①当收到第三个重复ACK并且发送端还没有处于快速恢复过程时,设置ssthresh为当前拥塞窗口(假设接收窗口无限大)的一半,并记录传送的最大序列号:
  cwnd=ssthresh(1)
  ②重传丢失的段并设置cwnd为ssthresh加3,即:
  cwnd=ssthresh+3(2)
  按已经离开网络的报文段数目③扩充拥塞窗口。
  ③对每个接收到的额外的重复ACK,将cwnd增大1个段,即:
  cwnd=cwnd+1(3)
  扩充拥塞窗口以反映已经离开网络的数据段。
  ④如果cwnd和接收端的通知窗口的值允许的话,发送一个数据段。
  ⑤当一个确认新数据的ACK到达时,此ACK可能是由步骤②中的重传引发的确认,或者是由稍后的一次重传引起的。
  如果这个ACK确认了包括“传送的最大序列号”的数据,那么这个ACK确认了所有在丢失段的原始传送和第三个重复ACK接收之间的段,设置:
  cwnd=ssthresh(4)
  这里的ssthresh是步骤①中设置的值。
  如果这个ACK不确认包括“传送的最大序列号”的所有数据,就产生一个部分ACK。在此种情况下,重传第一个没有确认的数据段。按确认的新数据量来减小拥塞窗口,如果cwnd的新值允许的话,然后加回一个段并发送一个新数据段。这个“部分窗口缩减”试图确定:当快速恢复最终结束时,大约ssthresh数量的数据还在向网络中传送。此时,不退出快速恢复过程,即如果任何重复ACK随后到达,执行上面的步骤③和④。对在快速恢复期间第一个到达的部分ACK,也要重设重传定时器。
  (2)SACK
  TCP-SACK是对早期版本Reno的一种简单改进。它们在扩大和减少拥塞窗口上使用的是相同的方法。在TCP中增加SACK并不改变拥塞控制基本阶段的方法,SACK保留了Reno在报文失序时的鲁棒性,且在必要时使用重传计时等待来进行恢复。SACK和Reno的主要差别在于当多个报文段从一个数据窗口丢失时的性能和所采取的策略。
  SACK和Reno一样,当数据发送端收到3个重复确认时,就进入快速恢复阶段,发送端重发报文,并把拥塞窗口减半。在快速恢复阶段中,SACK保持了一个变量pipe,用它来估计出现在网络中的分组数,这与Reno的实现机制不同。当pipe小于拥塞窗口大小时,源端发送新的报文分组或者重发一个老报文,并将变量pipe值加1。而当发送端接收了一个带SACK选项的重复ACK报文,表明新数据已被接收端接收时,pipe值减1。用pipe变量可以把何时发送数据分组与发送哪个分组分离开来。发送端维护了一个特殊的数据结构(scorebord),记忆前面SACK的确认信息。当发送端被许可发送分组时,依次发送丢失列表中记录的分组。如果没有这样的分组,而接收端的通告窗口又足够大,则发送端将发出新的数据分组。
  当重传分组本身被丢弃后,SACK用重传超时探测丢失,再次重传后进入“慢启动”过程。在确认了所有出现在进入“快速恢复”阶段的分组后,发送端将从“快速恢复”阶段退出。
  对于“部分ACK”(partial ACK),即“恢复ACK”,SACK有特殊的处理。每收到一个“部分ACK”,发送端将变量pipe减2,而不是减1。在启动“快速重传”的时候,当认定一个分组已经被丢失时,将变量pipe减1;重传一个分组时,pipe变量加1。
  
  3 仿真工具介绍及仿真分析
  本文使用的仿真工具是OPNET 10.0,它的功能强大,可以做各种各样的模拟和调试,是仿真工具中较好的一个。在OPNET各种产品中,Modeler采用阶层性的模拟方式,从协议间关系看,节点模块建模完全符合OSI标准。为了对比各种TCP的性能,在仿真中重点考察平均吞吐量Throughput。
  
  4 各TCP版本在无线环境中的仿真分析
  (1) 仿真拓扑结构和配置
  网络的拓扑结构如图1,一般认为所谓“哑铃型”结构可以比较近似地反映网络的实际情况。
  在节点server2到节点client2之间建立CBR恒比特流,这里配置的是视频会议业务流,争抢AP节点到hub之间的链路带宽。节点server1为TCP发送方,业务源为FTP,节点client1为TCP接收方。
  本仿真中无线链路仅仅考虑误码率,不考虑移动性等其他无线特性。在节点0和节点AP之间的误码率呈均匀分布,误码率选取分别为1E-5、1E-6、1E-12。仿真时间为20分钟。TCP段的长度选为1000字节。路由策略为尾部丢弃。
  
  


  (2) 不同误码环境中的仿真结果和分析
  在图2中,进行了SACK、NewReno在不同误码环境中的吞吐量比较。当误码率为1E-5时,SACK与NewReno相比略有提高。在这种环境中,SACK恢复单窗口多丢包的机制更为有效、准确。
  当误码率为1E-6以上时(此时近似为有线网络中的误码情况),这两种版本的吞吐量差别不大。主要是由于这时误码率已经很低,他们提高TCP性能的机制起作用的机会自然不多。
  当无线误码环境很糟糕时(如误码率位1E-5),SACK、NewReno都不能有效提高TCP的吞吐量。但是在无线环境中,误码率1E-5甚至更差的情况是比较常见的,因此,在广泛的无线环境中,SACK、NewReno无法良好运行。
  
  5 结束语
  通过对各版本TCP的仿真分析,可以得出这样的结论:在高误码的环境中,现有的TCP版本(如:NewReno和SACK)的使用都会使得网络吞吐量急剧下降。SACK选项的使用,可以适当提高TCP在无线环境中的性能。但是TCP_SACK在无线环境中性能提高的程度相当有限,主要是因为它不能够把误码丢包与拥塞丢包有效区分开来,同时由于在遭遇丢包,并接收到DUPACKs时,拥塞窗口cwnd盲目减半,导致TCP在无线环境中吞吐量会很低,不能够充分利用网络资源。
  


  现有的解决方案中有的或者失去了端对端的语义,或者存在公平性方面的问题,或者链路层的重传与TCP层的重传存在冲突。因此要想得到一个提升无线TCP性能的解决方案则需要能够区分出网络拥塞丢包和误码丢包;并且要能够适应复杂的无线环境;当然同时还需要考虑维护TCP的端到端的语义,保证数据分组可以可靠地传输到目的地以及能和现存网络TCP机制并存,并仅仅要求局部修改;还需考虑带宽共享的公平性等其他一些重要因素,这些都是亟待进一步研究的主要问题。
其他文献
ADSL账号被盗事件一度在网络上引起了极大的反响,在自己家里上网都能被“黑客”盗走密码,多少让人有些窝火,今天我们就来加强自己的计算机和所用Modem的设置,防止ADSL账号被盗。    硬件设置    现在很多ADSL MODEM都支持路由功能,这虽然给用户多台电脑共享上网提供了方便,却也给别人入侵电脑留下了安全隐患,因为这种ADSL路由器本身有着很严重的安全漏洞。  为了实现用户对路由器的远程
期刊
对于一般用户而言,位于键盘左上方的ESC键并不常用,但你知道吗?其实借助ESC键还能实现不少快捷操作哦!   1.上网时,如果点错了某个网址,直接按ESC键即可停止打开当前网页。   2.上网时总免不了要填写一些用户名什么的,如果填错了,按ESC键即可清除所有文本框内的内容;而打字时,如果打错了也可以按ESC键来清除错误的选字框。  3.除了“Ctrl+Alt+Del”组合键可以调出windows
期刊
由LinusTorvalds(并以其名字命名)和全世界许多合作者共同开发的计算机操作系统,尽管有些公司将它作为Linux兼容实用程序的商业软件包的一部分,但它是免费发布的,它的源代码是公开的,可以由任何对它进行操作的人进行修改。Linux核心与由免费软件基金会开发的GNU实用程序一起工作,而GNU并不产生核心。它作为一种操作系统由一些网络服务器使用,并且在1998/1999年间开始因为诸如IBM和
期刊
俄罗斯的卡巴斯基是全球最著名最强大的反病毒软件之一,但是其资源占用方面一直为人所诟病。其实卡巴斯基经过合理的设置之后,并不比其他杀毒软件占用系统资源多。下面我就说说卡巴斯基的设置问题。  我的电脑配置是256M DDR的内存、AMD2800+处理器,显卡是七彩虹MX550,这个配置不高不低,还算马虎。如果用卡巴斯基默认的设置,开机前一分钟和杀毒进行到最后时刻,机器反应严重迟钝,我根据自己的实际情况
期刊
微软对Vista中的Windows防火墙做了重大改变,从而增强了安全性,让高级用户更容易配置及定制,同时保留了新手用户所需的简洁性。     一、采用两种界面来满足不同需求     Vista防火墙有两种独立的图形配置界面: 一是基本的配置界面,可以通过“安全中心”和“控制面板”来访问; 二是高级配置界面,用户在创建自定义的MMC后,可作为插件来访问。这可以防止新手用户无意中的改变而导致连接中断,
期刊
1 引言    随着证券公司大集中交易系统建设步伐不断加快,证券公司面临的信息系统安全问题也日益突出,在这种情形下,一旦发生灾难,导致数据丢失或系统不能恢复,不仅给证券公司带来巨大损失,也会给社会带来巨大的经济和政治影响。因此如何在目前条件下,充分利用国内外异地灾备技术的最新成果,建立健全证券公司异地灾备系统,是值得探讨的重要课题。    2 灾备技术手段的种类     以往,由于灾备技术实现手段
期刊
1 引言    许多企业都具有许多跨不同部门、地理位置或分支机构的异类应用程序组合。尽管可以使用多个 ERP系统来满足业务单元的要求,但它们实际上会导致数据碎片。集成这些系统比较复杂,并且通常采用专用方式进行处理。尽管如此,公司仍投入了大量的资源来集成遍布多个 ERP 系统的信息,以便作出更好的业务决策。BPEL 提供了一个以流程为中心的标准方法来集成不同的系统。对一个企业内部单个系统,企业内部多
期刊
为提高商品房交易信息的透明度,规范了销售行为,有效避免因抵押、查封、未进行初始登记、无预售许可证等造成错件。准确掌握房地产市场的动态,及时进行宏观调控,方便房地产登记,便于百姓购房。按建设部的要求,加强房地产市场宏观调控,掌握每一时点的新建房产的分类、分结构、分区域的交易信息,及时反映市场供求及结构的发展变化趋势。通过对系统生成数据的分析,对市场供求、结构、价格变动等市场状况做到心中有底,并能够依
期刊
进入7月,国内数码相机市场由淡变旺,销售量有了明显的增高,我们从一系列的销售数据中发现,数码单反相机的关注度已经超越各品牌消费级旗舰机型,在销售数量上,相比去年同期有了质的飞跃。  的确,从各大品牌今年上半年发布的业绩报告中不难看出,数码单反虽然在销售数量上不及消费级数码相机,但数码单反相机的利润却是消费级数码相机的几倍,高利润的背后,其实就是一块诱人的蛋糕。从三星的“借鸡下蛋”,到索尼的“买鸡生
期刊
1 引言  由美国Echelon公司在90年代推出的LonWorks凭借其开放的网络操作系统,标准的网络通讯协议,丰富的介质接口模板和支持多种介质间互相通信等特点[1],已在楼宇智能控制等诸多领域内得到了很好的应用。本文将探讨如何优化LonWorks控制网络,使其更安全、便捷、有效地服务于各行各业。    2 硬件性能优化  2.1路由器  采用路由器控制网络交通,将其它区域的交通进行网络分段,从
期刊