1. 为什么需要 IPv6 隧道?
IPv6 隧道技术的出现,主要源于互联网从 IPv4 向 IPv6 过渡的长期性和复杂性。
- 过渡期需求:IPv6 和 IPv4 是不兼容的协议。在全世界完全升级到纯 IPv6 网络之前,会存在一个漫长的过渡期。在此期间,IPv4 网络和 IPv6 网络将长期共存。
- 连通性需求:一个孤立的 IPv6 网络“岛屿”需要穿越现有的、主流的 IPv4 网络“海洋”去与另一个 IPv6 网络“岛屿”进行通信。
- 隧道的作用:隧道技术就是一种“在现有网络上搭建虚拟通道”的方法,它允许 IPv6 数据包被封装在 IPv4 数据包内,通过 IPv4 网络进行传输,从而实现 IPv6 网络孤岛之间的互联。
核心思想:将一种协议的数据包完整地作为载荷数据封装在另一种协议的数据包中进行传输。对于 IPv6 over IPv4 隧道,就是 “IPv6 包坐 IPv4 车”。
2. 工作原理:封装与解封装
隧道技术的工作过程包含两个关键步骤:
- 封装
- 地点:隧道的起点(入口路由器)。
- 过程:
- 当一个纯 IPv6 数据包需要发送到隧道另一端的 IPv6 网络时,入口路由器会接收这个数据包。
- 路由器会将整个 IPv6 数据包(包括报头和数据)作为载荷数据,然后为其添加一个新的 IPv4 报头。
- 这个新 IPv4 报头的源地址是入口路由器的 IPv4 地址,目的地址是出口路由器的 IPv4 地址。
- 协议字段被设置为
41
,表示载荷是一个 IPv6 数据包。
- 解封装
- 地点:隧道的终点(出口路由器)。
- 过程:
- 出口路由器收到这个 IPv4 数据包后,检查协议字段。发现是
41
,于是它知道这个数据包里面封装了一个 IPv6 数据包。 - 路由器“剥去”外层的 IPv4 报头,还原出原始的 IPv6 数据包。
- 然后,根据 IPv6 报头中的目的地址,将这个 IPv6 数据包路由到最终的目标主机。
- 出口路由器收到这个 IPv4 数据包后,检查协议字段。发现是
简单比喻:就像寄送一封机密信件(IPv6 包)。你把信装进一个新信封(IPv4 包),新信封上写的是中转站的地址(隧道端点),中转站收到后,拆开外层信封,取出里面的原始信件,再投递到最终收件人手中。
3. 隧道类型
根据隧道的建立和管理方式,主要分为两大类:
3.1 手动隧道
需要网络管理员手动配置隧道的两个端点(源和目的 IPv4 地址)。
- 特点:配置简单,但缺乏灵活性,扩展性差(每对路由器之间都需要单独配置)。
- 常见类型:
- IPv6 over IPv4 手动隧道:最基本的隧道类型。
- GRE over IPv4 隧道:使用通用路由封装协议,比手动隧道更灵活,可以封装多种协议(如 IPX, AppleTalk),而不仅仅是 IPv6。
3.2 自动隧道
隧道的端点地址无需手动配置,而是通过源 IPv6 地址中的信息或特定的服务器自动发现。
- 特点:配置更简单,扩展性好,适合主机或小型网络接入 IPv6 网络。
- 常见类型:
- 6to4:
- 使用特殊的 IPv6 地址前缀:
2002:WWXX:YYZZ::/48
,其中WWXX:YYZZ
是隧道端点的公有 IPv4 地址的十六进制表示(如 192.168.1.1 转换为 C0A8:0101)。 - 任何拥有公有 IPv4 地址的主机或路由器都可以成为一个 6to4 路由器。
- 通过访问一个特定的 6to4 中继路由器(其 IPv6 地址为
2002:
开头)来与全球 IPv6 互联网通信。 - 缺点:严重依赖中继路由器,且中继器可能成为性能和单点故障的瓶颈;同时与 NAT 兼容性差。
- 使用特殊的 IPv6 地址前缀:
- ISATAP(站内自动隧道寻址协议):
- 主要用于企业或校园内部网络,让双栈主机在纯 IPv4 的基础设施中获取 IPv6 连接。
- 主机会自动用其 IPv4 地址(通常是私有地址)来生成 ISATAP 格式的 IPv6 地址(如
prefix:0:5EFE:w.x.y.z
)。 - 它通过一个叫做 ISATAP 路由器的设备来转发数据。
- Teredo:
- 专门为解决 IPv6 数据包穿越 NAT 的问题而设计。
- 当主机位于 NAT 之后(如家庭网络),无法使用 6to4 时,Teredo 是有效的解决方案。
- 它通过 Teredo 服务器、中继器等组件,将 IPv6 数据包封装在 IPv4 的 UDP 数据报中(协议字段为 17,而非 41),因为大多数 NAT 设备允许 UDP 穿透。
- Teredo 地址以
2001::/32
开头。
- 6to4:
5. 隧道技术的优缺点
优点
- 实现互联:在 IPv6 普及初期,是实现 IPv6 网络之间通信最实际、成本最低的方法之一。
- 利用现有设施:无需改造底层 IPv4 网络基础设施,保护了投资。
- 过渡桥梁:是 IPv4 向 IPv6 平滑过渡的关键技术。
缺点
- 性能开销:封装和解封装过程会增加处理延迟,降低吞吐量。
- 管理复杂性:手动隧道配置繁琐;自动隧道(如 6to4)可能面临可靠性和性能问题。
- MTU 问题:额外的 IPv4 报头会增大数据包尺寸,可能导致数据包在 IPv4 路径上被分片,影响效率。需要实施 PMTUD 来避免此问题。
- 单点故障:隧道端点的可靠性至关重要。
- 安全隐患:隧道可能被用于隐藏攻击流量,需要部署相应的安全策略(如 ACL、IPSec)来保护隧道。