webserverquichttp3

Does a QUIC server generate a Connection ID or just the client?


Does a QUIC server generate a Connection ID or just the client? Some people say there's a source CID and a destination CID, others say there is only one CID per connection. Does anyone know for sure?


Solution

  • The QUIC specification defines connection IDs in section 5.1.

    You can infer from the structure of packets with long headers that there is a source connection ID and a destination connection ID, but section 5.1 clearly states that there may be multiple connection IDs for the same endpoint.

    Packets with short headers only carry the destination connection ID.

    In summary, at the logical level, a QUIC connection is identified by a set of connection IDs. A single endpoint may have source and destination connection IDs; minimally they are 1 source and 1 destination connection IDs, but there can be more, and they not need to be in the same quantity (e.g. for a single connection there may be N source connection IDs and M destination connection IDs, where N != M).

    Refer to the QUIC specification for more information.