このすみノート

Webエンジニアが技術や趣味を書くブログです。

自宅のWiFi接続が不定期にインターネット接続できないNAPT(NAT)テーブルあふれ問題に対応した

自宅のWiFi接続が不定期にインターネット接続できない問題を発症するのですが、OpenAIやGeminiの力も借りながら、原因究明および対策しました。

原因を断言までは出来ないのですが、おそらく『これ』という原因が分かりましたので共有します。

NAPT(NAT)テーブルあふれ問題(通称「Aterm病」)

NECのAtermルーターで「NAPT(NAT)テーブルあふれ」が発生すると、IPv4通信において通信速度の低下、頻繁な切断、あるいはインターネット接続が完全にできなくなる(通称「Aterm病」)症状が発生します。これは、ルーターが同時に処理できる通信(ポート番号)の数に限界が来ている状態です。

私の想定としては、根本原因は『NAPT(NAT)テーブルあふれ』にあると予想しています。

これは環境要因もありまして、我が家の自宅インターネットがIPv4 (Ipv6ではない)プロバイダを契約している点も大きいです。

なお、NECの場合はAterm病なる通称があるらしいです。

NAPT設定にてタイマ秒数を変更する

『NAPT(NAT)テーブルあふれ』を防ぐため、タイマ設定を変更しデフォルトより短くしました。 タイマを短くすることにより、テーブルあふれを発生しづらくします。

◆ NAPT設定より
- TCPタイマ(秒):3600(1時間)→ 900(15分) - UDPタイマ(秒):300(5分)→ 75(1分15秒)

https://blog.broadcreation.com/memo/330279.html

Google Chromeのメモリーセーバーを有効にする

家族がGoogle Chromeで大量に100以上のタブを開いたり(YouTubeやスプレッドシートなど)している状況にあったため、Chromeが大量に消費している可能性がありました。

これを対策するため、家族にはGoogle Chromeのメモリーセーバーを有効にしてもらいました。 メモリーセーバーによって不要なタブが解放されれば、通信も解放されるだろうって算段です。

メモリセーバーは、現在使用していないタブ(バックグラウンドタブ、非アクティブタブ)のメモリを解放して節約し、アクティブタブや他のアプリが利用できるメモリを増やして「Chrome」やシステム全体のレスポンスを改善する機能。2022年ごろから搭載されている。
https://forest.watch.impress.co.jp/docs/news/1635527.html

なぜIPv4契約だと発生しやすくなるのか?

IPv4接続(PPPoE方式)の場合

  • 従来のIPv4契約(PPPoE方式)では、すべての通信(Web閲覧、動画、ゲーム、SNS)がこのNAPTテーブルを経由します。
  • 最近のアプリやWebサイトは、1つの画面を表示するだけで数百のコネクション(セッション)を張ることがあります。
  • 家族全員が同時に通信すると、ルーターが管理できる上限(テーブル数)をあっという間に使い切り、新しい通信ができなくなります。これが「あふれ」の状態です。

IPv6 IPoE(IPv4 over IPv6)の場合

  • 一方で、現在の主流である「IPv6 IPoE」契約であれば、状況は劇的に改善されます。
  • IPv6通信: NAPT(アドレス変換)を必要としないため、テーブルを消費しません。YouTubeやNetflixなどの大手サービスは現在ほぼIPv6対応なので、これらは「素通り」できます。
  • IPv4 over IPv6: どうしてもIPv4が必要な通信(古いサイトなど)は、ルーター側ではなく、プロバイダ側の設備で変換処理を行うため、宅内ルーターの負荷が大幅に軽減されます。

あとがき

いろいろ壁打ちして判明した事実として、本件は我が家の自宅インターネットがIPv4 (Ipv6ではない)である理由で発生しやすくなった可能性が高いです。

プロバイダの契約プランをIpv6に変更すべきだろうかと、悩み始めた今日この頃です。