見出し画像

【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ネイティブで接続していると、以下のような表示が出るようになっています。

画像
IIJmioのヘッダ部分

クリックすると、このような内容が表示されます。

画像
ヘッダ部分の解説

ルータで、DS-Liteを指定するだけで良い

以下は、tp-link のルータの設定ですが、「DS-Lite」を選択するだけで、IPoEの設定ができます。IIJはDS-Liteですが、ほかv6プラス、MAP-E等いろいろ種類があります。(光回線終端装置(ONU)設定やプロバイダへのIPoE申し込みなどは割愛)

画像
ルータでの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

JPNIC

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)を有効にします。

画像
プレフィックス委任(PD)を有効

NDプロキシから「SLAAC+RDNSS」に変更します。

画像
NDプロキシからSLAAC+RDNSSに変更

これで、自宅WiFiで、Android でも IPv6が正常に使えるようになりました。
アプリでも現象が改善しました。

画像
CONNECTED via 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


いいなと思ったら応援しよう!

コメント

コメントするには、 ログイン または 会員登録 をお願いします。
【IPoE】WiFiがDHCPv6/NDプロキシだと、Android16 が応答しない件|わたやす
word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word

mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1