用于IPv6移动节点穿越IPv4网络的布置的制作方法

文档序号:7605716阅读:826来源:国知局
专利名称:用于IPv6移动节点穿越IPv4网络的布置的制作方法
技术领域
本发明涉及IPv6(因特网协议版本6)节点经由IPv4网络传输IPv6分组,其中IPv4网络具有网络地址转换器(NAT)或端口地址转换器(PAT)。
背景技术
在提供连续的基于因特网协议(IP)的连接性方面,因特网工程任务组(IETF)已提出了多种建议,以改进基于因特网协议(IP)的移动设备(例如,膝上型笔记本、IP电话、个人数字助理等)的移动性支持。IETF有两个关注于移动网络的工作组,移动自组织网络(MANET)工作组和NEMO(移动网络),其中MANET工作组主要开发标准的MANET路由规范以被IETF采纳。NEMO使用移动IP(MIP)来提供移动网络和基础设施(如因特网)之间的连接性。NEMO中的关键组件是代表其服务的移动网络处理MIP的移动路由器。
在Johnson等人的题为“Mobility Support in IPv6”的因特网草案中公开了“移动IPv6”协议,其可在www网址http//www.ietf.org/internet-drafts/draft-ietf-mobileip-ipv6-21.txt处获得(这里通过引用并入所公开的全部内容)。根据Johnson等人的说法,移动IPv6协议使得移动节点能够从一个链路移动到另一个链路,而无需改变移动节点的IP地址。具体地说,移动节点被分配有一个“归属地址”。“归属地址”是被分配给在归属链路上的归属子网前缀内的移动节点的IP地址。当移动节点处于本地时,目的地为其归属地址的分组被利用传统的因特网路由机制路由至移动节点的归属链路。
移动节点也被分配有一个归属代理,该归属代理用于在移动节点远离其归属链路时,注册移动节点在其到因特网的附接点处所使用的任何转交地址。转交地址是与移动节点相关联的IP地址,该移动节点具有远离其归属链路的具体链路(如外地链路)的子网前缀。归属代理是移动节点的归属链路上移动节点注册其当前转交地址的路由器。当移动节点远离其归属链路时,归属代理拦截归属链路上目的地为移动节点的归属地址的分组;归属代理封装分组,并以隧道方式将分组传送到移动节点注册的转交地址。
因而,移动节点总是可由其“归属地址”来寻址分组可利用该地址被路由至移动节点,而无需考虑移动节点当前到因特网的附接点。移动节点在移动到新的链路后,也可以继续与其他节点(固定或移动的)进行通信。从而,移动节点远离其归属链路的移动对于传输和更高层协议和应用来说是透明的。
因特网工程任务组(IETF)中的下一代网络演进(NGTRANS)工作组正提出各种建议,以使网络节点能够穿过IPv4网络传送IP分组,该IP分组是根据如注释请求(RFC)2460中所指定的IPv6协议生成的。具体地说,RFC 3056提出了一种将IPv6分组作为IPv4分组的有效载荷发送的临时解决方案(这里称为“6-4建议”),其中临时的唯一IPv6地址前缀被分配给具有至少一个全球唯一的IPv4地址的任何节点。这些RFC可在IETF网站上获得,www网址为http//www.ietf.org,这里通过引用并入RFC 2460和3056的全部内容。
6-4建议指出IPv6节点具有包括分配的IPv4地址的IPv6地址,导致在IPv6和IPv4地址之间形成自动映射。因而,IPv6节点可以基于从其IPv6地址内提取出分配的IPv4地址,容易地以IPv4头部来封装IPv6分组。具体地说,RFC 3056指出因特网指定号码授权中心(IANA)已经根据6-4建议的IPv6格式前缀“001”永久地分配了一个13比特的IPv6顶级聚集器(TLA)标识符TLA的数字值为0x00002,即当表达为16比特IPv6地址前缀时值为2002∷/16。因而,由格式前缀“001”创建了48比特地址前缀,接着是13比特TLA“0x00002”,再接着是分配的32比特IPv4地址;128比特IPv6地址的剩余80比特可用于16比特站点级聚集标识符(SLAID)和64比特接口ID。因此,具有至少一个全球唯一的IPv4地址的任何节点都可以有全球唯一的IPv6地址,即使该节点与IPv4网络地址转换器(NAT)相组合时也是如此。
目前越来越关注IPv6节点耦合到具有网络地址转换器(NAT)的私有IPv4网络的情况。NAT执行IP地址的第3层转换,从而公共因特网地址映射到私有IP地址,这在注释请求1918(RFC 1918)中有详细描述。该映射允许企业将大量私有地址映射到有限数目的公共地址,从而限制了因特网用户所需的公共地址数目。
然而,如在RFC 3056中所描述的,如果IPv6节点耦合到具有NAT的IPv4网络,则NAT盒“也必须包含包括6-4机制的全功能IPv6路由器”,以使得6-4建议仍然可操作于具有NAT的IPv4网络中。然而,修改现有的NAT以包含IPv6路由器从而包括6-4机制可能不是一种实用的解决方案。
另外,6-4协议的IPv4地址被假定为全球公共地址。因而,如果IPv6节点(即,对应节点)想要与漫游的移动IPv6节点通信,则漫游的移动IPv6节点的6-4地址必须是全球公共地址,而不是私有地址。
在2002年9月17日Huitema的题为“TeredoTunneling IPv6 overUDP through NATs”的IETF草案中描述了IPv6节点利用自动隧道建立技术穿越NAT的方法,该草案可在www网址http//www.ietf.org/internet-drafts/draft-ietf-ngtrans-shipworm-08.txt处获得。
Huitema建议位于NAT后部的IPv6节点可以访问“Teredo服务器”和“Teredo中继”以了解其“全球地址”并获得连接,其中客户端、服务器和中继可以组织为“Teredo网络”。Huitema依赖于私有IPv4地址域中NAT后部的客户端(即,IPv6节点)与公共IPv4地址域中NAT相反一侧的Teredo服务器和Teredo中继之间的复杂的基于客户端-服务器的交互。因而,NAT私有侧上的IPv6节点与NAT公共侧上的Teredo服务器和Teredo中继之间的通信(经由NAT)要求IPv6节点同时具有到公共侧上的Teredo服务器和Teredo中继网关的指定路径;因而,IPv6节点需要使用相同的IPv4标识符(例如,被NAT转换的UDP端口IP地址)。
然而,该用于与Teredo服务器和Teredo中继进行通信的相同IPv4标识符在对称NAT的情况下是不可能的,因为Teredo服务器和Teredo中继每一个都有不同的对应IPv4公共地址。具体地说,对称NAT不仅通过私有IPv4节点输出的分组的私有IP地址/私有UDP端口/公共IP地址/公共UDP端口来索引其地址转换表,还通过分组所指定的目的地为公共IPv4网络的目的地IP地址和目的地端口来索引其地址转换表。因而,由于Teredo服务器和Teredo中继有不同的IP地址,所以对称NAT不会将分组映射到私有IPv4节点所使用的相同私有IP地址/私有UDP端口。因而,Huitema的解决方案无法穿越对称NAT。

发明内容
需要这样一种布置,其使得IPv6节点能够穿过IPv4网络透明地进行通信,而不考虑IPv6节点是否在IPv4网络上由对称NAT分离。
还需要这样一种布置,其使得IPv6节点能够穿过IPv4网络传输IPv6分组,而不必使每个IPv6节点都充当IPv4端点以存储状态信息。
还需要这样一种布置,其使得能够以这样一种方式由IPv6网关建立穿过NAT的IPv4连接,该方式使NAT资源的使用最小。
本发明满足了这些和其他的需要,在本发明中,源IPv6移动节点被配置用于利用指定转发协议的合成标签地址建立与目的地IPv6路由器的IPv4连接,合成标签地址充当IPv6移动节点的有效转交地址。合成标签地址具有被路由到IPv6路由器的地址前缀,其中在其相应的目的地地址字段中指定该地址前缀的IPv6分组被路由到目的地IPv6路由器。地址前缀包括协议标识符和IPv6路由器的IPv4地址。合成标签地址的地址后缀指定了源IPv6移动节点的IPv4源地址、IPv6移动节点的UDP源端口和目的地IPv6路由器的UDP目的地端口。因而,合成标签地址使得目的地IPv6路由器能够经由IPv4网络将IPv6回复分组发送回源IPv6移动节点,而不考虑IPv4网络是否包括分离源和目的地IPv6移动路由器的NAT。
本发明的一个方面提供了一种IPv6移动节点中的方法。该方法包括首先生成IPv6标签地址,IPv6标签地址包括IPv6网关的规定协议标识符和IPv6网关的IPv4网关地址,其中IPv6网关被配置用于在IPv4网络和IPv6网络之间传送分组。该方法还包括其次生成IPv6分组,IPv6分组具有指定IPv6标签地址的源地址字段和指定被分配给IPv6移动节点的归属地址的头部。该方法还包括将IPv6分组封装在IPv4分组中。IPv4分组具有IPv4头部,IPv4头部包括指定IPv4网关地址的目的地地址字段和指定IPv6移动节点的移动节点IPv4地址的源地址字段。IPv4分组还包括传输头部,传输头部具有源端口字段和目的地端口字段,源端口字段指定IPv6移动节点的规定UDP端口,目的地端口字段指定用来识别IPv6分组在IPv4网络和IPv6网络之间的传送的IPv6网关的规定UDP端口。该方法还包括将IPv4分组经由IPv4网络输出到IPv6网关,以用于将IPv6分组传送到IPv6网络上。
本发明的另一方面提供了一种IPv6路由器中的方法。该方法包括附接到使用IPv4网关地址的IPv4网络和使用IPv6地址的IPv6网络;并从IPv4网络中接收IPv4分组,IPv4分组具有指定IPv4网关地址的目的地地址字段、指定规定UDP网关端口的目的地端口字段、指定IPv4地址的源地址字段和指定第二UDP端口的源端口字段。该方法还包括响应于在目的地端口字段中检测到规定UDP网关端口,从IPv4分组中恢复IPv6分组。该方法还包括在IPv6分组的源地址字段内检测IPv6标签地址,IPv6标签地址的开头是IPv6网关用来在IPv4网络和IPv6网络之间传送IPv6分组的规定协议标识符。IPv6标签地址还包括不同于IPv4地址的第二IPv4地址。该方法还包括响应于检测到规定协议标识符,通过将第二IPv4地址重写为IPv4地址并将第二UDP端口插入到IPv6标签地址中,将IPv6标签地址修改为修改后的IPv6标签地址。该方法还包括通过将修改后的IPv6标签地址插入到IPv6分组的源地址字段中,将IPv6分组更新为更新后的IPv6分组,并将更新后的IPv6分组输出到IPv6网络上。
本发明另外的优点和新的特征部分地从下面的描述中将清楚了解,部分地对于本领域的技术人员在阅读下面内容后将变得清楚,或者可通过实施本发明来加以认识。利用在所附权利要求中具体指出的手段和组合,可以实现并获得本发明的优点。


参考附图,其中具有相同标号的元件代表类似的元件,在附图中图1图示了根据本发明实施例利用网络地址转换器(NAT)建立穿过IPv4网络的IPv4连接的IPv6移动路由器。
图2进一步详细图示了根据本发明实施例的图1的IPv6移动路由器。
图3A、3B和3C图示了由充当IPv4连接端点的IPv6源和目的地移动路由器生成和修改的IPv6标签地址。
图4图示了被NAT/PAT和反向NAT/PAT进行地址转换的IPv4分组,其由图1的源移动节点输出并且携带有IPv6分组。
图5A和5B是根据本发明实施例总结穿过IPv4网络发送IPv6分组的方法的流程图。
图6图示了根据本发明替代实施例利用网络地址转换器(NAT)和反向NAT建立穿过IPv4网络的IPv4连接的IPv6移动路由器。
具体实施例方式
所公开的实施例是对以上并入的2003年3月10日提交的专利申请No.10/383,567(下文中称为“父申请”)中公开的布置的改进,该申请主要针对于基于使用基于IPv6的反向路由头部,以隧道的方式穿过IPv4网络传送IPv6分组。反向路由头部的生成和使用被发明人在2002年6月19日公开为因特网草案“IPv6 Reverse Routing Header and its application toMobile Networks”,其可在www网址http//www.ietf.org/internet-drafts/draft-thubert-nemo-reverse-routing-header-00.txt处获得,这里通过引用并入其全部内容。更近的版本公开于2002年10月11日,其可在www网址http//www.ietf.org/internet-drafts/draft-thubert-nemo-reverse-routing-header-01.txt处获得,这里通过引用并入其全部内容。
所公开的改进通过生成IPv6标签地址来消除反向路由头部的必要,其中IPv6标签地址是有效IPv6地址,并且充当IPv6移动节点(例如,IPv6移动主机计算机、IPv6移动路由器)的转交地址。具体地说,本申请的发明人于2003年2月公开了一个因特网草案,题为“IPv4 Traversal forMIPv6 Based Mobile Routers”,其可在www网址http//www.ietf.org/internet-drafts/draft-thubert-nemo-ipv4-traversal-00.txt处获得,这里通过引用并入其全部内容。该因特网草案的更近的一个版本(draft-thubert-nemo-IPv4-traversal-01)作为附录而被附于此。
如在所附附录中所描述的,IPv6标签地址(在附录中称为“门处理”)包括48比特地址前缀,该48比特地址前缀包括目的地IPv6网关路由器(在附录中称为“门”)的32比特IPv4地址和16比特规定协议标识符(在附录中称为3比特格式前缀和13比特顶级聚集标识符(TLAID)),该16比特规定协议标识符能使目的地IPv6网关路由器(即“门”)识别出所接收的IPv4分组包括需要在所连接的IPv6网络上转发的IPv6分组。另外,根据RFC 3056,该16比特规定协议标识符位于48比特地址前缀的开头,从而使48比特地址前缀可被路由到目的地IPv6网关路由器。因而,IPv6移动节点的128比特转交地址可以根据现有的路由协议,被所连接的IPv6网络中的其他节点路由到目的地IPv6网关路由器,并且,该128比特转交地址包括足够的信息,从而使IPv6网关路由器能够经由IPv4网络将任何在目的地地址字段中指定转交地址的IPv6分组转发到IPv6移动节点。
图1图示了网络10(从父申请中再现),其中移动IPv6网络12被配置用于建立跨过IPv4网络14到目的地IPv6网络16的IPv4隧道13。具体地说,移动网络12至少包括移动路由器(“MR”)20a,其被配置用于根据IPv6协议发送并接收分组。移动路由器20a还被配置用于与相应的归属代理(HA)24通信,归属代理24被配置用于根据移动IP协议将寻址到移动路由器归属地址的分组转发到移动路由器20a的转交地址(CoA),该移动IP协议在2003年1月20日Johnson等人的题为“Mobility Support in IPv6”的IETF草案中有所描述,该IETF草案可在www网址http//www.ietf.org/internet-drafts/draft-ietf-mobileip-ipv6-21.txt处获得(这里通过引用并入所公开的全部内容)。
移动路由20a(“MR2”)可作为单个漫游移动路由器漫游,或者可以用作具有附接的IPv6节点的移动网络12的顶级移动路由器(TLMR)。如图1所示,移动路由器20a充当移动网络12中移动路由器20c(“MR3”)和移动主机(MH)22的TLMR。
移动路由器20a被配置用于建立到其相应的归属代理(HA)24的双向隧道28,从而使被(例如被对应节点(CN)26)发送到移动路由器20a的归属地址的分组能够被归属代理24转发到移动路由器20a的转交地址。
由于源移动路由器20a附接到IPv4网络14,从而与IPv6路由器相对的,因此源移动路由器20a也被配置用于建立到具有IPv4网络14上的连接的相应IPv6目的地移动路由器(“MR1”)20b的IPv4隧道13(如UDP隧道),该相应的IPv6目的地移动路由器20b也被称为“门”移动路由器或IPv6网关。因而,移动路由器20a被配置用于利用门移动路由器20b作为IPv4隧道13中的端点,经由IPv4隧道13实现到其相应归属代理24的双向隧道28。
IPv4网络14可选地可包括网络地址转换器(NAT)和/或端口地址转换器(PAT)16。如图1所示,移动路由器20a附接到私有IPv4网络14a移动路由器20a可基于在先配置(静态的或未计数的)、动态主机配置协议(DHCP)或点到点协议(PPP)链路的IP控制协议(IPCP),从而获得其IPv4地址(例如“10.1.1.2”)。私有IPv4网络14a接入到具有端口地址转换器(PAT)的网络地址转换器(NAT)16,从而使私有网络14a中的节点能够在公共IPv4网络14b中寻址。
移动路由器20a还被配置用来访问预定的IPv4地址(例如“210.0.2.2”)和规定门端口(例如UDP端口“434”)处的门移动路由器20b,从而使移动路由器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穿过NAT 16,用于多个IPv6数据流。
另外,移动路由器20a利用包括所有必要路由信息的转交地址来使得任何指定转交地址作为其目的地的IPv6分组能够根据现有的路由协议到达IPv6网关20b,并使得IPv6网关20b能够经由IPv4隧道13将IPv6分组转发到移动路由器20a。如下结合图3A所述,移动路由器20a被配置用于生成包括规定协议标识符32的IPv6标签地址30,所述协议标识符32被IPv6网关20b用来识别经由IPv4网络14接收的IPv6分组30要被传送到IPv6网络16。
图6图示了图1的变化,其中IPv6网关20b位于私有IPv4网络14c的私有域中,而不是在图1的公共IPv4网络14b中。这种情况下,NAT16′拥有被MN视作门地址的公共地址(“210.0.2.2”)。NAT 16′被预先配置为对UDP端口/公共地址的所有流量进行“反向网络地址转换”,以转换为门20b的私有地址(“11.2.2.1”)。因而这种情况下,如图3C所示,源IPv4地址102和目的地IP地址103(以及源UDP端口104和目的地UDP端口105)都应当被门20b重写为IPv6标签地址30,以确保门20b可以利用修改后的IPv6标签地址30′正确地路由任何IPv6分组。
图2的框示了被配置用于根据移动IPv6协议发送分组并充当IPv4隧道13的端点的移动路由器20(例如20a、20b或20c)。移动路由器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。
如图3A中所示,标签地址生成/修改资源56被配置用于生成IPv6标签地址30,其包括规定协议标识符32(十六进制“2002”)、移动路由器20a的源IPv4地址34(IPv6十六进制符号“0a010102”,IPv4十进制符号“10.1.1.2”)、IPv6网关20b的公共IPv4网关地址36(IPv6十六进制符号“d2000202”,IPv4十进制符号“210.0.2.2”)、由IPv4网关20b的管理员设置的16比特站点级聚集标识符(SLA)(十六进制“0801”)42(例如,用来代表IPv6网关20b的64比特IPv6地址)、源UDP端口38(“0001”)和IPv6网关20b的规定公共UDP端口40(十六进制“01b2”,十进制“434”)。基于连接到私有IPv4网络14a,源IPv4地址34和源UDP地址38可以是私有地址和端口。如上所述,在附接到网络14时公共IPv4网关地址36和规定公共UDP网关端口40已经为移动路由器20a所知。如果在IPv4隧道13中不使用传输层头部(例如在NAT 16不包括PAT的情况下),则值38和40可设为0。
具有十六进制值“2002”(二进制值0010 0000 0000 0010)的16比特协议标识符32被门移动路由器20b用来识别6-4协议,即,经由IPv6网络16向“上”转发IPv6分组到归属代理24。根据RFC 3056和附录中所述的,IPv6网关20b将协议标识符32识别为将转交地址标识为6-4地址,该6-4地址指定了用于经由IPv4隧道13路由分组的IPv4地址信息。注意,在实现中可以使用其他规定的协议标识符值。
因而,在移动路由器20a附接到IPv4网络14而不是IPv6附接路由器的同时,由标签地址生成/修改资源56生成的IPv6标签地址30充当移动路由器20a的转交地址。
如图2所示,移动路由器20还包括头部生成和解析资源58,其被配置用于根据移动IPv6协议生成IPv6头部。移动路由器20还包括绑定更新资源60,其被配置用于响应于附接到网络而发送绑定更新消息到其相应的归属代理24,所述网络在这种情况下是私有IPv4网络14a。移动路由器20还包括源路由资源62,其被配置用于路由所接收到的IPv6分组,该IPv6分组具有根据移动IPv6协议的路由头部和Thubert等人的因特网草案中所指定的反向路由头部。
图4图示了封装IPv6分组70的IPv4分组90,例如绑定更新消息。绑定更新消息70由头部生成和解析资源58和绑定更新资源60生成,用于递送到归属代理24。IPv6分组70包括指定转交地址30的源地址字段74、目的地地址字段76,并且在此示例中还包括指定移动路由器20a的归属地址(Haddr)的目的地选项78。IPv6分组70还包括有效载荷88,在该示例中是绑定更新消息。源地址字段74指定了移动路由器20a的标签地址(“MR2_TAG1”)30,目的地地址字段76指定了归属代理24的IPv6归属代理地址(“MR2_HA”)80。
一旦移动路由器20a中的标签地址生成/修改资源56生成IPv6标签地址30并且头部生成器58生成相应有效载荷88的IPv6头部72,封装/解封资源54就将IPv6分组70封装到IPv4分组90中,如图4所示。IPv4分组90包括具有指定移动路由器20a的私有IPv4“转交地址”(例如“10.1.1.2”)的源地址字段92的IP头部,以及指定门移动路由器20b的公共IPv4网关地址(例如“210.0.2.2”)的目的地地址字段94。IPv4分组90还包括传输头部95,传输头部95包括指定源UDP地址(“01”)38的源UDP端口字段96和指定规定的门端口40的目的地UDP端口字段98,其中门端口40在这种情况下是已知的移动IP端口“434”。图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将源地址字段92和源端口字段96中的值34和38分别转换为公共IPv4地址值(例如“66.88.1.2”)102和公共端口(“02”)104。因而,门移动路由器20b经由公共IPv4网络14b接收转换后的分组90′。
如图6所示,如果门移动路由器20b位于也称为反向NAT/PAT 16’的第二NAT/PAT 16′的后面,则NAT/PAT 16′将目的地地址字段94和目的地端口字段98中的值36和40分别转换为私有IPv4地址值(例如“11.2.2.1”)103和私有端口(“03”)105。因而,图6的门移动路由器20b经由私有IPv4网络14c接收转换后的分组90′。
门移动路由器20b被配置用来将其自身识别为被配置用于在IPv6网络16和IPv4网络14之间发送IPv6分组的门移动路由器。因而,图2的门移动路由器20b的IPv4接口100被配置用于响应于在目的地端口字段98中检测到具有值“434”的规定公共网关UDP端口40,而将转换后的分组90′转发到封装/解封资源54。
在图6所示门移动路由器驻留在私有IPv4网络14c中的情况下,IPv4接口100可被配置用于响应于在目的地端口字段98中检测到具有值“03”的规定私有网关UDP端口105,而将转换后的分组90′转发到封装/解封资源54。资源54通过剥离IPv4头部并将IPv6分组70转发到IPv6模块50,来对IPv6分组70解封。
头部生成和解析资源58解析IPv6头部。响应于在源地址字段74中检测到IPv6标签地址30中的协议标识符32,头部生成和解析资源58向标签地址生成/修改资源56发出函数调用。在图1的情形中,标签地址生成/修改资源56可以通过将IPv6标签地址30中指定的私有源IP地址34和私有源UDP端口38重写为各个转换后的公共值102和104,来仅仅修改IPv6标签地址30,从而产生图3B的修改后的IPv6标签地址30′,该IPv6标签地址30′指定了移动路由器20a的公共IPv4地址(IPv6十六进制符号“4258:0102”,IPv4十进制符号“66.88.1.2”)102,移动路由器20a的公共UDP端口(“02”)104和门移动路由器20b的公共IP地址36和UDP端口40。
由于门移动路由器可能在私有网络14c中,因此优选地标签地址生成/修改资源56还应当将接收的IPv6标签地址中指定的门IP地址36和门UDP端口40重写为各个转换后的私有值103和104,从而产生图3C的修改后的IPv6标签地址30″,该IPv6标签地址30″指定了门移动路由器20b的私有IPv4地址(IPv6十六进制符号“0b02:0201”,IPv4十进制符号“11.2.2.1”)103,移动路由器20a的私有UDP端口(“03”)105和移动路由器20a的公共IP地址102和UDP端口104。
因而,修改后的IPv6标签地址30′(对于图1)或30″(对于图6)包括门移动路由器20b封装IPv6分组所必需的所有参数,其中该IPv6分组要经由IPv4网络14被转发到移动路由器20a。
门移动路由器20b的IPv6接口64将修改后的IPv6分组(具有修改后的IPv6源地址30′或30″)经由IPv6网络16输出到归属代理24。归属代理24响应于在目的地地址字段76中检测到归属代理地址值(MR2_HA)80,而接收修改后的IPv6分组。归属代理24读取移动IPv6归属地址目的地选项78(即,作为到绑定缓存中的索引)。然后,归属代理24可以识别绑定更新请求88,并在其相应的绑定缓存条目中将修改后的标签地址30′或30″存储为移动路由器20a的“转交地址”。因而,IPv4网络14的穿越对于归属代理24来说可以是透明的。
现在,归属代理24可以通过在目的地地址字段中指定修改后的转交地址30′或30″,来经由隧道28直接发送回分组。归属代理24在源地址字段中插入其归属代理IPv6地址(例如“MR2_HA”)80,在目的地地址字段中插入修改后的转交地址30′或30″,并且插入指定移动路由器20a的归属地址的第2类路由头部。然后,归属代理24将包括绑定确认有效载荷116的分组输出到IPv6网络16上。
IPv6网关20b已经利用现有的路由协议在IPv6网络上广播具有地址前缀“2002:d200:0202/48”(对于图1)或“2002:0b02:0201/48”(对于图6)的IPv6地址应当被路由至IPv6网关20b。因而,修改后的转交地址30′或30″(以及原始转交地址30)可被路由至IPv6网关20b。因此,来自归属代理24的分组被利用现有的路由协议路由至IPv6网关20b。注意,如果地址前缀是基于私有地址的,如同图6所示的情况那样,则前缀分布需要被相应地加以限制。
门移动路由器20b响应于接收到来自归属代理24的IPv6分组,使用其头部生成和解析资源58来解析路由头部114。响应于在修改后的IPv6标签地址30′或30″中检测到协议标识符32,门移动路由器20b利用其封装/解封资源54来在各个目的地头部中生成IPv4头部,该IPv4头部指定了移动路由器20a的公共地址102和公共端口104。IPv4接口100将分组输出到双向隧道13上。
已被NAT/PAT 16转换后的IPv4分组分别在目的地地址和目的地端口字段中指定了私有IP地址34和私有UDP端口38。然后,移动路由器20a可以基于识别出指定公共门UDP值40的源UDP端口,来恢复IPv6分组112。如下所述,移动路由器20a还将接收到的转交地址30′中的移动节点IPv4地址值102和公共UDP端口值104重写为私有IP地址34和私有UDP端口38。在门20b被经由反向NAT访问的情况下(如图6所示),移动路由器20a还应当将接收到的转交地址30′中的门IPv4地址值103和UDP端口值105重写为公共IP地址36和公共门端口40。
如果重写操作不导致恢复移动路由器20a的转交地址30,则丢弃分组;如果从重写操作中恢复了移动路由器20a的转交地址30,则移动路由器20a相应地处理接收到的IPv6分组。例如,如果存在第2类路由头部,则移动路由器20a相应地处理分组如果第2类路由头部指定了移动路由器20a的归属地址,则移动路由器20a将有效载荷转发到其上层协议;如果在第2类路由头部中指定了另一个IPv6地址(例如,移动路由器20c或移动主机22的地址),则移动路由器20a将有效载荷转发到源路由资源62以进行进一步的路由。
由于转交地址可由移动路由器20a和IPv6网关20b转换,因此如果转交地址被包括在带符号信息中,则认证头部(AH)和上层校验和计算可能出现问题。结果,用于AH的参考分组总是这样的分组,该分组的IPv6源和目的地地址是移动节点的归属地址和归属代理的地址,并且路由头部左边的时隙和片段被设为0。
图5A和5B图示了根据本发明实施例经由IPv4隧道发送IPv6分组的方法。这里结合图5A和5B所述的步骤可以在各个移动路由器中实现为存储在计算机可读介质(例如软盘、硬盘、EEPROM、CD-ROM等)上的可执行代码,或者经由计算机可读传输介质(例如光缆、导电传输线介质、无线电磁介质等)传播的可执行代码。
方法开始于步骤200,在步骤200源移动路由器20a的标签地址生成资源56建立图3A的IPv6标签地址30作为其转交地址。在步骤202,源移动路由器20a的封装/解封资源54将IPv6分组70封装在IPv4头部中,并将IPv4分组90输出到私有IPv4网络14a上。在步骤204,NAT/PAT 16将来自源地址字段92和源端口字段96的私有源地址34和私有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通过将源MR 20a的私有IPv4地址34和UDP端口38分别重写为公共IPv4地址102和UDP端口104,来修改IPv6标签地址30;在门20b位于私有IPv4网络14c的私有地址空间内的情况下(如图6所示),门IPv4地址36和门UDP端口40也可以在步骤211中被重写为目的地端口字段94和UDP端口字段98中的值。
在步骤212,门移动路由器20b的头部生成和解析资源58以更新后的IPv6标签地址30′或30″来更新源地址字段。在步骤214,门移动路由器20b的IPv6接口64将修改后的IPv6分组70′经由IPv6网络16输出到归属代理24。
在步骤216,归属代理24从目的地选项字段78中检测源移动路由器20a的归属地址86,并且通过更新源移动路由器20a的绑定缓存条目来对绑定更新88作出响应,以将更新后的IPv6标签地址(MR2_TAG2)30′或30″指定为源移动路由器20a的转交地址。在步骤218,归属代理输出绑定确认112,其包括指定更新后的IPv6标签地址30′或30″的目的地地址字段和指定源移动路由器20a的归属地址的第2类路由头部。
参考图7B,在步骤220,门移动路由器20b接收绑定确认消息。门移动路由器20b的解析资源58在指定协议标识符32的目的地地址字段中检测更新后的IPv6标签地址30′。
门移动路由器20b根据RFC 3056对协议标识符32作出响应,并且作为响应,检查其是否具有到其64比特地址前缀250(“2002:d200:0202:0801/64”)的IPv6连接路由如果在其路由表中检测到IPv6路由,则门移动路由器20b基于在源移动路由器20a的转交地址30′中指定的公共地址102和公共端口104,将绑定确认消息封装在IPv4头部中。在步骤224,门移动路由器20b输出携带有绑定确认的IPv4分组。
在NAT/PAT 16在步骤226将移动路由器20a的目的地公共地址102和目的地公共端口104转换为各个私有地址34和私有端口38之后,源移动路由器20a在步骤228接收转换后的IPv4分组。源移动路由器20a的IPv4接口100在源端口字段中识别规定门端口40,并且作为响应,源移动路由器20a的封装/解封资源54在步骤230对IPv6分组解封。
在步骤232,标签地址生成和修改资源56将IPv6分组的目的地地址字段中指定的转交地址30′或30″中的公共地址102和公共端口104重写为在IPv4头部中指定的目的地IPv4地址值和目的地UDP端口。在门20b位于私有IPv4网络14c的私有地址域中的情况下标签地址生成和修改资源56还应当在步骤233将转交地址30″中指定的门IPv4地址和门UDP端口重写为在IPv4头部中指定的源IPv4地址值和源UDP端口值,其中反向NAT 16′转换源IPv4地址值和源UDP端口值。
如果在步骤234重写操作不导致与移动路由器20a的转交地址30的匹配,则在步骤236丢弃分组。如果在步骤234重写导致匹配,则移动路由器20a在步骤238将IPv6分组重新引入到IPv6结构内。例如,如果在步骤238第2类路由头部指定了移动路由器20a的归属地址,则在步骤240绑定确认116被源移动路由器20a中的绑定更新资源60记录作为日志。或者,如果在步骤238第2类路由头部指定了另一个地址,指示所接收的IPv6分组目的地是诸如移动路由器20c或移动主机22这样的另一个移动节点,则移动路由器20a在步骤242使用源路由资源62根据移动IPv6协议来转发IPv6分组。
根据所公开的实施例,IPv6移动路由器可以有效地建立穿过IPv4网络的隧道以传送IPv6分组,而不考虑IPv4网络是否利用了对称的NAT。IPv4隧道总是由MR发送绑定更新来开始因而,由于MR知道其在任何时刻都有自己的隧道,所以IPv4隧道总是可用的。如果绑定更新被发送的频繁程度足够使资源维持路径,则路径仅仅通过MR缺省执行移动IP协议就可以保持激活。因而,IPv4隧道总是激活的,而没有额外的处理资源代价。
另外,门移动路由器不必维持任何状态,或存储任何关于漫游经过它的移动路由器的信息,这是因为所有必要的IPv4路由信息都在分组中。另外,IPv4路由信息被存储在归属代理的绑定缓存中。因而,当IPv4路由信息不再有效时,绑定缓存自动被归属代理清空,消除了IPv6网络中存在任何无效状态的可能性。因而,不需要移除由于(例如网关、服务器等中的)无效状态而出现的网络中的过期信息。
另外,经由NAT从MR到门的IPv4隧道使用相同的UDP端口—因而,NAT/PAT中的单个资源可用于附接到TLMR 20a的所有移动路由器,从而消除了对NAT/PAT中多个资源的使用。注意,如果网络没有PAT从而传输头部值对于隧道13并不必要时,在标签30中的端口字段UDP源和门端口值38和40可被置零。
最后,所公开的布置消除了反向路由头部的必要,从而使在IPv4网络上建立隧道的操作能够在IPv6移动节点(例如移动主机计算机)和不具有移动IP能力的IPv6路由器之间实现。这样,经由IPv4网络的分组转发对于IPv4端点的IPv6接口来说是透明的。而且,使用IPv6网关的协议标识符和公共IPv4地址作为地址前缀使得转交地址能够成为可经由IPv6网关到达的有效IPv6地址。因而,归属代理可以与IPv6网关相分离。注意,如果IPv6网关和归属代理驻留在相同的IPv4地址域中,则所公开的布置也可单独用于私有地址。
尽管已结合了当前认为是最实用和优选的实施例描述了所公开的实施例,但是应当理解,本发明并不限于所公开的实施例,相反地,本发明试图覆盖包括在所附权利要求精神和范围内的各种修改和等同布置。
专利申请“用于IPv6移动节点穿越IPv4网络的布置”(律师案卷号10-000,15页)的附录网络工作小组 P.Thubert因特网草案 M.Molteni期满日期2003年10月29日 P.Wetterwarld思科系统公司2003年4月30日用于基于MIPv6的移动路由器的IPv4穿越draft-thubert-nemo-IPv4-traversal-01此备忘录的状态此文件是因特网草案,并且完全遵从RFC206的部分10的所有规定。
因特网草案是因特网工程任务组(IETF)、其领域及其工作小组的工作文件。注意其他小组也可以发布工作文件作为因特网草案。
因特网草案是有效期最长为6个月的草案性文件,并且可以随时被其他文件更新、取代或废弃。使用因特网草案作为参考材料或引用因特网草案而不标明“正在进行中的工作”是不适当的。
当前因特网草案的列表可以在http//www.ietf.org/ietf/lid-abstracts.txt处访问得到。
因特网草案影印目录的列表可以在http//www.ietf.org/shadow.html处访问得到。
该因特网草案将在2003年10月29日期满。
版权声明版权所有因特网协会(2003)。保留所有权利摘要由于IPv6连接性不是可广泛获得的,因此在NEMO中需要一种简单的技术,其允许基于MIPv6的移动路由器在IPv4网络上漫游。
该备忘录中提出的门协议允许任意移动节点跨过网络地址转换(NAT)、反向NAT和端口地址转换(PAT)而甚至在私有IPv4地址空间内漫游,以应对今日的因特网。
目录1.绪论.......................................................32.术语和概念.................................................32.1门句柄....................................................32.2其他定义..................................................53.MIPv6门支持................................................53.1已知的限制................................................73.2MIPv6移动节点在IPv4上的漫游操作...........................73.2.1MR在门隧道上发送分组....................................83.2.2MR在门隧道上接收分组....................................93.3门的操作..................................................93.3.1门在门隧道上接收分组....................................103.3.2门在门隧道上发送分组....................................113.4门协议的优点..............................................124.IANA考虑...................................................125.致谢.......................................................12参考.........................................................12作者地址.....................................................14完整版权声明.................................................151.绪论该文件假定阅读者熟悉[12]中定义的移动IPv6、移动路由器(MR)的概念和[13]中定义的Nemo、以及IPv4网络地址转换(NAT)和端口地址转换(PAT)。
在从IPv4到IPv6的过渡阶段期间,实际提供IPv6连接性的热点很少,并且移动路由器应当支持IPv4上的备用漫游技术。
存在现有的来自V6 ops(ISATAP、6-4、TEREDO)的解决方案,但是这些解决方案未能以简单方式穿越目前广泛采用的任何类型的NAT和PAT。
组合MIPv6和IPv4穿越技术是有现实意义的。MIP引入了MN-HA隧道和绑定缓存以及保持活跃程序。MIP缓存可用来存储PAT/NAT状态,而绑定流可被调整以保持PAT/NAT激活。结果,IPv6移动路由器可以穿越PAT/NAT,而无需协议开销或网络中的附加状态。
本草案中开发的门协议扩展了移动IPv6,更具体地说,其目的是Nemo问题空间。存在可通过额外工作所了回避的某些限制。
2.术语和概念2.1门句柄门继承了6-4的某些特征[10],其使用合成IPv6地址来建立跨IPv4的自动隧道。在门情形中,IPv6全球单播地址被命名为门句柄。门句柄遵从6-4格式规则,但是其指向IPv4(UDP)隧道,而不是机器上的接口。
由于NAT/PAT或反向NAT穿越,句柄可被进行IPv6级别的地址转换。因为我们不想再次介绍应用层网关的复杂性,所以必须不将句柄用作上层协议所看到的源或目的地地址。
相反地,如[12]中所定义,句柄的唯一用处是用作移动IPv6的转交地址。注意诸如DHAAD这样的某些ICMP消息可能需要将句柄用作源或目的地。这种情况下,当修改句柄时必须更新ICMP层校验和。
门句柄具有如下格式0 1 2 30 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+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| 001 | TLA ID==2(6-4)|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| 门IPv4地址 |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| SLA ID| 公知的门端口 |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| MN IPv4地址 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| MN UDP端口|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+门句柄001用于可聚集的全球单播地址的格式前缀(3比特)TLA ID顶级聚集标识符(13比特)。按RFC 3046[10]规定设为2。
门IPv4地址MN在漫游的同时利用DHCP或IPCP扩展(TBD)所动态获知的,或者静态配置在MN上的门的32比特公共IPv4地址。
SLA ID站点级聚集标识符门端口16比特UDP目的地端口。IANA分配的公知值DOORSPORT(此时为434)。
移动节点IPv4地址和UDP端口MN一侧上的套接字参数,通常由移动节点动态获得。
2.2其他定义DoG门网关(DoG)是终止归属和移动端上的门隧道的功能。DoG执行IPv4/UDP自动隧道建立和IPv6级别的网络地址转换。
DooR门路由器(DooR)是实现门网关的路由器。门经由IPv6基础设施连接到归属网络。归属门可以实现在归属网络的入口处。但是退出门也可以由私有网络实现,以避免IPv4 NAT和PAT操作。这种情况下,退出门的IPv4地址应当是动态可获得的,例如利用DHCP或IPCP扩展来获得。
门隧道门隧道是封装移动IPv6隧道的IPv4/UDP自动隧道。该隧道有两个方向,入门和出门。
入门和出门去往入门的分组在移动节点和门之间流动。去往出门的分组在门和移动节点之间流动。这两种情况下,分组由封装在IPv4和UDP上的IPv6分组形成。流向入门的分组是作为门句柄的源IPv6地址。相反地,流向出门的分组是作为门句柄的目的地IPv6地址。入门和出门是互斥的。
门前缀门句柄的前缀。其是以门IPv4地址和任意SLA ID建立的64前缀。该前缀被分配给拥有关联IPv4地址的接口。如果该IPv4地址是私有的,则前缀分布必须是受限的,这阻止了路由优化。
3.MIPv6门支持利用门,漫游的MIPv6移动节点生成门句柄,并将其用作转交地址在门隧道上绑定到其归属代理。

门模型(最坏情形)3.1已知的限制由于转交地址可以在途中转换,因此其可能对认证头部和上层校验和计算产生问题。所以转交地址不能被包括在带符号的信息中。结果,AH的参考分组总是这样的分组,其中IPv6源和目的地地址是MN的归属地址和HA的地址,并且路由头部中左边的最隙和片段被设为0。对于[14]中定义的RH第2类和反向路由头部来说的确如此。
任何情况下,门前缀都必须是在IPv6级别从归属代理可到达的,而在路由优化(RO)的情况下必须是从对应节点可到达的。这就是为什么在句柄基于私有地址时RO是不可能的,这种情况在门位于反向NAT后部时可能发生。
3.2MIPv6移动节点在IPv4上的漫游操作MN漫游生成其门句柄,如下所示
16 32 16 16 32 16 比特+------+--------------+-----++------+--------------+------+| | 门 | || 门 | MN | MN || 2002 | IPv4| SLA || UDP | 私有| UDP || | 地址| || 端口 | 地址| 端口 |+------+--------------+-----++------+--------------+------+MR门句柄门IPv4地址门的公共地址门端口DOORSPORTMN IPv4地址移动路由器在其漫游接口上以任何机制(配置、DHCP、IPCP...)获得的私有IPv4转交地址。可以是私有地址。
MN UDP端口移动节点动态选择的值。其可以是用于验证目的的签名。
移动节点可以周期性地重新计算新的端口,建立新的转交地址并重新绑定。
移动节点必须被调整以经常性地发送绑定更新,以确保NAT/PAT状态总保持活跃。结果,没有用于该目的的附加控制流量。
3.2.1MR在门隧道上发送分组门隧道可视作移动节点和其转交地址之间的内部跳。在该意义下,转交地址和归属代理或任意对应节点之间的MIPv6模型仍然适用。
当发送或转发源地址为门句柄的IPv6分组时,移动节点必须利用下面的设置将分组封装到IPv4/UDP隧道中<-- 外部 IPv4头部 -> <-UDP 端口 -> <内部 IPv6头部 ->
+----+--------+--------+ +-----+-----+ +----+----+-----+ +-----+-------|||| | | | ||| | ||oNAF| oSRCV4 |oDESTV4 | |SPort|DPort| |iNAF|iSRC|iDEST| | 有效载荷|||| | | | ||| | |+----+--------+--------+ +-----+-----+ +----+----+-----+ +-----+-------入门分组NAF代表IP头部的非地址字段
SPort是UDP源端口,设为来自句柄的MN UDP端口DPort是UDP目的地端口,设为来自句柄的门端口SRCV4是源IPv4地址,设为来自句柄的MN IPv4地址DESTV4是目的地IPv4地址,设为来自句柄的门IPv4地址SRC是IPv6源地址,设为转交地址=门句柄DEST是归属代理地址有效载荷可以是归属地址目的地选项和移动性头部或来自移动网络中节点的IPv6分组这使得只要转交地址是门句柄,MN-HA隧道中的分组就被自动重新封装到去往HA IPv4地址的IPv4/UDP隧道中。
在IPv6和/或IPv4封装级别可能发生分段。[7]和[10]中定义的规则分别适用。
3.2.2MR在门隧道上接收分组在MN一侧终止门隧道的过程是从IPv4/UDP封装中解封出IPv6分组,改写MN一侧上已知的原始IPv6地址,重新计算ICMP消息的校验和。
当在UDP上接收分组且源端口等于DOORSPORT时,移动节点检查是否有目的地IPv6地址实际为门句柄的内部IPv6分组。
如果有,则MN通过以下操作恢复IPv6分组将MN IPv4地址和UDP端口字段重写为来自所接收分组的IPv4目的地信息将门地址和UDP端口字段重写为来自所接收分组的UDP源信息如果所生成的门句柄与其转交地址不匹配,则节点丢弃分组。
否则,节点解封UDP隧道,并接收所产生的IPv6分组。下一步或者是另一级别的解封,或者是在存在RH第2类时,到RH中下一跳的转发,RH中下一跳应当是节点的归属地址。
这使得只要门句柄是转交地址,MN-HA隧道就被自动从IPv4/UDP隧道中解封出来。
3.3门的操作门不必保持任何PAT/NAT相关状态,因为信息被归属代理和对应节点存储在绑定缓存中作为转交地址。
绑定缓存条目的创建与转交地址是句柄还是简单IPv6地址无关。结果,对门可缩放性的选通因素就是MIP自身。
当在路由器的双栈接口上配置对门的支持时,基于与接口的IPv4地址相关联的门前缀在该接口上手工地或自动地配置IPv6地址,且后缀为∷1。此时路由器可以开始重新分布门前缀。
3.3.1门在门隧道上接收分组在门一侧终止门隧道的过程是从IPv4/UDP封装中解封出IPv6分组,将原始的源IPv6地址转换为出门句柄。
重新计算ICMP消息的校验和。
当在UDP上接收分组且源端口等于DOORSPORT时,HA中的DoG检查是否有源IPv6地址实际为门句柄的内部IPv6分组。
如果有,则门通过以下操作来转换句柄将MN IPv4地址和UDP端口字段重写为来自所接收分组的IPv4源信息。
将门IPv4地址和UDP端口字段重写为来自所接收分组的IPv4目的地信息。
结果,出门句柄的格式如下16 3216 16 3216 比特+------+--------------+-----++------+--------------+------+| | 门 | || 门 | MN | MN || 2002 | IPv4| SLA || UDP | 公共 | PATd || | 地址| || 端口 | (NATd)地址 | 端口 |+------+--------------+-----++------+--------------+------+门句柄门端口DOORSPORT门IPv4地址门的IPv4地址。可以是私有地址。
MN IPv4地址MN的公共IPv4地址。
MN UDP端口可以被PAT转换在计算出门句柄后,DoG解封UDP隧道,并转发所产生的IPv6分组。如果HA或CN被配置以DoG,则接收分组,并且在任何情况下,出门句柄被用作转交地址,并被存储在目的地的绑定缓存中。
3.3.2门在门隧道上发送分组由于门广播门前缀,并且出门句柄属于该前缀,所以在HA或CN和去往MN途中的门之间发生正常的IPv6路由。
当转发分组到作为出门句柄的目的地时,用作门的路由器检查其是否有到该前缀的IPv6连接路由。如果有,则其并不查看句柄的链路层地址,而是必须利用下面的设置在IPv4/UDP上封装分组<-- 外部IPv4 头部 -> <-UDP 端口 -> <内部IPv6 头部 ->
+----+--------+--------+ +-----+-----+ +----+----+-----+ +-----+-------|||| | | | ||| | ||oNAF| oSRCV4 |oDESTV4 | |SPort|DPort| |iNAF|iSRC|iDEST| | 有效载荷|||| | | | ||| | |+----+--------+--------+ +-----+-----+ +----+----+-----+ +-----+-------出门分组NAF代表IP头部的非地址字段SPort是UDP源端口,设为来自句柄的门端口DPort是UDP目的地端口,设为来自句柄的MN UDP端口SRCV4是源IPv4地址,设为来自句柄的门IPv4地址DESTV4是目的地IPv4地址,设为来自句柄的MN IPv4地址SRC是归属代理地址DEST是IPv6源地址,设为映射的转交地址=出门句柄有效载荷可以开始于第2类路由头部,或者是来自移动网络中节点的IPv6分组当被应用到移动路由器和其归属代理之间的Nemo时,门协议对于全部的移动网络节点的所有通信都在PAT/NAT中维持单个状态。
3.4门协议的优点该解决方案提供了多个优点该解决方案不保持网关中的状态。只要需要,NAT转换后的地址被移动IPv6协议存储并维护在MIP绑定缓存中。注意,在对称PAT的情况下,CR和HA对于相同的MN,可能看出不同的转交地址。
MN可以在需要时交换其门网关,因为这可以看作另一次漫游。具体地说,本地门网关的地址可以在DHCP或IPCP扩展中获得。
门之间或IPv4和IPv6漫游之间的转换是平滑的,由DoG功能所处理,并且对于HA和CR支持来说是透明的。
对于没有路由优化的完整嵌套的Nemo配置来说,在NAT/PAT网关中只有一个条目。这限制了NAT网关必须维护的表的尺寸。
4.IANA考虑DOORSPORT需要端口号值。注意该要求可以通过两侧上的普通配置加以减轻,但这样使得配置略微复杂了一些。
如今我们使用被保留用于6-4的02TLA。我们将门看作一般6-4前缀的子集,但是门不能用作通用的6-4网关。使用不同的TLA是否值得?5.致谢作者希望感谢Ole Troan、Vincent Ribiere、Massimo Lucchina、Daniel Shell、RaviSamprathi、William Ivancic和咖啡机的各种贡献。
参考文献[1]Postel,J.,“Internet Protocol(因特网协议)”,STD 5,RFC791,1981年9月。
Callon,R.和D.Haskin,“Routing Aspects Of IPv6 Transition(IPv6转换的路由方面)”,RFC 2185,1997年9月。
Hinden,R.和S.Deering,“IP Version 6 Addressing Architecture(IP第6版寻址体系结构)”,RFC 2373,1998年7月。
Deering S.和and R.Hinden,“Internet Protocol,Version 6(IPv6)Specification(因特网协议第6版(IPv6)规范)”,RFC 2460,1998年12月。
Narten,T.、Nordmark,E.和W.Simpson,“Neighbor Discovery forIP Version 6(IPv6)(IP第6版(IPv6)的邻居发现)”,RFC 2461,1998年12月。
Thomson,S.和T.Narten,“IPv6Stateless Address Autoconfiguration(IPv6无状态地址自动配置)”,RFC 2462,1998年12月。
Conta,A.和S.Deering,“Generic Packet Tunneling in IPv6Specification(IPv6规范中的通用分组隧道传输)”,RFC 2473,1998年12月。
Carpenter,B.和C.Jung,“Transmission of IPv6 over IPv4 Domainswithout Explicit Tunnels(无显式隧道情况下IPv4域上的IPv6传输)”,RFC 2529,1999年3月。
Gilligan,R.和E.Nordmark,“Transition Mechanisms for IPv6 Hostsand Routers(IPv6主机和路由器的转换机制)”,RFC 2893,2000年8月。
Carpenter,B.和K.Moore,“Connection of IPv6 Domains via IPv4Clouds(经由IPv4u云连接IPv6域)”,RFC 3056,2001年2月。
Vaarala,S.和O.Levkowetz,“Mobile IP NAT/NAPT Traversalusing UDP Tunnelling(使用UDP隧道传输的移动IP NAT/NAPT穿越)”,draft-ietf-mobileip-nat-traversal-07(工作进行中),2002年11月。
Perkins,C.、Johnson,D.和J.Arkko,“Mobility Support in IPv6(IPv6中的移动性支持)”,draff-ietf-mobileip-ipv6-21(工作进行中),2003年3月。
Ernst,T.和H.Lach,“Network Mobility Support Terminology(网络移动性支持术语)”,draft-ernst-monet-terminology-01(工作进行中),2002年7月。
Thubert,P.和M.Molteni,“IPv6 Reverse Routing Header and itsapplication to Mobile Networks(IPv6反向路由头部及其在移动网络中的应用)”,draft-thubert-nemo-reverse-routing-header-01(工作进行中),2002年10月。
Castelluccia,C.、Malki,K.、Soliman,H.和L.Bellier,“Hierarchical Mobile IPv6 mobility management(HMIPv6)(分级移动IPv6移动性管理(HMIPv6))”,draft-ietf-mobileip-hmipv6-07(工作进行中),2002年10月。
Petrescu,A.,“Issues in Designing Mobile IPv6 Network Mobilitywith the MR-HA Bidirectional Tunnel(MRHA)(设计具有MR-HA双向隧道(MRHA)的移动IPv6网络移动性的问题)”,draft-petrescu-nemo-mrha-02(工作进行中),2003年3月。
作者地址Pascal Thubert思科系统公司技术中心Village d′Entreprises Green Side400,Avenue RoumanilleBiot-Sophia Antipolis 06410FRANCE电子邮件pthubert@cisco.comMarco Molteni思科系统公司技术中心Village d′Entreprises Green Side400,Avenue Roumanille
Biot-Sophia Antipolis 06410FRANCE电子邮件mmolteni@cisco.comPatrick Wetterwald思科系统公司技术中心Village d′Entreprises Green Side400,Avenue RoumanilleBiot-Sophia Antipolis 06410FRANCE电子邮件pwetterw@cisco.com完整版权声明版权所有因特网协会(2003)。保留所有权利本文件和其翻译可被拷贝,并提供给他人,可以全部或部分地准备、拷贝、出版和分发对其进行注释或解释或有助其实现的派生工作而不受任何限制,只要其在这些拷贝和派生工作中包括上述版权声明和该段即可。然而,本文件自身不能以任何方式加以修改,例如移去版权声明或对因特网协会或其他因特网组织的提及,除了用于开发因特网标准或将其翻译为除了英语以外的其他语言以外,在用于开发因特网标准的情况下,必须遵循在因特网标准过程中定义的版权程序。
上述授权的有限许可是永久的,且不会被因特网协会或其继任者或受让人废除。
本文件和这里包含的信息是在“按照目前形式”基础上提供的,并且因特网协会和因特网工程任务组明确或隐含地放弃所有担保,包括但不限于对于使用这里的信息将不会违反任何权利的任何担保或对可商业化或适用于特定用途的任何隐含担保。
致谢对RFC编辑者的资助当前由因特网协会提供
权利要求
1.一种IPv6移动节点中的方法,所述方法包括首先生成IPv6标签地址,所述IPv6标签地址包括IPv6网关的规定协议标识符和所述IPv6网关的IPv4网关地址,其中所述IPv6网关被配置用于在IPv4网络和IPv6网络之间传送分组;其次生成IPv6分组,所述IPv6分组具有指定所述IPv6标签地址的源地址字段和指定被分配给所述IPv6移动节点的归属地址的头部;将所述IPv6分组封装在IPv4分组中,所述IPv4分组具有IPv4头部,所述IPv4头部包括指定所述IPv4网关地址的目的地地址字段、指定所述IPv6移动节点的移动节点IPv4地址的源地址字段和传输头部,所述传输头部具有源端口字段和目的地端口字段,所述源端口字段指定所述IPv6移动节点的规定UDP端口,所述目的地端口字段指定所述IPv6网关用来识别所述IPv6分组在所述IPv4网络和所述IPv6网络之间的传送的规定UDP端口;以及将所述IPv4分组经由所述IPv4网络输出到所述IPv6网关,以用于将所述IPv6分组传送到所述IPv6网络上。
2.如权利要求1所述的方法,其中,所述首先生成步骤包括在所述IPv6标签地址的开头指定所述规定协议标识符,其后紧接所述IPv4网关地址;在所述IPv4网关地址后紧接着插入站点级聚集标识符(SLA),其中所述规定协议标识符、所述IPv4网关地址和所述SLA形成了所述IPv6网关的地址前缀;以及在所述IPv6标签地址中插入所述移动节点IPv4地址。
3.如权利要求2所述的方法,其中,所述首先生成步骤还包括在所述SLA后紧接着插入所述IPv6网关的规定UDP端口;以及在所述移动节点IPv4地址后紧接着插入所述IPv6移动节点的规定UDP端口,所述移动节点IPv4地址和所述规定UDP端口形成了用于识别所述IPv6移动节点的地址后缀,所述IPv6标签地址是可路由的IPv6地址。
4.如权利要求3所述的方法,其中,所述IPv6移动节点有具有相应归属代理地址的规定归属代理,所述其次生成步骤包括在所述IPv6分组的目的地地址字段内指定所述归属代理地址。
5.如权利要求4所述的方法,其中,所述其次生成步骤包括基于已附接到所述IPv4网络的IPv6移动节点在所述规定归属代理的IPv6分组内添加绑定更新,所述IPv6标签地址可识别为所述IPv6移动节点的转交地址。
6.如权利要求5所述的方法,其中,所述规定协议标识符是具有十六进制值“2002”的16比特前缀。
7.如权利要求1所述的方法,其中,所述首先生成步骤包括在所述IPv6标签地址内插入所述IPv6网关的规定UDP端口。
8.如权利要求7所述的方法,其中,所述IPv4网关地址是存储在所述IPv6标签地址的网关地址字段中的公共地址,所述IPv6网关的规定UDP端口是存储在所述IPv6标签地址的网关端口字段中的公共端口,所述移动节点IPv4地址是存储在所述IPv6标签地址的移动节点地址字段中的私有地址,所述IPv6移动节点的规定UDP端口是存储在所述IPv6标签地址的移动节点端口字段中的私有端口,所述方法还包括从所述IPv4网络接收第二IPv4分组,所述第二IPv4分组具有指定所述IPv4网关地址的源地址字段、指定所述IPv6网关的规定UDP端口的源端口字段、指定所述移动节点IPv4地址的目的地地址字段和指定所述IPv6移动节点的规定UDP端口的目的地端口字段;响应于检测到所述源端口字段指定了所述IPv6网关的规定UDP端口,从所述第二IPv4分组中解封出第二IPv6分组;在所述第二IPv6分组的目的地地址字段内检测第二IPv6标签地址,其指定了以下内容(1)在相应的移动节点地址字段内的第二IPv4地址,其指定了不同于所述移动节点IPv4地址的公共IPv4地址,(2)在相应的移动节点端口字段内的公共UDP端口,其不同于所述IPv6移动节点的规定UDP端口,和(3)在所述目的地地址字段开头的所述规定协议标识符,其后是相应的网关地址字段内的所述IPv4网关地址;将所述第二IPv6标签地址的移动节点地址字段中的第二IPv4地址重写为所述移动节点IPv4地址;将所述第二IPv6标签地址的移动节点端口字段中的公共UDP端口重写为所述IPv6移动节点的规定UDP端口;以及基于所述修改后的第二IPv6标签地址和所述IPv6标签地址之间的确定匹配,处理所述第二IPv6分组。
9.如权利要求8所述的方法,还包括基于检测到指定另一个目的地的第2类路由头部,选择性地在第二IPv6网络中源路由所述第二IPv6分组。
10.如权利要求9所述的方法,其中,所述输出和接收步骤包括经由具有端口地址转换器(PAT)的网络地址转换器(NAT)输出和接收各个IPv4分组和所述第二IPv4分组。
11.如权利要求7所述的方法,其中,所述IPv4网关地址是存储在所述IPv6标签地址的网关地址字段中的公共地址,所述IPv6网关的规定UDP端口是存储在所述IPv6标签地址的网关端口字段中的公共端口,所述移动节点IPv4地址是存储在所述IPv6标签地址的移动节点地址字段中的私有地址,所述IPv6移动节点的规定UDP端口是存储在所述IPv6标签地址的移动节点端口字段中的私有端口,所述方法还包括从所述IPv4网络接收第二IPv4分组,所述第二IPv4分组具有指定所述IPv4网关地址的源地址字段、指定所述IPv6网关的规定UDP端口的源端口字段、指定所述移动节点IPv4地址的目的地地址字段和指定所述IPv6移动节点的规定UDP端口的目的地端口字段;响应于检测到所述源端口字段指定了所述IPv6网关的规定UDP端口,从所述第二IPv4分组中解封出第二IPv6分组;在所述第二IPv6分组的目的地地址字段内检测第二IPv6标签地址,其指定了以下内容(1)在相应的移动节点地址字段内的第二IPv4地址,其指定了不同于所述移动节点IPv4地址的公共IPv4地址,(2)在相应的移动节点端口字段内的公共UDP端口,其不同于所述IPv6移动节点的规定UDP端口,(3)在所述目的地地址字段开头的所述规定协议标识符,其后是相应的网关地址字段内的不同于所述IPv4网关地址的私有IPv4地址,和(4)IPv6网关端口字段内的私有UDP端口,其不同于所述IPv6网关的规定端口;将所述第二IPv6标签地址的移动节点地址字段中的第二IPv4地址和网关地址字段中的私有IPv4地址分别重写为在所述第二IPv4分组的头部中指定的移动节点IPv4地址和IPv4网关地址;将所述第二IPv6标签地址的移动节点端口字段中的公共UDP端口和IPv6网关端口字段中的私有UDP端口分别重写为在所述第二IPv4分组的头部中指定的IPv6移动节点的规定UDP端口和IPv6网关的规定端口;以及基于所述修改后的第二IPv6标签地址和所述IPv6标签地址之间的确定匹配,处理所述第二IPv6分组。
12.一种IPv6路由器中的方法,所述方法包括附接到使用IPv4网关地址的IPv4网络和使用IPv6地址的IPv6网络;从所述IPv4网络中接收IPv4分组,所述IPv4分组具有指定所述IPv4网关地址的目的地地址字段、指定规定UDP网关端口的目的地端口字段、指定IPv4地址的源地址字段和指定第二UDP端口的源端口字段;响应于在所述目的地端口字段中检测到所述规定UDP网关端口,从所述IPv4分组中恢复IPv6分组;在所述IPv6分组的源地址字段内检测IPv6标签地址,所述IPv6标签地址的开头是IPv6网关用来在所述IPv4网络和所述IPv6网络之间传送所述IPv6分组的规定协议标识符,所述IPv6标签地址还包括不同于所述IPv4地址的第二IPv4地址;响应于检测到所述规定协议标识符,通过将所述第二IPv4地址重写为所述IPv4地址并将所述第二UDP端口插入到所述IPv6标签地址中,将所述IPv6标签地址修改为修改后的IPv6标签地址;通过将所述修改后的IPv6标签地址插入到所述IPv6分组的源地址字段中,将所述IPv6分组更新为更新后的IPv6分组;以及将所述更新后的IPv6分组输出到所述IPv6网络上。
13.如权利要求12所述的方法,其中,所述修改步骤还包括基于具有十六进制值“2002”的前16比特,在所述IPv6标签地址的开头检测所述规定协议标识符;插入所述第二UDP端口,所述第二UDP端口重写了所述IPv6标签地址中的所检测的源UDP端口值。
14.如权利要求13所述的方法,其中,所述IPv6路由器被配置用于响应于在所述IPv6目的地地址字段中检测到所述协议标识符,将其次接收到的IPv6分组路由到所述IPv4网络上,其中所述其次接收到的IPv6分组是从所述IPv6网络接收的,并且具有指定所述修改后的IPv6地址的IPv6目的地地址字段。
15.如权利要求14所述的方法,其中,所述规定UDP网关端口具有指定移动IP的UDP值“434”。
16.如权利要求15所述的方法,其中,所述IPv6标签地址包括私有UDP源端口,所述IPv6标签地址中的第二IPv4地址指定私有IP地址,所述IPv4分组的源地址字段和源端口字段已经被具有端口地址转换器(PAT)的网络地址转换器(NAT)转换为各个IPv4地址和所述第二UDP端口。
17.如权利要求16所述的方法,还包括经由所述IPv6网络接收第二IPv6分组,所述第二IPv6分组具有指定所述修改后的IPv6标签地址的路由头部;在所述第二IPv6分组的修改后的IPv6标签地址中检测所述第二协议标识符、所述IPv4地址和所述第二UDP端口;通过将所述修改后的IPv6标签地址插入到所述第二IPv6分组的目的地地址字段中,将所述第二IPv6分组修改为转发后的IPv6分组;将所述转发后的IPv6分组封装在第二IPv4分组中,所述第二IPv4分组具有指定所述IPv4地址的目的地地址字段和指定所述第二UDP端口的端口字段;以及将所述第二IPv4分组输出到所述IPv4网络上。
18.如权利要求16所述的方法,其中,所述IPv4网关地址是私有地址,所述规定UDP网关端口是私有端口,所述目的地地址字段和所述目的地端口字段已被具有PAT的第二NAT转换,所述修改包括将所述IPv6标签地址中的公共IPv4网关地址和公共UDP网关端口分别重写为所述IPv4网关地址和所述规定UDP网关端口。
19.一种IPv6移动节点,包括用于首先生成IPv6标签地址的装置,所述IPv6标签地址包括IPv6网关的规定协议标识符和所述IPv6网关的IPv4网关地址,其中所述IPv6网关被配置用于在IPv4网络和IPv6网络之间传送分组;用于其次生成IPv6分组的装置,所述IPv6分组具有指定所述IPv6标签地址的源地址字段和指定被分配给所述IPv6移动节点的归属地址的头部;用于将所述IPv6分组封装在IPv4分组中的装置,所述IPv4分组具有IPv4头部,所述IPv4头部包括指定所述IPv4网关地址的目的地地址字段、指定所述IPv6移动节点的移动节点IPv4地址的源地址字段和传输头部,所述传输头部具有源端口字段和目的地端口字段,所述源端口字段指定所述IPv6移动节点的规定UDP端口,所述目的地端口字段指定所述IPv6网关用来识别所述IPv6分组在所述IPv4网络和所述IPv6网络之间的传送的规定UDP端口;以及用于将所述IPv4分组经由所述IPv4网络输出到所述IPv6网关,以用于将所述IPv6分组传送到所述IPv6网络上的装置。
20.如权利要求19所述的IPv6移动节点,其中,所述首先生成装置被配置用于在所述IPv6标签地址的开头指定所述规定协议标识符,其后紧接所述IPv4网关地址;在所述IPv4网关地址后紧接着插入站点级聚集标识符(SLA),其中所述规定协议标识符、所述IPv4网关地址和所述SLA形成了所述IPv6网关的地址前缀;以及在所述IPv6标签地址中插入所述移动节点IPv4地址。
21.如权利要求20所述的IPv6移动节点,其中,所述首先生成装置被配置用于在所述SLA后紧接着插入所述IPv6网关的规定UDP端口;以及在所述移动节点IPv4地址后紧接着插入所述IPv6移动节点的规定UDP端口,所述移动节点IPv4地址和所述规定UDP端口形成了用于识别所述IPv6移动节点的地址后缀,所述IPv6标签地址是可路由的IPv6地址。
22.如权利要求21所述的IPv6移动节点,其中,所述IPv6移动节点有具有相应归属代理地址的规定归属代理,所述其次生成装置被配置用于在所述IPv6分组的目的地地址字段内指定所述归属代理地址。
23.如权利要求22所述的IPv6移动节点,其中,所述其次生成装置被配置用于基于已附接到所述IPv4网络的IPv6移动节点在所述规定归属代理的IPv6分组内添加绑定更新,所述IPv6标签地址可识别为所述IPv6移动节点的转交地址。
24.如权利要求23所述的IPv6移动节点,其中,所述规定协议标识符是具有十六进制值“2002”的16比特前缀。
25.如权利要求19所述的IPv6移动节点,其中,所述首先生成装置被配置用于在所述IPv6标签地址内插入所述IPv6网关的规定UDP端口。
26.如权利要求25所述的IPv6移动节点,其中,所述IPv4网关地址是存储在所述IPv6标签地址的网关地址字段中的公共地址,所述IPv6网关的规定UDP端口是存储在所述IPv6标签地址的网关端口字段中的公共端口,所述移动节点IPv4地址是存储在所述IPv6标签地址的移动节点地址字段中的私有地址,所述IPv6移动节点的规定UDP端口是存储在所述IPv6标签地址的移动节点端口字段中的私有端口,其中所述用于输出的装置被配置用于从所述IPv4网络接收第二IPv4分组,所述第二IPv4分组具有指定所述IPv4网关地址的源地址字段、指定所述IPv6网关的规定UDP端口的源端口字段、指定所述移动节点IPv4地址的目的地地址字段和指定所述IPv6移动节点的规定UDP端口的目的地端口字段;所述封装装置被配置用于响应于检测到所述源端口字段指定了所述IPv6网关的规定UDP端口,从所述第二IPv4分组中解封出第二IPv6分组;所述封装装置被配置用于在所述第二IPv6分组的目的地地址字段内检测第二IPv6标签地址,其指定了以下内容(1)在相应的移动节点地址字段内的第二IPv4地址,其指定了不同于所述移动节点IPv4地址的公共IPv4地址,(2)在相应的移动节点端口字段内的公共UDP端口,其不同于所述IPv6移动节点的规定UDP端口,和(3)在所述目的地地址字段开头的所述规定协议标识符,其后是相应的网关地址字段内的所述IPv4网关地址;所述封装装置被配置用于将所述第二IPv6标签地址的移动节点地址字段中的第二IPv4地址重写为所述移动节点IPv4地址;所述封装装置被配置用于将所述第二IPv6标签地址的移动节点端口字段中的公共UDP端口重写为所述IPv6移动节点的规定UDP端口;并且所述其次生成装置被配置用于基于所述修改后的第二IPv6标签地址和所述IPv6标签地址之间的确定匹配,处理所述第二IPv6分组。
27.如权利要求26所述的IPv6移动节点,其中,所述其次生成装置被配置用于基于检测到指定另一个目的地的第2类路由头部,选择性地在第二IPv6网络中源路由所述第二IPv6分组。
28.如权利要求27所述的IPv6移动节点,其中,所述输出装置被配置用于经由具有端口地址转换器(PAT)的网络地址转换器(NAT)输出和接收各个IPv4分组和所述第二IPv4分组。
29.如权利要求25所述的IPv6移动节点,其中,所述IPv4网关地址是存储在所述IPv6标签地址的网关地址字段中的公共地址,所述IPv6网关的规定UDP端口是存储在所述IPv6标签地址的网关端口字段中的公共端口,所述移动节点IPv4地址是存储在所述IPv6标签地址的移动节点地址字段中的私有地址,所述IPv6移动节点的规定UDP端口是存储在所述IPv6标签地址的移动节点端口字段中的私有端口,其中所述用于输出的装置被配置用于从所述IPv4网络接收第二IPv4分组,所述第二IPv4分组具有指定所述IPv4网关地址的源地址字段、指定所述IPv6网关的规定UDP端口的源端口字段、指定所述移动节点IPv4地址的目的地地址字段和指定所述IPv6移动节点的规定UDP端口的目的地端口字段;所述封装装置被配置用于响应于检测到所述源端口字段指定了所述IPv6网关的规定UDP端口,从所述第二IPv4分组中解封出第二IPv6分组;所述封装装置被配置用于在所述第二IPv6分组的目的地地址字段内检测第二IPv6标签地址,其指定了以下内容(1)在相应的移动节点地址字段内的第二IPv4地址,其指定了不同于所述移动节点IPv4地址的公共IPv4地址,(2)在相应的移动节点端口字段内的公共UDP端口,其不同于所述IPv6移动节点的规定UDP端口,(3)在所述目的地地址字段开头的所述规定协议标识符,其后是相应的网关地址字段内的不同于所述IPv4网关地址的私有IPv4地址,和(4)IPv6网关端口字段内的私有UDP端口,其不同于所述IPv6网关的规定端口;所述封装装置被配置用于将所述第二IPv6标签地址的移动节点地址字段中的第二IPv4地址和网关地址字段中的私有IPv4地址分别重写为在所述第二IPv4分组的头部中指定的移动节点IPv4地址和IPv4网关地址;所述封装装置被配置用于将所述第二IPv6标签地址的移动节点端口字段中的公共UDP端口和IPv6网关端口字段中的私有UDP端口分别重写为在所述第二IPv4分组的头部中指定的IPv6移动节点的规定UDP端口和IPv6网关的规定端口;以及所述其次生成装置被配置用于基于所述修改后的第二IPv6标签地址和所述IPv6标签地址之间的确定匹配,处理所述第二IPv6分组。
30.一种IPv6路由器,包括用于附接到使用IPv4网关地址的IPv4网络和使用IPv6地址的IPv6网络的装置;用于从所述IPv4网络中接收IPv4分组的装置,所述IPv4分组具有指定所述IPv4网关地址的目的地地址字段、指定规定UDP网关端口的目的地端口字段、指定IPv4地址的源地址字段和指定第二UDP端口的源端口字段;用于响应于在所述目的地端口字段中检测到所述规定UDP网关端口,从所述IPv4分组中恢复IPv6分组的装置;用于在所述IPv6分组的源地址字段内检测IPv6标签地址的装置,所述IPv6标签地址的开头是IPv6网关用来在所述IPv4网络和所述IPv6网络之间传送所述IPv6分组的规定协议标识符,所述IPv6标签地址还包括不同于所述IPv4地址的第二IPv4地址;用于响应于检测到所述规定协议标识符,通过将所述第二IPv4地址重写为所述IPv4地址并将所述第二UDP端口插入到所述IPv6标签地址中,将所述IPv6标签地址修改为修改后的IPv6标签地址的装置;用于通过将所述修改后的IPv6标签地址插入到所述IPv6分组的源地址字段中,将所述IPv6分组更新为更新后的IPv6分组的装置;以及用于将所述更新后的IPv6分组输出到所述IPv6网络上的装置。
31.如权利要求30所述的IPv6路由器,其中,所述修改装置被配置用于基于具有十六进制值“2002”的前16比特,在所述IPv6标签地址的开头检测所述规定协议标识符;插入所述第二UDP端口,所述第二UDP端口重写了所述IPv6标签地址中的所检测的源UDP端口值。
32.如权利要求31所述的IPv6路由器,其中,所述IPv6路由器被配置用于响应于在所述IPv6目的地地址字段中检测到所述协议标识符,将其次接收到的IPv6分组路由到所述IPv4网络上,其中所述其次接收到的IPv6分组是从所述IPv6网络接收的,并且具有指定所述修改后的IPv6地址的IPv6目的地地址字段。
33.如权利要求30所述的IPv6路由器,其中,所述规定UDP网关端口具有指定移动IP的UDP值“434”。
34.如权利要求33所述的IPv6路由器,其中,所述IPv6标签地址包括私有UDP源端口,所述IPv6标签地址中的第二IPv4地址指定私有IP地址,所述IPv4分组的源地址字段和源端口字段已经被具有端口地址转换器(PAT)的网络地址转换器(NAT)转换为各个IPv4地址和所述第二UDP端口。
35.如权利要求34所述的IPv6路由器,其中所述输出装置被配置用于经由所述IPv6网络接收第二IPv6分组,所述第二IPv6分组具有指定所述修改后的IPv6标签地址的路由头部;所述检测装置被配置用于在所述第二IPv6分组的修改后的IPv6标签地址中检测所述第二协议标识符、所述IPv4地址和所述第二UDP端口;所述修改装置被配置用于通过将所述修改后的IPv6标签地址插入到所述第二IPv6分组的目的地地址字段中,将所述第二IPv6分组修改为转发后的IPv6分组;所述恢复装置被配置用于将所述转发后的IPv6分组封装在第二IPv4分组中,所述第二IPv4分组具有指定所述IPv4地址的目的地地址字段和指定所述第二UDP端口的端口字段;以及所述接收装置被配置用于将所述第二IPv4分组输出到所述IPv4网络上还包括
36.如权利要求34所述的IPv6路由器,其中,所述IPv4网关地址是私有地址,所述规定UDP网关端口是私有端口,所述目的地地址字段和所述目的地端口字段已被具有PAT的第二NAT转换,所述修改装置被配置用于将所述IPv6标签地址中的公共IPv4网关地址和公共UDP网关端口分别重写为所述IPv4网关地址和所述规定UDP网关端口。
37.一种在其上存储有指令序列的计算机可读介质,所述指令序列用于由IPv6移动节点输出IPv4分组,所述指令序列包括用于执行以下操作的指令首先生成IPv6标签地址,所述IPv6标签地址包括IPv6网关的规定协议标识符和所述IPv6网关的IPv4网关地址,其中所述IPv6网关被配置用于在IPv4网络和IPv6网络之间传送分组;其次生成IPv6分组,所述IPv6分组具有指定所述IPv6标签地址的源地址字段和指定被分配给所述IPv6移动节点的归属地址的头部;将所述IPv6分组封装在IPv4分组中,所述IPv4分组具有IPv4头部,所述IPv4头部包括指定所述IPv4网关地址的目的地地址字段、指定所述IPv6移动节点的移动节点IPv4地址的源地址字段和传输头部,所述传输头部具有源端口字段和目的地端口字段,所述源端口字段指定所述IPv6移动节点的规定UDP端口,所述目的地端口字段指定所述IPv6网关用来识别所述IPv6分组在所述IPv4网络和所述IPv6网络之间的传送的规定UDP端口;以及将所述IPv4分组经由所述IPv4网络输出到所述IPv6网关,以用于将所述IPv6分组传送到所述IPv6网络上。
38.如权利要求37所述的介质,其中,所述首先生成步骤包括在所述IPv6标签地址的开头指定所述规定协议标识符,其后紧接所述IPv4网关地址;在所述IPv4网关地址后紧接着插入站点级聚集标识符(SLA),其中所述规定协议标识符、所述IPv4网关地址和所述SLA形成了所述IPv6网关的地址前缀;以及在所述IPv6标签地址中插入所述移动节点IPv4地址。
39.如权利要求38所述的介质,其中,所述首先生成步骤还包括在所述SLA后紧接着插入所述IPv6网关的规定UDP端口;以及在所述移动节点IPv4地址后紧接着插入所述IPv6移动节点的规定UDP端口,所述移动节点IPv4地址和所述规定UDP端口形成了用于识别所述IPv6移动节点的地址后缀,所述IPv6标签地址是可路由的IPv6地址。
40.如权利要求39所述的介质,其中,所述IPv6移动节点有具有相应归属代理地址的规定归属代理,所述其次生成步骤包括在所述IPv6分组的目的地地址字段内指定所述归属代理地址。
41.如权利要求40所述的介质,其中,所述其次生成步骤包括基于已附接到所述IPv4网络的IPv6移动节点在所述规定归属代理的IPv6分组内添加绑定更新,所述IPv6标签地址可识别为所述IPv6移动节点的转交地址。
42.如权利要求41所述的介质,其中,所述规定协议标识符是具有十六进制值“2002”的16比特前缀。
43.如权利要求37所述的介质,其中,所述首先生成步骤包括在所述IPv6标签地址内插入所述IPv6网关的规定UDP端口。
44.如权利要求43所述的介质,其中,所述IPv4网关地址是存储在所述IPv6标签地址的网关地址字段中的公共地址,所述IPv6网关的规定UDP端口是存储在所述IPv6标签地址的网关端口字段中的公共端口,所述移动节点IPv4地址是存储在所述IPv6标签地址的移动节点地址字段中的私有地址,所述IPv6移动节点的规定UDP端口是存储在所述IPv6标签地址的移动节点端口字段中的私有端口,所述介质还包括用于执行以下操作的指令从所述IPv4网络接收第二IPv4分组,所述第二IPv4分组具有指定所述IPv4网关地址的源地址字段、指定所述IPv6网关的规定UDP端口的源端口字段、指定所述移动节点IPv4地址的目的地地址字段和指定所述IPv6移动节点的规定UDP端口的目的地端口字段;响应于检测到所述源端口字段指定了所述IPv6网关的规定UDP端口,从所述第二IPv4分组中解封出第二IPv6分组;在所述第二IPv6分组的目的地地址字段内检测第二IPv6标签地址,其指定了以下内容(1)在相应的移动节点地址字段内的第二IPv4地址,其指定了不同于所述移动节点IPv4地址的公共IPv4地址,(2)在相应的移动节点端口字段内的公共UDP端口,其不同于所述IPv6移动节点的规定UDP端口,和(3)在所述目的地地址字段开头的所述规定协议标识符,其后是相应的网关地址字段内的所述IPv4网关地址;将所述第二IPv6标签地址的移动节点地址字段中的第二IPv4地址重写为所述移动节点IPv4地址;将所述第二IPv6标签地址的移动节点端口字段中的公共UDP端口重写为所述IPv6移动节点的规定UDP端口;以及基于所述修改后的第二IPv6标签地址和所述IPv6标签地址之间的确定匹配,处理所述第二IPv6分组。
45.如权利要求44所述的介质,还包括用于执行以下操作的指令基于检测到指定另一个目的地的第2类路由头部,选择性地在第二IPv6网络中源路由所述第二IPv6分组。
46.如权利要求45所述的介质,其中,所述输出和接收步骤包括经由具有端口地址转换器(PAT)的网络地址转换器(NAT)输出和接收各个IPv4分组和所述第二IPv4分组
47.如权利要求43所述的介质,其中,所述IPv4网关地址是存储在所述IPv6标签地址的网关地址字段中的公共地址,所述IPv6网关的规定UDP端口是存储在所述IPv6标签地址的网关端口字段中的公共端口,所述移动节点IPv4地址是存储在所述IPv6标签地址的移动节点地址字段中的私有地址,所述IPv6移动节点的规定UDP端口是存储在所述IPv6标签地址的移动节点端口字段中的私有端口,所述介质还包括用于执行以下操作的指令从所述IPv4网络接收第二IPv4分组,所述第二IPv4分组具有指定所述IPv4网关地址的源地址字段、指定所述IPv6网关的规定UDP端口的源端口字段、指定所述移动节点IPv4地址的目的地地址字段和指定所述IPv6移动节点的规定UDP端口的目的地端口字段;响应于检测到所述源端口字段指定了所述IPv6网关的规定UDP端口,从所述第二IPv4分组中解封出第二IPv6分组;在所述第二IPv6分组的目的地地址字段内检测第二IPv6标签地址,其指定了以下内容(1)在相应的移动节点地址字段内的第二IPv4地址,其指定了不同于所述移动节点IPv4地址的公共IPv4地址,(2)在相应的移动节点端口字段内的公共UDP端口,其不同于所述IPv6移动节点的规定UDP端口,(3)在所述目的地地址字段开头的所述规定协议标识符,其后是相应的网关地址字段内的不同于所述IPv4网关地址的私有IPv4地址,和(4)IPv6网关端口字段内的私有UDP端口,其不同于所述IPv6网关的规定端口;将所述第二IPv6标签地址的移动节点地址字段中的第二IPv4地址和网关地址字段中的私有IPv4地址分别重写为在所述第二IPv4分组的头部中指定的移动节点IPv4地址和IPv4网关地址;将所述第二IPv6标签地址的移动节点端口字段中的公共UDP端口和IPv6网关端口字段中的私有UDP端口分别重写为在所述第二IPv4分组的头部中指定的IPv6移动节点的规定UDP端口和IPv6网关的规定端口;以及基于所述修改后的第二IPv6标签地址和所述IPv6标签地址之间的确定匹配,处理所述第二IPv6分组。
48.一种在其上存储有指令序列的计算机可读介质,所述指令序列用于由IPv6路由器接收IPv4分组,所述指令序列包括用于执行以下操作的指令附接到使用IPv4网关地址的IPv4网络和使用IPv6地址的IPv6网络;从所述IPv4网络中接收IPv4分组,所述IPv4分组具有指定所述IPv4网关地址的目的地地址字段、指定规定UDP网关端口的目的地端口字段、指定IPv4地址的源地址字段和指定第二UDP端口的源端口字段;响应于在所述目的地端口字段中检测到所述规定UDP网关端口,从所述IPv4分组中恢复IPv6分组;在所述IPv6分组的源地址字段内检测IPv6标签地址,所述IPv6标签地址的开头是IPv6网关用来在所述IPv4网络和所述IPv6网络之间传送所述IPv6分组的规定协议标识符,所述IPv6标签地址还包括不同于所述IPv4地址的第二IPv4地址;响应于检测到所述规定协议标识符,通过将所述第二IPv4地址重写为所述IPv4地址并将所述第二UDP端口插入到所述IPv6标签地址中,将所述IPv6标签地址修改为修改后的IPv6标签地址;通过将所述修改后的IPv6标签地址插入到所述IPv6分组的源地址字段中,将所述IPv6分组更新为更新后的IPv6分组;以及将所述更新后的IPv6分组输出到所述IPv6网络上。
49.如权利要求48所述的介质,其中,所述修改步骤还包括基于具有十六进制值“2002”的前16比特,在所述IPv6标签地址的开头检测所述规定协议标识符;插入所述第二UDP端口,所述第二UDP端口重写了所述IPv6标签地址中的所检测的源UDP端口值。
50.如权利要求49所述的介质,还包括使所述IPv6路由器执行以下操作的指令响应于在所述IPv6目的地地址字段中检测到所述协议标识符,将其次接收到的IPv6分组路由到所述IPv4网络上,其中所述其次接收到的IPv6分组是从所述IPv6网络接收的,并且具有指定所述修改后的IPv6地址的IPv6目的地地址字段。
51.如权利要求48所述的介质,其中,所述规定UDP网关端口具有指定移动IP的UDP值“434”。
52.如权利要求51所述的介质,其中,所述IPv6标签地址包括私有UDP源端口,所述IPv6标签地址中的第二IPv4地址指定私有IP地址,所述IPv4分组的源地址字段和源端口字段已经被具有端口地址转换器(PAT)的网络地址转换器(NAT)转换为各个IPv4地址和所述第二UDP端口。
53.如权利要求52所述的介质,还包括用于执行以下操作的指令经由所述IPv6网络接收第二IPv6分组,所述第二IPv6分组具有指定所述修改后的IPv6标签地址的路由头部;在所述第二IPv6分组的修改后的IPv6标签地址中检测所述第二协议标识符、所述IPv4地址和所述第二UDP端口;通过将所述修改后的IPv6标签地址插入到所述第二IPv6分组的目的地地址字段中,将所述第二IPv6分组修改为转发后的IPv6分组;将所述转发后的IPv6分组封装在第二IPv4分组中,所述第二IPv4分组具有指定所述IPv4地址的目的地地址字段和指定所述第二UDP端口的端口字段;以及将所述第二IPv4分组输出到所述IPv4网络上。
54.如权利要求52所述的介质,其中,所述IPv4网关地址是私有地址,所述规定UDP网关端口是私有端口,所述目的地地址字段和所述目的地端口字段已被具有PAT的第二NAT转换,所述修改包括将所述IPv6标签地址中的公共IPv4网关地址和公共UDP网关端口分别重写为所述IPv4网关地址和所述规定UDP网关端口。
全文摘要
源IPv6移动节点被配置用于经由IPv4连接将IPv6分组转发到目的地IPv6路由器。IPv4分组包括IPv4源和目的地地址、UDP源端口和UDP目的地端口以及在IPv6目的地地址字段中的合成标签地址。作为有效的(可路由的)IPv6转交地址,合成标签地址具有被路由到IPv6路由器的地址前缀。地址前缀指定了转发协议、IPv6路由器的IPv4目的地地址和站点级聚集标识符。合成标签地址的地址后缀指定了IPv4源地址、UDP源端口和UDP目的地端口。因而,合成标签地址使得目的地IPv6路由器能够经由IPv4网络将IPv6回复分组发送回源IPv6移动节点。
文档编号H04J3/24GK1774889SQ200480010375
公开日2006年5月17日 申请日期2004年5月27日 优先权日2003年5月28日
发明者帕斯卡尔·蒂贝尔, 马尔科·莫尔泰尼, 帕特里克·韦特瓦尔德, 欧利·图恩 申请人:思科技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1