手机从 Wi-Fi 切到移动网络时,本地地址和端口可能改变;NAT 重新分配映射,也可能让服务器看到一个新端口。QUIC 的 Connection ID(CID,连接标识)让端点有机会把地址变化后的数据包继续关联到原连接,而不必只依赖原来的地址组合。
但“认得这条连接”与“确认这条路径能用”是两个问题。CID 不是登录凭证,更不能代替数据包的密码学验证。新路径还需要通过 PATH_CHALLENGE 与 PATH_RESPONSE 这样的往返探测,确认双方能在相应路径上收发数据。
一个容易忽略的细节是:收到包含探测帧的数据包的 ACK,不足以完成路径验证。ACK 说明包被确认了;匹配的 PATH_RESPONSE 才是这次路径挑战要求的证据。读状态机时,把这两种确认合并,会漏掉安全条件。
连接迁移也不是无条件的“换网不断线”:握手状态、对端的迁移设置、可用 CID、新路径是否支持 UDP,都会影响结果。迁移成功后,新路径的时延和容量也可能不同,不能直接把旧网络的拥塞状态当成新网络的事实。更不能把单路径迁移理解成默认支持 Wi-Fi 与移动网络同时加速。