Visual RFC.
ALL RFCs / RFC 9250
Read the RFC ↗
RFC 9250 / MECHANISMS

Let independent questions finish independently

03

One persistent QUIC connection can carry many DNS transactions at once. Each has its own ordered stream; an earlier unanswered question need not hold up a later answer.

RFC 9250 · § 5.5.1EXAMPLE
4 / 4
04
Keep multiple replies on the transfer stream.

Both schematic transfer response messages use stream 8, each with a length prefix; FIN follows the final one. Shared flow control still limits all the streams.

Let independent questions finish independentlyBoth schematic transfer response messages use stream 8, each with a length prefix; FIN follows the final one. Shared flow control still limits all the streams.A transfer has several framed responsesOne persistent QUIC connectionClientServerstream0gap: waiting for stream0 datastream4response + FINReady answer delivered independentlystream8L1 + reply1L2 + reply2 + FINresponses on stream8Ordered within each stream; shared credit and congestionAXFR shown schematically; not a full zone record exchange

Source for this drawing: RFC 9250 · Read RFC section 5.5.1 ↗

Protocol participantThreat or exceptionProtocol controlSimplified drawings · precise section references
New to this? Start hereA quick picture + helpful background

A message needs an address.

Think of a packet as a small addressed envelope. Devices pass it onward; transport protocols decide what delivery promises an application gets.

Helpful first, if these ideas are unfamiliar

These pictures are analogies to help you learn. The linked RFC explains the actual rules.

Related RFCs and changes

“Updates” changes part of an earlier RFC. “Obsoletes” replaces it. This list shows selected related documents.

KEY POINT

Separate stream ordering does not create separate network capacity.

  • Clients and servers SHOULD support connection reuse. A client SHOULD send concurrent queries without waiting for each preceding reply.
  • Queries may arrive out of order; servers SHOULD process them as they arrive. Resolvers are RECOMMENDED to prepare responses in parallel and send them as soon as available.
  • A transaction still has exactly one query. A zone is DNS data administered together. AXFR requests a full zone transfer; IXFR requests an incremental transfer. A transfer may have multiple response messages, each with its own length prefix; server FIN follows the last response.
  • DoQ servers MUST handle multiple concurrent AXFR requests and multiple concurrent IXFR requests on one connection. Same-primary connection reuse and parallel transfer requests are SHOULD-level recommendations.
  • Only the connection initiator sends queries. This mapping does not support server-initiated transactions or DNS Stateful Operations; unidirectional streams and server-initiated bidirectional streams are protocol errors.
  • QUIC per-stream and connection-wide flow control bound resources. Streams have independent delivery ordering but share connection credit and congestion control.
DETAILS

The stream 8 transfer is a schematic two-response example, not a complete AXFR record tutorial. The gap on stream 0 is missing stream data; it does not mean every packet on the connection is lost. Peer flow-control limits are assumed to allow these three streams; no particular budget is prescribed here.

Read the RFC section ↗

All chapters in RFC 9250

Drawing view

Scroll the drawing to see every part. Playback controls stay above it.

RFC 9700 / CHAPTERS

Chapters

For full details, tables, algorithms, and exceptions, read the original RFC.

RFC status and corrections ↗