RFC 8999 Quiz

QUIC invariants and version evolution

0 / 0

References (URLs)

Q1: What is RFC 8999 primarily trying to preserve?

Multiple Choice
**Explanation:** RFC 8999 fixes only the properties needed to recognize QUIC and negotiate versions. A: copying all of version 1 would prevent meaningful evolution. B: the document protects future deployment by defining what cannot change. C: congestion control is not one of the version-independent properties defined here.

Q2: A field behavior is not fixed or prohibited by RFC 8999. What follows?

Multiple Choice
**Explanation:** The default is freedom to evolve. A: observable v1 behavior is not automatically invariant. B: absence from the invariant set is not a reservation. C: unless RFC 8999 specifically prohibits a change, another QUIC version can define different semantics.

Q3: Which statements belong to RFC 8999's abstract description of QUIC? Select all that apply.

Multi-Select
**Explanation:** A: Connection-oriented endpoint communication is part of the document's abstract model. B: UDP datagrams are the containers exchanged by QUIC endpoints. C: HTTP/3 is one application protocol over QUIC; HTTP semantics are not a version-independent property of QUIC itself. D: The connection is the shared protocol state established between the two endpoints.

Q4: Which header statements are invariant across QUIC versions? Select all that apply.

Multi-Select
**Explanation:** A: The first byte's high bit is the invariant discriminator between long and short headers. B: A short header has a Destination Connection ID after the first byte, but its length is not encoded in that packet. C: The long-header layout exposes Version followed by the length and value of each connection ID. D: Version and Source Connection ID are absent from the invariant short-header layout.

Q5: Which implementation assumption about a QUIC connection ID is safe?

Multiple Choice
**Explanation:** A: RFC 8999 defines the field as opaque. B: each endpoint chooses connection IDs by version-specific methods, and one connection can use different values. C: connection IDs identify delivery context, not a user or authorization subject.

Q6: What does Version 0x00000000 identify?

Multiple Choice
**Explanation:** A: zero is reserved for Version Negotiation and identifies that long-header packet type. B: it is not an insecure form of QUIC v1. C: short headers do not carry a Version field.

Q7: An endpoint receives an unrecognized QUIC packet with a short header. What does RFC 8999 say about version negotiation?

Multiple Choice
**Explanation:** A: only an unsupported long-header version might elicit Version Negotiation. B: the fields have different meanings and the short header has no Version field. C: RFC 8999 explicitly excludes short-header packets as triggers.

Q8: A client receives a plausible Version Negotiation packet and plans to switch versions. What additional condition matters?

Multiple Choice
**Explanation:** Version Negotiation packets have neither integrity nor confidentiality protection. A: a recognizable format is not authentication. B: an endpoint changing version as a result must authenticate the semantic content using the chosen version's mechanism. C: RFC 8999 does not define β€œfirst value wins.”

Q9: A middlebox recognizes QUIC by assuming the fixed bit and TLS-visible behavior of QUIC v1. What is the design problem?

Multiple Choice
**Explanation:** A: Appendix A lists visible v1 traits that may be false in another version; enforcing them creates ossification. B: connection IDs may change. C: Version Negotiation is intentionally recognizable as a long-header packet.

Q10: An Agent-to-Agent protocol expects multiple future profiles. Which design most closely applies RFC 8999's architectural lesson?

Multiple Choice

This is an architectural analogy. RFC 8999 does not specify Agent-to-Agent messages.

**Explanation:** A: freezing the entire first profile blocks evolution. B: Inferred wire-image contracts create ossification. C: A small explicit invariant core preserves negotiation and deployment freedom as an architectural analogy. The exact A2A core remains an application-specification decision, not an RFC 8999 requirement.