1. 主流过渡技术
针对ipv4向ipv6的平滑过渡问题上,在工程上也已经有了很多可行的方案和实践,但各有利弊。目前业界主要分为三大类:双栈、隧道和翻译。
ipv6/ipv4双栈技术
双栈节点与ipv4节点通讯时使用ipv4协议栈,与ipv6节点通讯时使用ipv6协议栈。
隧道技术
提供了两个ipv6站点之间通过ipv4网络实现通讯连接,以及两个ipv4站点之间通过ipv6网络实现通讯连接的技术。
ipv4/ipv6协议转换技术
提供了ipv4网络与ipv6网络之间的互访技术。
2. 双栈技术
双栈技术是指在网络节点上同时运行ipv4和ipv6两种协议,从而在ip网络中形成逻辑上相互独立的两张网络:ipv4网络和ipv6网络。网络中的节点同时支持ipv4和ipv6协议栈,源节点根据目的节点的不同选用不同的协议栈,而网络设备根据报文的协议类型选择不同的协议栈进行处理和转发。
3. 隧道技术
隧道技术是通过将一种ip协议数据包嵌套在另一种ip协议数据包中进行网络传递的技术,只要求隧道两端的设备支持两种协议。
隧道类型有多种,按照隧道协议的不同分为ipv4 overipv6隧道和ipv6 over ipv4隧道;根据隧道终点地址的获得方式,可将隧道分为配置型隧道(如手工隧道、gre隧道)和自动型隧道(如隧道代理、6to4、6over4、6rd、isatap、teredo、基于mpls的隧道6pe等)。
隧道技术本质上只是提供一个点到点的透明传送通道,无法实现ipv4节点和ipv6节点之间的通信。适用于同协议类型网络孤岛之间的互联。这种技术的优点是,不用把所有的设备都升级为双栈,只要求ipv4/ipv6网络的边缘设备实现双栈和隧道功能。除边缘节点外,其它节点不需要支持双协议栈。
3.1 ipv4 over ipv6隧道
与ipv6 over ipv4隧道技术相反,ipv4 over ipv6隧道技术是解决具有ipv4协议栈的接入设备成为ipv6网络中的孤岛通信问题。
在实际应用中,ds-lite是一种典型的ipv4 over ipv6隧道技术,ds-lite隧道技术的工作原理是:用户侧设备将ipv4流量封装在ipv6隧道内,通过运营商的ipv6接入网络到达“网关”设备后终结ipv6隧道封装,再进行集中式nat转换,最终转发至ipv4 internet。
ds-lite网络主要由三个部分组成。
cpe(customer premisesequipment,用户侧设备):
cpe也叫b4终端,位于用户网络侧、用来连接isp(internet service provider,互联网服务提供商)网络的设备,通常为用户网络的网关。cpe作为ipv4 over ipv6隧道的端点,负责将用户网络的ipv4报文封装成ipv6报文发送给隧道的另一个端点,同时将从隧道接收到的ipv6报文解封装成ipv4报文发送给用户网络。某些用户网络的主机本身也可以作为cpe,直接连接到isp网络,这样的主机称为ds-lite主机。
aftr(address family transitionrouter,地址族转换路由器):
isp网络中的设备。aftr同时作为ipv4 over ipv6隧道端点和nat网关设备。aftr负责将解封装后的用户网络报文的源ipv4地址(私网地址)转换为公网地址,并将转换后的报文发送给目的ipv4主机;同时负责将目的ipv4主机返回的应答报文的目的ipv4地址(公网地址)转换为对应的私网地址,并将转换后的报文封装成ipv6报文通过隧道发送给cpe。aftr进行nat转换时,同时记录nat映射关系和ipv4 over ipv6隧道对端设备(即cpe)的ipv6地址,从而实现不同cpe连接的用户网络地址可以重叠。
ds-lite隧道:cpe和aftr之间的ipv4 over ipv6隧道,用来实现ipv4报文跨越ipv6网络传输。
3.2 ipv6 over ipv4隧道
ipv6不可能在一夜间完全替代ipv4,在这之前,那些ipv6的设备就成为ipv4海洋中的ipv6“孤岛”。ipv6 over ipv4隧道技术的目的是利用现有的ipv4网络,使各个分散的ipv6“孤岛”可以跨越ipv4网络相互通信。
在ipv6报文通过ipv4网络时,无论哪种隧道机制都需要进行“封包—解包”过程,即隧道发送端将该ipv6报文封装在ipv4包中,将此ipv6包视为ipv4的负荷,然后在ipv4网络上传送该封装包。当封装包到达隧道接收端时,该端点解掉封装包的ipv4包头,取出ipv6封装包继续处理。
值得一提的ipv6 over ipv4隧道技术是6rd。它由法国运营商free提出,free采用该方案在5周内为超过150万户居民提供了ipv6服务。6rd是ipv6快速部署(ipv6 rapid deployment)的简称,其对应标准为rfc5569,6rd是在6to4基础上发展起来的一种ipv6网络过渡技术方案。通过在现有ipv4网络中增加6rd-br,给愿意使用ipv6的用户提供ipv6接入;在ipv6用户的家庭网关和6rd网关之间建立6in4隧道,从而实现在ipv4网络提供ipv6服务的能力。
6rd ce(customer edge)与6rd br(border realy)都是双栈设备,通过过扩展的dhcp选项,6rd ce的wan接口得到运营商为其分配的ipv6前缀、ipv4地址(公有或私有)以及6rd br的ipv4地址等参数。ce在lan接口上通过将上述6rd ipv6前缀与ipv4地址相拼接构造出用户的ipv6前缀。当用户开始发起ipv6会话,ipv6报文到达ce后,ce用ipv4包头将其封装进隧道,被封装的ipv6报文通过ipv4包头进行路由,中间的设备对其中的ipv6报文不感知。br作为隧道对端,收到ipv4数据包后进行解封装,将解封装后的ipv6报文转发到全球ipv6网络中,从而实现终端用户对ipv6业务的访问。6rd对运营商的核心网络影响极小,整个过程无状态。它为运营商在ipv6过渡初期引入ipv6服务提供了思路。这种方案中,需要同时为终端分配ipv6前缀和ipv4公有/私有地址,仍不能减少ipv4地址的消耗。由于ipv6地址前缀受ipv4地址影响,该方案也存在ipv6地址欺骗的缺点;同时,该方案也要求分配给ce的ipv4地址需要较长的租用期。
4. 地址翻译
采用无状态翻译技术和双重翻译/封装技术ivi/map-t/map-e定义ipv4/ipv6地址的映射算法和协议翻译/封装算法,在保持互联网地址端对端的特性的基础上,使ipv4和ipv6互联互通,支持由ipv4和ipv6双向发起的访问。无状态翻译技术和双重翻译/封装技术有着不可替代的综合优势,是ipv4/ipv6过渡的必经之路。
map技术结合了无状态和双重翻译/封装技术。map(mapping address and port)技术是指无状态地对地址和端口进行复用,根据报文格式又分为双重封装map-e和双重翻译map-t两种。map技术定义了在ipv6-only的网络中承载ipv4和ipv6业务无状态地址封装/翻译的机制。map-ce和map-br作为边界设备划定了map domain的区域,ipv4业务流仅存在于map domain之外。
在map域中,网络部署ipv6单栈协议。对于ipv6终端的业务流量是采用native ipv6进行承载。对于ipv4终端的业务流量,需要在map-ce和map-br之间(或者map-ce和map-ce之间)建立ipv6通道,根据对ipv4报文的封装方式不同,可以分为map-e和map-t两种方式。
4.1 map-t技术
map-t是the mapping of address and port using translation的简称,被称为无状态的映射与双重翻译技术,是一种4over6的ipv6过渡技术。map-t:翻译方式,即将ipv4报头翻译成ipv6报头,只有一层ipv6报头。
4.2 map-e技术
map-e是the mapping of address and port using encapsulation的简称,被称为无状态的映射与双重封装技术,是一种4over6的ipv6过渡技术。map-e:封装方式,即将ipv4报文再封装一层ipv6报头,外层为ipv6报头,内层是ipv4报头。更多详细内容,可以查阅相关rfc文档。