📄 rfc2002.txt
字号:
代理广告消息。
——移动节点收到这些代理广告并确定自己是在家乡网络还是在外地网络上。
——当移动节点检测到自己位于在家乡网络上,它将不使用移动服务进行操作。如果从
其它注册的地方返回到家乡网络, 通过交换注册请求和注册应答消息,移动节点解
除其在家乡代理的注册(仅当不在家乡网络时才有“注册”一说,见上面的注册—
—译者注)。
——当移动节点检测到自己已经移到外地网络,它将获得一个外地网络的转交地址。转
交地址可以从外地代理的广告中获得(外地代理转交地址),或者通过外部分配机制
如DHCP[6]获得(联合转交地址,再声明一遍,原文中可能有误,疑为“配置转交地
址”——译者注)。
——位于家乡以外的移动节点通过交换注册请求和注册应答消息向家乡代理注册其新的
转交地址,该过程可能通过外地代理(见第3章)。
——发送到移动节点家乡地址的数据报被其家乡代理截获,家乡代理通过隧道把数据报
送到移动节点的转交地址,在隧道的端点被(外地代理或者移动节点本身)接收,
最后传送到移动节点(见4.2.3)。
——在相反方向,由移动节点发送的数据报通常使用标准的IP路由机制传送到目的地
址,不一定经过家乡代理。
当不在家乡时,移动IP使用协议隧道(protocol tunneling)把移动节点的家乡地址向
从家乡网络到移动节点当前位置的沿途路由器隐藏。隧道终止于移动节点的转交地址。转交
地址必须是数据报能够通过传统IP路由到达的地址。在转交地址,原始数据报被从隧道中移
出并传送到移动节点。
移动IP提供两种可选的获得转交地址的模式:
——外地代理转交地址(“foreign agent care-of address”)是由外地代理通过其代理
广告消息所提供的转交地址。在这种情况下,转交地址是外地代理的IP地址。在这
种模式,外部代理就是隧道的端点,一收到通过隧道到来的数据报,它就对这些数
据报进行解封装(拆封)并把内层的数据报传送到移动节点。这种获得转交地址的
模式是首选模式,因为它允许多个移动节点共用同一个转交地址因而不会给本来就
很有限的IPv4地址空间增加不必要的要求。
——联合转交地址(“co-located care-of address”)是移动节点通过某种外部方式得
到作为本地IP地址的转交地址,然后移动节点把它与自己的一个网络接口建立关
联。该地址可由移动节点动态获得(如通过DHCP [6])而作为一个临时地址;或者
由移动节点所拥有的只是在访问外地网络时才使用的长期地址。具体由外部获得本
地IP地址用作联合转交地址的方法超出了本文档的范畴。在使用联合转交地址时,
移动节点作为隧道的端点并且自己对数据报进行拆封。
使用联合转交地址的模式优点是允许移动节点在不需外地代理便能运行,例如,在还没
有实施外地代理的网络上。
但是,它会给IPv4地址空间增加额外的负担,因为它要求在外地网络上有一个地址池供
来访移动节点使用,对每一个允许移动节点访问的子网有效地维护这样的一个地址池很困难。
理解转交地址和外地代理之间的功能区别是很重要的。转交地址仅仅是隧道的端点,它
可能实际上是一个外地代理的地址(外部代理转交地址),但是它也可能是移动节点临时获得
的地址(联合转交地址)。另一方面,外地代理是为移动节点提供服务的移动代理。详情见
3.7和4.2.2。
家乡代理必须能够收集和截获(attract&intercept)发往其任意一个已注册移动结点
的家乡地址的数据报。使用4.6中描述的代理ARP和免费ARP机制 ,如果家乡代理在由移动
节点家乡地址表明的链路上有一个网络接口,该条件可满足。使用其它截获发往移动节点家
乡地址的数据报的机制可以使用其它相对移动节点家乡位置放置家乡代理的方法。放置方法
超出了本文档的范畴。
同样,移动节点和预期的或者当前的外地代理必须能够不依赖标准IP路由机制而交换
数据报;也就是说,决定转发的机制是根据IP头部目的地址的网络前缀。如果外地代理和来
访移动节点在同一条链路上有一个接口,该条件可满足。在这种情况下,在互相发送数据报
时,移动节点和外地代理简单地“透传”(bypass)它们正常的IP路由机制,把其下的链路
层数据包的目的地址分别设为它们各自的链路层地址。在这些节点之间使用其它机制来交换
数据报还可以使用其它相对移动节点放置外地代理的方法,但这些放置方法超出了本文档的
范畴。
如果移动节点正在使用联合转交地址(如上面(b)所述),移动节点必须位于转交地址
的网络前缀所标识的链路上。否则,发往该联合转交地址的数据报将无法递交。
例如,下面的图显示了移动节点不在家乡时(已向其家乡代理注册)发送和接收数据报
的路由,在下面的图中,移动节点使用外地代理转交地址:
2) 数据报被家乡代理截获 3)数据包被从隧道中移出
并通过隧道传送到转交 并被传送到移动节点
地址
1) 发往移动节点的
数据报通过标准
IP路由到达 4) 对于移动节点发送的数据报由
家乡网络 标准的IP路由将把每一个数据报
发送到各自的目的地,图中,
外地代理作为移动节点的
缺省路由器
1.8.用语规范
本文档中使用几个词来强调规范的条件。这些词用粗体并用红颜色表示
必须 形容词为“必要的”,表明该定义是本规范绝对要求的。
不允许 表明该定义是本规范绝对禁止的。
应该 形容词是“推荐的”,在某种环境下,可能存在有效的原因来忽略此项,但
在决定选用其他过程时,必须理解完整的实现并慎重权衡。否则将会出现
意想不到的结果。
可以(可能)形容词为“可选的”,该项为允许的可选元素集合中的一个元素。不包
含该选项的实现必须做好与另一个包含该项的实现进行互操作
(interoperate)的准备。
静悄悄地丢弃
实现不经进一步处理便把数据报丢掉,并且不向发送者暗示错误。实现应
该提供记录错误的能力,包括被丢弃数据报的内容,并应该在一个统计计
数器中记录下该事件。
1.9. 消息格式和协议扩展
移动IP定义了一系列新的控制消息,使用UDP(参考文献[17])发送,众所周知端口号
为434。当前,定义了如下两种消息类型:
1 Registration Request
3 Registration Reply
移动IP控制消息最新的类型值在最新的“Assigned Numbers”(参考文献[20])中指定。
另外,为了代理发现(Agent Discovery),移动IP使用了现有ICMP路由发现(ICMP Router
Discovery,参考文献[4])定义的路由广告(Router Advertisement)和路由请求(Router
Solicitation)消息。
移动IP定义了一种通用扩展机制以允许移动IP控制消息或ICMP路由发现消息负载可选
的信息 。每一个这些扩展(有一个例外)使用下面的Type-Length-Value格式进行编码:
0
1
2
3
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
Type
Length
Data … …
Type 表明特定的扩展的类型。
Length 表明该扩展中data域的长度(以字节为单位)。长度不包括Type和
Length的字节数。
Data 与该扩展相关的特定数据。该域可以为0个或多个字节。Data域的格式和
长度由type和length域决定。
扩展允许每一个数据报携带可变数量的信息。扩展列表的末尾由IP数据报的total
length域决定。
移动IP使用两个分开维护的编号空间,扩展类型值就是在这些空间里分配:
——第一个包含只出现在移动IP控制消息(通过UDP端口434传送)中的扩展。当前定
义了移动IP控制消息中出现的扩展类型:
32 Mobile-Home Authentication
33 Mobile-Foreign Authentication
34 Foreign-Home Authentication
——第二个包含那些只出现在ICMP Router Descovery(参考文献[4])消息中的扩展。
当前移动IP定义了以下出现在ICMP Router Discovery 消息中的扩展类型:
0 One-byte Padding (编码为无Length无Data域)
16 Mobility Agent Advertisement
19 Prefix-Lengths
每一种扩展在本文档后面各辟一个章节详细描述。扩展类型的最新值在“Assigned
Numbers”(参考文档[20])中定义。
由于这两个集合的分开(正交,orthogonality),有可能使后来定义的两种扩展有相
同的类型值,只要满足一个扩展仅用于移动IP控制消息而另一个仅用于ICMP Router
Discovery 消息。
当遇到在这两个集合中编号从0到127的扩展但无法识别时,包含该扩展的消息必须被
悄悄地丢弃。当遇到128到255的扩展号而无法识别时,该扩展被忽略,但必须继续处理其
它扩展和消息的数据。扩展中的Length域就是用来跳过Data域而查找新的扩展。
2. Agent Discovery
代理发现是移动节点用来判断当前自己是连接到家乡网络还是外地网络的方法,代理发
现还是移动节点用来检测自己是否已经从一个网络移动到另一个网络。在连接到外地网络时,
本节介绍的方法还使得移动节点能够确定每一个外地代理所提供的“外地代理转交地址”。
移动IP把ICMP Router Discovery扩展为其代理发现的基本机制。代理广告通过在ICMP
Router Advertisement消息(见2.1)中包含一个“移动代理广告扩展”(Mobility Agent
Advertisement Extension)而得到。Agent Solicitation消息与ICMP Router Solicitation
消息相同,但其IP TTL必须设置为1 (见2.2)。本节描述了移动节点、外地代理和家乡代
理合作以实现代理发现所使用的消息格式和过程。
代理广告和代理请求对于已经提供这种功能的链路层来说可能是不必要的。移动节点与
预期代理建立链路层连接的方法超出了本文档的范畴(但请参考附录B)。下面的描述的过程
假设这样的链路层连接已经建立好。
代理广告和代理请求消息不需要任何认证。它们可以使用IP认证头部(参考文献[1])
进行认证,认证头与本文档描述的消息无关。广告和请求消息的认证方法的更详尽的规范超
出了本文档的范畴。
2.1.代理广告( Agent Advertisement)
代理广告由移动代理在链路上发送以广告其服务。移动节点使用这些广告来确定它们当
前连接到Internet上的位置。代理广告是已被扩展的ICMP路由广告,扩展后携带一个移动
代理广告扩展(Mobility Agent Advertisement Extension,见2.2.1),一个可选的
Prefix-Lengths 扩展(见2.1.2),一个One-byte Padding扩展(见2.1.3),或将来定义的其
他扩展。
在代理广告消息中,ICMP路由广告的各域要求遵守下面附加的规范:
- 链路层各域(Link-Layer Fields)
Destination Address
单播代理广告的链路层目的地址必须与提示该广告的代理请求的链路
层源地址相同。
- IP各域(IP Fields)
TTL 所有代理广告的TTL必须设置为1。
Destination Address
如ICMP Router Discovery中定义, 代理广告的目的IP地址必须为:
“该链路上所有系统”的多播地址(224.0.0.1,参考文献[5]),或者“受
限广播地址”(255。255。255。255)。不能使用〈prefix>.<-1>形式的
指向子网的(subnet-directed)广播地址,因为移动节点一般不知道外
地网络的前缀。
- ICMP Fields
Code 代理广告的Code域按如下解释:
0 移动节点控制普通流量——也就是说,它作为(不一定与移动节点
有关的)IP数据报的路由器 。
16 移动代理不路由普通流量。但是所有的外地代理必须(最低限度地)
把从已注册移动节点收到的数据报转发至一个缺省路由器(见4。2。
2)。
Lifetime
广告在不发送更多广告时保持有效的最长时间。
Router Address(es)
见2.3.1关于代理广告中可能出现的地址的讨论。
Num Addrs
消息中广告的Router Addresses的个数。注意在代理广告中,ICMP
路由广告部分指定的路由器地址数可为0。详情见2.3.1。
如果定时性地发送,代理广告指定发送的时间间隔应该为ICMP头部中给出的
advertisement Lifetime的1/3。这允许移动节点在连续丢失三个广告后才从它的有效代理
表中删除一个代理。每个广告的实际传输时间应该被稍微随机化(参考文献[4])以避免同步
或与其他代理随后发送的代理广告产生冲突(或其他路由器发送的Router Advertisement)。
注意该域与下面定义的移动代理广告的“Registration Lifetime”域没有任何联系。
2.1.1移动代理广告扩展( Mobility Agent Advertisement Extension)
移动代理广告扩展跟在ICMP路由广告域的后面。使用它来表明ICMP路由广告消息也是
移动代理发送的代理广告。移动代理广告扩展定义如下:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -