这套机制解决什么问题
移动网络已经普遍只提供六层地址,但大量应用仍然只会使用四层协议。为了让这些应用不改代码就能继续工作,设备侧与网络侧各放一个转换器协同工作:设备侧把四层流量转成六层发出去,网络侧再把它转回四层送向目标。
为什么要两端配合
只在网络侧做一次转换也并非不行,但设备侧必须先解决“应用以为自己在用四层地址”的问题:转换器会给设备一个虚拟的私有四层地址,对应用而言一切照常,实际报文在离开设备前就已经变成六层。由于两个转换器分别在设备与网络内,链条两端都有,这套机制因此得名。
基本信息
| 设备侧角色 | 把四层流量转成六层发出 |
|---|---|
| 网络侧角色 | 把六层流量转回四层送向目标 |
| 给应用的假象 | 设备获得一个虚拟的私有四层地址 |
| 典型落地 | 移动终端系统默认启用 |
| 用户感知 | 基本无感,应用无需修改 |
典型使用场景
- 移动端应用兼容:只支持四层协议的应用在纯六层网络里仍能正常访问服务
- 排查终端地址:手机上看到的四层地址往往是虚拟地址,并非真实出口
- 抓包分析:在六层侧抓包看不到四层语义,需要结合设备侧转换状态一起判断
- 日志核对:服务端日志记录的是网络侧的出口地址,与终端看到的地址不一致属正常
- 网络切换验证:从无线切到蜂窝网络时,转换链路的建立与拆除会影响连接保持
- 方案评估:为纯六层网络提供服务时,评估是否需要同时支持四层目标
路径示意
路径示意
应用(四层) → 设备侧转换器 → 六层网络
→ 网络侧转换器 → 四层目标
# 设备侧给应用一个虚拟的私有四层地址,形成“在用四层”的假象
# 排查时注意:六层侧抓包看不到原来的四层地址语义两个转换器对照
| 角色 | 位置 | 职责 | 排障要点 |
|---|---|---|---|
| 设备侧 | 终端内部 | 四层转六层 | 看转换是否建立 |
| 网络侧 | 运营商网络 | 六层转四层 | 看转换是否放行 |
| 应用视角 | 终端 | 以为在用四层 | 地址为虚拟地址 |
| 服务视角 | 目标侧 | 看到网络侧出口 | 与终端地址不同属正常 |
排障时容易忽略双端翻译这一层:在六层侧抓包看不到四层语义,在服务端看到的也不是终端地址,两者对不上并不代表有问题,需要按转换链路逐段对应。
不要以为手机拿到的是真实四层地址:多数情况下那是设备侧转换器提供的虚拟地址,同一台设备在不同网络下的取值还可能不同,不能用来做身份绑定。