{T}

IPv6 特性及当前应用程度介绍

0. 引言

IPv4 地址约 40 亿个,已无法满足互联网与物联网高速发展的需求。本文先梳理 IPv4 与 IPv6 的差异,再讲解三种 IPv6 改造方案(双栈、协议映射、应用层代理)的原理与取舍。

1. IPv4 协议回顾

IPv4 是互联网通信协议第 4 版,也是当前最广泛应用的版本。数据包报头包含源地址、目的地址、TTL、数据包校验、总长度、偏移量等信息。

  • 地址长度:32 位二进制,以十进制 x.x.x.x 标识,每个 x 占 8 位;
  • 地址分类:A、B、C、D、E 五类,D 类用于组播、E 类用于实验,真正可用的是 A/B/C 三类;地址由网络号 + 主机号组成,掩码划分子网后变为网络号 + 子网号 + 主机号;
  • 特殊地址:含私有地址(如 A 类 10.0.0.0-10.255.255.255)、广播地址、回环地址等,公网不可用。

2. IPv6 协议特性

IPv6 由 128 位二进制组成,地址资源极其庞大。与 IPv4 的主要差异:

维度IPv4IPv6
地址长度32 位,十进制书写128 位,十六进制书写
网络划分子网掩码、网络号 + 主机号前缀长度 + 网络接口 ID
回环地址127.0.0.1[::1]
浏览器访问IP + 端口直接访问地址需用中括号括起来再加端口

IPv6 地址结构中,前 48 位为前缀 ID(相当于 IPv4 子网掩码的作用),中间 16 位为子网 ID,最后为主机接口 ID(可由主机 MAC 地址直接生成)。由于 IPv6 地址难以记忆,实际使用中更依赖域名解析。

3. IPv6 改造的三种方案

IPv6 推广需要硬件到应用的整体调整,必须支持四种访问关系:IPv4 客户端访问 IPv4/IPv6 服务端、IPv6 客户端访问 IPv6/IPv4 服务端。三种改造方案:

方案原理特点
双栈应用、链路、支撑、终端系统同时支持并处理 IPv4 与 IPv6 两套协议栈改造最彻底,成本最大
协议映射DNS64 + NAT64 做地址转换满足部分需求,属过渡方案
应用层代理通过代理层转发有场景局限,属过渡方案

IPv6 双栈与过渡方案

3.1 双栈模式

服务端同时支持 IPv4 与 IPv6:IPv6 客户端通过 DNS 获取 IPv6 地址访问服务端出口;IPv4 客户端维持原有请求响应模式,DNS 返回 IPv4 地址。这是最彻底的方案,但人力、技术与资源成本都很高。

3.2 协议映射(DNS64 + NAT64)

以 IPv6 客户端访问 IPv4 服务端为例:

  1. 客户端请求 IPv6 域名,DNS64 Server 先查询权威 DNS 是否有 IPv6 地址;
  2. 服务端只支持 IPv4,DNS64 Server 取得 IPv4 解析结果后,改写成 IPv6 地址返回给客户端;
  3. 客户端请求该 IPv6 地址,流量先经过 NAT64 接入设备,把 IPv6 地址转换为 IPv4 地址访问服务端;
  4. 服务端返回的数据包再由 NAT64 转换成 IPv6 传回客户端。

对用户无感知,但服务端侧做了两层数据包转换,链路较长。

4. 小结

IPv6 的核心价值是解决地址枯竭:128 位地址空间、前缀 + 接口 ID 的简化结构、自动生成的接口 ID。但推广受限于全链路改造成本,当前主流是双栈平滑过渡,协议映射(DNS64/NAT64)与应用层代理作为过渡方案解决特定场景。对运维而言,改造前先梳理应用对 IP 的依赖(硬编码 IP、日志分析、安全策略),再选择渐进式过渡路径。

下一章讲解 iptables 企业级安全策略,看四层准入防火墙如何把守服务器大门。