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

Can chrome send NEW_CONNECTION_ID frame to server after h3 handshake ? #60

Open
bixuelantian opened this issue Dec 4, 2023 · 4 comments

Comments

@bixuelantian
Copy link

hello everyone,when I test http3 with chrome and my server, I find a question. between the handshake, the server send the param quic_active_connection_id_limit to client is 5, but the chrome doesn't send NEW_CONNECTION_ID frame to server after the handshake.
I don't know why, or chrome not implement the protocol ?
when the client address changes, without new unused client id, the server cann't response to connection migration.

@bixuelantian
Copy link
Author

@danzh1989 @bnc-google need help Sincerely

@danzh2010
Copy link

Chrome doesn't need client issued connection id at all, which is only needed if it does load balancing. If you look at a packet header Chrome receives, the destination connection id length field is 0. The connection id gets changed during a connection migration is the server issued one.

@bixuelantian
Copy link
Author

@danzh2010 the problem I encountered is nat address was changed, according to the rfc900 below:
if the server has no unused connection IDs which is issued by chrome client, it will not be able to send anything on the new path until the peer provides one.
image

@danzh2010
Copy link

danzh2010 commented Dec 11, 2023

Server never needs any client issued connection id to talk to Chrome at any time because Chrome chooses not to include a source connection id in the INITIAL packets.

Note that destination connection id is optional unless the endpoint uses it to do load balancing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants