蜂窝 IPv6

蜂窝接入与网络优化

背景

随着地址枯竭与 5G 发展,运营商为物联网卡分配 IPv6 或 IPv4/IPv6 双栈地址。终端需支持正确的 DHCPv6/RA 获取前缀,应用层 URL 解析可能优先返回 AAAA 记录。若云端仅监听 IPv4,将出现“有网不通”。

实践

服务器侧开启双栈监听;MQTT 等服务绑定 [::]。防火墙放行 ICMPv6 NDP。移动性下前缀可能变化,避免硬编码地址。

调试

用 ping6 与 curl -6 验证路径;抓包关注 Router Advertisement。

PDP、DNS 与应用迁移

蜂窝模组激活第二路 PDP 或重建会话时,IPv6 前缀可能变化,应用层会话绑定与证书校验要考虑主机名而非固定地址。DNS 解析顺序若错误返回仅 A 记录,会导致应用误以为无 IPv6 路径。企业专网常部署 NAT64/DNS64 访问 IPv4 存量系统,物联网终端要测试 ICMPv6 与分片行为。MQTT、CoAP 等库需确认监听与连接使用双栈 API,避免在仅 v6 环境下误绑定 v4 映射地址。

运维与监控

平台侧应监控 AAAA 解析失败率、TCP 握手到 IPv6 目标的时延与 TLS 证书链对 SAN 的覆盖。防火墙除放行业务端口外,勿忘记邻居发现与 Path MTU Discovery。模组 OTA 下载 URL 若硬编码 IPv4 字面量,会在纯 v6 卡上直接失败。文档与排障手册应并列给出 v4/v6 两套命令,降低一线支持成本。

工程实践补充

从「蜂窝 IPv6」出发,现场常见问题往往集中在「指标在实验室达标、外场复现困难」。除射频与协议外,还应排查电源地弹、连接器接触与固件竞态。蜂窝侧建议采集 RSRP/SINR、小区重选与 PDP 重建记录;应用侧对重试、幂等与队列持久化要有明确策略。涉及数据安全与合规时,把采集范围、存储位置、保留期限与第三方共享写进隐私与合同附件,避免上线后补洞成本过高。

前缀公告与双栈套接字

蜂窝侧的 IPv6 通常由核心网在 PDP 或 PDU 会话里下发前缀,模组通过路由公告或 DHCPv6 得到地址,再用邻居发现解析下一跳。地址里的接口标识可能随会话变化,所以业务连接应当绑定域名,而不是把某次拨号得到的地址写进配置。双栈表示同一会话上同时有 IPv4 和 IPv6;应用若先查到 AAAA 就只走 IPv6,服务器却只听 IPv4,就会出现信号正常但连接失败。只查到 A 记录时相反,纯 IPv6 的卡没有可用路径。

启用的条件是卡的 APN 实际分配了 IPv6 或双栈,模组固件的协议栈打开了相应 PDP 类型,服务器和防火墙上的业务端口对 IPv6 可达,并且放行了邻居发现所需的 ICMPv6。企业若用 NAT64 访问旧系统,要在实验网把域名、分片和回程路径走通,不能只在办公网用笔记本验证。

固件里写死的地址字面量

升级包或 MQTT 主机若写成点分十进制地址,纯 IPv6 卡会在解析之前就失败。套接字绑定到 IPv4 映射地址,在仅有 IPv6 的环境里听不到连接。前缀在小区重选或重建会话后变化,旧的 TCP 会话还握在失效地址上,应用却不重连。防火墙只放了业务端口、丢弃了报文过大类的 ICMPv6,路径 MTU 发现失败,小包正常、证书或固件包传一半断开。日志只打印“网络错误”,不打印本次使用的地址族,排障无法区分 DNS 与路由。

上线前用同一型号卡分别走 IPv4、IPv6 和双栈各做一次完整业务,包括大包下载。路径上的分片限制见MTU 与分片。若平台仍只能从设备侧发起会话,地址族变了也不要假设外网能主动连入终端,这和MQTT由设备先连接服务器的模型是一致的。

联调记录里应留下本次会话的地址族、前缀长度、域名解析结果和实际连上的服务器地址。只写“网络已激活”无法区分是走了 IPv4、IPv6 还是被翻译回去的旧地址。重建会话后先比较前缀是否变化,再决定要不要拆掉旧套接字;应用若缓存了上一轮的源地址,醒来后的第一包会被网络丢掉,看起来像服务器无响应。防火墙策略按地址族各写一份,避免只放行了 IPv4 的业务端口。固件下载、证书校验和日常遥测要用同一套域名,防止某一条链路仍写着数字地址。验收时把卡换成仅有 IPv6 的批次再跑一遍,实验室双栈环境会掩盖这个问题。

邻居发现被丢弃时,地址看起来已经配上,下一跳却不可达,业务表现为偶发超时。把这类报文和业务端口一起放行。应用连接使用域名,解析顺序异常时分别打印两种地址记录是否返回。仅有一种地址族的卡上,另一种地址的字面量要在构建时去掉,而不是留到运行时再失败。

双栈环境下分别强制走两种地址各完成一次业务,包括较大的下载。只在笔记本上验证服务器监听,发现不了模组协议栈绑定错误或接入点并未分配前缀的情况。

相关术语

返回通信模组专业术语