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.