sunshinesunshine移动IP环境下无线网络的TCP性能改进方案刘幸辉等[摘要]传统有线网络TCP拥塞控制机制建立在拥塞是网络丢包原因的基础上,所以该机制不能适应无线网络中高误码率造成的无线链路丢包的情况。我们提出一种基于移动算法的DS-TCP解决方案,此机制和算法能有效地降低无线网络中的丢包数,提高信道的利用率和性能。[关键词]无线网络拥塞控制数据链路层网络层一、前言近年来,无线网络得到快速发展,越来越多的终端通过无线的方式接人互联网,传输控制协议(TCP)在无线通信网络中也得到了越来越广泛的应用。但是,在有线网络中表现尚佳的TCP在无线链路中并不能取得很好的运行性能,这主要是由于在有线网络中认为链路是相当可靠的,而这一假定的前提在无线网络中并不成立,即无线网络中报文的丢失或时延在很大程度上是由于无线链路本身传输的特性所造成,如噪声的突发性、干扰、频谱有限、高误码率等。因此,当传统的基于有线的TCP协议应用于无线链路时,可能会导致通信性能严重降低,研究移动IP环境下无线网络的TCP性能具有十分重要的意义。表1改善TCP性能技术的比较技术种类优点缺点链路层技术(自动请求重发ARQ、向前差错纠正FEC)不需要检查IP和TCP头、可以传输加密或封装后的分组、精确设置超时间隔,更快地进行重传在信道好的情况下浪费带宽,需要额外的处理时间、存储空间占用分段连接技术分段可以使每段TCP的性能参数得到优化,整体上提高TCP的性能。不能保证TCP端到端的语义规定、固定节点在收到确认包后,不能确保MN收到相应的数据包、应用程序需要重新编译、网络开销较大。端到端技术实现原理简单可行,保持TCP连接的端到端语义、TCP发送方可以根据确认快速重传丢失的分组、避免不必要的TCP拥塞控制机制,有效地恢复丢失的报文。端到端时延远比一条链路的时延长,当端到端时延较大时,在传输层对丢失的数据做出响应前,会导致更加冗长的往返时间估计,使得通信性能明显下降。混合技术通过本地重传,抑制发往TCP发送方的重复确认,避免了TCP发送方快速重传和触发不必要的拥塞控制机制,不仅保持了TCP端到端的语义,而且基站并不要求TCP协议的实现,仅需要链路层能够识别TCP数据包即可、基站的失效仅仅影响网络由于探听TCP要求中间节点(基站)对移动主机和远端有线网络上的固定主机间的分组进行检测及操作,当网络层的IP业务流加密,并要求保持端到端的IP安全机制时,基站代码需要较大修改,而且不能提供严格的端到端的安全性、在发送窗口较小、丢失率较高的情况下,探听TCP方案的性能会恶化sunshinesunshine性能,不会引起带来灾难性的后果。二、改善TCP性能的技术一般地,有几种途径可以改善集成移动IP的无线网络环境下TCP的性能:一方面,考虑到无线链路自身的特点,采用一些技术,尽量提高其差错传输率;第二,改进移动IP协议,减少移动节点切换时延;三、改进目前的TCP协议;四、把TCP连接的无线部分和有线部分分开,采用不同的技术分开解决。在改善TCP性能的研究中,不同学者提出了不同的技术分类方案,本文根据所采用的改进技术在OSI参考模型中作用的层次和需要修改系统代码的位置把它们分为链路层技术、分段连接技术、端到端技术和混合技术。这几种技术的性能各有所长,适应不同的环境。表1分别对比了这四种技术的优缺点。三、基于DS-TCP的解决方案的提出通过对上面各种改善TCP性能方案的比较和研究,本文解决方案的指导思想如下:(1)FEC技术在网络时延较大的时候是提高TCP性能的好方法,由于移动大区切换的时延比较大,所以可以考虑在链路层采取FEC技术;(2)链路层的ARQ和网络层ARQ有些冲突,本文的方案将不采用;(3)集成移动IP的无线移动网同样会存在拥塞的问题,因为在目前的移动网络环境和下一代的移动无线互联网中,骨干网将仍然是全IP的有线网络。显然,这个骨干网中的路由器由于缓存的大小或多或少会产生拥塞;另外,在无线蜂窝网中的基站,同样也面临这样的问题。所以在考虑无线网络的TCP性能的时候,不能仅仅考虑无线链路、切换时延大的问题,还要继续考虑固定有线网络的拥塞问题;(4)区分丢失类型,分别对待和处理。无线网络下TCP性能下降的原因,归根到底,就是现有的TCP将无线网络中的丢包简单看作拥塞丢包。针对这个关键点,我们区分无线网络中的丢包类型,分别采取不同的控制机制就能从根本上提高TCP的性能。具体的改进方案如下:根据显式拥塞通知技术(ExplicitCongestionNotification,ECN)的基本思想,当路由器发生早期拥塞时,不是丢弃分组,而是尽量对分组进行标记。本文参考该技术的思想,提出TCP性能改进方案,即基于区分服务类型的TCP改进机制(DiferentServiceTCP),下面简称DS-TCP。依据移动IP环境下面无线网络的特点,由于网络提供给TCP的服务的不同,可将它们分为四种类型,称作服务类型。针对不同的服务类型,分别提供不同的控制机制,从而最大限度的保证TCP在不同情况下的性能。具体描述如下:(1)A类服务移动节点即使移动也不进行切换,无线链路错误率也不高的情况。这种服务特点:拥塞丢包造成网络性能下降。所以对这种情况,可以采取和传统固定网络差不多的控制机制,现有的TCP协议各种机制并不需要改动。当然,在无线网络环境下这种情形有多大的比重,还需要进一步统计分析,在这里提出这类服务类型,可以更好的进行问题的分析和求解。(2)B类服务在误码丢包严重,造成网络性能下降的情况。这和A类服务是不同的,前者的丢包主要在于网络拥塞。这类服务的特点在于无线链路部分的错误率太高,造成包丢失,所以,简单一点的措施就是,TCP发送端仅仅重发数据包即可。(3)C类服务其他类的丢包,包括切换丢包,移动节点突然断线等。这类服务的特点就是数据包本身错误不多,sunshinesunshine仅仅是由于切换造成了丢失,另外网络层的切换时延比较长,对TCP端到端的机制也有一些影响。(4)D类服务。无线链路性能很差,误码率高,移动节点也进行网络层切换丢包率严重。这种情形对TCP协议影响最大,也最复杂。四、DS-TCP具体分析我们在TCP报头保留字段中选取第6,7,8位作为标志字段来支持不同类型的服务机制。每位代表不同的含义。第6位表示误码丢包严重位(Error),当Error=l时,表明此时网络情况主要的问题是误码丢失比较严重;第7位表示切换丢包、中断丢包指示位(Handof),当Handof=1时,表明移动节点发生了切换或者由于掉电暂时和网络中断了;第8位表示误码丢包严重,而且切换丢包也发生的情况,对应上面的D类服务(Serious),当Serious=1,表明网络误码丢包和切换丢包同时发生。当丢包发生的时候,如何判断是属于何种类型的丢包是问题的个关键,由于误码丢包、拥塞丢包和切换丢包之间有本质的区别,导致它们在终端的表现各有差异,这也为我们间接的判断网络属于那种丢包提供了依据。基于网络特点,我们有这样的假定:排除了误码丢包和切换丢包(包括断线等)的情况,认为其他的丢包就是传统固定网络的拥塞丢包。本文的DS-TCP就是基于这个假定。由此,我们的任务就是区分和识别误码丢包和切换丢包。简单的处理方法,通过切换检测算法PM来检测移动节点的切换,一旦检测到切换发生,就认为网络的切换丢包发生了,从而区分了误码丢包和切换丢包。五、DS-TCP工作机制TCP启动后,采用传统的慢启动、拥塞避免策略,对不同的服务类型采用相应的机制。(1)A类服务的情形。通过查询Error位和Handof位,如果都为01,TCP就采取默认方式,即采取固定有线网的处理方法和机制。(2)B类服务的情形。假设现在移动节点TCP检测到误码丢包发生了,它就在第一次给发送端的ACK报文中置Error为1,TCP发送端收到该报文后查询该字段,发现网络丢包是由于链路错误所引起的,对属于B类服务的情况,处理办法如下:不减小拥塞窗口值,不减小拥塞窗口阀值;重传该报文;更新重传定时器,或者在原有的基础上动态的延长超时定时器。(3)C类服务情形。移动节点发生切换,终端TCP发现切换丢包的情况发生了,紧接着,它就在发给发送端的ACK报文中置Handof为1,告知发送端现在的丢包是由于节点切换引起的,TCP发送端收到该确认报文后,作如下处理:不减少拥塞窗口值,不减小拥塞窗口阀值;重传该报文,通知BS缓存其后所接收到的报文;重新设置重传定时器。移动节点完成切换后终端TCP置handof为0,发送确认报文,TCP对端收到该报文后检测该标志为发现切换已经完成,作如下处理:通知BS不缓存其后的报文;2.恢复正常TCP工作状态。(4)D类服务的情形。TCP对端查询发现收到的ACK报文中的Error位和Handof位均为1,得知网络出错率较高,而且切换也发生了。作如下处理:减少接收端通知窗口大小,从而适度减少发送端的报文发送率,这是接收端由于差错率太高而对发送端采取的流量控制措施;不减少拥塞窗口阀值,因为网络拥塞也可能马上就发生;通知BS缓存其后所接收的报文4;重新设置重传定时器。六、小结移动IP技术将会是下一代网络实现移动互联和漫游的关键技术。采用MobileIP和各种微移动IP管sunshinesunshine理协议的移动无线互联网将会提供给我们更加新奇的上网体验。TCP协议作为一个在固定有线网络中有着重要应用的协议,在移动无线网络应用中仍然会发挥不可替代的作用。本文在研究国内外各种移动IP技术的基础上提出了集成移动IP技术的无线网络环境下TCP性能的改进方案DS-TCP。结合改进的TCP拥塞控制机制,研究了TCP协议在区分服务环境下对确保服务的支持。在ns下的仿真实验结果证明文中的机制能很好地保证在拥塞发生时,TCP用户能按照流规格的定义获得相应的带宽,并且消除了由RTT不同引入的不公平性问题。不仅保持了TCP端到端的语义,而且通过区分网络丢包的类型来分别采取措施,提高了TCP的性能。参考文献[1]文远保,石正贵.无线网络的拥塞控制机制研究[J],计算机工程与科学,2004.26(10):P27-29[2]文远保,陈祥武.一种动态的分层次的临时代理移动IP解决方案.小型微型计算机系统.2003.24(4):716-718[3]CharlesE.Perkins,IPMobilitySupportRFC2002.October1996[4]谢希仁编著.计算机网络[M],北京:电子工业出版社,1999:233-236(原刊于《柳州职业技术学院学报》2007年第2期)薃肀莂蒃袂肀肂虿袈聿芄薂螄肈莇螇蚀肇葿薀罿肆腿莃袅肅芁薈螁膄莃莁蚇膄肃薇薃膃芅荿羁膂莈蚅袇膁蒀蒈螃膀膀蚃虿腿节蒆羈芈莄蚁袄芈蒆蒄螀芇膆蚀蚆袃莈蒃蚂袂蒁螈羀袁膀薁袆袁芃螆螂袀莅蕿蚈衿蒇莂羇羈膇薇袃羇艿莀蝿羆蒂薆螅羅膁蒈蚁羅芄蚄罿羄莆蒇袅羃蒈蚂螁羂膈蒅蚇肁芀蚁薃肀莂蒃袂肀肂虿袈聿芄薂螄肈莇螇蚀肇葿薀罿肆腿莃袅肅芁薈螁膄莃莁蚇膄肃薇薃膃芅荿羁膂莈蚅袇膁蒀蒈螃膀膀蚃虿腿节蒆羈芈莄蚁袄芈蒆蒄螀芇膆蚀蚆袃莈蒃蚂袂蒁螈羀袁膀薁袆袁芃螆螂袀莅蕿蚈衿蒇莂羇羈膇薇袃羇艿莀蝿羆蒂薆螅羅膁蒈蚁羅芄蚄罿羄莆蒇袅羃蒈蚂螁羂膈蒅蚇肁芀蚁薃肀莂蒃袂肀肂虿袈聿芄薂螄肈莇螇蚀肇葿薀罿肆腿莃袅肅芁薈螁膄莃莁蚇膄肃薇薃膃芅荿螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇