随着IPv4地址的枯竭,IPv6投入应用是必然的。但是全球大部分网络都还在使用IPv4,所以IPv6到IPv4的过渡必定是渐进的,这是一个相对缓慢的过程,这时就需要使用IPv6隧道技术使IPv4网络与IPv6网络相通。
IPv4与IPv6隧道技术分为3类:
双协议栈(DualStack)隧道封装(Tunneling)协议转换技术(NAT)
IPv6数据包在IPv4中隧道传输是如何工作的:
IPv6数据包在IPv4隧道中传输时,原始包头和有效载荷是不被修改的。仅在IPv6数据包前面插入一个IPv4的包头。这样,里面的包头包含着端到端IPv6会话的源和目的IPv6地址,外面的包头包含着隧道端点的源和目的IPv4地址。隧道的两端要执行IPv6数据包的封装和解封装所以两端的设备必须同时支持IPv4和IPv6。
IPv6数据包的IPv4封装存在的一些问题:
1.隧道的最大传输单元和分段:IPv6的MTU最小值为1280字节,而经过tunnel后又增加了IPv4的包头使得数据包的MTU由1500减少到1480字节所以会造成数据包的分片增加。
2.处理IPv4中的ICMPv4消息的错误:老版本的路由器在出错时仅仅发送ICMPv4的消息,不支持IPv6的报错消息。
3.过滤协议41:协议41是在IPv4包头中协议字段中用于表示6TO4tunnel的专有协议号。1ICMP、2IGMP、6TCP、17UDP、45IRDP、46RSVP、47GRE、88IGRP、89OSPF。
4.网络地址转换NAT:IPv6inIPv4隧道不能穿过一个启用了动态端口转换(pool)和端口重定向模式的NAT(如:N2)。
IPv6隧道技术
1.配置隧道
2.隧道代理技术
3.隧道服务器
4.采用6TO4
5.GRE隧道
6.ISATAP站点间隧道自动编址
7.自动IPv4兼容隧道
一、配置隧道
配置隧道在双栈节点上被静态的配置,在隧道的每一端必须手工配置隧道的IPv4和IPv6地址。
本地IPv4地址:通过这个地址本地双栈节点在IPv4网络上可达。本地IPv4地址用于输出流量的源IPv4地址。
远端IPv4地址:通过这个地址本地双栈节点在IPv4网络上可达。远端IPv4地址用做输出流量的目的IPv4地址。
本地IPv6地:本地分配给隧道接口的IPv6地址。
二、隧道代理
CiscoIOS不支持隧道代理
隧道代理是一个外部系统(服务器)它在IPv4网络中作为服务器,并接受双栈节点的隧道建立请求。
三、隧道服务器
CiscoIOS不支持隧道代理
隧道服务器是隧道代理的简化模型。隧道服务器把代理和双栈路由器结合在一起而不是用两个单独的系统。隧道代理和隧道服务器被认为是不需要手动操作的IPv4路由域的双栈节点中部署隧道的自动操作机制。
四、采用6TO4
IETF(Inter互联网工程任务组)为了简化IPv4网络上配置IPv6隧道技术推出了6to4技术
通过IPv4网络连接IPv6网络,采用6to4机制具有如下特点;
1.自动隧道:在由IPv6节点组成的站点之间动态的采用隧道的方法,不需要手动的事先调整隧道的源和目的IPv4地址。
2.在站点边缘启用:6to4应该在站点边缘的边界路由器上启用,必须通过IPv4路由基础设施到达其他的6to4站点和6to4路由器。
3.自动前缀分配:向每一个6to4站点提供一个可靠的全球单播IPv6前缀(2002::/16)并且要为6to4站点至少分配一个6to4路由器的全球单播IPv4地址,使用IPv4地址和IPv6全球单播地址构成一个全新的IPv6的全球单播地址(2002:ipv4地址::/48)。
4.在IPv4域中,没有IPv6路由传播
五、通过GRE部署IPv6隧道技术
CiscoIOS软件技术支持IPv6数据包的GRE隧道封装。GRE隧道必须在允许通过现有的IPv4基础设施传输IPv6数据包的路由器之间静态配置。默认只有前两个字段,Flag用于表示GRE头部开始,在协议类型中用0X800表示后续是IP
六、ISATAP(IntrasiteAutomaticTunnelAddressProtocol)隧道自动编址
站点间自动隧道寻址技术实在一个广播域中在IPv4地址的基础上传输IPv6数据包的隧道机制,它可以在IPv4网络上创建一个虚拟的IPv6网络。在这个tunnel中不用指目的地址。实际上IPv6地址是根据本地IPv4地址自动生成的。IPv6地址的前缀64位是使用可聚合的全球单播IPv6地址(2001::/16、2002::/16、3ffe::/16)后64位是使用0000:5efe加上32位IPv4地址
七、自动IPv4兼容隧道
Cisco支持自动IPv4兼容隧道机制,但是路由器被看作一个主机,然而相对其他机制自动IPv4兼容隧道机制已经被废除了。
自动IPv4兼容隧道的IPv6地址使用特定的IPv6地址:::/96如:IPv4206.123.31.200则IPv6::206.123.31.200