从IPv4网络切换到IPv6网络,需要较长一段时间。在IPv6网络实施初期,IPv6网络就像一座座孤岛,在IPv4网络的海洋中生存。
如何跨越IPv4网络,实现IPv6网络之间的通信呢?这就是下面要说到的IPv6 over IPv4隧道技术。通常而言隧道技术,就是对特定报文进行封解封装。
一、IPv6 over IPv4手动隧道(Manual)
【拓扑】
IPv6网络1------------(2011:1:1:11::1/64) R1 (10.1.1.1)-------------R2---------R3-------(20.1.1.1)R4(2022:2:2:22::2/64)--------------IPv6网络2
【说明】
假定IPv6网络1中,有PC1其IPv6地址为:2011:1:1:11::2/64
假定IPv6网络2中,有PC2其IPv6地址为:2022:2:2:22::2/64
R1与R4之间,是正常组建的IPv4网络,且网络通信正常(通过任何路由协议均可)
【问题】
如何实现PC1与PC2之间的通信呢?
【解答】
在R1与R4之间,通过隧道封装技术使得PC1能与PC2正常通信。
【隧道配置】
R1上配置,隧道接口Tunnel1
R4上配置,隧道接口Tunnel2:
即从抓包来看,在PC1与PC2之间通信的报文前,封装了IPv4头部。从而使得PC1与PC2之间通信的报文,在R1与R4之间以正常的IPv4报文的形式转发。
二、IPv6 over IPv4 GRE隧道
【说明】
拓扑环境与(一)中保持一致,PC1与PC2之间通过IPv6 over IPv4 GRE隧道技术进行通信。
假定IPv6网络1中,PC1的地址为2011:1:1:11::3/64
假定IPv6网络2中,PC2的地址为2022:2:2:22::3/64
隧道配置与Manual类似,只需要在隧道配置时,设置隧道模式为gre ip模式即可。
【实践结果】
抓包查看
三、IPv6 over IPv4 自动隧道(Auto-Tunnel)
R1与R4上的隧道接口之间的通信,抓包查看:
总结:
IPv6 over IPv4隧道对报文的处理过程如下:
(1)IPv6网络中的主机发送IPv6报文,该报文到达隧道的源端设备R1
(2)R1根据路由表判定该报文要通过隧道进行转发,则在IPv6报文前封装上IPv4的报文头,通过隧道的实际物理接口将报文转发出去。IPv4报文头中的源IP地址为隧道的源端地址,目的IP地址为隧道的目的端地址。
(3)封装报文通过隧道到达隧道目的端设备(或称隧道终点) R4,R4判断该封装报文的目的地是本设备后,将对报文进行解封装。
(4)R4根据解封装后的IPv6报文的目的地址处理该IPv6报文。如果目的地就是本设备,则将IPv6报文转给上层协议处理;否则,查找路由表转发该IPv6报文。