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

RFC 6555 - Happy Eyeballs #241

Open
DarthGandalf opened this issue Oct 16, 2012 · 9 comments · May be fixed by #1571
Open

RFC 6555 - Happy Eyeballs #241

DarthGandalf opened this issue Oct 16, 2012 · 9 comments · May be fixed by #1571

Comments

@DarthGandalf
Copy link
Member

DarthGandalf commented Oct 16, 2012

It would be nice to have it implemented, e.g. for case when bindhost is not set.

http://tools.ietf.org/html/rfc6555

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/1308-rfc-6555-happy-eyeballs?utm_campaign=plugin&utm_content=tracker%2F1759&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F1759&utm_medium=issues&utm_source=github).
@Mikaela
Copy link
Contributor

Mikaela commented Jun 10, 2015

I am not sure what is meant with this issue as #133 is already fixed with the connecting to random host.

@DarthGandalf
Copy link
Member Author

RFC 6555 is not about connecting to random host.

2015-06-10 10:23 GMT+01:00 Mikaela Suomalainen [email protected]:

I am not sure what is meant with this issue as #133
#133 is already fixed with the
connecting to random host.


Reply to this email directly or view it on GitHub
#241 (comment).

@Mikaela
Copy link
Contributor

Mikaela commented Jun 10, 2015

So this issue is between client and ZNC, not ZNC and server?

@DarthGandalf
Copy link
Member Author

RFC 6555 says to connect via IPv4 and IPv6 at the same time, and use the
connection which happened faster.

For ZNC→server side, #133 is fixed by connecting to random host, which is
not the same.
For client→ZNC side, it's client's job to define how client connects to
ZNC. However, due to #593, web browsers can have problems accessing ZNC.

This issue is about ZNC→server.

2015-06-10 12:09 GMT+01:00 Mikaela Suomalainen [email protected]:

So this issue is between client and ZNC, not ZNC and server?


Reply to this email directly or view it on GitHub
#241 (comment).

@Mikaela
Copy link
Contributor

Mikaela commented Jun 10, 2015

I see.

@Mikaela
Copy link
Contributor

Mikaela commented Sep 8, 2015

I was sure I had read somewhere that Happy Eyeballs is supposed to be biased towards IPv6 and now I finally accidentally found the source!

While our previous implementation from four years ago was designed to select the connection with lowest latency no matter what, we agree that the Internet has changed since then and reports indicate that biasing towards IPv6 is now beneficial for our customers: IPv6 is now mainstream instead of being an exception, there are less broken IPv6 tunnels, IPv4 carrier-grade NATs are increasing in numbers, and throughput may even be better on average over IPv6.

Fixed formatting on 2015-09-20 & added title for the link.

@Mikaela
Copy link
Contributor

Mikaela commented Nov 19, 2015

This would be important as ZNC is still choosing IPv6 which doesn't always work for one reason or another and the solution is always /msg *status setuserbindhost 0.0.0.0. With Happy Eyeballs in case of failure v4 would be used transparently without it being enforced for all connections and at some point it would just work.

The most recent case where I saw this was the day before yesterday and then the user had misconfigured ip6tables or something and I meant to comment at that time, but IRL prevented it.

@DarthGandalf
Copy link
Member Author

the solution is always /msg *status setuserbindhost 0.0.0.0

No, it's not.
Just wait several more connection attempts, it will eventually choose IPv4,
if both server host and bind host don't resolve to IPv6-only.

2015-11-19 9:23 GMT+00:00 Mikaela Suomalainen [email protected]:

This would be important as ZNC is still choosing IPv6 which doesn't always
work for one reason or another and the solution is always /msg *status
setuserbindhost 0.0.0.0. With Happy Eyeballs in case of failure v4 would
be used transparently without it being enforced for all connections and at
some point it would just work.

The most recent case where I saw this was the day before yesterday and
then the user had misconfigured ip6tables or something and I meant to
comment at that time, but IRL prevented it.


Reply to this email directly or view it on GitHub
#241 (comment).

@dk000000
Copy link

I was having an issue where znc would fail connecting to mibbit irc 2/3 times. Per mikaelas advice I set the bind host to 0.0.0.0 and now I have 4/4 successful connects so far. Thank you!

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

Successfully merging a pull request may close this issue.

3 participants