【IPoE】WiFiがDHCPv6/NDプロキシだと、Android16 が応答しない件
2025/09/15 下記の内容はひかり電話が存在する場合のみの話かもです。やっぱちゃんとしたメーカーのルーターを買った方がいいかな?
前置き
ここ数年、IPoE 対応のプロバイダが増え、簡単にIPv6環境が構築できて、IPv4に関しても、IPv6 over IPv4ができるようになり、回線が安定的に使えるようになりました。IPv4でもかなり早いスピード(700メガ)程度出るようになり、IPv6対応のサイトもなにか気持ちいような気がします(個人の感想)。
IPv6対応のサイト
あまり公言されていませんが、巷のWEBサイトではIPv6対応されているサイトとされていないサイトがあります。GoogleやFacebook、youtube等が有名です。
国内でもIIJ はIPv6対応を行っており、IPv6ネイティブで接続していると、以下のような表示が出るようになっています。
クリックすると、このような内容が表示されます。
ルータで、DS-Liteを指定するだけで良い
以下は、tp-link のルータの設定ですが、「DS-Lite」を選択するだけで、IPoEの設定ができます。IIJはDS-Liteですが、ほかv6プラス、MAP-E等いろいろ種類があります。(光回線終端装置(ONU)設定やプロバイダへのIPoE申し込みなどは割愛)
9月某日 Android アプリが応答しない
先日、3年ぶりに、スマホを新調。発売日にPixel 10 Pro XL を購入して、楽しい気持ちでいっぱいのはずが、つながらないサイトや応答しないサイトが増えていました。
応答しないアプリ
My IIJmio
OMRON Connect
応答はするが非常に遅いアプリ
kindle
X(旧twitter)
いろいろ突き詰めていくと、IPv6の対応のサイトにアクセスするアプリがダメなのでは・・・?という結論に至りました。
IIJのアプリが一番の決め手ですが。
ルーターの設定を変更すると、一時的にIPv6になるのですが、そのうちIPv4に戻ってしまいます。
IPv6 → IPv4 フォールバック
Android や多くの OS は「Happy Eyeballs」というアルゴリズムを持っていて、IPv6 が使えない/遅いと判断すると、自動的に IPv4 に切り替わる。これが “時間が経つと IPv4 になる” という現象の正体。
https://www.nic.ad.jp/ja/basics/terms/happy-eyeballs.html
IPv6の機種による対応の違い
Windows
Windows Vista以降はIPv6が標準有効。特にWindows 10 / 11ではデフォルトでIPv6優先の通信が行われる。DHCPv6, SLAAC, RDNSS対応。
iOS
iOS 9以降はIPv6を必須対応。Appleはアプリ審査基準でも「IPv6-only環境で動作すること」を求めている。DHCPv6, SLAAC, RDNSS対応。
Android
AndroidもIPv6をサポート。バージョンによって挙動が変わる。DHCPv6は実装せず、SLAAC + RDNSSに一本化。
※今まで動作していたのはなぜなのか・・・?Android 16でなにか実装がかわったの?
Googleさんの言い分
Googleは「IPv6の世界では DHCPv6 は不要」という立場です。
IPv6では RA (Router Advertisement) によるアドレス自動設定(SLAAC)が基本。
DNS情報も RA のオプション(RDNSS)で配布できるため、DHCPv6を使わなくてもインターネット接続に支障がない、という思想。
RFCでも「DHCPv6はあくまでオプション的に利用するもの」と書かれており、Googleはその「シンプル路線」を徹底しています。
いろいろ悩みましたが了解しました。
結論
Windows, iOS, Android で IPv6するなら、SLAAC + RDNSS一択です。
ルータの設定変更
手持ちのルーターですとNDプロキシになっていたので、以下の設定が必要となります。
NDプロキシとは
ND-Proxy(Neighbor Discovery Proxy) や RA リレーは「本物の L2 ネットワークのように見せかける仕組み」なので、少しでも広告や応答に揺らぎがあると、Android は「IPv6 が信用できない」と判断して IPv4 にフォールバックする挙動をとりやすい
こちらが顕著に出ていて、DNSをAndroidに配布できないので、問題になっているのかな。正式に対応している「SLAAC+RDNSS」に変更する必要があります。
SLAAC+RDNSSとは
SLAAC+RDNSS は、IPv6 ネットワークで端末にアドレスや DNS 情報を自動的に割り当てる方式のことです
SLAAC → IP アドレスを自動で生成する。
RDNSS → DNS サーバ情報を RA で配布する。
SLAAC+RDNSS → DHCPv6 なしでフルオート設定が可能。
プレフィックス委任(PD)を有効にします。
NDプロキシから「SLAAC+RDNSS」に変更します。
これで、自宅WiFiで、Android でも IPv6が正常に使えるようになりました。
アプリでも現象が改善しました。
まとめ
Android 16 以降で WiFi に接続すると、つながらないか、遅い現象が出る可能性がある。ソースをいろいろ探してみましたが、見つかりませんでした。以前、Pixel 7 では正常に動作していたと思うのですが。現在は両方とも Android 16 になってしまいつながらなくなっているので検証不可。ルーターの動作が突然変わったのかと思ったが、2024年12月以降ルータのファームウェアは変わっていない。
Android DHCPv6 非対応、SLAAC + RDNSSのみ接続可能
ルーターの設定は「NDプロキシ」や「DHCPv6」、「SLAAC+ステートレスDHCP」ではなく、「SLAAC+RDNSS」一択
かと、おもったのですが
2025/09/15 追記
実家の同じ環境を確認すると、NDプロキシでもOKじゃん。
自宅はひかり電話あり、実家はひかり電話なし。
上記の、動きはひかり電話の有無でかわるかも。。。。です。
ひかり電話契約の有無による光回線からのIPv6配布方式の違い
https://note.com/noblehero0521/n/n6178786f2d12
コメント