当前位置: 首页>>IPv4与IPv6共存
ipv4与ipv6的共存
2016-11-03 01:59  

 

过渡技术的概述与现状
如何完成从IPv4IPv6的转换是IPv6发展需要解决的第一个问题。现有的几乎每个网络及其连接设备都支持IPv4,因此要想一夜间就完成从IPv4IPv6的转换是不切实际的。IPv6必须能够支持和处理IPv4体系的遗留问题。可以预见,IPv4IPv6的过渡需要相当长的时间才能完成。目前,IETF已经成立了专门的工作组,研究IPv4IPv6的转换问题,并且已提出了很多方案,主要包括以下几个类型:

1.双协议栈技术 
   IPv6
IPv4是功能相近的网络层协议,两者都基于相同的物理平台,而且加载于其上的传输层协议TCPUDP又没有任何区别。由图1所示的协议栈结构可以看出,如果一台主机同时支持IPv6IPv4两种协议,那么该主机既能与支持IPv4协议的主机通信,又能与支持IPv6协议的主机通信,这就是双协议栈技术的工作机理。

2.隧道技术
随着IPv6网络的发展,出现了许多局部的IPv6网络,但是这些IPv6网络需要通过IPv4骨干网络相连。将这些孤立的"IPv6"相互联通必须使用隧道技术。利用隧道技术可以通过现有的运行IPv4协议的Internet骨干网络(即隧道)将局部的IPv6网络连接起来,因而是IPv4IPv6过渡的初期最易于采用的技术。
路由器将IPv6的数据分组封装入IPv4IPv4分组的源地址和目的地址分别是隧道入口和出口的IPv4地址。在隧道的出口处,再将IPv6分组取出转发给目的站点。隧道技术只要求在隧道的入口和出口处进行修改,对其他部分没有要求,因而非常容易实现。但是隧道技术不能实现IPv4主机与IPv6主机的直接通信。
3.
网络地址转换/协议转换技术
网络地址转换/协议转换技术NAT-PT(Network Address Translation - Protocol Translation)通过与SIIT协议转换和传统的IPv4下的动态地址翻译(NAT)以及适当的应用层网关(ALG)相结合,实现了只安装了IPv6的主机和只安装了IPv4机器的大部分应用的相互通信。
上述技术很大程度上依赖于从支持IPv4的互联网到支持IPv6的互联网的转换,我们期待IPv4IPv6可在这一转换过程中互相兼容。目前,6to4机制便是较为流行的实现手段之一。

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

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

2.6to4的基本使用方法
   6to4
机制的简单运用是在没有本地IPv6 ISP 服务时, 几个IPv4站点需使用IPv6进行交互, 因而每一站点都需要确定一个路由来运行双层协议栈(即IPv4IPv6兼容)和6to4隧道,以确保这个路由有全球范围的路由地址(非专用IPv4地址空间)。
在运行过程中,当6to4站点内的IPv6主机试图通过域名访问其他6to4站点内的IPv6主机时,均可通过IPv4IPv6协议实现。访问方主机选择带有6to4前缀的IPv6地址来发送一个信息包至距离最近的路由器,直至到达站点旁的路由器(假定该站点也提供6to4服务)。

36to4路由器的发送接收规则
当请求方站点的6to4路由器发送信息包到另一站点(不在一个子网或一个用户网络中),并且下一个目的地址的前缀包含特殊的6to4 TLA2002::/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前缀,任何站点均可脱离人工隧道配置而相互协作。

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

5.更为复杂的6to4使用方法
当站点同时拥有6to4连通性和本地IPv6连通性时,会有多种6to4的使用方法。最简单的一种就是当某个站点试图访问另一个仅有6to4连通性的站点时,上文所提到的源地址的选择算法可确保得到站点的6to4 IPv6地址。在此并不需要选择目的地址,因为只有一个选择:6to4
同样,当仅拥有6to4连通性的站点试图访问同时拥有6to4和本地IPv6连通性的站点时,在多个目的地址中主机的选择规则决定了6to4地址的选择,因为只有一个本地6to4 IPv6源地址是有效的。
另一特殊情况是当某个拥有6to4和本地IPv6连通性的站点试图访问另一个仅有本地IPv6连通性的站点时,制订一个源地址的选择算法可确保得到站点的本地IPv6地址。在此并不需要选择目的地址,因为只需选择本地IPv6地址即可。

6.6to4转播
最为复杂的6to4假设情况是仅有6to4连通性的站点和仅有IPV6连通性的站点进行通信。这可通过同时支持6to4IPv6连通性的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也是如此。

7.ISATAP隧道和6to4隧道

ISATAP6to4都是目前比较流行的自动建立隧道的过渡技术,都可以连接被IPv4隔绝的IPv6孤岛,都是通过将IPv4地址嵌入到IPv6地址当中,并将IPv6封包封装在IPv4中传送,在主机相互通信中抽出IPv4地址建立tunnel。但具体实现的流程,IPv6地址和应用范围不尽相同。

  ISATAPdraft-ietf-ngtrans-isatap-23.txt) 的全名是 Intra-Site Automatic Tunnel AddressingProtocol,它将IPv4地址夹入IPv6地址中,当两台 ISATAP 主机通讯时,可自动抽取出 IPv4 地址建立 Tunnel 即可通讯,且并不需透过其它特殊网络设备,只要彼此间IPv4网络通畅即可。

双栈主机支持isatap后会自动在该隧道接口上生成本地链路的前缀(fe80::开头)和64位的接口标识符::0:5EFE:X.X.X.X(这里的X.X.X.X是双栈主机的IPv4单播地址),这样就可以和同一子网内其他isatap客户机进行ipv6通讯了;如果需要和其他网络的isatap客户机或者IPv6网络通信,必须通过ISATAP路由器拿到全球单播地址前缀(2001:, 2002:, 3ffe:开头),通过路由器与其他IPv6主机和网络通信。 

  ISATAP过渡技术不要求隧道端节点必须具有全球惟一的IPv4地址,只要双栈主机具有IPv4单播地址即可,不管该地址公有的还是私有的都可以。

  6to4RFC3056 )机制被定义在站点之间进行IPv6通讯,每个站点必须至少有一台“6to4”路由器作为出入口,使用特需的地址格式,地址前缀为(2002:开头),并将路由器的IPv4地址夹入IPv6地址中,因此位于不同6to4 site内的主机彼此通讯时即可自动抽出IPv4地址在路由器之间建立Tunnel

透过6to4 router,不同6to4 site内的主机可互相通讯,当需与一般IPv6主机通讯时,则必须过6to4 relay router6to4 relay router必须同时具备6to4IPv6接口,同时提供这些接口的封包转送。  

  6to4需要一个全球合法的IPv4地址,所以对解决IPv4地址短缺没有太大帮助。但它不需要申请IPv6地址,通过它可使站点迅速升级到IPv6

关闭窗口

中国下一代教育科研网cernet2

重庆大学ipv6网

上海交通大学ipv6试验站