我构建了全球首个 IPv8 固件栈——我们为何应跳过 IPv6
Source: Dev.to
为什么跳过 IPv6?
IPv6 已经有 30 年历史,但仍只承担全球互联网流量不到一半。全球只有 49 % 的地区采用了 IPv6,美国略高于 50 %,而惊人的 91.4 % 的物联网设备在仅 IPv6 网络上会失效。双栈迁移模型——要求每个设备、应用和网络同时支持 IPv4 和 IPv6——在商业上被证明是不可接受的。
IETF 草案 draft‑thain‑ipv8(2026 年 4 月 14 日发布)提出了一种激进的替代方案:停止强制 IPv6 迁移,构建一种 与 IPv4 共存的协议,而不是与之对立。
- IPv8 是一种 64 位协议,拥有简洁的地址格式。
- IPv4 是 IPv8 的真子集——当 ASN 前缀为零时,IPv8 地址 就是 IPv4 地址。
- 无需双栈、无需“旗日”、无需迁移痛苦。你现有的 IPv4 网络已经“会说” IPv8,只是还不知道而已。
我实现了该草案,并在一台普通笔记本电脑上创建了全球首个 IPv8 固件栈,零硬件成本即可运行。
IPv8 堆栈特性
| 功能 | 描述 |
|---|---|
| IPv8 地址 | 64 位地址,使用 ASN 点表示法 |
| DHCP8 | 单个发现请求返回地址、DNS、NTP、认证、遥测、路由 |
| DNS8 | 解析器同时请求 A(IPv4)和 A8(IPv8)记录 |
| OAuth8 | 设备通过来自 Zone Server 的 JWT 令牌进行身份验证 |
| NetLog8 | 实时遥测管道 |
| XLATE8 | IPv4 向后兼容翻译 |
| Zone Server | 在单一平台上运行所有服务的中心大脑 |
启动顺序
启动过程故意保持简洁:Zone Server 首先启动,然后设备通过 DHCP8 发现其配置,并开始使用 IPv8 进行通信。
IPv8 vs IPv6 快速比较
| 方面 | IPv6 | IPv8 |
|---|---|---|
| 地址大小 | 128‑位(过度) | 64‑位(足够) |
| 向后兼容 | 否 | 是 — IPv4 是其子集 |
| 需要双栈 | 是 | 否 — 单栈 |
| 地址格式 | 2001:0db8:85a3::8a2e:0370:7334 | 64496.10.0.0.100 |
| 首部大小 | 40 字节 | 24 字节 |
| 管理 | 分散(分别的 DHCP、DNS、NTP、认证) | 统一的区域服务器 |
| 硬件更改 | 通常需要 | 仅软件更新 |
| 工作年限 | 30 年 |
路线图
- 通过 QEMU 仿真器的 ESP32 移植(免费,无需硬件)
- 带有
AF_INET8套接字支持的 lwIP 分支 - 设备间 IPv8 包路由
- 用于 Zone Server 遥测的网页仪表盘
- 实际硬件测试平台(2 × ESP32‑S3,约₹1600)
结论
IPv6 试图取代 IPv4,经过三十年后仍未得到广泛采用。IPv8 采用了不同的方法:它通过将 IPv4 作为新 64 位地址空间的子集来 拥抱 IPv4。这消除了双栈部署的需求,并显著简化了网络管理——尤其是针对预计超过 600 亿的物联网设备。
IPv8 固件栈在 MIT 许可证下开源,并作为该一周前的 IETF 草案的概念验证实现。虽然尚未准备好用于生产环境,但它展示了更简化的迁移路径是可行的。
如果您感兴趣,请为仓库加星: