返回技术博客

SKNK 中文技术指南

什么是 IPv6?为什么 IPv4 地址不够用了

IPv6 是什么、IPv4 地址为什么不够用、/48 和 /64 是什么关系,以及什么情况下你需要自己的 IPv6 前缀。

技术内容

由 Shikanoko Networks 编写与维护

你可能在服务器日志、路由表或云控制台里见过这种地址:2a04:4e42::347——一串十六进制和冒号,看起来像有人乱按键盘。这就是 IPv6 地址。今后几年,你的服务器、你的客户、你的基础设施,都得跟它打交道。

不是因为 IPv6 "更快",也不是因为它是"未来趋势",而是因为从 1983 年起承载互联网流量的 IPv4,地址已经不够分了。每一个想要公网地址的新设备、新服务、新网络,现在都在抢一个很多年前就不再增长的池子。

IPv6(Internet Protocol version 6)——IPv4 的继任者,用 128 位地址空间取代 32 位寻址,让每一台设备都可以有全球唯一的公网地址,不再靠 NAT 省地址。

白脸小鹿把拥挤的 IPv4 地址箱拉开,展开一张宽敞有序的 IPv6 地址地图。

IPv6 把拥挤的 IPv4 地址箱拉开,给网络结构留下足够的空间。

为什么 IPv4 不够用了

IPv4 用 32 位地址,一共约 43 亿个。1983 年互联网只有几百个研究机构时,这个数字看起来取之不尽。到 2011 年,IANA 把最后一批 /8 分给了五个区域注册机构;到 2019 年,负责欧洲、中东和中亚的 RIPE NCC 宣布,可分配给新会员的 IPv4 已经清零。

绕开这个问题的方法是 NAT:一个公网 IPv4 地址,后面挂一堆私有设备。NAT 让互联网继续增长,但代价是实打实的:

问题 NAT 做了什么 代价
端到端被破坏 设备藏在共享公网 IP 后面 P2P、VoIP、直连都要做各种穿透
状态开销 每条连接都要查映射表 大 NAT 网关成为性能瓶颈和单点
地址冲突 私有段(10.0.0.0/8、192.168.0.0/16)到处撞车 网络合并、对接合作伙伴都要重新编号
运营商级 NAT ISP 一层套一层 NAT 一个用户惹事,整段共享地址被拉黑
成本 IPv4 在二级市场交易 一个 /24(256 个地址)能卖几千欧元,更大的段要几万

NAT 没有解决 IPv4 短缺,只是买了时间。IPv6 在协议层面解决这个问题。

白脸小鹿把缠成一团的连接从小抽屉里拉出,努力让它们穿过一道窄门。

NAT 让许多连接挤过同一道窄门;它延长了 IPv4 的使用寿命,却没有增加地址。

IPv6 到底改了什么

IPv6 用 128 位地址。宣传里的"约 3.4×10^38 个地址"(340 undecillion)其实不如地址空间带来的三个实际变化重要:

端到端连接恢复可行。 每台设备可以拥有全球唯一的公网地址,不需要为了省地址而做 NAT。这消除了大量端口转发的绕路和网络对接时的地址冲突。注意:这不等于不需要防火墙——公网可达仍然应该是一个明确的安全决策。

地址自动配置内置。 IPv6 设备通过 SLAAC(无状态地址自动配置)自己生成地址:插上网线、听到路由器通告、获得地址,不需要 DHCP 服务器。需要集中管理地址的组织可以用 DHCPv6。

路由表更好聚合。 IPv4 的路由表超过一百万条还在涨。IPv6 从设计上考虑聚合:注册机构把大块地址分给 ISP,ISP 再分给客户,路由可以干净地汇总。一条 /32 覆盖一个 ISP 的全部客户,而不是几百个散落的 /24。

头部固定为 40 字节。 IPv4 头部是变长的(20–60 字节,取决于选项),IPv6 固定 40 字节,中间路由器处理更简单。

IPv4 IPv6
地址长度 32 位(约 43 亿) 128 位(约 3.4×10^38)
地址格式 点分十进制:192.168.1.1 冒号分隔十六进制:2001:db8::1
头部大小 20–60 字节(可变) 40 字节(固定)
为省地址做 NAT 普遍 不需要
自动配置 DHCP 或手工 SLAAC 或 DHCPv6
广播 有(ARP、广播风暴) 无,用组播 Neighbor Discovery
最小 MTU 576 字节 1280 字节

IPv6 地址怎么读

128 位地址写成 8 组十六进制,每组 4 位:

2001:0db8:0000:0000:0000:ff00:0042:8329

两条规则把它压缩得很短:

每组省略前导零2001:db8:0:0:0:ff00:42:8329

把一段连续的零用 :: 代替(一个地址只能出现一次,否则无法还原):2001:db8::ff00:42:8329

生产环境里你主要会遇到这几种:

类型 前缀 用途 示例
全局单播 2000::/3 公网可路由地址,IPv4 公网地址的对应物 2a04:4e42::347
链路本地 fe80::/10 只在一个网段内有效,每个 IPv6 接口自动有一个 fe80::1%eth0
唯一本地(ULA) fc00::/7 内网私有地址,类似 10.0.0.0/8,但带随机前缀避免撞车 fd12:3456:789a::1
环回 ::1/128 本机,对应 IPv4 的 127.0.0.1 ::1

实践提示:BGP 路由表里看到 fe80:: 的下一跳是正常的。看到以 2 开头的地址——那是真实的公网 IPv6 地址。

白脸小鹿把一条很长的空白地址带折叠成更短、更整齐的形式。

IPv6 地址很长,但可以按规则折叠成更容易读、也更容易记录的形式。

/48、/64 是什么

IPv4 里你习惯按"单个地址"思考:"我要给这台服务器一个公网 IP。"IPv6 里你操作的最小单位通常是前缀——一个地址块。

前缀用 CIDR 写法:2001:db8:abcd::/48 意思是"前 48 位是网络号,剩下 80 位留给子网和主机"。

前缀长度 是什么 典型用途
/32 ISP 级分配 ISP 给成千上万客户分 /48
/48 标准组织分配 你的网络地址块,切成 /64 子网
/56 较小分配 家庭网络、小办公室
/64 标准局域网子网 一个 VLAN,SLAAC 要求的最小单位
/128 单个地址 环回接口、BGP Router ID

一个 /48 里有 65,536 个 /64。给园区每个 VLAN、每个机房的每台 VPS、anycast 的每个接入点各分一个 /64,还有余量够用一个世纪。你切子网不是因为空间紧张,而是因为"每个局域网一个 /64"的惯例让地址规划可预测,而空间充裕让这个惯例零成本。

白脸小鹿把一张大的空白地址表整理进有四个宽敞格子的柜子里。

一个 /48 更像一整柜可规划的空间,而不是一枚需要节省的单个地址。

IPv6 和 ASN、BGP 是什么关系

IPv6 前缀是地址空间,ASN 是网络身份,BGP 是宣告协议。关系是这样的:

  1. 你拿到一个 IPv6 前缀(通常 /48),来自注册机构,直接或通过 Sponsoring LIR
  2. 你有一个标识自己网络的 ASN
  3. 你配置 RPKI ROA,把 ASN 和前缀加密绑定
  4. 你通过 BGP 把前缀宣告给上游,路由在全球传播
  5. 发往你前缀的流量,顺着路由表找到你的网络

没有 ASN 也能用 IPv6——ISP 或云厂商会从自己的地址池分给你。但想用 BGP 自己宣告前缀、做多宿主架构,通常就需要 ASN。服务商分配的地址(PA)往往跟着服务商走,换服务商意味着重新编号。ASN 加一个合适的前缀,才是路由自主的组合。

白脸小鹿把一张空白地址卡从身份台搬过一座小桥,接入向外分叉的路由路径。

前缀是地址空间,ASN 是网络身份,BGP 把这两者带到外部路由里。

我现在需要自己的 IPv6 前缀吗

看你在建什么,不看公司大小。

大概率还不需要:

  • 应用完全跑在云平台上,平台已经提供 IPv6
  • 只有一两台服务器,服务商已给你 IPv6 地址
  • 不跑 BGP、没有 ASN、也不打算有

大概率需要:

  • 已经或打算运营自己的 ASN——前缀就是你宣告的东西
  • 需要不依赖单一服务商、可携带的前缀
  • 基础设施横跨多个机房、多个服务商、多个地区
  • 部署 anycast 服务,同一个 IP 要从多个位置可达

多数组织的路径是:先用服务商的 IPv6 → 超出单一服务商后申请自己的 ASN → 配一个自己的前缀。两个资源配套使用。

常见问题

IPv6 比 IPv4 快吗

不是设计目标。IPv6 头部更简单、去掉了 NAT 处理开销,某些部署里因为路径不同会快一点。但 IPv6 不是性能优化,是寻址和路由架构的改进。IPv4 路径本来就优化得好,换成 IPv6 不会让延迟减半。

能同时用 IPv4 和 IPv6 吗

可以,这叫双栈:每台设备同时有 IPv4 和 IPv6 地址,应用按目的地址选择协议。现代操作系统在两者都可用时优先走 IPv6(Happy Eyeballs,RFC 8305)。双栈是标准的过渡策略——不是关掉 IPv4,而是加上 IPv6 让流量慢慢迁移。

防火墙要重新配置吗

要。IPv6 流量不会自动套用 IPv4 的规则。需要单独的 IPv6 防火墙规则,还要想清楚地址范围:过滤 2001:db8:abcd::/48 相当于过滤 203.0.113.0/24,而不是 10.0.0.0/8。很多 IPv6 安全事故,都是内网上了 IPv6 却没做和 IPv4 同等的过滤纪律。

不上 IPv6 会怎样

你的网络会越来越依赖 IPv4——稀缺、昂贵、受二级市场价格摆布。很多国家的移动网络已经 IPv6-only(靠 NAT64 兜底 IPv4),这些市场的新用户访问只有 IPv4 的服务可能体验降级。2026 年对多数组织不是紧急事件,但不行动的代价每年在涨。

IPv6 有类似 192.168.x.x 的私有地址吗

有,ULA(fc00::/7)就是干这个的:只在内部使用、公网不可路由。区别在于 ULA 前缀带 40 位随机 Global ID,不同网络撞地址的概率可以忽略。合并网络、企业间建 VPN 时,不会遇到 IPv4 私有段那种地址重叠问题。

申请 /48 还是 /56 够用

/48 是 RIPE NCC 服务区终端用户分配的默认规模;/56 更多是 ISP 分给家庭和小企业的。区别:/56 有 256 个 /64,/48 有 65,536 个。绝大多数组织用不完 65,536 个子网,但 /48 是政策默认,通过 Sponsoring LIR 申请一般拿到的就是 /48。

没有 ASN 能拿到 IPv6 吗

能——ISP、主机商、云平台都能从自己的地址池分给你。但你不控制这个前缀:换服务商就要重新编号。想自己用 BGP 宣告前缀、控制路由,才需要 ASN。

小结

IPv6 不是 IPv4 的性能升级,而是对"互联网地址只有 43 亿"这个设计决策的修正。128 位寻址恢复了早期互联网有、NAT 拿走的东西:每台设备全球唯一可达,每个网络可以直接互联,地址空间充裕到子网规划考虑的是组织方式而不是省着用。

多数组织的问题不是"要不要上 IPv6",而是"在 IPv4 的约束逼你做决定之前,要不要主动上"。下一步看怎么申请属于自己的 /48,读 如何获得 IPv6 /48

参考资料

继续阅读