【问题标题】:Does a QUIC server generate a Connection ID or just the client?QUIC 服务器会生成连接 ID 还是仅生成客户端?
【发布时间】:2022-01-24 13:35:46
【问题描述】:

QUIC 服务器是生成连接 ID 还是仅生成客户端?有人说有一个源 CID 和一个目标 CID,也有人说每个连接只有一个 CID。有人确定吗?

【问题讨论】:

    标签: webserver quic http3


    【解决方案1】:

    QUIC 规范在 section 5.1 中定义了连接 ID。

    你可以从带有长头的数据包的结构中推断出有一个源连接ID和一个目标连接ID,但5.1节明确指出同一端点可能有多个连接ID。

    具有短标头的数据包仅携带目标连接 ID。

    总而言之,在逻辑级别,QUIC 连接由一组连接 ID 标识。单个端点可能有源连接 ID 和目标连接 ID;最低限度它们是 1 个源连接 ID 和 1 个目标连接 ID,但可以有更多,而且它们的数量不需要相同(例如,对于单个连接,可能有 N 个源连接 ID 和 M 个目标连接 ID,其中 N != M)。

    有关详细信息,请参阅QUIC specification

    【讨论】:

    • 感谢解释和官方消息!
    【解决方案2】:

    客户端和服务器都生成(1 个或多个)连接 ID,对等方应用于它发送的数据包。例如。服务器生成客户端应在其发送的数据包中使用(作为目标)的连接 ID。

    当然这意味着一个引导问题(客户端无法知道服务器将生成哪个连接 ID),因此从客户端到服务器的第一个数据包包含一个随机的目标连接 ID;收到后,服务器将自己生成一个连接 ID 并将其传回给客户端,以便客户端可以在其发送的后续数据包中使用该连接 ID。

    【讨论】:

      猜你喜欢
      • 2010-09-19
      • 1970-01-01
      • 2016-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-19
      • 2018-01-01
      相关资源
      最近更新 更多