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

Retransmissions and next connection attempt timing #1

Open
nidhijaju opened this issue Aug 21, 2023 · 3 comments
Open

Retransmissions and next connection attempt timing #1

nidhijaju opened this issue Aug 21, 2023 · 3 comments

Comments

@nidhijaju
Copy link
Collaborator

Should the first SYN retransmission and next connection attempt happen at the same time?
i.e. If we attempt to connect to address A, should retransmitting to address A happen at the same time as attempting to connect to address B (the next address in the list)?

If we have packet loss in the network, that would probably exacerbate the problem. Maybe we should use packet pacing or some kind of delay between them?

@tfpauly
Copy link
Owner

tfpauly commented Aug 21, 2023

Interesting point! It may be good to discuss some jitter. It is already described as approximate, but that doesn't avoid the problem you bring up.

Note that this algorithm should only try to approximate the time of the first SYN retransmission

One challenge is, of course, that the layer doing happy eyeballs may not directly know when the SYN retransmission will occur.

@DavidSchinazi
Copy link
Collaborator

The rationale behind that choice was that both of them are sent when we believe the first SYN (or the corresponding SYN-ACK) to have been lost. We could tweak that logic to avoid having the new SYN and old SYN retransmission to go out to close to one another, but then we have to pick which goes first and an amount to delay the second one. I think sending the old SYN retransmission first makes the most sense, but I'm not sure how to come up with the delay.

@tfpauly
Copy link
Owner

tfpauly commented Sep 5, 2023

I was testing our implementation currently, and I see that we send out the happy eyeballs race attempt well ahead of the SYN retransmission currently — so it's the opposite of the delay that @DavidSchinazi mentioned here. Something to look deeper into.

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

3 participants