跳到主要内容

6. 版本协商

6. 版本协商 (Version Negotiation)​

version negotiation 允许 server 指示它不支持 client 使用的版本. server 会针对每个可能发起新 connection 的 packet 发送 Version Negotiation packet 作为响应; 详见第 5.2 节.

client 发送的第一个 packet 的大小将决定 server 是否发送 Version Negotiation packet. 支持多个 QUIC version 的 client SHOULD 确保其发送的第一个 UDP datagram 的大小不小于其支持的所有版本中最大的一项最小 datagram 大小, 必要时使用 PADDING frame (第 19.1 节).

6.1 发送 Version Negotiation packet (Sending Version Negotiation Packets)​

server 会针对包含其不支持版本的 Initial packet 发送 Version Negotiation packet 作为响应.

6.2 处理 Version Negotiation packet (Handling Version Negotiation Packets)​

Version Negotiation packet 的设计目标是允许未来 QUIC version 在 endpoint 之间协商所使用的版本.

6.3 使用保留版本 (Using Reserved Versions)​

保留版本用于触发并检验 version negotiation.