
经典分享:移动IP系列资料
点,每过多长时间它就可以从同一个代理那里收到一个广播。由于广播消息有可能丢失,特
别是在较容易出错的无线链路上,因此,家乡代理和外地代理常更频繁地发送广播,根据
[RFC 2002]中建议,大约比生存时间域中标示的要快二倍。
如果一个移动节点注册到一个外地代理上了,但在生存时间域规定的时间内却没有收到
来自那个代理的广播,那么移动节点就可以认为它已移动到另一链路上了,或那个代理已经
坏了。无论怎样,移动节点都要向下一个发来代理广播消息的外地代理注册,如果没有收到
任何广播,它就发出一个代理请求消息去询问。
2. 用网络前缀作移动检测
移动检测的第二种方法利用了网络前缀。假设移动节点向某条链路上的一条外地代理注
册了,并且它还记录了发现那个外地代理所用的代理广播消息。现在,我们假设移动节点又
收到了来自另一个外地代理的代理广播消息,即来自另一个源 I P地址的广播消息。
由于在同一条链路上可能有多个外地代理,移动节点必须判定它收到的两个广播消息是
否来自同一条链路。如果是,它就不必再向新的外地代理注册了;如果不是,即广播消息来
自另一条链路,移动节点就肯定改变了位置,因此需要向在新链路上的外地代理进行注册。
移动节点通过比较两个广播消息的网络前缀就可以判定它们是否来自同一条链路,只有

在两条代理广播消息都有前缀长度扩展时才可能进行这种比较。下面,我们将说明如何从接
收的代理广播消息中确定网络前缀,不想看数学算式的读者可以跳过这段。
一个有效的前缀长度扩展必须包含代理广播消息中 ICMP 路由器广播部分列出的每台路由
器地址项的前缀长度。假设有 N个这样的路由器地址项,那么对每一个整数 i,网络前缀( i ) 由
路由器地址( i ) 的左边前缀长度( i )个比特决定。也就是说,网络前缀 ( 1 ) 等于路由器地址 ( 1 )的左
边前缀长度( 1 ) 个比特,网络前缀 ( 2 ) 等于路由器地址 ( 2 ) 的左边前缀长度 ( 2 ) 个比特,等等。分
配给链路的网络前缀就是这些计算出来的网络前缀 (i) 。
利用上面介绍的方法,移动节点可以从两个广播消息中计算出网络前缀并加以比较。如
果不同,它就可以认为两个广播消息是从不同的链路上接收到的,否则就是从同一链路上接
收到的。当移动节点将新收到的广播消息与它当前正注册的外地代理比较后,如果发现它已
移动到新链路上了,就应向在新链路上的外地代理进行注册。否则,如果接收的广播消息只
是来自同一条链路的另一个外地代理,移动节点就认为它并没有移动,这时,它就不必向新
代理注册,除非它在规定的时间内没有收到当前注册的外地代理的广播消息,这个规定时间
是指这个代理先前的广播消息中的生存时间( L i f e t i m e )。这意味着,移动节点仍然采用第一
个移动检测方法
—
用生存时间
—
来看当前的外地代理是否还可用,如果不可用,移动节点
就注册到一个新的外地代理上。
5.2.3 移动节点收不到任何广播消息时怎么办
1. 设法在家乡链路上通信
如果移动节点连到了一条链路上但却收不到任何代理广播消息(即使在发送了一串代理
请求消息后也不行),那么它可以想办法进行通信。它可以假设正连在它的家乡链路上,而它
的家乡代理又正好有故障了(否则,家乡代理会发送代理广播消息)。这时,移动节点只需简
单地按它在家乡链路上那样进行通信。例如,可以向它在家乡链路上用的缺省路由器发送
ICMP Echo Request消息,如果这台缺省路由器给出了应答,那么移动节点很可能正连在它的
第5章 技 术 细 节使用45
下载
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。