IPv6/IPv4协议转换的试验( 五 )


其他机制可用性
原则上,IPv6/IPv4地址转换的功能和IPv4网络地址中继器(NAT)类似,NAT 将私有内部地址转换成全球惟一地址,传送到骨干网,反之亦然 。IPv4的NAT有如下限制:首先,需要保留状态信息,在全球惟一地址和私有内部地址之间建立映射,这样NAT是一个单点故障;其次,内含IP地址内容的应用需要非凡的转换,这是很困难的(比如,更新ASCII码IP字符串,传输过程中维护TCP序列号),或者根本不可能,因为应用数据流可能被加密或做了标记 。任何保留状态信息的中继器都有这样的限制 。然而,尽管有这些限制,NAT还是被广泛使用 。
我们推荐的“网络地址转换-协议转换”,描述了一个保留状态的IPv6/IPv4中继器设计 。这个设计解决了如何合并IPv4中NAT风格的UDP/TCP端口号转换,而端口号的转换和我们设计中状态内容的转换类似 。
另一种机制是“无状态IP/ICMP转换”,这一机制避免了地址转换的需要,因此克服了IPv4 NAT的限制 。首先,不用维护状态,不会受到网络失败的反复干扰 。而且,更多的无状态中继器可以用于更大的站点 。其次,使用与IPv4映射和IPv4兼容的地址,答应避免转换内嵌在应用数据流中的IP 地址 。然而,只有在IPv6套接字API能够正确把映射/兼容的地址当做IPv4 地址时,这个方法才能正常工作 。
IPv6/IPv4网络地址和协议中继器的设计和实现,简单对比了“有状态”和“无状态”两种转换 。目前有三种建议,符合IETF NGTRANS 工作组的要求,支持IPv6和纯粹IPv4节点之间的互操作 。我们的试验中,尽管转换有限制(例如,信息丢失),但我们相信,中继器既然支持网络传输的主要功能(HTTP、FTP),那么足够扮演短期的过渡辅助角色,辅助完成IPv4到IPv6的过渡 。
基于我们的实验,我们可以得出结论,IPv6/IPv4网络地址和协议中继器是AIIH方法的补充,有助于完成IPv4到IPv6的过渡 。非凡是,我们相信,这对开发者来说,是一个有价值的工具,可以将应用从IPv4移植到IPv6 。举例来说,一个被移植到IPv6的服务器应用,不用移植客户端,就可以直接进行测试 。
链接:IPv4/ IPv6的地址转换细节
使用IPv4映射和IPv4兼容的IPv6地址进行地址转换,过程相当繁琐 。IPv6转换到IPv4时,中继器简单抽取IPv6 地址的低32位,就可以获得IPv4地址 。相反,IPv4转换到IPv6时,中继器将IPv6源/目标地址的低32位设置成IPv4源/目标地址,高96位分别设置成IPv4映射和IPv4兼容的前缀 。然而,这并不是一个好主意,使用IPv4映射地址的一个缺点是,需要IPv6路由器包含IPv4映射地址所需要的路由信息 。一个比较好的选择是,使用IPv6-only地址访问IPv4节点,不过这需要中继器维护清楚的IPv4和IPv6地址间的映射关系 。
为了清楚说明情况,我们介绍一个IPxNODEy的符号来表示转换过程中所使用的地址类型 。表1定义了四种地址 。前两行定了IPv4 和 IPv6 节点内部访问的地址,后两行定了交叉访问的地址,由中继器负责分配,用于IPv4 和 IPv6地址范围内的相互转换 。
例如,使用IPxNODEy方法来描述下面的场景:一个IPv6-only主机希望和IPv4-only网页服务器通过中继器通信 。这种情况下,IPv6主机需要一个交叉地址IP6 NODE 4,访问带IP4 NODE 4地址的IPv4网页服务器 。同样,网页服务器回应IPv6主机时,需要IP4 NODE 6地址访问带IP6 NODE 6地址的IPv6主机 。这样,中继器需要映射IP6 NODE 4地址到网页服务器的IP4 NODE 4地址,并且映射IP4 NODE 6地址到IPv6主机IP6 NODE 6 地址 。
地址转换有三个阶段:地址绑定、地址解析和转换、地址解除绑定 。
● 地址绑定 地址绑定的阶段,IPv4地址和IPv6地址建立对应关系 。中继器维护表2中的IPv4 和 IPv6 地址的映射拓扑关系值(key-to-value) 。

推荐阅读