QUIC 连接迁移:换了网络,连接为什么还能活着
你在手机上看视频,从家里的 Wi‑Fi 走到楼下,网络切到 5G。按老办法,连接很容易断,因为 TCP 连接认的是“四元组”:源 IP、源端口、目标 IP、目标端口。IP 一变,它就像看到陌生人拿着旧钥匙来开门,不能再假装这是同一个连接。
QUIC 的做法更现实。它不把“你是谁”绑死在 IP 地址上,而是给连接一个 Connection ID。网络地址变了,只要这个 ID 还对,服务器就可以判断:这不是新用户乱入,而是同一个连接换了路走。于是视频不必重新握手,网页请求不必从头开始,移动网络里的小抖动也不会立刻变成用户可见的中断。
这里最容易混淆的是:QUIC 不是让网络本身不断线,它只是把“连接身份”从容易变化的 IP 地址里拿出来,放到更稳定的连接 ID 里。TCP 把地址变化看成连接变化,QUIC 把地址变化看成路径变化。这个差别很小,但后果很大。
当然,服务器也不能盲信任何带着 Connection ID 的包。否则攻击者可以伪造地址,把流量引到别人那里。QUIC 会做路径验证,确认新地址真的能收发数据,再正式迁移过去。这里的关键不是“信任新地址”,而是“验证新路径”。
#CS
你在手机上看视频,从家里的 Wi‑Fi 走到楼下,网络切到 5G。按老办法,连接很容易断,因为 TCP 连接认的是“四元组”:源 IP、源端口、目标 IP、目标端口。IP 一变,它就像看到陌生人拿着旧钥匙来开门,不能再假装这是同一个连接。
QUIC 的做法更现实。它不把“你是谁”绑死在 IP 地址上,而是给连接一个 Connection ID。网络地址变了,只要这个 ID 还对,服务器就可以判断:这不是新用户乱入,而是同一个连接换了路走。于是视频不必重新握手,网页请求不必从头开始,移动网络里的小抖动也不会立刻变成用户可见的中断。
这里最容易混淆的是:QUIC 不是让网络本身不断线,它只是把“连接身份”从容易变化的 IP 地址里拿出来,放到更稳定的连接 ID 里。TCP 把地址变化看成连接变化,QUIC 把地址变化看成路径变化。这个差别很小,但后果很大。
当然,服务器也不能盲信任何带着 Connection ID 的包。否则攻击者可以伪造地址,把流量引到别人那里。QUIC 会做路径验证,确认新地址真的能收发数据,再正式迁移过去。这里的关键不是“信任新地址”,而是“验证新路径”。
#CS