利用IPv6移动路由器穿过IPv4网络的布置转让专利

申请号 : CN200480006008.3

文献号 : CN100583903C

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 帕斯卡尔·蒂贝尔马尔科·莫尔泰尼帕特里克·韦特瓦尔德欧利·图恩

申请人 : 思科技术公司

摘要 :

源IPv6移动路由器配置为使用合成的标签地址(其指定转发协议),以及IPv4源和目的地地址来建立到目的地IPv6移动路由器的IPv4隧道。如果使用了可选的传输头部(例如,UDP端口),则源端口和目的地端口也被添加到合成的标签地址。IPv6分组包括反向路由头部,其使目的地IPv6移动路由器能够恢复用于经由IPv4网络到达源IPv6移动路由器的路由信息。因此,目的地IPv6移动路由器在将IPv6回复分组发送回源IPv6移动路由器时可能需要的所有IPv4路由信息被维护在IPv6回复分组中指定的路由头部中。

权利要求 :

1.一种用于使IPv6分组隧穿过IPv4网络的方法,所述方法包括:

第一生成步骤,用于生成IPv6标签地址,所述IPv6标签地址包括规 定的协议标识符和公共IPv4网关地址,所述协议标识符用于配置为在 IPv4网络和IPv6网络之间传输分组的IPv6网关,所述公共IPv4网关地址 用于所述IPv6网关;

第二生成步骤,用于生成IPv6分组,所述IPv6分组具有指定所述 IPv6标签地址的源地址字段和指定归属地址的反向路由头部;

封装步骤,用于将所述IPv6分组封装到IPv4分组中,所述IPv4分组 具有IPv4头部,所述IPv4头部包括指定所述公共网关IPv4地址的目的地 地址字段和指定移动路由器IPv4地址的源地址字段,所述移动路由器 IPv4地址由所述IPv6移动路由器用来经由所述IPv4网络访问所述IPv6网 关;和输出步骤,用于经由所述IPv4网络将所述IPv4分组输出到所述IPv6 网关,以将所述IPv6分组传输到所述IPv6网络上。

2.如权利要求1所述的方法,其中所述第一生成步骤包括:

将规定的协议标识符的前3位设置为值“000”,并且用所述规定的 协议标识符作为所述IPv6标签地址的开始;和将所述移动路由器IPv4地址插入到所述IPv6标签地址中。

3.如权利要求1所述的方法,其中,所述IPv6移动路由器具有规定的 归属代理,所述归属代理具有对应的归属代理地址,所述第二生成步骤包 括在所述IPv6分组的目的地地址字段中指定所述归属代理地址。

4.如权利要求3所述的方法,其中,所述第二生成步骤包括添加至少 一个用于所述IPv6网关的空槽,以在将所述IPv6分组转发给所述归属代 理之前插入所述IPv6标签。

5.如权利要求4所述的方法,其中,所述第二生成步骤包括基于已附 接到所述IPv4网络的所述IPv6移动路由器,在用于所述规定的归属代理 的IPv6分组中添加绑定更新。

6.如权利要求1所述的方法,其中:

所述第一生成步骤包括在所述IPv6标签地址中插入用于所述IPv6网 关的规定的公共网关端口;

所述封装步骤包括在所述IPv4分组中插入传输头部,所述传输头部具 有指定所述规定的公共网关端口的目的地端口字段和指定移动路由器端口 的源端口字段,所述移动路由器端口由所述IPv6移动路由器用来经由所述 IPv4网络访问所述IPv6网关。

7.如权利要求6所述的方法,还包括:

接收来自所述IPv4网络的第二IPv4分组,所述第二IPv4分组具有: 指定所述公共网关IPv4地址的源地址字段;指定所述规定的公共网关端口 的源端口字段;指定所述移动路由器IPv4地址的目的地地址字段;以及指 定所述移动路由器端口的目的地端口字段;

响应于检测出所述源端口字段指定了所述规定的公共网关端口,从所 述第二IPv4分组中解封装出第二IPv6分组;

检测所述第二IPv6分组的目的地地址字段中的第二IPv6标签地址和 第二规定的协议标识符,所述第二IPv6标签地址指定不同于所述移动路由 器IPv4地址的公共IPv4地址、不同于所述移动路由器端口的公共端口, 所述第二规定的协议标识符指示所述公共IPv4地址和所述公共端口与在所 述IPv4分组中指定的所述移动路由器IPv4地址和所述移动路由器端口相 对应。

8.如权利要求7所述的方法,还包括基于检测出指定另一目的地的第 2类路由头部而有选择地在第二IPv6网络中源路由所述第二IPv6分组。

9.如权利要求8所述的方法,其中,所述移动路由器IPv4地址是专用 IP地址,并且所述移动路由器端口是专用UDP端口,所述输出和接收步 骤包括利用具有端口地址转换器(PAT)的网络地址转换器(NAT)输出 和接收各IPv4分组和所述第二IPv4分组。

10.一种用于使IPv6分组隧穿过IPv4网络的方法,所述方法包括:

使用公共IPv4网关地址附接到公共IPv4网络,并且使用IPv6地址附 接到IPv6网络;

接收来自所述公共IPv4网络的IPv4分组,所述IPv4分组具有:指定 所述公共IPv4网关地址的目的地地址字段;指定规定的公共网关端口的目 的地端口字段;指定公共IPv4地址的源地址字段;以及指定公共端口的源 端口字段;

响应于检测出所述目的地端口字段中的所述规定的公共网关端口,从 所述IPv4分组恢复IPv6分组;

响应于检测出用于IPv6网关的规定的协议标识符,将检测出的所述 IPv6分组的源地址字段中的IPv6标签地址修改为修改后的IPv6标签地 址,以将所述IPv6分组从所述IPv4网络传输到所述IPv6网络,所述修改 包括用第二协议标识符替换所述规定的协议标识符,并且插入所述公共 IPv4地址和所述公共端口;

通过将所述修改后的IPv6标签地址插入到所检测出的所述IPv6分组 的反向路由头部中,并且将所述移动路由器的转交地址插入到所述源地址 字段中,从而将所述IPv6分组更新为更新后的IPv6分组;和将所述更新后的IPv6分组输出到所述IPv6网络上。

11.如权利要求10所述的方法,其中所述修改还包括:

基于具有值“000”的前3位,检测出在所述IPv6标签地址开始处的 所述规定的协议标识符;和分别用所述公共IPv4地址和所述公共端口对所述IPv6标签地址中的 IPv4地址和端口值进行覆写。

12.如权利要求11所述的方法,其中,所述替换包括:将所述第二协 议标识符的前3位设置为“000”,所述IPv6移动路由器配置为响应于检 测出所述第二协议标识符,将接收自所述IPv6网络并且指定所述第二协议 标识符的第二接收到的IPv6分组路由至所述IPv4网络上。

13.如权利要求12所述的方法,其中,所述更新步骤包括基于检测出 指定对应的规定的路由器类型选项值的路由器类型选项字段来检测所述反 向路由头部,并且将所述修改后的IPv6标签地址插入到所检测出的反向路 由头部的空槽中。

14.如权利要求10所述的方法,其中,所述规定的公共网关端口具有 指定移动IP的UDP值“434”。

15.如权利要求14所述的方法,其中,所述IPv6标签地址中的所述 IPv4地址和端口值分别指定已利用具有端口地址转换器(PAT)的网络地 址转换器(NAT)而被分别转换为所述公共IPv4地址和所述公共端口的专 用IP地址和专用端口。

16.如权利要求9所述的方法,还包括:

经由所述IPv6网络接收具有路由头部的第二IPv6分组,所述路由头 部指定所述修改后的IPv6标签地址;

检测所述修改后的IPv6标签地址中的所述第二协议标识符、所述公共 IPv4地址和所述公共端口;

通过将所述修改后的IPv6标签地址插入到所述IPv6分组的所述目的 地地址字段中,从而将所述IPv6分组修改为转发的IPv6分组;

将所述转发的IPv6分组封装到第二IPv4分组中,所述第二IPv4分组 具有指定所述公共IPv4地址的目的地地址字段和指定所述公共端口的端口 字段;和将所述第二IPv4分组输出到所述IPv4网络上。

17.一种IPv6移动路由器,其包括:

第一装置,用于生成IPv6标签地址,所述IPv6标签地址包括规定的 协议标识符和公共IPv4网关地址,所述协议标识符用于配置为在IPv4网 络和IPv6网络之间传输分组的IPv6网关,所述公共IPv4网关地址用于所 述IPv6网关;

第二装置,用于生成IPv6分组,所述IPv6分组具有指定所述IPv6标 签地址的源地址字段和指定归属地址的反向路由头部;

第三装置,用于将所述IPv6分组封装到IPv4分组中,所述IPv4分组 具有IPv4头部,所述IPv4头部包括指定所述公共网关IPv4地址的目的地 地址字段和指定移动路由器IPv4地址的源地址字段,所述移动路由器 IPv4地址由所述IPv6移动路由器用来经由所述IPv4网络访问所述IPv6网 关;和用于经由所述IPv4网络将所述IPv4分组输出到所述IPv6网关,以将 所述IPv6分组传输到所述IPv6网络上的装置。

18.如权利要求17所述的移动路由器,其中所述第一生成装置配置 为:

将所述规定的协议标识符的前3位设置为值“000”,并且用所述规 定的协议标识符作为所述IPv6标签地址的开始;和将所述移动路由器IPv4地址插入到所述IPv6标签地址中。

19.如权利要求17所述的移动路由器,其中,所述IPv6移动路由器具 有规定的归属代理,所述归属代理具有对应的归属代理地址,所述第二装 置配置为在所述IPv6分组的目的地地址字段中指定所述归属代理地址。

20.如权利要求19所述的移动路由器,其中,所述第二装置配置为添 加至少一个用于所述IPv6网关的空槽,以在将所述IPv6分组转发给所述 归属代理之前插入所述IPv6标签。

21.如权利要求20所述的移动路由器,其中,所述第二装置配置为基 于已附接到所述IPv4网络的所述IPv6移动路由器,在用于所述规定的归 属代理的所述IPv6分组中添加绑定更新。

22.如权利要求17所述的移动路由器,其中:

所述第一装置配置为在所述IPv6标签地址中插入用于所述IPv6网关 的规定的公共网关端口;

所述封装装置配置为在所述IPv4分组中插入传输头部,所述传输头部 具有指定所述规定的公共网关端口的目的地端口字段和指定移动路由器端 口的源端口字段,所述移动路由器端口由所述IPv6移动路由器用来经由所 述IPv4网络访问所述IPv6网关。

23.如权利要求22所述的移动路由器,其中:

所述输出装置配置为接收来自所述IPv4网络的第二IPv4分组,所述 第二IPv4分组具有:指定所述公共网关IPv4地址的源地址字段;指定所 述规定的公共网关端口的源端口字段;指定所述移动路由器IPv4地址的目 的地地址字段;以及指定所述移动路由器端口的目的地端口字段;

所述第三装置配置为响应于检测出所述源端口字段指定了所述规定的 公共网关端口,从所述第二IPv4分组中解封装出第二IPv6分组;

所述第二装置配置为检测在所述第二IPv6分组的目的地地址字段中的 第二IPv6标签地址和第二规定的协议标识符,所述第二IPv6标签地址指 定不同于所述移动路由器IPv4地址的公共IPv4地址、不同于所述移动路 由器端口的公共端口,所述第二规定的协议标识符指示所述公共IPv4地址 和所述公共端口与在所述IPv4分组中指定的所述移动路由器IPv4地址和 所述移动路由器端口相对应。

24.如权利要求23所述的移动路由器,其中,所述第二装置配置为基 于检测出指定另一目的地的第2类路由头部而有选择地在第二IPv6网络中 源路由所述第二IPv6分组。

25.如权利要求24所述的移动路由器,其中,所述移动路由器IPv4地 址是专用IP地址,并且所述移动路由器端口是专用端口,所述输出装置配 置为利用具有端口地址转换器(PAT)的网络地址转换器(NAT)输出和 接收所述各IPv4分组和所述第二IPv4分组。

26.一种IPv6移动路由器,其包括:

第一装置,用于使用公共IPv4网关地址附接到公共IPv4网络,所述 第一装置配置为接收来自所述公共IPv4网络的IPv4分组,所述IPv4分组 具有:指定所述公共IPv4网关地址的目的地地址字段;指定规定的公共网 关端口的目的地端口字段;指定公共IPv4地址的源地址字段;以及指定公 共端口的源端口字段;

第二装置,用于响应于检测出所述目的地端口字段中的所述规定的公 共网关端口,从所述IPv4分组恢复IPv6分组;

第三装置,用于响应于检测出用于IPv6网关的规定的协议标识符,将 检测出的所述IPv6分组的源地址字段中的IPv6标签地址修改为修改后的 IPv6标签地址,以将所述IPv6分组从所述IPv4网络传输到所述IPv6网 络,所述第三装置配置为用第二协议标识符替换所述规定的协议标识符, 并且插入所述公共IPv4地址和所述公共端口;

所述第三装置还配置为通过将所述修改后的IPv6标签地址插入到所检 测出的所述IPv6分组的反向路由头部中,并且将所述移动路由器的转交地 址插入到所述源地址字段中,从而将所述IPv6分组更新为更新后的IPv6 分组;和用于将所述更新后的IPv6分组输出到IPv6网络上的装置。

27.如权利要求26所述的移动路由器,其中所述第三装置配置为:

基于具有值“000”的前3位,检测出在所述IPv6标签地址开始处的 所述规定的协议标识符;并且分别用所述公共IPv4地址和所述公共端口对所述IPv6标签地址中的 IPv4地址和UDP端口值进行覆写。

28.如权利要求27所述的移动路由器,其中,所述第三装置配置为将 所述第二协议标识符的前3位设置为“000”,所述第三装置还配置为响 应于检测出所述第二协议标识符,将接收自所述IPv6网络并且指定所述第 二协议标识符的第二接收到的IPv6分组路由至所述IPv4网络上。

29.如权利要求26所述的移动路由器,其中,所述第三装置配置为基 于检测出指定对应的规定的路由器类型选项值的路由器类型选项字段来检 测所述反向路由头部,并且将所述修改后的IPv6标签地址插入到所检测出 的反向路由头部的空槽中。

30.如权利要求26所述的移动路由器,其中,所述规定的公共网关端 口具有指定移动IP的UDP值“434”。

31.如权利要求26所述的移动路由器,其中,所述IPv6标签地址中的 所述IPv4地址和端口值分别指定已利用NAT而被分别转换为所述公共 IPv4地址和所述公共端口的专用IP地址和专用端口。

32.如权利要求26所述的移动路由器,其中:

所述用于输出的装置配置为经由所述IPv6网络接收具有路由头部的第 二IPv6分组,所述路由头部指定所述修改后的IPv6标签地址;

所述第三装置配置为检测所述修改后的IPv6标签地址中的所述第二协 议标识符、所述公共IPv4地址和所述公共端口,并且通过将所述修改后的 IPv6标签地址插入到所述IPv6分组的所述目的地地址字段中,从而将所 述IPv6分组修改为转发的IPv6分组;

所述第二装置配置为将所述转发的IPv6分组封装到第二IPv4分组 中,所述第二IPv4分组具有指定所述公共IPv4地址的目的地地址字段和 指定所述公共端口的端口字段;并且所述第一装置配置为将所述第二IPv4分组输出到所述IPv4网络上。

33.一种IPv6移动路由器,包括:

被配置用于输出IPv6分组的IPv6部分,其中:

(1)所述IPv6部分被配置用于生成IPv6标签地址,所述IPv6标签 地址包括规定的协议标识符和公共IPv4网关地址,所述协议标识符用于配 置为在IPv4网络和IPv6网络之间传输分组的IPv6网关,所述公共IPv4网 关地址用于所述IPv6网关,并且(2)所述IPv6部分被配置用于生成IPv6分组的IPv6头部,所述 IPv6头部具有指定所述IPv6标签地址的源地址字段和指定归属地址的反 向路由头部;

封装部分,所述封装部分被配置用于将所述IPv6分组封装到IPv4分 组中,所述IPv4分组具有IPv4头部,所述IPv4头部包括指定所述公共网 关IPv4地址的目的地地址字段和指定移动路由器IPv4地址的源地址字 段,所述移动路由器IPv4地址由所述IPv6移动路由器用来经由所述IPv4 网络访问所述IPv6网关;和IPv4接口,所述IPv4接口被配置用于经由所述IPv4网络将所述IPv4 分组输出到所述IPv6网关,以将所述IPv6分组传输到所述IPv6网络上。

34.如权利要求33所述的移动路由器,其中所述IPv6部分被配置用 于:

将规定的协议标识符的前3位设置为值“000”,并且用所述规定的 协议标识符作为所述IPv6标签地址的开始;和将所述移动路由器IPv4地址插入到所述IPv6标签地址中。

35.如权利要求33所述的移动路由器,其中,所述IPv6移动路由器具 有规定的归属代理,所述归属代理具有对应的归属代理地址,所述IPv6部 分被配置用于在所述IPv6分组的目的地地址字段中指定所述归属代理地 址。

36.如权利要求35所述的移动路由器,其中,所述IPv6部分被配置用 于添加至少一个用于所述IPv6网关的空槽,以在将所述IPv6分组转发给 所述归属代理之前插入所述IPv6标签。

37.如权利要求36所述的移动路由器,其中,所述IPv6部分被配置用 于基于已附接到所述IPv4网络的所述IPv6移动路由器,在用于所述规定 的归属代理的IPv6分组中添加绑定更新。

38.如权利要求33所述的移动路由器,其中:

所述IPv6部分被配置用于在所述IPv6标签地址中插入用于所述IPv6 网关的规定的公共网关端口;

所述封装部分被配置用于在所述IPv4分组中插入传输头部,所述传输 头部具有指定所述规定的公共网关端口的目的地端口字段和指定移动路由 器端口的源端口字段,所述移动路由器端口由所述IPv6移动路由器用来经 由所述IPv4网络访问所述IPv6网关。

39.如权利要求38所述的移动路由器,其中:

所述IPv4接口被配置用于接收来自所述IPv4网络的第二IPv4分组, 所述第二IPv4分组具有:指定所述公共网关IPv4地址的源地址字段;指 定所述规定的公共网关端口的源端口字段;指定所述移动路由器IPv4地址 的目的地地址字段;以及指定所述移动路由器端口的目的地端口字段;

所述封装部分被配置用于响应于检测出所述源端口字段指定了所述规 定的公共网关端口,从所述第二IPv4分组中解封装出第二IPv6分组;并 且所述IPv6部分被配置用于检测所述第二IPv6分组的目的地地址字段 中的第二IPv6标签地址和第二规定的协议标识符,所述第二IPv6标签地 址指定不同于所述移动路由器IPv4地址的公共IPv4地址、不同于所述移 动路由器端口的公共端口,所述第二规定的协议标识符指示所述公共IPv4 地址和所述公共端口与在所述IPv4分组中指定的所述移动路由器IPv4地 址和所述移动路由器端口相对应。

40.如权利要求39所述的移动路由器,其中所述IPv6部分被配置用于 基于检测出指定另一目的地的第2类路由头部而有选择地在第二IPv6网络 中源路由所述第二IPv6分组。

41.如权利要求40所述的移动路由器,其中,所述移动路由器IPv4地 址是专用IP地址,并且所述移动路由器端口是专用端口,所述IPv4接口 被配置用于经由具有端口地址转换器(PAT)的网络地址转换器(NAT) 输出和接收各IPv4分组和所述第二IPv4分组。

42.一种IPv6移动路由器,包括:

IPv4部分,所述IPv4部分被配置用于使用公共IPv4网关地址附接到 公共IPv4网络,IPv4接口被配置用于接收来自所述IPv4网络的IPv4分 组,所述IPv4分组具有:指定所述公共IPv4网关地址的目的地地址;指 定规定的公共网关端口的目的地端口字段;指定公共IPv4地址的源地址字 段;以及指定公共端口的源端口字段;

封装/解封装部分,所述封装/解封装部分被配置用于基于所述目的地 端口字段中指定的所述规定的公共网关端口,从所述IPv4分组恢复IPv6 分组;以及IPv6部分,其中

(1)所述IPv6部分被配置用于基于指定了用于IPv6网关的规定的协 议标识符的IPv6标签地址,将检测出的所述IPv6分组的源地址字段中的 IPv6标签地址修改为修改后的IPv6标签地址,以将所述IPv6分组从所述 IPv4网络传输到所述IPv6网络,所述IPv6部分被配置用于用第二协议标 识符替换所述规定的协议标识符,并且插入所述公共IPv4地址和所述公共 端口;

(2)所述IPv6部分被配置用于通过将所述修改后的IPv6标签地址插 入到所检测出的所述IPv6分组的反向路由头部中,并且将所述移动路由器 的转交地址插入到所述源地址字段中,从而将所述IPv6分组更新为更新后 的IPv6分组;和(3)所述IPv6部分被配置用于将所述更新后的IPv6分组输出到所述 IPv6网络上。

43.如权利要求42所述的移动路由器,其中所述IPv6部分被配置用于 基于具有值“000”的前3位,检测出在所述IPv6标签地址开始处的所述 规定的协议标识符,以及分别用所述公共IPv4地址和所述公共端口对所述 IPv6标签地址中的IPv4地址和UDP端口值进行覆写。

44.如权利要求43所述的移动路由器,其中所述IPv6部分被配置用于 将所述第二协议标识符的前3位设置为“000”,并且响应于检测出所述 第二协议标识符,将接收自所述IPv6网络并且指定所述第二协议标识符的 第二接收到的IPv6分组路由至所述IPv4网络上。

45.如权利要求42所述的移动路由器,其中所述IPv6部分被配置用于 基于检测出指定对应的规定的路由器类型选项值的路由器类型选项字段来 检测所述反向路由头部,并且将所述修改后的IPv6标签地址插入到所检测 出的反向路由头部的空槽中。

46.如权利要求42所述的移动路由器,其中,所述规定的公共网关端 口具有指定移动IP的UDP值“434”。

47.如权利要求42所述的移动路由器,其中,所述IPv6标签地址中的 所述IPv4地址和端口值分别指定已通过NAT被分别转换为所述公共IPv4 地址和所述公共端口的专用IP地址和专用端口。

48.如权利要求42所述的移动路由器,其中:

所述IPv6部分被配置用于经由所述IPv6网络接收具有路由头部的第 二IPv6分组,所述路由头部指定所述修改后的IPv6标签地址;

所述IPv6部分被配置用于检测所述修改后的IPv6标签地址中的所述 第二协议标识符、所述公共IPv4地址和所述公共端口,并通过将所述修改 后的IPv6标签地址插入到所述IPv6分组的所述目的地地址字段中,从而 将所述IPv6分组修改为转发的IPv6分组;

所述封装/解封装部分被配置用于将所述转发的IPv6分组封装到第二 IPv4分组中,所述第二IPv4分组具有指定所述公共IPv4地址的目的地地 址字段和指定所述公共端口的端口字段;并且所述IPv4部分被配置用于将所述第二IPv4分组输出到所述IPv4网络 上。

说明书 :

技术领域

本发明涉及利用因特网协议版本6(IPv6)节点经由具有网络地址转 换器(NAT)或端口地址转换器(PAT)的IPv4网络传输IPv6分组。

背景技术

因特网工程任务组(IETF)的下一代转变(NGTRANS)工作组正在 作出提议来使得网络节点能够将根据IPv6协议(由请求注解(RFC)2460 规定的)生成的IP分组传输过IPv4网络。具体地说,RFC 3056提出了过 渡解决方案(这里称作“6到4提议”)用于将IPv6分组作为IPv4分组的 有效负载发送,其中,过渡的唯一IPv6地址前缀被分配给至少具有一个全 球唯一IPv4地址的任何节点。这些RFC可以在网址为http://www.ietf.org 的万维网上的IETF网站处获得。
“6到4”建议规定一个IPv6节点具有包含所分配的IPv4地址的IPv6 地址,这导致IPv6和IPv4地址之间的自动映射。因此,IPv6节点可以基 于从其IPv6地址中抽取已分配的IPv4地址,来轻易地用IPv4头部封装 IPv6分组。
考虑IPv6节点被耦合到具有网络地址转换器(NAT)的专用IPv4网 络。NAT执行第3层IP地址转换,以使公共因特网地址映射到专用IP地 址,如请求注解1918(RFC 1918)所详述的。这种映射已允许企业将大量 的专用地址映射到有限数量的公共地址,从而限制了因特网用户所要求的 公共地址的数量。
然而,如RFC 3056所述,如果IPv6节点被耦合到具有NAT的IPv4 网络,则该NAT盒子(box)“必须也包含完整的IPv6路由器的功能,包 括6到4机制在内”,以便“6到4”建议在具有NAT的IPv4网络中仍旧 可以工作。然而,对现有NAT进行修改来包括IPv6路由器,并且包括“6 到4”机制可能是不实际的解决方案。
此外,“6到4”协议的IPv4地址被假定为全球公共地址。因此,如 果IPv6节点(即,对端节点)要与正在漫游的移动IPv6节点通信,则正 在漫游的IPv6节点的“6到4”地址必须是全球公共地址,而不是专用地 址。
IPv6节点使用自动隧道来穿过NAT的一种建议在下文中作了描述: Huitema于2002年9月17日提交的题为“Teredo:Tunneling IPv6over UDP through NATs”的IETF草案,该草案可在网址http://www.ietf.org/internet- drafts/draft-ietf-ngtrans-shipworm-08.txt处获得。
Huitema建议位于NAT背后的IPv6节点可以访问“Teredo服务器” 和“Teredo中继”来获知它们的“全球地址”,并且获得连通性,其中, 客户端、服务器和中继可以被组织在“Teredo网络”中。Huitema依赖于 客户端(即,IPv6节点)与Teredo服务器和Teredo中继之间的复杂的基 于客户端服务器的交互,其中,客户端位于专用IPv4地址域(adress realm)中,在NAT背后,而Teredo服务器和Teredo中继在公共IPv4地 址域中,在NAT的相对侧。因此,在NAT的专用侧的IPv6节点与在该 NAT的公共侧的Teredo服务器和Teredo中继之间的通信要求IPv6节点具 有到公共侧的Teredo服务器和Teredo中继网关的特定路径;因此,该 IPv6节点需要使用相同的IPv4标识符(例如,由NAT转换的UDP端口 IP地址)。
然而,用于与Teredo服务器和Teredo中继通信的这同一个IPv4标识 符不可能利用对称NAT(Symmetric NAT),这是因为Teredo服务器和 Teredo中继每个都具有截然不同的对应IPv4公共地址。具体地说,对称 NAT不仅利用由专用IPv4节点输出的分组的专用IPv4地址/专用UDP端 口/公共IP地址/公共UDP端口来索引它们的地址转换表,而且还利用由去 向公共IPv4网络的分组所指定的目的地IP地址和目的地端口来索引它们 的地址转换表。因此,由于Teredo服务器和Teredo中继都具有截然不同 的IP地址,所以对称NAT将不把这些分组映射到由专用IPv4节点使用的 同一专用IP地址/专用UDP端口。因此,Huitema解决方案不能穿过对称 NAT。

发明内容

现在,需要一种布置,使得IPv6节点能够透明地跨过IPv4网络进行 通信,而不管IPv6节点是否由对称NAT与IPv4网络相分离。
还需要一种布置,使得IPv6节点能将IPv6分组传输过IPv4网络,而 无需每个IPv6节点都充当IPv4端点来存储状态信息。
还需要另一种布置,使得能够以最小化对NAT资源的使用的方式来 利用IPv6网关建立穿过NAT的IPv4隧道。
这些和其他需求可以利用本发明获得,其中,源IPv6移动路由器配置 为使用合成的标签地址(其指定转发协议)和反向路由头部(reverse routing header),建立到目的地IPv6移动路由器的IPv4隧道,其中,反 向路由头部使该目的地IPv6移动路由器能够恢复用于经由IPv4网络到达 源IPv6移动路由器的路由信息。因此,目的地IPv6移动路由器在将回复 发送回源IPv6移动路由器时可能需要的所有IPv4路由信息被维护在在回 复中指定的路由头部中。因此,可以经由IPv4网络传输IPv6分组,而不 管该IPv4网络是否包括分离源和目的地IPv6移动路由器的NAT。
本发明的一个方面提供了一种IPv6移动路由器中的方法。该方法包括 生成IPv6标签地址,所述IPv6标签地址包括规定的协议标识符和公共 IPv4网关地址,规定的协议标识符用于配置为在IPv4网络和IPv6网络之 间传输分组的IPv6网关,而公共IPv4网关地址用于IPv6网关。该方法还 包括生成下述IPv6分组,所述IPv6分组具有指定IPv6标签地址的源地址 字段和指定归属地址的反向路由头部。该方法还包括将IPv6分组封装到具 有IPv4头部的IPv4分组中,IPv4头部包括指定公共网关IPv4地址的目的 地地址字段和指定移动路由器IPv4地址的源地址字段,移动路由器IPv4 地址由IPv6移动路由器用来经由IPv4网络访问IPv6网关。IPv4分组经由 IPv4网络被输出到IPv6网关,以将IPv6分组传输到IPv6网络上。
本发明的另一个方面提供了一种IPv6移动路由器中的方法。该方法包 括使用公共IPv4网关地址附接到公共IPv4网络,并且使用IPv6地址附接 到IPv6网络,然后,接收来自公共IPv4网络的IPv4分组,所述IPv4分组 具有:指定公共IPv4网关地址的目的地地址字段;指定规定的公共网关端 口的目的地端口字段;指定公共IPv4地址的源地址字段;以及指定公共端 口的源端口字段。该方法还包括响应于检测出目的地端口字段中的规定的 公共网关端口,从IPv4分组恢复IPv6分组。该方法还包括响应于检测出 用于IPv6网关的规定的协议标识符,将检测出的IPv6分组的源地址字段 中的IPv6标签地址修改为修改后的IPv6标签地址,以将IPv6分组从IPv4 网络传输到IPv6网络,该修改包括用第二协议标识符替换规定的协议标识 符,并且插入公共IPv4地址和公共端口。该方法还包括通过将修改后的 IPv6标签地址插入到所检测出的IPv6分组的反向路由头部中,并且将移 动路由器的转交地址插入到源地址字段中,从而将IPv6分组更新为更新后 的IPv6分组,然后,将更新后的IPv6分组输出到IPv6网络上。
本发明的其他优点和新颖性特征部分将在下面的描述中阐述,部分将 在研究下面的描述后对本领域的技术人员变清楚,或者可以通过实施本发 明而获知。本发明的优点可以利用在所附权利要求中具体指出的手段和组 合来实现并获得。

附图说明

参考附图,其中在所有附图中具有相同标号的元素表示相似或相同的 元素,其中:
图1示出了根据本发明实施方式的利用网络地址转换器(NAT)建立 穿过IPv4网络的IPv4隧道的IPv6移动路由器。
图2示出了根据本发明实施方式的图1的移动路由器的进一步细节。
图3A和3B分别示出了由充当图1的IPv4隧道端点的IPv6源和目的 地移动路由器生成的IPv6标签地址。
图4示出了经历利用NAT/PAT的地址转换的IPv4分组,其中该分组 是由图1的源移动路由器输出的,并且承载了IPv6分组。
图5示出了根据本发明实施方式的由IPv4隧道端点执行的反向路由头 部操作。
图6示出由图1的目的地移动路由器接收到的来自源移动路由器的归 属代理的第2类路由头部。
图7A和图7B是概括根据本发明实施方式的用于使IPv6分组隧穿过 IPv4网络的方法的流程图。

具体实施方式

所公开的实施方式集中于基于使用基于IPv6的反向路由头部来用隧道 将IPv6分组穿过IPv4网络。生成和使用反向路由头部被发明者于2002年 6月19日作为题为“IPv6 Reverse Routing Header and its application to Mobile Networks”的因特网草案公开了,在网址为 http://www.ietf.org/internet-drafts/draft-thubert-nemo-reverse-routing-header- 00.txt的万维网上可获得该草案,并且通过参考而被整体结合于此。最近 的版本于2002年10月11日公开在网址为http://www.ietf.org/internet- drafts/draft-thubert-nemo-reverse-routing-header-01.txt的万维网上,并且通 过参考而被整体结合于此。
图1示出了网络10,其中,移动IPv6网络12被配置为建立穿过IPv4 网络14到达目的地IPv6网络16的IPv4隧道13。具体地说,移动网络12 至少包括配置为根据IPv6协议发送并接收分组的移动路由器(MR)20a。 移动路由器20a也被配置为与对端归属代理(HA)24通信,归属代24 被配置为根据在下述IETF草案中所述的移动IP协议,将去往移动路由器 归属地址的分组转发向移动路由器20a的转交地址(CoA),所述IETF草 案是由Johnson等于2003年1月20日提交的题为“Mobility Support in IPv6”的IETF草案,该草案在网址为http://www.ietf.org/internet- drafts/draft-ietf-mobileip-ipv6-20.txt的万维网处可获得,并且通过参考其公 开整体而被结合于此。
移动路由器20a(“MR2”)可以作为单个正在漫游的移动路由器漫 游,或者可以是具有附接的IPv6节点的移动网络12的顶层移动路由器 (TLMR)。如图1所示,移动路由器20a充当移动路由器20c (“MR3”)和移动主机(MH)22的移动网络12中的TLMR。
移动路由器20a配置为建立到其对端归属代理(HA)24的双向隧道 28,其使得发送向移动路由器20a的归属地址的分组(例如,由对端节点 (CN)26发送的)将被归属代24转发给移动路由器20a的转交地址。
由于源移动路由器20a被附接到IPv4网络14,与IPv6路由器相对的 源移动路由器20a也配置为建立到对端IPv6目的地移动路由器 (“MR1”)20b的IPv4隧道13(例如,UDP隧道),目的地移动路由 器20b在这里也被称作“门户”移动路由器或IPv6网关,其具有IPv4网 络14上的连接。因此,移动路由器20a配置为将门户移动路由器20b用作 双向IPv6隧道28中的跳,并且作为IPv4隧道13中的端点,从而实现经 由IPv4隧道13到其对端归属代理24的双向隧道28。
IPv4网络14可以可选地包括网络地址转换器(NAT)和/或端口地址 转换器(PAT)16。如图1所示,移动路由器20a被附接到专用IPv4网络 14a:移动路由器20a可以基于先前的配置(静态的或者未编号的 (unnumbered))、动态主机配置协议(DHCP)、或者用于点到点协议 (PPP)链路的IP控制协议(IPCP)而获得其IPv4地址(例如, “10.1.1.2”)。专用IPv4网络14a访问具有端口地址转换器(PAT)的网 络地址转换器(NAT)16,来使得专用网络14a中的节点能够在公共IPv4 网络14b中可编址。
移动路由器20a也配置为访问在预定IPv4地址(例如, “210.0.2.2”)处的门户移动路由器20b,和规定的门户端口(例如, UDP端口“434”),使得移动路由器20a能够建立到门户移动路由器20b 的IPv4隧道13,而不需要任何发现协议。注意,移动路由器20a可以配 置为存储多个门户移动路由器的多个门户IPv4地址,在这种情形中,移动 路由器20a可以被配置来定位最优的门户移动路由器。
如上所述,建立穿过NAT/PAT 16的IPv4隧道的问题在于:对称 NAT 16不仅用专用IPv4节点(在此情形中是移动路由器20a)的被转换 的分组的专用IP地址/专用UDP端口/公共IP地址/公共UDP端口来索引 它们的地址转换表,而且还用从公共IPv4网络到门户移动路由器20b的进 入分组的目的地IP地址和目的地端口来索引它们的地址转换表。
根据所公开的实施方式,移动路由器20a配置为使用相同的源/目的地 IPv4地址对发起双向IPv4隧道13,确保IPv4隧道端点20a和20b保持相 同。由于这些端点保持相同,所以该双向IPv4隧道13可以被可靠地维持 穿过用于多个IPv6数据流的NAT 16。
此外,移动路由器20a利用反向路由头部来确保所有必须的路由信息 都被提供给门户移动路由器20b和归属代理24,包括合成的转交地址。下 面将结合图3A描述,移动路由器20a被配置为生成包括有规定的协议标 识符32的IPv6标签地址30:协议标识符32由IPv6网关20b用来标识: 经由IPv4网络14接收到的IPv6分组30要被传输到IPv6网络16。
图2是示出了移动路由器20(例如,20a、20b或20c)的框图,这些 移动路由器配置为根据移动IPv6协议发送分组,并且充当IPv4隧道13的 端点。移动路由器20包括IPv6部分50、IPv4部分52和封装/解封装资源 54。
IPv6部分50包括标签地址生成/修改资源56、IPv6头部生成和解析资 源58、绑定更新资源60、源路由资源62和IPv6接口64。标签地址生成/ 修改资源56配置为在移动路由器20正充当发起经由IPv4网络14到IPv6 网关移动路由器20b的连接的移动路由器20a时,生成图3A所示的IPv6 标签地址30。具体地说,标签地址生成/修改资源56配置为生成IPv6标签 地址30,其包括:规定的协议标识符32、移动路由器20a的源IPv4地址 34、用于IPv6网关20b的公共IPv4网关地址36(例如, “210.0.2.2”)、源UDP端口38和用于IPv6网关20b的规定的公共UDP 端口40。基于连接到专用IPv4网络14a,源IPv4地址34和源UDP端口 38可以是专用地址和端口。如上所述,一旦附接到网络14,公共IPv4网 关地址36和规定的公共UDP网关端口40就被移动路由器20a所知。如果 在IPv4隧道13中未使用传输层头部(例如,在NAT 16不包括PAT的情 形中),则值38和40被设置为0。
协议标识符32(例如,12.34.56.78)被门户移动路由器20b用来识别 协议,即,经由IPv6网络16将IPv6分组“向上”转发到归属代理24。为 了确保IPv6标签地址30不被错误解释为实际IPv6地址,标签地址生成/ 修改资源56被配置来将协议标识符32的前3个最高有效位设置为0 (“000”):根据IPv6协议,IPv6地址的前3个最高有效位必须不能为 0;因此,在前3个最高有效位中出现0使得门户移动路由器20b能够识别 出协议标识符32。
因此,在移动路由器20a被附接到IPv4网络14而不是IPv6附接路由 器时,由标签地址生成/修改资源56生成的IPv6标签地址30充当移动路 由器20a的转交地址。
如图2所示,移动路由器20还包括头部生成和解析资源58,其包括 反向路由头部(RRH)资源66。资源58配置为根据移动IPv6协议来生成 IPv6头部,并且反向路由头部资源66被配置为将反向路由头部添加到 IPv6头部,如图5所示。移动路由器20还包括绑定更新资源60,其被配 置为响应于附接到网络(在此情形中是专用IPv4网络14a),向其对端归 属代理24发送绑定更新消息。移动路由器20还包括源路由资源62,其配 置为根据移动IPv6协议并按照Thubert等的因特网草案的规定,来路由具 有路由头部的所接收到的IPv6分组。
图5是图示了由头部生成和解析资源58和绑定更新资源60生成的 IPv6分组70(例如绑定更新消息),用于发送到归属代理24。IPv6分组 70包括由IPv6头部生成和解析资源58生成的IPv6头部72,IPv6头部72 包括源地址字段74、目的地地址字段76和由RRH资源66生成的反向路 由头部(RRH)78。IPv6分组70还包括有效负载88,例如绑定更新消 息。源地址字段74指定移动路由器20a的标签地址(“MR2_TAG1”) 30,并且目的地地址字段76指定归属代理24的IPv6归属代理地址 (“MR2_HA”)80。
由RRH资源66生成的反向路由头部78包括指定路由头部类型 (“第4类”)的路由头部类型字段82、以及用于存储路由信息的槽 (slot)84a和84b。具体地说,RRH资源66在槽84b(“槽0”)中插入 发起IPv6隧道28的移动路由器(MR2)20a的归属地址86。RRH资源66 也包括空槽84a(“槽1”),以使得门户移动路由器20b能够插入修改后 的IPv6标签(MR2_TAG2)30′来生成要经由IPv6网络16而被输出到归 属代理24的修改后的IPv6分组70′。
反向路由头部78示出移动路由器20a(MR2)建立到其对端归属代理 24的隧道28的情形。在移动路由器20c(MR3)建立到其归属代理(未 示出)的隧道的情形中,移动路由器20c将生成具有3个槽84(例如,槽 0、槽1和槽2)的反向路由头部,其中初始槽(槽0)将指定建立该隧道 的发起移动路由器(在此情形中为MR3)的归属地址(例如, MR3_HAddr)。因此,移动路由器20a(MR2)将接收来自移动路由器 20c(MR3)的下述IPv6分组,该IPv6分组具有指定该移动路由器 (MR3)的转交地址(例如,MR3_CoA)的源地址字段,和在初始槽 (槽0)中指定归属地址(MR3_HAddr)的反向路由头部。在此情形中, 移动路由器20a(MR2)将通过将转交地址(MR3_CoA)插入到下一个可 用槽(槽1),并且用其标签地址值(MR2_TAG1)30覆写源地址字段 74,从而更新反向路由头部。
再参考图5所示的示例,其中,移动路由器20a(MR2)建立到其对 端代理的隧道28,并且生成具有槽84a和84b的反向路由头部:一旦移动 路由器20a中的标签地址生成/修改资源56生成了IPv6标签地址30,并且 头部生成器58生成了用于相应的有效载荷88的IPv6头部72,封装/解封 装资源54就将IPv6分组70封装到IPv4分组90中,如图4所示。IPv4分 组90包括具有源地址字段92和目的地地址字段94的IP头部,源地址字 段92指定移动路由器20a的专用IPv4“转交地址”(例如, “10.1.1.2”)34,而目的地地址字段94指定门户移动路由器20b的公共 IPv4网关地址(例如,“210.0.2.2”)36。IPv4分组90还包括传输头部 95,传输头部95包括指定源UDP地址(示作“XX”)38的源UDP端口 字段96和指定规定的门户端口40(在此情形中是已知的移动IP端口 “434”)的目的地UDP端口字段98。图2中的封装/解封装资源54将 IPv4分组90提供到IPv4接口100,IPv4接口100配置为根据IPv4协议将 IPv4分组90输出到IPv4网络14上。
如图4所示,IPv4分组90经由NAT 16从专用网络14a到公共网络 14b的横穿使NAT/PAT 16将IPv4分组90修改为转换后的分组90′。具体 地说,NAT/PAT 16分别用公共IPv4地址值(例如,“66.88.1.2”)102 和公共端口(示作“YY”)104来转换源地址字段92中的值34和源端口 字段96中的值38。从而,门户移动路由器20b经由公共IPv4网络14b接 收转换后的分组90′。
门户移动路由器20b配置为将其自身识别为配置来在IPv6网络16和 IPv4网络14之间发送IPv6分组的门户移动路由器。因此,图2的门户移 动路由器20b的IPv4接口100配置为响应于在目的地端口字段98中检测 出规定的公共网关UDP端口40值为“434”,将转换后的分组90′转发向 封装/解封装资源54。资源54通过剥离IPv4头部将IPv6分组70解封装, 然后将该IPv6分组70转发向IPv6模块50。
头部生成和解析资源58对图5所示的IPv6头部72进行解析。响应于 在源地址字段74中的IPv6标签地址30中检测到“向上”协议标识符 32,头部生成和解析资源58向标签地址生成/修改资源56发布功能调用, 以通过用图3B中所示的“向下”协议标识符(例如,“12.34.32.10”) 106覆写“向上”协议标识符32,从而修改IPv6标签地址30。下面将描 述,“向下”协议标识符106用来使门户移动路由器20b能够自动发起下 述协议,该协议用于将所接收到的“向下”的、来自归属代理的IPv6分组 经由IPv4网络14转发到目的地。另外,协议标识符106将前3位最高有 效位设置为“000”,以确保修改后的IPv6标签地址30′不被错误解释为 IPv6地址。
如图3B所示,修改资源56还用各个转换后的公共值102和104对在 IPv6标签地址30中指定的专用源IP地址34和专用源UDP端口38进行覆 写,从而得到修改后的IPv6标签地址30′,其指定“向下”协议标识符 106、移动路由器20a的公共IPv4地址(“66.88.1.2”)102、移动路由器 20a的公共UDP端口(“YY”)104、以及用于门户移动路由器20b的公 共IP地址36和UDP端口40。因此,修改后的IPv6标签地址30′包括门户 移动路由器20b对要经由IPv4网络14而被转发向移动路由器20a的IPv6 分组进行封装所必需的所有参数。
如图5所示,门户移动路由器20b中的反向路由头部资源66将修改后 的IPv6标签地址(MR2_TAG2)30′插入到反向路由头部78的空槽84a 中,并且将其自己的转交地址(MR1_CoA)110插入到源地址字段74 中,从而得到修改后的IPv6分组70′。门户移动路由器20b的IPv6接口64 按照在上面结合的Thubert等提交的因特网草案所述,经由IPv6网络16 将修改后的IPv6分组70′输出到归属代理24。如上所述,如果反向路由头 部最初是由移动路由器20c生成的,则门户移动路由器20b将把修改后的 IPv6标签地址插入到反向路由头部中的下一个可用槽中,并且按照目的地 地址字段的指定来转发该IPv6分组。
归属代理24响应于检测到目的地地址字段76中的归属代理地址值 (MR2_HA)80,接收修改后的IPv6分组70′。响应于接收到修改后的 IPv6分组70′,归属代理24读取反向路由头部78的最底条目84b,并且好 像该条目是移动IPv6归属地址目的地选项(即,作为到绑定缓存(binding cache)中的索引)一样使用该条目,从而标识移动路由器20a的归属地址 86。然后,归属代理24可以标识出绑定更新请求88,并且将修改后的标 签地址30′作为移动路由器20a的“转交地址”存储在其对端绑定缓存条目 中。因此,穿过IPv4网络14对于归属代理24来说可以是透明的。
如图6所示,现在,通过在构建路由头部时使用反向路由头部78(指 定修改后的标签30′)和源地址110,归属代理24可以经由隧道28直接发 送回分组112。还要注意,如果用于移动路由器的绑定缓存条目尚不存 在,或者分组发源于转交地址,则归属代理24可以使用反向路由头部来 经由隧道28发送分组。根据上面结合的由Thubert等提交的因特网草案, 归属代理24将其归属代理IPv6地址(例如,“MR2_HA”)80插入到源 地址字段74中,并且将门户移动路由器的转交地址(“MR1_CoA”)110 插入到目的地地址字段76中。归属代理24还插入第2类路由头部114, 以及槽84a和84b,其中,第2类路由头部114包括指定路由头部类型 (“第2类”)的路由头部类型字段82,槽44a和槽84b分别用于存储移 动路由器20a的修改后的标签地址30′和归属地址86。然后,归属代理24 将包括绑定确认有效载荷116的分组112输出到IPv6网络16上。
门户移动路由器20b响应于接收到来自归属代理24的IPv6分组 112,使用它的头部生成和解析资源58来解析路由头部114。响应于在修 改后的IPv6标签地址30′中检测到“向下”协议标识符106,门户移动路 由器20b通过减少路由头部114中的段剩余字段(未示出),并且用头部 字段84a中的修改后的标签地址30′来更新目的地地址字段76,从而执行 传统的IPv6源路由。门户移动路由器20b利用其封装/解封装资源54来生 成IPv4头部,该IPv4头部在各自的目的地头部中指定移动路由器20a的 公共地址102和公共端口104。IPv4接口100将该分组输出到双向隧道13 上。
已被NAT/PAT 16转换的分组分别在目的地地址和目的地端口字段中 指定专用IP地址34和专用UDP端口38。然后,移动路由器20a可以基于 识别出指定公共门户UDP值40的源UDP端口来恢复IPv6分组112。
图7A和图7B示出了根据本发明实施方式经由IPv4隧道发送IPv6分 组的方法。这里参考图7A和图7B所描述的步骤可以作为存储在计算机可 读介质(例如,软盘、硬盘、EEPROM、CD-ROM等)中的可执行代码, 或者经由计算机可读传输介质(例如,光缆、导电传输线介质、无线电磁 介质等)传播的可执行代码而实现在各个移动路由器中。
该方法开始于步骤200,在该步骤中,源移动路由器20a的标签地址 生成资源56构造作为其转交地址的IPv6标签地址30。在步骤202中,源 移动路由器20a的封装/解封装资源54将IPv6分组70封装到IPv4头部 中,并且将IPv4分组90输出到专用IPv4网络14a上。在步骤204中, NAT/PAT 16分别将源地址字段92的专用源地址34和源端口字段96的专 用UDP端口38转换成公共IP地址102和公共端口104,然后输出转换后 的IPv4分组90′。
在步骤206中,门户移动路由器20b接收到转换后的IPv4分组90′。 在步骤208中,门户移动路由器20b的IPv4接口100检测出指定移动IP 的门户端口值(“434”)40,并且在响应中,封装/解封装资源54剥离 IPv4头部。在步骤210中,门户移动路由器20b的头部生成和解析资源58 检测出IPv6标签地址30中的“向上”协议标识符32,并且在响应中,标 签修改资源56用“向下”协议标识符106更新IPv6标签地址30,还分别 用公共地址102和104覆写源MR 20a的专用地址34和38。在步骤212 中,门户移动路由器20b的RRH资源66用更新后的IPv6标签地址30′更 新反向路由头部。在步骤214中,门户移动路由器20b的IPv6接口64经 由IPv6网络16将修改过的IPv6分组70′输出到归属代理24。
在步骤216中,归属代理24检测出来自反向路由头部的槽84b的源移 动路由器20a的归属地址86,并且通过更新源移动路由器20a的绑定缓存 条目来将更新后的IPv6标签地址(MR2TAG2)30′指定为源移动路由器 20a的转交地址,从而对绑定更新88作出响应。在步骤218中,归属代理 输出绑定确认112,该绑定确认112包括指定更新后的IPv6标签地址30′ 的路由头部114。
参考图7B,在步骤220中,门户移动路由器20b接收到图6的绑定确 认消息112。门户移动路由器20b的解析资源58解析路由头部114,并且 检测出指定了“向下”协议标识符106的更新后的IPv6标签地址30′。
在步骤222中,门户移动路由器20b通过按照Thubert等提交的因特 网草案所规定的更新路由头部114,并且基于为源移动路由器20a指定的 公共地址102和公共端口104将绑定确认消息112封装到IPv4头部中,从 而对“向下”协议标识符106作出响应。在步骤224中,门户移动路由器 20b输出承载绑定确认消息112的IPv4分组。
在步骤226中,NAT/PAT 16将移动路由器20a的目的地公共地址102 和目的地公共端口104分别转换为专用地址34和专用端口38,此后,在 步骤228中,源移动路由器20a接收转换后的IPv4分组。源移动路由器 20a的IPv4接口100识别出源端口字段中规定的门户端口40,然后在步骤 230中,在响应中源移动路由器20a的封装/解封装资源54对IPv6分组 112进行解封装。
响应于在步骤230中检测出“向下”协议标识符106,源移动路由器 在步骤232中获知在更新后的标签地址30′中指定的公共IPv4地址,并且 将IPv6分组再引入到IPv6结构中;在此情形中,绑定确认116被源移动 路由器20a中的绑定更新资源60记录。或者,如果所接收到的IPv6分组 是去往另一个移动路由器的,例如移动路由器20c或移动主机22,则移动 路由器20a根据移动IPv6协议转发该IPv6分组。
根据所公开的实施方式,IPv6移动路由器可以有效地建立穿过IPv4 网络的隧道,以传输IPv6分组,而不管IPv4网络是否利用了对称NAT。 IPv4隧道通常通过MR发送绑定更新而开始:因此,IPv4隧道总是可用, 因为MR知道在任何时刻它都具有其自己的隧道。如果绑定更新的发送对 于资源维持路径来说足够频繁,则仅仅由MR默认执行移动IP协议该路径 就将保持活动。因此,IPv4隧道总是活动的,而不需要额外的处理资源开 销。
另外,对于门户移动路由器,不需要维持任何状态,或者存储关于通 过其漫游的移动路由器的任何信息,因为所有必需的IPv4路由信息都在分 组中。此外,IPv4路由信息被存储在归属代理的绑定缓存中。因此,当 IPv4路由信息不再有效时,绑定缓存被归属代理自动清空,这消除了IPv6 网络中的任何无效状态的可能性。因此,不需要删除网络中由于无效状态 (例如,在网关、服务器等中的)而造成的过时信息。
此外,经由NAT从MR到门户的IPv4隧道使用相同的UDP端口,因 此,NAT/PAT中的单个资源可以被用于附接到TLMR 20a的所有移动路由 器,这使得不必使用NAT/PAT中的多个资源。注意,如果网络不具有 PAT,使得隧道13不需要传输头部值,则在标签30中端口字段的UDP资 源38和门户端口值40可以为0。
此外,MR 20a可以轻易地切换到新“门户”:由源MR 20a输出的下 一个分组采用下一个源路由,其更新归属代理中的绑定缓存,这使该归属 代理使用新的门户。注意,归属代理甚至于不需要等待绑定更新,这是由 于其可以仅使用反向路由头部。
如下所述,可以采用不同的变化和修改。具体地说,假定门户(即, IPv4/IPv6网关)独立于归属代理;因此,当分组被接收到时,门户通过将 合成的IPv6标签插入到反向路由头部中,从而通过IPv6接口转发该分 组。然而,如果IPv6网关就是归属代理,则分组的IPv6源地址在绑定缓 存中将会结束。
因此,归属代理可以配置为使用UDP封装向转发地址发送。因此, 不具有RRH功能的移动路由器可以构造同一类型的IPv6标签地址,将该 IPv6标签地址插入到IPv6头部的源地址字段中(在目的地选项字段中指 定的归属地址),并且经由IPv4隧道将没有RRH的分组输出到其归属代 理。归属代理终止IPv4隧道(即,归属代理充当门户),恢复IPv6分 组,并且更新具有代表转交地址的标签的绑定缓存。这样,一旦访问绑定 缓存条目并探测出标签,归属代理就转发封装的UDP分组形式的任何分 组。由于“标签”(代表转交地址)不能被用作源或目的地,所以归属代 理和“门户”必须被协同定位。对于较小的实现,这实际上可能有好处。 另一种变化包括所谓分级移动IP(HMIP)的协议。参见由Soliman 于2002年7月提交的题为“Hierarchical MIPv6 mobility management (HMIPv6)”的因特网草案,该草案可以在网址为 http://www.nal.motlabs.com/nemo/drafts/draft-ietf-mobileip-hmipv6-06.txt处 获得,其公开整体通过参考结合于此。具体地说,正在漫游的移动节点 (具体地说是移动主机(MH))与移动定位点(mobility anchor point, MAP)交互,该移动定位点代表MH注册到该MH的归属代理。当MH在 同一个MAP附近漫游时,该MH不需要改变其注册,因为MAP可以连续 将分组转发给该MH。因此,MAP可以是门户。MAP具有其自己的IPv6 地址,所以它可以不同于门户。MAP也具有IPv4地址,所以如果MH知 道MAP IPv4地址,则MH可以基于MAP IPv4地址来构造它的IPv6标签 地址,并且经由关联的IPv4隧道转发承载该IPv6标签地址的IPv6分组; MAP代表MH注册到该MH的归属代理,用该MAP的IPv6地址充当该 MH的转交地址(例如,象代理一样)。
因此,在移动节点(具体地说,移动主机)不使用反向路由头部的情 形中,HMIP允许拓扑分布在不同的归属代理和不同的门户之间。这些门 户实际上使用HMIP来注册MH。
尽管已结合当前认为最实用并优选的实施方式描述了所公开的实施方 式,但是,应当理解,本发明不是要受限于所公开的实施方式,相反,而 是要覆盖包括在所附权利要求的精神和范围内的各种修改和等同布置。