Skip to main content

6. Version Negotiation

6. Version Negotiation

Version negotiation allows a server to indicate that it does not support the version the client used. A server sends a Version Negotiation packet in response to each packet that might initiate a new connection; see Section 5.2 for details.

The size of the first packet sent by a client will determine whether a server sends a Version Negotiation packet. Clients that support multiple QUIC versions SHOULD ensure that the first UDP datagram they send is sized to the largest of the minimum datagram sizes from all versions they support, using PADDING frames (Section 19.1) as necessary.

6.1 Sending Version Negotiation Packets

A server sends a Version Negotiation packet in response to an Initial packet that contains a version that the server does not support.

6.2 Handling Version Negotiation Packets

Version Negotiation packets are designed to allow future versions of QUIC to negotiate the version in use between endpoints.

6.3 Using Reserved Versions

Reserved versions are used to exercise version negotiation.