一、双栈技术概述

链路层收到数据帧后,拆开并检查IP包头
如果包头中第一个字段为4,则该数据包由IPv4协议栈处理
如果包头中第一个字段为6,则该数据包由IPv6协议栈处理
双栈要求网络节点必须同时支持IPv4 & IPv6

二.手动隧道技术

gre隧道 keepalive GRE隧道是一种手动隧道_封装


通过手工建立的隧道模式,称之为手动隧道

2.1.GRE隧道–GRE(通用路由封装)
最开始是用来解决路由黑洞问题,两边设备有路由,中间设备没有路由
中间设备是iPv4,两边设备是IPv6设备,这就属于一种路由黑洞
利用传统的GRE技术,直接将IPv6数据包封装在IPv4包头内
Tunnel接口需要启用IPV6功能(IPv6 enabel,或者配置ipv6地址)
这样做是让tunnel接口成为三层接口,这样在能进入ipv6路由表。

GRE Tunnel本身不限制承载的协议和数据

GRE原理是将IPv4封装为外层包头,让公网设备识别这个公网包头转发,到达对端设备时拆开包头

看到的就是真实的ipv6包头

gre隧道 keepalive GRE隧道是一种手动隧道_封装_02


gre隧道 keepalive GRE隧道是一种手动隧道_封装_03

配置

interface Tunnel1
 ipv6 enable  ;开启ipv6 功能
 tunnel source 23.1.1.2   ;设置tunnel的源,也就是本端的公网地址
 tunnel destination 34.1.1.4   ;tuennel的目的,对端的公网地址
ipv6 route 100::100/128 Tunnel1  ;写静态路由扔到tuell口,或者起动态都可以

2.2.IPv6 over IPv4 隧道

仍然是利用GRE Tunnel来封装IPv6数据包,只不过减少了 GRE封装

IPv4包头中必须标明后面是一个IPv6包头,也就是把GRE的功能放到IPv4包头

来完成。

gre隧道 keepalive GRE隧道是一种手动隧道_gre隧道 keepalive_04


配置;

interface Tunnel [num]
ipv6 address [ipv6 address/mask]    ;配置ipv6地址,或者开启ipv6功能
tunnel source [interface or ipv4 address]  ;源
tunnel destination [ipv4 address]   ;目的
unnel mode ipv6ip   ;和GRE的区别就是修改模式

三、自动隧道技术—6 to 4 Auto Tunnel

3.1原理概述

自动隧道关键之处在于Tunnel目的由路由器自动判断,无需指定目的ip

要求访问的IPv6地址必须为2002::/16作为前缀,也就是说对方内网设备必须都是2002开头的

2002后32bit为出口设备公网地址转换而来的 比如 1.1.1.1 转换为 2002:0101:0101

那么本端设备就必须规划为这个网段的否则无法使用自动隧道

实现效果就是访问2002前缀后32bits自动转换为IPv4地址作为Tunnel目的地址

gre隧道 keepalive GRE隧道是一种手动隧道_IPV6_05


如上图RT1的公网地址为 1.1.1.1,那么他内部网段的规划前48bit固定为 2002:0101:0101

RT2的公网地址为2.2.2.2,那么他内部网段的规划前48bit固定为 2002:0202:0202

当RT1这端网络想去往对端RT2网段时,目的ip为 2002:0202:0202开头,那么RT1自动识别0202:0202转换为 2.2.2.2 并与其建立隧道将数据包发过去

gre隧道 keepalive GRE隧道是一种手动隧道_内网_06


对端设备设备收到之后拆开外层包头,看到ipv6包头是2002开头的将其转发,当内网设备回复时

那么则源目翻转建立隧道 隧道目的为 1.1.1.1

3.2 注意的点:
因此6to4 Tunnel需要依靠流量触发才能建立,因此不能运行动态路由协议,只能使用静态路由
转换的2002开头后32bit为公网地址转换而来所以不用担心这个网段的重复,和ipv4地址一样
都是全球唯一的

3.3配置;

interface Tunnel1
 ipv6 enable   ;开启ipv6
 tunnel source Ethernet0/0   ;隧道源,无需指定目的
 tunnel mode ipv6ip 6to4   ;隧道模式为 6to4
ipv6 route 2002::/16 Tunnel1   ;写2002网段的路由到 隧道口

3.4 小实验

gre隧道 keepalive GRE隧道是一种手动隧道_IPV6_07


如上图这是一个IPv6穿越ipv4的拓扑

要求规划两端网段的ip地址

RT1到RT2网段=2002+23.1.1.2

23.1.1.2转换 bit;0010111 00000001 00000001 00000020

转换16进制1701:102 也就是 2002:1701:102 开始

对于R1到R2网段规划 2002:1701:102:12::/64

请完成上述实验,让其自动建立IPV6隧道3.5 小技巧;

对于端口模式改为 6to4隧道的tuunel接口,会自动根据隧道源ip产生一个 link-locl地址

gre隧道 keepalive GRE隧道是一种手动隧道_内网_08


这个地址的后32bit其实就是源ip的16进制

所以对于R4到R5的网段规划;2002:2201:104:45::/64