http - QUIC 连接迁移实际上是如何工作的?
问题描述
我知道 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 上,并且已经发送了一些未确认的数据包,因此它们将被重新发送。
推荐阅读
- angular - Identity Server 4 Angular Electron App 身份验证示例
- primefaces - 如何使用 pe:sheet 跨越行和列?
- swift - 在 Vapor 中使用第三方 OAuth API
- elixir - 如何在 Ecto 中使用复杂约束?
- r - 变量选择的阶梯函数不起作用
- local-storage - PouchDB 可以预填充吗?
- sql - 不同数据库中的 Pgcrypto
- python - 具有 50 MB 值的 redis hmset 异常
- python - 从 OpenStreetMap Overpass API 输出中提取 id(字典中的 python 列表)
- javascript - 文本输入上的 Select2 4.0.5 触发事件