-
Notifications
You must be signed in to change notification settings - Fork 3
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
Improve Connection Experience #109
Comments
From what I've read apple has integrated several techniques to aggressively enforce fast recovery of the network including RFC4436 and several "optimizations" of DHCP. Among them a technique which first tries to renew old leases when reconnecting with a still-valid lease. That's also why Apple tries to increase the lease lifetime by first accepting whatever lease is given to it and then renewing the lease after a short time with a much higher lease time even though it's existing lease is still valid. Still everything that Apple does is conformant with the DHCP standard and should still work with the reference implementation of DHCP. Therefore ISC is flawed and I think we should just switch to Kea DHCP as it is the successor. I've prepared a role for using Kea DHCP with our existing infrastructure yesterday and will test it on SN06. |
I was talking to @lemoer recently about https://github.com/sargon/ddhcpd This might be a worthwhile candidate for a new DHCP server solution as well. Freifunk Kiel uses it pretty successfully on all their nodes. |
Kea is the successor of ISC DHCP and will hopefully not cause problems as like issue #109.
Kea is the successor of ISC DHCP and will hopefully not cause problems as like issue #109.
Kea is the successor of ISC DHCP and will hopefully not cause problems as like issue #109.
Kea is the successor of ISC DHCP and will hopefully not cause problems as like issue #109.
Kea is the successor of ISC DHCP and will hopefully not cause problems as like issue #109.
I think we should get rid of isc dhcpd sooner or later; and kea appears to be a solid option. |
@AiyionPrime Unfortunately I've just found out that Debian ships version 1.1.0, because there is no good maintainer... So I'm just reading about how to get dnsmasq running instead. |
@AiyionPrime I'm in the Mumble. |
Kea is the successor of ISC DHCP and will hopefully not cause problems as like issue #109.
@AiyionPrime You are offline. |
dnsmasq is familiar to us, better maintained than Kea and does not cause the bug mentioned in issue #109.
dnsmasq is familiar to us, better maintained than Kea and does not cause the bug mentioned in issue #109.
dnsmasq is familiar to us, better maintained than Kea and does not cause the bug mentioned in issue #109.
Kea is the successor of ISC DHCP and will hopefully not cause problems as like issue #109. Co-authored-by: Vincent Wiemann <[email protected]>
Since the switch to KEA we have not observed any iOS problems. |
The issue on Android 10 is still visible. It seems like, it's not even an dhcp issue. I am not sure yet, what happens in the stages iii. and vi. ("Checking quality of your internet connection..." and "Connected without internet") |
I could not yet find out which android service is checks the connection here. |
Few more observations:
|
The checks are implemented and explained here: |
I found one bug and fixed it in b01261b . |
However now where the dns resolution is successful, there is still some work left. The connection still takes quite a while. The UI still shows "Checking quality of your internet connection..." and "Connected without internet" for some seconds (not notably faster than before). I guess, now this must be due to the other checks described in NetworkDiagnostics.java. Maybe one of them is still failing. By the description in NetworkDiagnostics.java, I would expect to see icmp6 echo requests coming from the android device. Contrary to that expectation, I do not see them. I think the reason might be, that the address resolution already fails. At least, I see unanswered icmp6 neighbor solicitations querying for the supernode ipv6 addresses originating from the android device. Oddly their source IP is |
Inspecting the router with a private wifi might help, in order to see, how a 'normal' router handles those requests. |
If I stop using "randomized mac" in android, it starts to work. Connection check is successful in less than 4 seconds. Some observation on the neighbor solicitation here:
However, I still do not see any icmpv6 echo requests, as I would expect them from the description in NetworkDiagnostics.java (see link above). |
TODO:
Raising a new issue:
|
Wikipedia says:
I think it does use |
The destination address does not necessarily be an address the smartphone gave itself; |
There was an unrelated issue with my router beeing offline; |
We have several issues regarding DHCP performance, which degrade the user experience a lot.
Server Issues:
Observed Apple iOS behaviour:
On Android 10, I also see other problem:
connectivitycheck.gstatic.com/AAAA
, which seems to be a check whether this network has a captive portal.ssh [email protected] tcpdump -n -w - -i client0 ether host ea:b2:67:43:20:f0 | wireshark -i - -k
The text was updated successfully, but these errors were encountered: