⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rfc2344.txt

📁 RFC规范的翻译稿
💻 TXT
📖 第 1 页 / 共 3 页
字号:

      T   代理提供反向隧道服务。

   设置了“T”位的外地代理必须支持当前支持的两种发送方式:直接发送方式和封装发送方式(见第5节)。

   通过这些信息,移动节点能够选择一个支持反向隧道的外地代理。注意如果移动节点不理解这一位,它简单的把它忽略(参考文献[1])。
3.2. 注册请求
   在注册请求中直接加入一个“rsvd”位来请求反向隧道的支持。如果不支持反向隧道的外地代理或家乡代理收到设置“T”位的注册请求,则该注册请求将失败。这将导致一个拒绝注册(拒绝码在第3.4节定义)。

   大多数的家乡代理不拒绝提供反向隧道支持,因为他们“应该能对移动节点发给它的数据包进行拆封并进行进一步传送”(参考文献[1])。在拓扑正确的反向隧道中,移动节点发送数据包时并不是以其家乡地址来区分,相反,这些数据包的外层(封装层)源IP地址为移动节点的转交地址。尽管如此,家乡代理也许已经支持所要求的拆封及进一步转发功能。

   在移动节点发送的注册请求中,IP头部的生存期(Time to Live)域必须设置为255。这样就限制了恶意主机发送虚假注册请求而导致的拒绝服务攻击(见第6章)。

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
S
B
D
M
G
V
Y
-
            Lifetime
                                   Home Address
                                   Home Agent
                                  Care-of Address
                                   Identification
Extentions   . . . . . .


   注册请求数据包中唯一的变化就是多出来的“T”位:
         T     如果设置了“T”位,则移动节点请求其家乡代理接受始于转交地址的隧道。
移动节点使用外地代理转交地址请求外地代理使用反向隧道传送其数据包。
3.3. 封装发送方式扩展
   移动节点可以在注册请求中包含封装发送方式扩展以进一步指定反向隧道的工作方式。我们认为只有外地代理用到该扩展。因此,外地代理必须处理掉该扩展(也就是说,外地代理不能把该扩展中继到家乡代理,也不能在发送给移动节点的应答中包含该扩展)。

   如(参考文献[1])中3.6.1.3中所述,如果出现封装发送方式扩展,移动节点必须在注册请求中把该扩展置于Mobile-Home认证扩展之后,Mobile-Foreign认证扩展之前。

   如果注册请求中没有设置“T”位,则该请求不允许包含封装发送方式扩展。

   如果没有出现该扩展,就假设发送方式为直接发送方式。封装根据前向隧道的协商结果来进行(也就是说,除非指定其他方式,总是假设为IP-in-IP)。发送方式的细节请参考第5节。

0
1
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
      Type
   Length

      Type
        130
      Length
        0
3.4.新的注册应答码
   如果反向隧道请求失败,外地代理和家乡代理必须发送注册应答。新的应答码定义如下:
      服务被外地代理拒绝:
      74 请求的反向隧道不可用
      75 强制使用反向隧道但没有设置“T”位
      76 移动节点太“远”

   以及

      服务被家乡代理拒绝:

      137 请求的反向隧道不可用
      138 强制使用反向隧道但没有设置“T”位
      139 请求的封装不可用

   对应于设置“T”位的注册请求,移动节点可能分别收到(而且必须接受)来自外地代理的code 70(poorly formed request)和来自家乡代理的code 134(poorly formed request)。但是支持反向隧道的外地代理和家乡代理必须分别使用code 74和code 137.

   没有设置“T”位的注册请求可能分别从外地代理和家乡代理收到code 75和code 138。

   前向隧道和反向隧道时对称的,也就是说,两者都能使用注册时协商的隧道选项。这就暗示着家乡代理如果收到包含不支持形式的隧道的注册请求时必须拒绝该注册(code 139)。注意移动IP(参考文献[1])已经定义了外地代理类似的拒绝码(失败码)。
4. 协议工作方式的变化
   除非另外指出,总是假设使用移动IP(参考文献[1])中规定的工作状况。特别地,如果两个实体共享移动安全联合,他们必须在传送注册数据报文时使用正确的认证扩展(Mobile-Foreign, Foreign-Home或者Mobile-Home认证扩展)。Mobile-Home认证扩展总是必须出现。

   反向隧道要求移动实体进行多出移动IP规范的协议处理。与移动IP(参考文献[1])协议工作状况的不同之处在随后的章节中描述。
4.1. 移动节点方面的考虑
   本节描述移动节点如何在注册中请求反向隧道。
4.1.1.给外地代理发送注册请求
   除了参考文献[1]中的考虑,移动节点在注册请求中设置“T”位来请求反向隧道。

   移动节点必须把IP头部的TTL域设置为255。这样做是为了限制反向隧道中的“劫机攻击”(见第6章)。

   移动节点在注册请求中还可以(可选地)包含一个封装传送方式扩展。
4.1.2.接收来自外地代理的注册应答
   可能的有效应答为:

      - 由家乡代理或者外地代理发送的拒绝注册:
a. 移动节点遵循参考文献[1]中的检错原则,根据应答重的错误码(失败码)可以试图修改该注册请求(例如,从注册请求中去除可选形式的封装)并发送一个新的注册。
b. 根据应答错误码(失败码),移动节点可以试图把“T”位清零,去掉封装发送方式扩展(如果出现的话),并发送一个新的注册。注意这样做之后注册可能成功,但由于没有反向隧道,数据传输可能无法进行。

      - 家乡代理返回注册应答,表明将提供(所请求的)服务(即反向隧道)。

   在最后一种情形中,移动节点已经在其转交地址和家乡代理之间成功建立起一条反向隧道。如果移动节点以配置转交地址操作,它可以对待发送数据包进行封装以使得外层头部的目的地址为家乡代理的地址。这种把数据包通过反向隧道发送的能力我们在第5.4节还要深入讨论。
   如果转交地址属于一个单独的外地代理,则移动节点必须使用所请求的无论哪一种发送方式(直接发送或者封装发送)并继续第5章中描述的过程。

   成功的注册应答保证了外地代理和家乡代理都支持所请求的不管那种可选形式的封装(除了IP-in-IP之外)。因而,移动节点可以自己判断使用(哪一种封装方式)。
4.2. 外地代理方面的考虑
   本节描述了外地代理如何处理反向隧道的注册请求。
4.2.1. 接收来自移动节点的注册请求
   外地代理在收到设置了“T”位的注册请求时按移动IP规范(参考文献[1])中描述的那样对数据包进行处理(即合法性检查,向家乡代理转发等),并判断它是否能容纳该前向隧道请求。如果不能,则返回一个合适的错误码(失败码)。特别地,如果外地代理不能支持所请求形式的封装,它必须返回错误码72。

   外地代理可以使用错误码75(强制使用反向隧道但注册请求没有设置“T”位)来拒绝不设置“T”位的注册请求。

   外地代理必须核实以确保IP头部的TTL域设置为255。否则,它必须使用错误码76(移动节点太“远”)来拒绝该注册。外地代理必须把其发送注册应答的速率限制为最大一秒钟一次。

   作为最后的检查,外地代理核实以确保它能支持相同配置的反向隧道。如果不能,它必须发送错误码74(请求的反向隧道不可用)的注册应答。
4.2.2. 把注册请求中继到家乡代理
   否则,外地代理必须把该注册请求中继到家乡代理。

   一旦接收到满足合法性检查的注册应答,外地代理必须更新其访问者列表,包括暗示移动节点其请求的反向隧道和发送方式已经获准(第5章)。

   在该访问者(移动节点)表项有效期间,外地代理必须根据其发送方式处理来自该访问者(移动节点)的数据流量,对数据包进行封装并把它们送入由转交地址到家乡代理的隧道。
4.3. 家乡代理方面的考虑
   本节描述家乡代理如何处理请求反向隧道的注册请求。
4.3.1. 从外地代理接收注册请求
   家乡代理在收到设置了“T”位的注册请求时,对数据包的处理遵循移动IP规范(参考文献[1]),并判断是否能容纳该前向隧道请求。如果不能,家乡代理将返回合适的错误码(失败码)。特别地,如果家乡代理不能支持所请求形式的封装,它必须返回错误码139(请求的封装不可用)。
   家乡代理可以使用错误码138(强制使用反向隧道但注册请求没有设置“T”位)来拒绝没有设置“T”位的注册请求。
   作为最后的检查,家乡代理判断它是否能够支持使用与前向隧道相同配置的反向隧道。如果不能,它将回送一个错误码137(请求的反向隧道不可用)来拒绝该注册。
   一旦收到满足合法性检查的注册请求(原文为注册应答——译注),家乡代理必须更新其移动绑定列表,暗示移动节点其请求的反向隧道和发送方式已经获准。
4.3.2. 向外地代理发送注册应答
   与一个有效的注册请求相对应,家乡代理必须给移动节点发送一个注册应答。

   在成功注册后,家乡代理可能收到发给它自身的经过封装的数据包。对这些数据包进行拆封并盲目地把它们注入网络是一个潜在的安全缺陷(见第6.1节)。因而,家乡代理必须(并且缺省为应该)对发给它的经过封装的数据包进行下面的检查:

家乡代理搜寻这样的移动绑定记录:该记录的转交地址等于数据包外层头部源地址且移动节点地址为内层头部源地址。
   如果没有找到这样的绑定记录,或者数据包使用的不是注册时协商好的封装方法,家乡代理必须丢掉该数据包并应该把该事件记录为一个安全意外。

   终止于与移动IP无关(例如多播隧道)的隧道的家乡代理可以不进行上面的检查,但基于前述原因不提倡这么做。


   在该注册有效期间,家乡代理必须处理每一个有效的(由类似上面的检查来确定)来自反向隧道的数据包,即对数据包进行拆封,恢复出原始数据包然后代表其发送者(移动节点)把它转发到其目的地址(通信对方主机)。
5. 移动节点到外地代理的发送方式
   本节讨论移动节点如何通过外地代理发送其数据。在所有情况下,移动节点通过代理广告的链路层头部来获取外地代理的链路层地址。
5.1. 直接发送方式
   这种发送方式易于在移动节点实现,在移动节点和外地代理之间的链路(可能是很慢的链路)上使用小的(未经封装的)数据包。但是,它仅仅支持单播数据包的反向隧道,不允许其它的反向隧道(见第5.4节)。

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -