我知道 QUIC 对每个连接都有一个唯一的 ID,它允许参与者更改他们的 IP 地址(例如,从 WIFI 移动到移动网络时)但仍然相互发送数据包,仍然可以分配给正确的连接。
但是接收者如何知道对方的新 IP 地址来发送数据包呢?
我已经阅读了规范,但我真的不明白它是如何工作的
QUIC 在底层仍然使用 IP。所以是的,您需要一个 IP 地址来发送消息和接收回消息。
QUIC 连接迁移为您省去了建立可靠、安全连接的所有工作。
可靠性传统上由 TCP 处理,但这需要设置三次握手 - 这需要时间和往返,更不用说 TCP 慢启动意味着它在开始时很慢。
安全性传统上由 TLS 处理,以创建用于发送 HTTP 消息的 HTTPS 连接。这也需要时间来协商要使用的密码。
QUIC 基本上允许您重复使用这些设置,而无需从头开始连接。
因此,您从 IP 地址 1 发送一条消息,并且应该期望将响应返回到该 IP 地址。但是,如果您将 IP(例如从 WIFI 移动到移动设备)移动到 IP 地址 2,那么是的,您可能会丢失一些响应。下次您使用相同的连接 ID 与 QUIC 端点通信时,它会看到您在一个新 IP 上,并且已经发送了一些未确认的数据包,因此它们将被重新发送。