IPv6 如何解决 NAT 问题以及它为何对现代互联网重要

发布: (2025年12月17日 GMT+8 18:54)
13 min read
原文: Dev.to

Source: Dev.to

互联网最初是建立在一个简单而强大的理念之上的:网络上每个设备都应该能够直接与任何其他设备通信
这个概念通常被称为端到端原则,它使早期的互联网灵活、创新且易于在其基础上进行扩展。新应用可以在不改变网络核心的情况下出现。

随着时间的推移,这种简洁性逐渐消失。互联网连接设备的快速增长暴露了 IPv4 的一个硬性限制,**网络地址转换(NAT)**于是被引入作为一种变通方案。NAT 让互联网得以继续运行,但它也从根本上改变了连通性的工作方式。IPv6 的诞生旨在彻底解决这个问题——通过重新设计地址体系,而不是再添加另一层变通。

本文将阐述 NAT 存在的原因、它如何使现代网络变得复杂,以及 IPv6 如何以实用且可扩展的方式恢复互联网的原始设计。

IPv4地址枯竭问题

  • IPv4使用32‑位地址,允许大约43 亿个唯一的 IP 地址。
  • 当 IPv4 在 1980 年代初设计时,这个数字几乎被视为无限。当时计算机稀少,手机未接入互联网,智能设备更是闻所未闻。

如今,一个家庭可能拥有智能手机、笔记本电脑、智能电视、监控摄像头、音箱、灯光和传感器——全部连接到互联网。把这种情况乘以全球数十亿的家庭和企业,可用的 IPv4 地址远远不够。

  • 2011 年,全球 IPv4 地址池正式耗尽。
  • 此后,组织不得不在二级市场购买 IPv4 地址,价格往往很高。
  • 这种稀缺迫使网络大量依赖 NAT。

什么是 NAT 以及它为何被引入

网络地址转换(NAT)被引入作为 临时解决方案 来应对 IPv4 地址枯竭。它不是为每个设备分配公共 IP 地址,而是让许多设备共享一个公共地址。

  • 在典型的家庭网络中,设备使用私有 IP 地址,例如 192.168.x.x10.x.x.x
  • 这些地址 无法从公共互联网直接访问
  • 当设备向外发送流量时,路由器会将私有地址替换为自己的公共地址,并通过端口号来跟踪连接。
  • 当响应返回时,路由器会将其转发给相应的内部设备。

这种方式在基本的网页浏览场景下运行良好,但它改变了连接方式。位于 NAT 后的设备可以轻松发起出站连接,但在没有特殊配置的情况下,接收入站连接会变得困难甚至不可能。

注意: NAT 从来就不是永久方案。它本是为 IPv6 广泛采用之前的过渡措施。几十年后,NAT 仍然随处可见。

NAT 如何破坏端到端连接

最大的問題在於 NAT 破壞了互聯網原本的端到端模型。位於 NAT 後面的設備沒有全局可達的地址;從外部世界看,它們實際上是隱蔽的。

現實中的問題

  1. 點對點應用 困難重重,因為雙方都需要接受傳入連接。
  2. 線上遊戲 常會顯示令人困惑的 “NAT 類型” 錯誤,導致玩家無法主持比賽或連接到特定的對等端。
  3. 語音與視頻通話 依賴複雜的技術在 NAT 設備上打洞;當打洞失敗時,流量必須通過服務器中繼,從而增加延遲。
  4. 在家運行服務 變得複雜。要托管遊戲伺服器、訪問家庭實驗室或暴露開發服務,都需要手動端口轉發——有時根本無法實現。

Carrier‑Grade NAT 让情况更糟

随着 IPv4 资源的稀缺加剧,许多 ISP 引入了 Carrier‑Grade NAT (CGN)。在这种部署中,用户的路由器甚至得不到真正的公网 IPv4 地址,而是获得另一个私有地址,随后在 ISP 网络内部再次被转换。

  • 双重 NAT 会彻底破坏许多应用。
  • 端口转发不再起作用。
  • 某些 VPN 会失效。
  • 想要托管任何类型的入站服务几乎变得不可能。

对用户而言,互联网似乎变得更加受限,而不是更加开放。

NAT 穿越复杂且脆弱

要应对 NAT,开发者创建了 STUNTURNICE 等技术。这些系统尝试发现公共映射,或在直接连接失败时回退到中继服务器。

  • 虽然令人印象深刻,但它们增加了复杂性,提升了基础设施成本,并且在所有网络环境中仍然无法可靠工作。
  • 它们是巧妙的变通方案,并非真正的解决方案

IPv6 如何彻底改变局面

IPv6 在设计时吸取了 IPv4 的经验教训。它使用 128‑bit 地址,这意味着在实际使用中地址空间几乎是无限的。

  • 有足够的 IPv6 地址,使 每个设备都拥有自己的全局可路由地址,且绰绰有余。
  • 由于地址不再稀缺,不再需要 NAT
  • 每个设备都可以直接寻址,恢复了真正的端到端连通性。

一个典型的家庭网络会获得 /64 IPv6 前缀,这大约提供 约 18 quintillion(约 1.8×10¹⁹)个地址。即使是设备最多的智能家居也永远不会用尽。

Source:

什么是 IPv6 的端到端连接

使用 IPv6 时,NAT 所制造的人工屏障消失了。设备可以像发起出站连接一样轻松接受入站连接,只受防火墙规则的约束。

  • 点对点应用 变得更简单、更可靠。
  • 游戏 可以直接连接玩家,无需中继。
  • 语音和视频通话 能建立直接路径,降低延迟。
  • 文件共享 更加高效。

家庭服务器变得直观。运行在您机器上的服务拥有全局可达的地址。无需端口转发——只需在防火墙中允许相应流量。

对于开发者,applica (原文在此处被截断;后续本应讨论开发者如何受益于 IPv6 的端到端模型)

理解 IPv6 地址

IPv6 地址写作八组十六进制数字,用冒号分隔。例如:

2001:0db8:85a3:0000:0000:8a2e:0370:7334

为了让地址更易读,可以去掉前导零,并且可以使用双冒号 一次 压缩连续的零组:

2001:db8:85a3::8a2e:370:7334
  • 前 64 位标识网络。
  • 后 64 位标识该网络上的设备。

自动地址配置(SLAAC)

IPv6 包含 Stateless Address Autoconfiguration (SLAAC)。通过此机制,设备可以使用路由器广播的信息自动生成自己的地址。基本连通性不需要传统的 DHCP 服务器。

这使得 IPv6 网络更易于管理,并更接近真正的即插即用网络。

无 NAT 的安全

一个常见的误解是 NAT 提供了安全性。实际上,NAT 只是因为其工作方式而副作用地阻止了未经请求的入站流量;它 不是 安全机制。

IPv6 网络依赖于适当的防火墙。现代 IPv6 防火墙通常:

  • 允许出站连接及其响应。
  • 默认阻止未经请求的入站流量。
  • 在明确配置时,允许特定的入站连接。

这种做法提供了与 NAT 相同的实际保护,同时保留了在需要时启用入站访问的能力。

隐私与 IPv6

由于 IPv6 地址可能是稳定的,早期出现了关于设备追踪的担忧。为了解决这个问题,现代操作系统使用 隐私扩展,为外向连接生成临时的随机地址。这些地址会随时间变化,降低长期追踪的风险,同时保留 IPv6 的优势。

今日可见的真实世界收益

  • 游戏: 不再有 NAT 类型问题或连接失败。
  • 语音和视频通话: 直接连接,质量更佳。
  • 智能家居设备: 在不完全依赖云中继的情况下进行通信。
  • 移动网络: 已经大量依赖 IPv6,以在海量设备数量下保持可扩展性。

IPv6 采用的现状

IPv6 采用率稳步增长。到 2025 年,约 45 % 的全球用户 通过 IPv6 访问主要服务。移动网络以及印度、德国、法国和美国等国家的采用尤为强劲。

许多网络仍以 双栈 模式运行,支持 IPv4 和 IPv6。IPv4 在一段时间内仍会存在,但趋势已十分明确。

如何启用并测试 IPv6

  1. 确认 ISP 是否支持 – 大多数现代运营商已支持 IPv6;有些可能需要手动激活。
  2. 在路由器上启用 IPv6 – 常见配置方式:
    • DHCPv6 用于从 ISP 获取前缀。
    • SLAAC 用于客户端侧地址配置。

验证已分配的 IPv6 地址

ip -6 addr show

测试 IPv6 连通性

ping6 google.com

使用 curl 测试 IPv6

curl -6 https://ipv6.google.com

在线工具如 test‑ipv6.com 也可以确认您的设置是否正常工作。

结论

IPv6 解决了 IPv4 只能勉强应付的核心问题。通过消除地址稀缺,它消除了对 NAT 的需求,恢复了互联网最初的端到端设计。其结果是:

  • 更简化的网络。
  • 实时应用性能更佳。
  • 为未来创新提供更开放的基础。

过渡是逐步进行的,但已经在稳步推进。今天启用和测试 IPv6 不仅是为了未来的准备——更是为了以互联网本应的方式使用它。

参考

Back to Blog

相关文章

阅读更多 »

仓库利用的权威指南

引言 仓库本质上只是一个 3‑D 盒子。利用率只是衡量你实际使用了该盒子多少的指标。虽然物流 c...