自宅のインターネット通信が不定期に不通となる事象の原因がようやく判明しました。(解消はしていません)
タイトルが結論であるわけなんですが、わが家のインターネット通信は DS-Lite 方式で IPv4 over IPv6 を利用しています。これを提供する transix サービスでは IPv4 セッションを内部で NAT 変換しており、上限が 1024 セッションまでとのことです。 (発生すると)
2分程度でしょうか、ブラウザーからのアクセスが不通となります。「あれ?このサイトはダメ。こっちのサイトはどう?」 と試すたびに不通の範囲が広がっていきます。
以前も似たようなことがあったのですが、その時は無線ルーターが勝手に再起動していました。しかし今回は無線ルーターは元気に稼働していそうです。
なお、ブラウザーでアクセスできないサイトに対しての PING は通ります。
(当初の想定)
DS−Lite 方式は IPv4 のグローバルアドレスを他の利用者と共用する仕組みです。これの付け替え処理?が動くと不通状態が発生するのではないかと考えました。
というのも、いろんなサイトからログイン通知メールが届くのですが、そこに記載されている IPv4 グローバルアドレスがけっこうな頻度で変わっていたからです。
これを確認してみようと思い、定期的にいま割り当てられている IPv4 グローバルアドレスの魚拓を取り始めました。
日付 | IPアドレス | 発生 |
---|---|---|
1月27日 | A | なし |
1月28日 | B | なし |
1月29日 | B | なし |
1月30日 | B | なし |
1月31日 | C | なし |
2月1日 | C | あり |
2月2日 | C | あり |
(再発したので試してみた)
魚拓を取り始めてからついに事象が再発したので、追加で調べてみました。
・スマートフォンからもインターネット通信を試してみたところ不通でした。この PC だけで起きている事象ではないようです。
・IPv6 サイトにはアクセスできた。(https://www.youtube.com/)
グローバルアドレスの魚拓を取り始めた頃から調査も本気で進めており、Transix の NAT セッション数に 1024 までの制限があることをキャッチしていました。「1024 セッションはかなりの数だよなぁ」と思いながらも次に再発したら試してみようと温めていたら発動するチャンスがやってきたという訳です。(チャンスを逃さない男です!)
利用中に不通となると 2分程度が長い時間に感じますが、いざ資料取得しようとすると意外と時間が短いものです。(という言い訳で画面コピーなどは取り損ねました・・・)
グローバルアドレスも確認してみたところ、発生前後で同じアドレスのままでした。(これまた想定外)
インターネット利用中に突然 2分程度の不通時間が発生する件は、これで NAT セッション数の制限に達しているということで確定しました。ちょっとスッキリです。
(今後の対策)
犯人はわかったものの、今後の対策については「さて、どうしよう?」という状態です。
・セッション数を削減する
Firefox の network.http.max-connections のデフォルト値は 900 です。これを 200 まで下げてみました。Mozilla Thunderbird にも同じ設定項目があり、同様に 200 まで下げています。
・定期的にセッションを整理する
家にある機器台数で 1024 セッションを同時に使う状況は起こりえなさそうです。となると、以前に張ったセッションが削除されずに残っている可能性があるのではないかと考えました。自宅の無線ルーターを定期的に再起動すればよいのでしょうか?
(ちなみに、無線ルーターを再起動しても IPv4 グローバルアドレスは変わりませんでした)
いま使っている無線ルーターにはタイマーで自動的に再起動させる機能は付いていないため、これをやるとしたら毎日!手動で!無線ルーターを再起動させるしかありません。
これが効果があるのかもわかっていないので、とりあえず 1週間くらいは手動で再起動ですか?
効果があるのがわかったとしても、毎日、手動で再起動ですか・・・?(これはもう負け確定では?)
(おまけ)
これは transix の中の人の資料でしょうか?「ユーザ割当ポート=512」という記載がありますね。「eNOG参加者用」とは?
(その後)
2月2日に再発しました。朝にルーターを再起動していて、その日の晩に再発しています。
ですので、毎日ルーターを再起動する作戦は効果がないことがわかりました。(こんなに早く)
もう打つ手がないですね・・・。