现在绝大多数网站仍然只有 IPv4 地址,而网络整体在向 IPv6 演进。两个地址体系并存,互相之间怎么访问?这篇文章把三种主流互通方式讲清楚,看完能帮你判断”访问不了某个网站”到底是网络问题还是协议问题。
互通主要靠三种方式
IPv4 和 IPv6 是两套互不认识的地址体系,要让它们之间能互相访问,业界发展出了三种主流做法,各自适用的场景不同。
双栈:两个体系都装
最简单的方式是让设备和网络同时支持 IPv4 和 IPv6,也就是”双栈”。访问时按目标站的能力自动选择走哪一套:目标只有 IPv4 就走 IPv4,支持 IPv6 就走 IPv6。这种方式最自然、没有翻译损耗,代价是需要同时维护两套地址资源,对运营商和服务商来说成本更高。
NAT64 + DNS64:让纯 IPv6 也能访问 IPv4 网站
双栈不是所有网络都有条件做的。纯 IPv6 网络里的设备要访问只有 IPv4 的网站,靠的是 NAT64 与 DNS64 的组合:DNS64 在域名解析时,给没有 IPv6 地址记录的域名”合成”一条虚拟的 IPv6 地址,把流量引到 NAT64 网关;NAT64 网关再把 IPv6 报文翻译成 IPv4 报文转发出去,回包再翻译回来。用户侧完全无感,但多一道翻译,会带来一点点额外延迟。
隧道过渡:在 IPv4 里”套着走”
早期还有一种思路:把 IPv6 报文封装进 IPv4 报文里,借 IPv4 网络传送,典型如 6to4、ISATAP 等过渡机制。这类方式如今使用已不多,主要因为封装本身有开销、稳定性也一般,在 IPv6 覆盖率提高后被逐渐淘汰。
| 方式 | 原理 | 典型使用者 | 主要限制 |
|---|---|---|---|
| 双栈 | 同时支持两套地址,按目标选择 | 运营商、大型站点 | 资源成本高 |
| NAT64 + DNS64 | 解析合成地址 + 网关翻译 | 纯 IPv6 网络 | 多一道翻译,略增延迟 |
| 隧道过渡 | IPv6 封装进 IPv4 传送 | 早期过渡场景 | 开销与稳定性不占优 |
对普通用户意味着什么
日常上网时,互通机制基本在后台自动完成,用户感知不到。真正需要留意的场景有两个:一是网络环境是纯 IPv6(比如部分新装宽带或移动网络),访问老旧 IPv4-only 站点变慢或异常,可能就是翻译环节在拖后腿;二是某些服务对 IPv6 的支持不完整,表现时好时坏。这时候先分清是协议兼容问题,还是网络本身的问题,再动手排查。
互通机制解决的是”两个地址体系怎么对话”,不负责网速。遇到访问异常先判断是哪一层的问题,比盲目调参数更有效。
和 IP 代理的关系
代理出口的地址类型,直接决定流量走哪条互通路径:出口是 IPv4,访问 IPv4-only 站点就是直连路线;出口是纯 IPv6,就得依赖 NAT64 这类翻译机制才能访问 IPv4 站点,多一道环节、略增延迟。所以选代理资源时,确认出口地址类型、再对照你要访问的目标站点,是避免”连得上却慢、打不开”的关键一步,这也是出口网络规划里的正当考量。
一句话:双栈、NAT64+DNS64、隧道是 IPv6 过渡期的三种互通方式,前两者是主流;代理出口是 IPv4 还是 IPv6,决定了你访问老站点时走不走翻译这一环。
