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

Signals of Initial Packet #1188

Closed
MikeBishop opened this issue Mar 14, 2018 · 1 comment
Closed

Signals of Initial Packet #1188

MikeBishop opened this issue Mar 14, 2018 · 1 comment
Labels
-transport design An issue that affects the design of the protocol; resolution requires consensus. has-consensus An issue that the Chairs have determined has consensus, by canvassing the mailing list.

Comments

@MikeBishop
Copy link
Contributor

The Initial Packet type (versus Handshake) carries two signals:

  • This packet initiates a new connection
  • This packet carries a client-selected Destination CID

However, after a Retry, the DCID is server-chosen, not client random, so that promise isn't true. However, if we used Handshake as the client's packet after Retry (because the DCID is server-chosen), then the server would need to consider both Handshake and Initial packets as potentially initiating a connection.

Do we need to consider separating these signals? Given the larger (and potentially structured) DCIDs, the signal of DCID source might be unnecessary now.

@mikkelfj
Copy link
Contributor

mikkelfj commented Mar 14, 2018

This is something that has been bothering me a bit - I think it is important to be able to trivially tell if a CID is initial random, server chosen, or client chosen. But I didn't get as far as to analyze all the possible outcomes.

If the situation is that a server receives a packet and needs to guess if the DCID is random or previously chosen then it is open to collision risk and may be forced to create longer CID's than necessary. It may also want to cryptographically verify the CID which also makes it longer.

The number of packet types is trivial to handle compared to ambiguity in the CID. This also ties into assumptions about unique tuples - which of course - I'd very much like to avoid depending on. I can see the point of stable tuple during handshake - but it need not be unique (p2p servers where both have a single port egress).

@martinthomson martinthomson added design An issue that affects the design of the protocol; resolution requires consensus. -transport labels Mar 15, 2018
@mnot mnot added the has-consensus An issue that the Chairs have determined has consensus, by canvassing the mailing list. label Mar 5, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
-transport design An issue that affects the design of the protocol; resolution requires consensus. has-consensus An issue that the Chairs have determined has consensus, by canvassing the mailing list.
Projects
None yet
Development

No branches or pull requests

4 participants