Поддерживает ли Android привязку IPv6?

Похоже, что Apple несколько лет назад полностью поддержала привязку IPv6 на устройствах iOS , включая надлежащие собственные IPv6-адреса на каждом привязанном устройстве.

А как насчет Андроида? Похоже, что в Android 6.0.1 по-прежнему полностью отсутствует IPv6 на стороне модема. Мало того, модем вообще не работает, когда вы находитесь в сети только для IPv6, если только ваш телефон не имеет подключения к IPv4 (что часто бывает не так с DNS64 и NAT64 — T-Mobile США особенно известны тем, что не стремятся предоставлять собственный IPv4 для устройств с поддержкой IPv6).

Была ли добавлена ​​поддержка модема IPv6 с тех пор? Есть ли планы добавить поддержку в более поздних версиях? На дворе 2017 год, IPv4-адресов практически больше нет, что случилось с этой исчезающей поддержкой модема?!

Ответы (2)

Он должен быть доступен с Android 7. https://android.googlesource.com/platform/frameworks/base/+/7747fd4/services/core/java/com/android/server/connectivity/tethering/IPv6TetheringCoordinator.java

Он работает на моем Android 8.1.

Это не работало на Android 6.0.1; однако с Android 7.1.1 на том же устройстве и с T-Mobile US в качестве оператора связи в начале 2018 года следующая конфигурация назначается для коробки OS X:

% ifconfig en0
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    ether 8c:29:XX:XX:XX:XX 
    inet6 fe80::8e29:XXff:feXX:XXXX%en0 prefixlen 64 scopeid 0x4 
    inet 192.168.43.163 netmask 0xffffff00 broadcast 192.168.43.255
    inet6 2607:fb90:4bYY:YYYY:8e29:XXff:feXX:XXXX prefixlen 64 autoconf 
    inet6 2607:fb90:4bYY:YYYY:d427:13ba:ZZZZ:ZZZZ prefixlen 64 autoconf temporary 
    nd6 options=1<PERFORMNUD>
    media: autoselect
    status: active

Обратите внимание, что сюда входят как временный случайный IPv6-адрес (используется ZZ для анонимизации), так и постоянный IPv6-адрес, детерминированный на основе префикса (YY) и MAC-адреса (XX).

PS Да, похоже, что T-Mobile US может также делегировать весь префикс /64 своему ME, однако выполнение a traceroute6(8)может указывать на то, что префикс на самом деле не полностью предназначен для мобильного оборудования, поскольку первое использование префикс, по-видимому, находится на уровне PGW, за которым следует ME, за которым следует OS X, при выполнении traceroute6 на постоянный IPv6-адрес окна OS X:

 3  lag-109.ear2.Paris1.Level3.net (2001:1900:5:2:2::4a09)  1.145 ms  1.416 ms  1.696 ms
 4  2001:1900:1a::19 (2001:1900:1a::19)  147.601 ms  147.609 ms  147.596 ms
 5  * * *
 6  * * *
 7  * * *
 8  * * *
 9  2607:fb90:4bYY:YYYY:0:45:WWWW:WWWW (2607:fb90:4bYY:YYYY:0:45:WWWW:WWWW)  156.866 ms  157.103 ms  157.097 ms
10  2607:fb90:4bYY:YYYY:7136:9b4c:VVV:VVVV (2607:fb90:4bYY:YYYY:7136:9b4c:VVV:VVVV)  189.333 ms  201.174 ms  192.226 ms
11  2607:fb90:4bYY:YYYY:8e29:XXff:feXX:XXXX (2607:fb90:4bYY:YYYY:8e29:XXff:feXX:XXXX)  200.185 ms  300.332 ms  267.247 ms

Все еще довольно круто получить не один, а даже два общедоступных маршрутизируемых IP-адреса на ноутбуке, привязанном к обычному устройству Android со всем по умолчанию; как интернет должен был быть, p2p.

Хм, но я думаю, это не работает для USB-модема? Или только не на Wifi-to-USB?
У меня Android 9 и собственный IPv6 от моего оператора, но для модема используется только IPv4. Я не могу найти никаких настроек, чтобы контролировать это. Может быть, это вариант сборки, который производитель моего телефона не включил?