Skip to content

16th Implementation Draft

Lars Eggert edited this page Jan 22, 2020 · 1 revision

Overview

  • QUIC Version draft-25 (vn=ff000019)

  • HTTP 3 (ALPN=h3-25)

  • HTTP 0.9/1.1 (ALPN=hq-25)

  • Record interop results here

  • List of implementations here

Core Features Tested

Feature code details
Version Negotiation V A version negotiation response is elicited and acted on
Handshake H The handshake completes successfully
Stream Data D Stream data is being exchanged and ACK'ed
Connection Close C The connection close procedure completes w/a zero error code
Resumption R Connection is established using TLS Resume Ticket
0-RTT Z 0-RTT data is being sent and acted on
Stateless Retry S A handshake that includes a Retry packet completes successfully
Quantum Ready Q A handshake including the quantum readiness test TP completed successfully (see Quantum Readiness test on Wiki)

Optional Features Tested

(Note that H3 and Key Update are not "optional" in the spec, but many implementations have chosen to defer them)

Feature code details
Migration M A new CID is offered to the peer, and it migrates the connection to it
Rebinding B The client moves to a different address or port, and the server migrates to it
Address Mobility A The client moves to a different IP address (and/or address family), and the server migrates with it
Key Update U One endpoint can update keys and its peer responds correctly
H3 3 An H3 transaction succeeded
Spin P A connection with the spin succeeds and the bit is spinning
ECN E Set ECT(0) on outgoing packets and verify that ACK frames with ECN information are received. (Note: test can fail if path bleaches ECN)

Perf Features Tested

Feature code details
Throughput T Download objects named 5000000 and 10000000 on separate connections over both HTTP/2 and HTTP/3 (0.9 if H3 not available). Overall transfer time should be no worse than 10% slower than HTTP/2.

H3 Features tested

Feature code details
Dynamic Tables d QPACK Dynamic Tables
Push p PUSH succesfully delivered
Clone this wiki locally