打开主菜单

求真百科

转换策略计划者考虑的关键问题是当使用者对ISP所提供的基本IPv6传输协议还没有合理的选择时,如何激活IPv6路由域间的连通性。当缺少本地IPv6服务时, 提供连通性的解决办法之一是将IPv6的分组封装到IPv4的分组中(6over4隧道技术)。6to4是一种自动构造隧道的方式,它的好处在于只需要一个全球惟一的IPv6地址便可使得整个站点获得IPv6的连接。在IPv4 NAT 协议中加入对IPv6和6to4 的支持,是一个很吸引人的过渡方案。

目录

工作原理

6to4采用特殊的IPv6地址使在IPv4海洋中的IPv6孤岛能相互连接。此时IPv6的出口路由器与其他的IPv6域建立隧道连接。IPv4隧道的末端可从IPv6域的地址前缀中自动提取,因为站点的IPv4地址包含在IPv6地址前缀中。6to4另一个让人感兴趣的特点是它可以自动从IPv6 地址的前缀中提取一个IPv4地址。通过这个机制,站点能够配置IPv6而不需要向注册机构申请IPv6地址空间。这同时也简化了ISP提供商的管理工作。可以设想,在一个拥有很多部门的企业里,各部门内部使用私有地址和NAT技术,利用6to4策略可以建立一个虚拟IPv6外部网。它同样可以重新建立起点到点的IP连接,且允许企业在不同地方的服务器使用IPsec协议,从而进一步提高了网络的安全性。此外,6to4机制还允许在采用6to4的IPv6站点和纯IPv6站点之间通过中继路由器 ( 6to4 Relay Router )进行通信,这时不要求通信的两个端点之间具有可用的IPv4连接,中继路由器建议运行BGP4+,适应范围更广。

使用方法

6to4机制的简单运用是在没有本地IPv6的 ISP 服务时, 几个IPv4站点需使用IPv6进行交互, 因而每一站点都需要确定一个路由来运行双层协议栈(即IPv4和IPv6兼容)和6to4隧道,以确保这个路由有全球范围的路由地址(非专用IPv4地址空间)。

在运行过程中,当6to4站点内的IPv6主机试图通过域名访问其他6to4站点内的IPv6主机时,均可通过IPv4或IPv6协议实现。访问方主机选择带有6to4前缀的IPv6地址来发送一个信息包至距离最近的路由器,直至到达站点旁的路由器(假定该站点也提供6to4服务)。

当站点同时拥有6to4连通性和本地IPv6连通性时,会有多种6to4的使用方法。最简单的一种就是当某个站点试图访问另一个仅有6to4连通性的站点时,上文所提到的源地址的选择算法可确保得到站点的6to4 IPv6地址。在此并不需要选择目的地址,因为只有一个选择:6to4。

同样,当仅拥有6to4连通性的站点试图访问同时拥有6to4和本地IPv6连通性的站点时,在多个目的地址中主机的选择规则决定了6to4地址的选择,因为只有一个本地6to4 IPv6源地址是有效的。

另一特殊情况是当某个拥有6to4和本地IPv6连通性的站点试图访问另一个仅有本地IPv6连通性的站点时,制订一个源地址的选择算法可确保得到站点的本地IPv6地址。在此并不需要选择目的地址,因为只需选择本地IPv6地址即可。

接收规则

当请求方站点的6to4路由器发送信息包到另一站点(不在一个子网或一个用户网络中),并且下一个目的地址的前缀包含特殊的6to4 TLA值2002::/16,需使用41类型的IPv4协议将IPv6信息包封装于IPv4信息包内,如转换机制RFC所定义的那样。IPv4源地址包含于请求方站点的6to4前缀内(即6to4路由器的网络外部接口的IPv4地址,它包含于IPv6信息包的6to4前缀内),同时接收方IPv4地址成为下一个IPv6发送包目的地址的6to4前缀。

当接收站点的6to4路由器收到IPv4信息包,且识别出是41类型的IPv4协议时,即进行IPv4安全检测,去除文件头,用IPv6源信息包进行本地传送。

以上的发送规则是对IPv6发送规则所作的惟一修正,因为基本的IPv6转换机制的接收规则早已确定。随着DNS内加载适当个数的6to4前缀,任何站点均可脱离人工隧道配置而相互协作。

返回路径和源地址的选择

可以双向传送的信息包才是有效的。因此当与具有6to4前缀的站点交互时必需在发送的信息包内使用一个6to4前缀作为源地址; 换言之,源地址必须带有6to4前缀。(这个简单例子说明,双方站点仅有IPv4连通性不再是通信障碍,它们可以通过6to4前缀来进行通信)。DNS在搜寻主机名后仅可返回一个IPv6地址,且带有6to4前缀,因此上述源地址的选择不再是个问题。

转播

最为复杂的6to4假设情况是仅有6to4连通性的站点和仅有IPV6连通性的站点进行通信。这可通过同时支持6to4和IPv6连通性的6to4转播来实现。事实上,6to4转播就是一个IPv4/IPv6双层栈路由器。

6to4转播加载路线于IPv6底层组织所附带的2002::/16结构。IPv6网络必须过滤、丢弃任何超过16位的6to4前缀。此外,6to4转播必须加载本地IPv6路由策略允许的6to4连接,其中包括6to4路由器在只支持6to4连接的站点中选择一个BGP4+点对点进程,或是通过一个默认路由到6to4转播。

因此,当一个只支持6to4转播的站点发送信息包给另一个只支持IPv6的站点时,它会发送一个封装的IPv6信息包给6to4转播,而6to4转播会删去 IPv4头(解封装)并把信息包传给那个只支持IPv6的站点。

理论上,上述过程可能需要由多个6to4转播来实现,每一个转播分离一个IPv6的路由域。在实际应用中,所有的IPv6 ISP都被连在一起,即使是手动配置的IPv6 ISP也是如此。