1. IPv6 过渡技术特征
- 所有设备必须支持 IPv4/IPv6 协议栈(Dual Stack)
- 连接双栈网络的接口必须同时配置 IPv4/IPv6 地址
- 兼容地址格式:
::ipv4/96
- IPv4 映射 IPv6 地址格式:
::FFFF:ipv4/64
- 6 to 4 自动隧道地址格式:
2002:ipv4 HEX::/48
,后49~64为站点标识符(用于区分网段) - ISATAP Link-Local 地址格式:
FE80::5EFE
- ISATAP 地址格式:
64位前缀::5EFE:ipv4 HEX/64
2. Dual Stack 协议
3. IPv6 Over IPv4 隧道
- 过渡初期使用
- 分为手动隧道和自动隧道
IPv4 网络为主体,IPv6 网络是孤岛,通过隧道技术将 IPV4 网络将 IPv6 网络互联在一起,使 IPv6 报文在 IPv4 网络中传输
1)手工隧道
必须手工配置
- 适用于任何 IPv6 穿越 IPv4 的环境,通用性好
- 手动隧道通常用于两个边界路由器之间,为两个 IPv6 网络提供连接
- 如果一个边界设备要与多个设备建立手动隧道,就需要在设备上配置多个隧道,配置比较麻烦
① 转发机制
- 当隧道边界设备的 IPv6 侧收到一个 IPv6 报文后,根据 IPv6 报文的目的地址查找 IPv6 路由转发表
- 如果该报文是从此虚拟隧道接口转发出去,则根据隧道接口配置的隧道源和目的端的 IPv4 地址进行封装
- 封装后的报文变成一个 IPv4 报文,交给 IPv4 协议栈处理
- 报文通过 IPv4 网络转发到隧道的终点
- 隧道终点收到一个隧道协议报文后,进行隧道解封装
-
② 工作原理
当 PC1 访问 PC2 时,R1 会将收到的 IPv6 报文送入隧道口,完成隧道封装
- 封装协议为 IPv6-IPv4 手工隧道封装模式(会在该 IPv6 报文外层添加 IPv4 头部)
- 源、目 IP 为隧道口指定的源、目 IP
- 中间的 IPv4 网络路由器仅需要根据外层 IPv4 进行转发即可
- 当报文到达 R2 后,解封装得到内层原始 IPv6 报文,根据目的地址转发即可
2)GRE 手工隧道
使用标准的 GRE 隧道技术提供了点到点连接服务,需要手工指定隧道的端点地址
- GRE 隧道本身并不限制被封装的协议和传输协议,一个 GRE 隧道中被封装的协议可以是协议中允许的任意协议(可以是 IPv4、IPv6、OSI、MPLS 等)
- 和 IPv6 over IPv4 手工隧道的区别在于在外层 IPv4 和内层 IPv6 中间存在 GRE 头部
- 比 Pv6 over IPv4 手工隧道更安全,可以保证数据的安全性,因为有简单认证字段
3)兼容自动隧道
使用专用的 IPv4 兼容 IPv6 地址实现:”
::IPv4地址/96
“
- 要求每一个主机都要有一个合法的 IPv6 地址,而且通讯的主机要支持双栈、且支持兼容隧道
① 转发机制
IPv6 报文会经过隧道接口的 IPv4 外层封装,该隧道口需要配置封装的协议模式为 IPv4 兼容 IPv6 自动隧道封装
FP:可聚合全球单播地址的格式前缀(Format Prefix),其二进制为 001
- TLA:顶级聚合标识符(Top Level Aggregator),有 13 个比特位,其二进制值为 0 0000 0000 0010
- SLA:站点级聚合标识符(Site Level Aggregator)
- 支持 Router 到 Router、Host 到 Router、Router 到 Host、 Host 到 Host
- 6 to 4 地址的网络前缀长度为 64bit,其中前 48bit(2002:a.b.c.d)被分配给路由器上的 IPv4 地址决定了,用户不能改变,而后 16 位(SLA)是由用户自己定义
- 一个 IPv4 地址只能用于一个 6to4 隧道的源地址,如果一个边界路由器连接了多个 6 to 4 网络并使用同样的 IPv4 地址做为隧道的源地址,则使用 6 to 4 地址中的 SLA ID 来区分,但他们共用一个隧道
- 通过 6 to 4 中继路由器方式,可以实现普通 IPv6 网络与 6 to 4 网络通过 IPv4 网络互通
- 通过 6 to 4 隧道转发的 IPv6 报文的目的地址不是 6 to 4 地址,但转发的下一跳是 6 to 4 地址,该下一跳为路由器
隧道的 IPv4 目的地址依然从下一跳的 6 to 4 地址中获得
① 工作原理
如果 6 to 4 网络-2 中的主机要与 IPv6 网络互通,在其边界路由器上配置路由指向的下一跳为 6 to 4 中继路由器的 6 to 4 地址,中继路由器的 6 to 4 地址是与中继路由器的 6 to 4 隧道的源地址相匹配的
如果 IPv4 地址是全局唯一的,则 u 位为 1,否则 u 位为 0
- g 位是 IEEE 群体/个体标志
- ISATAP 隧道同样使用了内嵌 IPv4 地址的特殊 IPv6 地址形式,于 6 to 4 不同的是:
- 6 to 4 是使用 IPv4 地址做为网络前缀,而 SATAP 用 IPv4 地址做为接口标识
- 由于 ISATAP 是通过接口标识来表现的,所以,ISATAP 地址有全局单播地址、链路本地地址、ULA 地址、组播地址等形式
- 首先配置 ISATAP 隧道接口,这时会根据 IPv4 地址生成 ISATAP 类型的接口 ID
- 根据接口 ID 生成一个 ISATAP 链路本地 IPv6 地址,生成链路本地地址以后,主机就有了在本地链路上进行 IPv6 通信的能力
- 进行自动配置,主机获得 IPv6 全球单播地址、ULA 地址等
- 当主机与其它 IPv6 主机进行通讯时,从隧道接口转发,将从报文的下一跳 IPv6 地址中取出 IPv4 地址作为 IPv4 封装的目的地址。如果目的主机在本站点内,则下一跳就是目的主机本身,如果目的主机不在本站点内,则下一跳为 ISATAP 路由器的地址
4. IPv4 Over IPv6 隧道