Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proposal to add Forward Bit #4

Merged
merged 3 commits into from
Jul 8, 2024
Merged
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 15 additions & 6 deletions draft-joras-sconepro-quic-protocol-alt.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,8 +82,9 @@ This version of QUIC only uses long header packets with the following format:
Long Header Packet {
Header Form (1) = 1,
Fixed Bit (1) = 0,
Forward Bit (1) = 0,
Packet Type (2) = 0,
Reserved Bits (4),
Reserved Bits (3),
Version (32),
Destination Connection ID Length (8),
Destination Connection ID (8..160),
Expand All @@ -102,6 +103,11 @@ Fixed Bit:

: The next bit (0x40) of byte 0 is set to 1.

Forward Bit:

: The next bit (0x20) of byte 0 indicates if a network devices that replies
to this packet should consume or forward it. By default it SHOULD be set to 0.

Packet Type:

: The next two bits contain a packet type. A single packet type
Expand Down Expand Up @@ -219,11 +225,14 @@ Before establishing the communication, a QUIC client usually establishes a
QUIC version 1 or 2 end-to-end connection as per RFC 9000. Once this is done, the
client opportunistically sends a QUIC long header packet destined to the same
endpoint IP address and port using this new version. This packet can be be parsed by any
capable network element on the path that support this new QUIC version. These elements
MAY forward these packets in the normal fashion, such that all
capable devices on path can see its contents. All capable elements
are able to respond in a similar fashion, by creating their own long header
packets for this QUIC version and sending it to the QUIC client matching the IP/port tuple
capable network element on the path that support this new QUIC version.
mirjak marked this conversation as resolved.
Show resolved Hide resolved
If the Forward Bit is set a capable elements
MUST forward these packets and send a Alternative Hosts Frame with its own IP
address and port number to be used for further communication. This option
can be used if more than one capable devices might be on path and
needs to see the contents. All capable elements
are able to respond to the initial packet in a similar fashion, by creating their own QUIC
packets for this QUIC version and sending it to the QUIC client matching the IP/port tuple
being utilized by the end-to-end QUIC connection.

The QUIC client MUST be able to distinguish the end-to-end QUIC
Expand Down