叶敏华,刘雨,张惠民
北京邮电大学 信息工程学院
摘 要:介绍了Mobile IP的基本概念和其中的切换问题,分析了影响切换时通信性能的3个因素:移动检测、重新注册以及与上层协议的相互作用,提出了新的切换方案:将链路标识嵌入到FA的代理广播消息中,使得MH可以据此进行快速的移动检测; MH为发送端时,切换后主动发送未应答的TCP包; MH为接收端时,切换后通过主动发送多个TCP SACK包来请求发送端发送已丢失的TCP包。计算机仿真结果表明新的方案具有良好的性能。
关键词:移动IP;切换;TCP;链路标识;仿真
一、引言
随着Internet的迅猛普及、笔记本计算机的大量使用,以及无线通信设备的发展,用户产生了对主机移动性的需求,即希望主机在改变其所处的位置时无需中断已有的通信连接。传统的IP技术无法支持主机的移动性,为此,IETF 定义了Mobile IP[1]。
二、Mobile IP的基本原理
Mobile IP中引入2个网络实体:家乡代理(HA)和外地代理(FA),HA和FA分别在家乡网络和外地网络周期性的发送代理广播消息,移动主机(MH)根据收到的代理广播消息来判断自己是处在家乡网络还是外地网络。当MH位于家乡网络时,使用正常的IP协议通信;当它进入外地网络时,需要获得一个转交地址(CoA),然后向HA发送注册消息,通知其当前位置,即CoA。
对端通信主机(CH)发送给MH的数据包通过正常的IP路由到达MH的家乡网络,HA替MH截获这些数据包,将它们进行隧道封装,添加新的IP包头,其目的地址为CoA,源地址为HA的地址,HA将新的IP包转发到MH的当前位置,再由FA或MH恢复出原来的IP包;从MH到CH的数据包则采用正常的IP路由。Mobile IP原理如图1所示。
三、Mobile IP的切换问题
Mobile IP是一种简单有效的网络层移动性解决方案,但它同时也带来2个问题:三角路由[2]和切换。其中的切换问题是指从MH离开原先的外地网络开始,到HA接收到MH的新的注册请求为止的这段时间内,由于HA不知道MH的最新的CoA,所以它仍然将属于MH的IP包通过隧道发送到原先的外地网络,导致这些IP包被丢弃,使得MH与CH间的通信受到影响,特别切换频繁或者从MH到HA的距离很远时。整个切换过程分为2个阶段:移动检测阶段MH需要进行移动检测以判断自己是否更换了接入的子网,这段时间称为移动检测时延;重新注册阶段MH判断出发生移动之后,从MH向HA发送注册请求,到HA收到请求为止的这段时间,其长短取决于MH到HA的距离。
完成上述的2个阶段后,MH可以与CH继续通信,但是在这段时间内的丢包可能会与高层协议相互作用,进一步恶化通信性能,最典型的是和TCP协议的相互作用。TCP[3]是目前Internet中事实上的可靠传输协议的标准,它的一个基本假设是所有的丢包都是由网络拥塞引起的,每次检测到丢包,TCP都要启动相应的拥塞控制机制。这个假设在固定网络中工作得很好,但是在Mobile IP环境下,这个假设就不成立,由切换导致的丢包会使得TCP连接的中断时间更长,使TCP性能恶化。[4]中的研究表明,由于Mobile IP切换引起的TCP连接中断时间可以达到6 s,最严重的可以到12 s左右,其间有多次的超时重传。
总之,移动检测、重新注册以及与上层协议的相互作用3个因素共同决定了MH进行切换时的通信性能。
四、相关的工作
1.本地注册方案
[5]中提出了分层的Mobile IP(Hierarchical Mobile IP),在这个方案中,一个区域内的FA按照一定的层次结构(如树状结构)组织起来,当MH在该区域内移动时,MH只需向新旧路由上的离MH最近的一个共同的FA(即新旧路由上的交叉FA)注册即可,即实现了本地注册;只有当MH移出该区域时,MH才需要重新向HA注册。这种方案降低了重新注册的时延,改进了Mobile IP的切换性能。
2.原FA通知(Previous FA Notification)方案
[6]中提出了原FA通知方案,它在FA中设置一个缓冲区,用来保存一部分发往MH的数据包。切换发生后,MH将它从原FA接收到的最后的IP包的Source IP和ID连同注册请求一起发给切换后的FA,由新FA将这些量转发给原FA。这样原FA将缓冲区中MH尚未收到的IP包转发给新FA,最后由新FA转发给MH。这种方案通过缓存有效地减少了数据包的丢失。但是,如何设置FA中的缓存容量是一个难题,此外,新旧FA之间的通信,需要定义新的协议来支持。
上述方案的共同的特点是没有考虑到移动检测对MH通信的影响,而且它们仅在IP层考虑如何改善切换时的通信性能。我们认为,为了获得整体上的优良性能,有必要考虑如何对通信协议的各层分别加以改进以提高性能,考虑各层协议之间的配合协作,而不必保证之间的严格独立,这也是我们下面提出的新的方案的指导思想。
五、快速的移动检测
[1]中定义了MH在Mobile IP层用于移动检测的2种算法,分别称之为算法1与算法2。
1.算法1
该算法利用代理广播消息中ICMP路由器广播部分的生存时间域,如果MH在生存时间域规定的时间内却没有收到来自当前代理的广播消息,那么MH就认为自己已经移动到另外的子网,于是它向下一个发来代理广播消息的FA注册,进行切换。并规定,代理广播消息的发送周期为1 s,而生存时间域的值为广播周期的3倍,即3 s,可知,算法1的平均移动检测时延为2.5 s。
2.算法2
该算法利用网络前缀来进行移动检测。MH根据代理广播消息中的网络前缀扩展来判定它连续收到的2个广播消息是否来自同一个子网,如果是,就不用进行切换;反之,则需要进行切换。算法2的平均移动检测时延为0.5 s。
3.我们的算法
我们提出采取链路层和网络层相配合的方法来实现快速的移动检测。考虑到在无线通信网络中,无线链路周期性的发送自己的链路标识(LID),MH可依据LID来决定是否要更换无线接入点。链路层发送LID的频率远高于Mobile IP层的代理广播消息的频率,比如在CDMA 2000移动网络中,基站识别码的发送周期是20 ms[7]。同时,[8]中指出,DECT网络中发送链路标识的周期为10 ms,我们据此提出一种快速的移动检测方法。
我们提出在Mobile IP代理广播消息中添加一个LID选项,用以指示当前FA辖区内的链路标识清单,FA响应MH的代理广播请求消息时发送的代理广播消息需要包含该选项。LID选项的格式如图2所示。
当MH更换链路或是接入点时,能迅速接收到新的LID,它将该LID通知Mobile IP层,使其检查该LID是否包含在原先接收到的代理广播消息中的LID清单内,如果是,表明MH仍然在同一个FA的服务区内,无需进行Mobile IP切换;反之,则说明MH离开了原先的FA的服务区,必须立即进行切换,从而完成移动检测的过程。如果需要进行Mobile IP层的切换,MH立即主动发送代理广播请求消息, FA则会用包含新的LID选项的代理广播消息应答。
使用LID选项进行移动检测所需的时间和链路层发送LID的频率相关,由于后者远远高于Mobile IP层的代理广播消息的频率,所以使用该方法可以实现快速的移动检测,所需的时间通常只需几十毫秒,而不是前面提到的算法的0.5 s,甚至2.5 s。此外,该方法既适用于一个FA管理多条链路的情况,也适用于同一条链路上有多个FA的情形。
六、减小Mobile IP切换对上层协议的影响
如何减小甚至消除由于移动检测阶段和重新注册阶段的丢包所引起的TCP超时重传是一个很关键的问题。在这一节中,我们主要研究如何减小Mobile IP切换对TCP性能的影响,就MH为发送端和接收端的情况,分别提出了改进TCP性能的措施。
1.MH为发送端
MH为发送端时,由于从CH返回的ACK可能会在原先的FA处丢失,所以MH端的TCP常常会因为收不到ACK而进入超时重传的状态。因此我们提出,当切换完成之后,MH将所有还未被应答的TCP分组重新发送,这样用主动重传代替超时重传,可以避免TCP等待超时重传,减少链路空闲的时间,有利于提高网络的利用率,提高MH的TCP吞吐量。
2.MH为接收端
MH为接收端时,在MH的切换过程中,由CH发送的数据包可能会在原来的FA处丢失,导致CH端的TCP进入超时重传的状态。我们认为,为减少由于切换过程中丢包引起的超时重传,可以从2个方面着手:一是用主动的重传代替超时重传,前提条件是发端需要知道何时需要重传哪一些包,如同我们在前面所提出的那样,但是当MH为接收端时,则很难做到这一点,因为CH无法确切的了解MH发生切换的时间;二是将超时重传转化为快速重传,考虑到TCP发端收到3个重复的ACK,则进入快速重传状态,否则,则等待超时,因此我们提出,MH发生切换后,立即发送3个TCP SACK(Selective ACK)[9],含有足够的相关信息,从而迫使TCP发端进入快速重传,避免超时重传。
3.实现
前面提出的对TCP的改进方案需要修改MH端的TCP协议实现,这显然是不现实的。所以在这一小节中,我们提出在Mobile IP层实现部分的TCP功能,这样做的好处是无需对TCP层作任何的更改,而且不会对TCP层产生任何的影响,不需要收端与发端之间的通信配合。
MH为发送端时,我们提出在Mobile IP层设立一块缓存空间,用于缓存TCP层分组,通过检查接收到的ACK来判断接收端已收到的分组,将其从缓存空间中删除。当MH切换之后,将缓存空间中剩余的分组再次发送。MH为接收端的情况则更简单一些,Mobile IP层检测MH发送的SACK,并保存MH发送的最后一个SACK,当Mobile IP层切换完成后,Mobile IP将该SACK重发3遍,发送端就可以利用这些信息进行快速重传,避免了超时重传。
我们的方法在Mobile IP层利用了TCP层的信息,破坏了通信协议中的严格分层的原则,但是我们认为:(1)网络协议中的分层的概念在过去的很长时间内是设计网络通信协议的重要的原则,而且也确实是一种非常有效的手段,但是,人们也发现,将通信协议栈严格地进行分层,会导致系统整体效率的降低,所以各层之间完全独立不是非常可行的,适当的互操作是必要的,比如[10]中提出的跨层协议优化(Cross-Layer Optimization)的概念就提倡不同层之间可以相互利用信息,从而改善整体的性能,其中的Snoop就是一个利用TCP层信息来进行链路层重传的协议;(2)我们的方案实现仅在Mobile IP层做了修改,并不破坏其他协议层的实现,也不干扰其他协议层的功能;(3)在我们的方案中,仅对MH中的Mobile IP的实现做了修改,而无需修改其他主机和网络节点中的任何协议实现,既保持了很好的兼容性,又显著地改善了性能,同时代价也很小。
七、计算机仿真结果与分析
我们使用ns2[11]进行计算机仿真,所仿真的网络拓扑如图3所示。
1.快速移动检测算法的性能
我们首先考察不同的切换频率下,采用不同的移动检测算法时,从CH发往MH的UDP包的丢包率的情况。UDP包的速率为384 kbit/s,,有线链路带宽为5 Mbps,仿真的时间1 min,仿真结果如图4所示。很显然,采用算法1进行移动检测导致的丢包率是惊人的,算法2的结果明显优于算法1,而采用LID选项所导致的丢包率远远低于上述2种算法。
其次,我们考察在不同的LID发送频率下UDP包的丢包概率, MH 1 min内切换6次,其他参数设置相同,考察LID发送周期与丢包率的关系,结果如图5所示,随着LID周期的增大(由20ms逐步增大到120 ms),丢包率基本上是线性上升的。
2.改进的TCP性能
最后我们考察采用了TCP性能改进措施后,Mobile IP切换时的TCP性能。我们首先仿真了MH作为TCP发送端的情况,仍采用图3所示的拓扑结构,设链路带宽为10 Mbps,时延为10 ms,TCP分组大小为1 000字节,仿真时间为60 s,在这段时间内,MH发生一次切换。我们统计这段时间内CH接收到的所有的TCP分组的数目,计算出TCP的平均吞吐量,仿真结果如图6所示。从图中可以看出,采用我们的方案的性能明显优于TCP Reno,在切换时延为100 ms时,采用我们的方案会多发送232个TCP分组,而50 ms则为283个TCP分组。而且我们方案的性能随着切换时延的加大而平稳下降,而TCP Reno在切换时延超过300 ms时性能会有突降,这是因为当切换时延小于300 ms时,TCP Reno性能的下降是由TCP等待第一次超时重传引起的,而当时延大于300 ms时,此时MH的TCP需要等到第二次超时才能够重传成功,所以性能会下降很多。
接着我们考察了MH作为TCP接收端的情况,仿真环境设置与MH作为发送端的情况相同,采用的TCP实现为TCP SACK。我们考察了不同切换时延下的TCP吞吐量,如图7所示。
图6和图7的结果表明,无论MH作为接收端还是发送端,通过主动的重传,均可以有效地改善Mobile IP切换时的TCP性能。
八、结语
我们在本文中详细讨论了Mobile IP中的切换问题,分析了影响Mobile IP切换性能的几个关键因素,提出了一种采用链路层标识选项来加速Mobile IP的移动检测过程的方案,同时针对MH作为TCP的发送端和接收端,分别提出了改进切换时TCP性能的方案,给出了具体的实现方法,并进行了计算机仿真,结果表明,我们的方案能够有效地改善Mobile IP的切换性能。Mobile IP中的切换问题是一个很复杂的问题,还有很多的工作需要去做,比如如何进一步地减小Mobile IP的注册时延、减少切换过程中的丢包、如何和CDMA网络中的软切换技术相结合等等。
参考文献
[1]C Perkins.IP Mobility Support for IPv4[S], IETF RFC 3344, Aug. 2002.
[2]C Perkins.Route Optimization in Mobile IP[Z], draft-ietf-mobileip-optim-10.txt, Internet Draft, IETF, Nov. 2000.
[3]J B Postel.Transmission Control Protocol[S], IETF RFC-793,September 1981.
[4]Fikouras N A,et al.Performance of TCP and UDP during mobile IP handoffs in single-agent subnetworks[A]. Wireless Communications and Networking Conference[C].IEEE,1999.
[5]Eva Gustafsson, Annika Jonsson, Charles E Perkins.Mobile IPv4 Regional Registration[Z].IETF Internet draft, draft-ietf-mobileip-reg-tunnel-06.txt,Mar. 2002.
[6]Perkins,C E, Kuang Yeh Wang.Optimized Smooth Handoffs in Mobile IP[A]. IEEE International Symposium on Computers and Communications[C].IEEE,1999.
[7]3GPP2 C.S002-A, Physical Layer Standard for cdma2000 Spread Spectrum Systems[S].
[8]Gyasi-Agyei A. Mobile IP-DECT internetworking architecture supporting IMT-2000 applications[J].IEEE Network,2001,15(6):10~22.
[9]M Mathis, J Mahdavi,et al. TCP Selective Acknowledgment Options[S].IETF RFC 2018, Oct., 1996.
[10]H Balakrishnan.Challenges to Reliable Data Transport over Heterogeneous Wireless Networks[D].UCBerkeley,1998.
[11]Ns2, Network Simulator(Version 2)[EB/OL].http://www.isi.edu/nsnam/ns.
摘自 电讯技术
|