v6 プラスに移行した

自宅のネット環境は、フレッツ光So-net の組み合わせなんだけど、So-net がめっちゃ遅くて、ここ 1 年くらい困っていた。

ところが、今年の春から「v6 プラス」の提供が始まっていたということを数日前に知って、早速移行してみた。

いい機会なので、これまでの経緯と合わせてまとめておく。

第 1 部: なぜ遅かったのか

そもそも「So-net 遅いな」と気がついたのは、自宅ではなく、実家に帰ったときだった。

実家も親が So-net と契約していたんだけど、実家でニコ生を見ようとしたら異様に重くて、途中でバッファリングが追いつかなくなってブチブチ切れてしまった。

当初は、Wi-Fi が遅いのかと思った。有線 LAN でつないだ場合と無線 LAN (Wi-Fi) でつないだ場合とで、それぞれ回線速度の測定サイトにつないでみたところ、有線の方は数十 Mbps 出ているのに、無線の方は 1〜2Mbps 出ればいい方だったからだ。

ところが。家電屋に行って性能よさそうな Wi-Fi ルーターを買ってきたんだけど、それ経由でつないでも、やはり1〜2Mbps しか出なかった。あの夜の、首をひねっている僕を見る、義弟の冷たい目と言ったら、もうね。

それで、速度測定のサイトやアプリを色々試したり、traceroute したり、ググったりした結果、原因がわかった。

So-net は、IPv6 で通信する場合は十分速いけれど、IPv4 で通信する場合にはめっちゃ遅いプロバイダーだったのだ。

理屈はこうだ。自宅から NTT が構築したネットワークから So-net のネットワークを経由してインターネットに接続するが、IPv6 のパケットはほとんど素通しで送られるのに対して、IPv4 のパケットは網終端装置と呼ばれる関門を通る必要がある。この関門が曲者で、So-net の会員数が増えると混雑しやすく、スループットがどんどん下がってしまうのだ。

f:id:sardine:20181001223830p:plain

厳密には、もっとたくさんネットワーク機器が挟まるんだけど、IPv4 だけ遅くなる理由を説明したいだけなので、まぁだいたいこんな感じなんだなと思ってもらえればいい。

世の中には、IPv4IPv6 に両対応しているサイトもあって、例えば Google Play Store のサーバなんかがそうだ。そのため、当時の実家では、ニコニコの動画は重くてストレス溜まるのに、Android スマホでアプリをダウンロードするのはさっくり終わる、という状態になっていた。

上で書いた、有線と無線で回線速度の測定結果が違ったというのも、本当は有線・無線の違いではなくて、IPv6IPv4 の違いだったことに気づいた。僕は有線の方では Netflix が提供している fast.com を使って、無線の方では日本のどこか別のサイトを使っていたのだった。前者は IPv6 に対応しており IPv6 で、後者は対応していなかったので IPv4 でのアクセスになったため、測定結果に差が出たのだ。

これが僕にとって恥ずかしいのは、仮にも技術屋さんとしてご飯を食べているのに、比較したいポイント (有線・無線) 以外の要素 (測定サイト) も変えてしまい、それで得られたまったく意味のないデータを基にして、新しい Wi-Fi ルーターを買いに行ってしまったということだ。

ちなみに、フレッツ光の契約時期が比較的最近の場合、最初から IPv6 オプション (無料) がついてくる。僕の自宅はもっと前に契約したので、IPv4 でしかアクセスできず、ありとあらゆる通信が網終端装置の影響を受けて遅くなっていた。

f:id:sardine:20181001223827p:plain

第 2 部: 今までどう対処していたか

IPv4 だけ遅くなる理由がわかったところで、次の手を打つことにした。

網終端装置が混雑するのは利用者数が多いからなので、プロバイダーごとに状況が違う。そこで、So-net 以外のプロバイダーも試せないかということを考えた。

最終的に、インターリンク「ZOOT NEXT for フレッツ光」というサービスを利用することにした。

幸い、実家も自宅もルータに複数の接続先プロバイダーを登録できたので、So-net に接続するための設定情報は残したまま、ZOOT NEXT につなぐための設定を追加することができる。

こうすると、会員数が多く混雑しがちな So-net のネットワークを通らず、インターリンクのネットワークを通るので、ピーク時間帯でも網終端装置で待たされることが少なくなる。

f:id:sardine:20181001223825p:plain

ZOOT NEXT は Web から申し込んで数分で利用可能になる上、1〜2 ヶ月はお試し期間として無料で使える。

試してみたところ、So-net では 1〜2 Mbps しか出なかった IPv4 通信の速度が、ZOOT NEXT では 10〜20 Mbps 出るようになった。これだけ出れば、動画を見ても多少待たされる程度でストレスなく利用できる。

IPv6 通信の速度は So-net の方が上だったんだけど、アプリのダウンロードは頻度が少ないし、更新はスマホがバックグラウンドでやってくれるから、遅くても問題ない。

全体として見ると、QoL 爆上がりで、インターリンクさんありがとうという気持ちでいっぱいだった。

第 3 部: v6 プラスへの移行

数日前、また回線速度について調べる機会があった。そのとき、So-net が今年の 4 月に「v6 プラス」サービスを始めていたことを知った。

v6 プラスの仕組みを一言で説明すると、IPv4 も含めたすべてのパケットを IPv6 用の経路で送ってしまい、網終端装置を通さないようにするものだ。

f:id:sardine:20181001223822p:plain

IPv6 のパケットは今まで通り素通しでいいとして、IPv4 パケットについてはトンネリングを使う。つまり、自宅のルーターとプロバイダーの間では、IPv4 パケットを IPv6 パケットに変換して送受信する。この範囲を出るときに IPv4 パケットに戻されるので、PC やスマホの側も、サーバーの側も IPv4 通信として処理してよくて、途中の経路だけがこっそり IPv6 通信に化けているということになる。

なお、プロバイダー側の仕組みは So-net が自前で作り込んだわけではなく、日本ネットワークイネイブラー (JPNE) という別の会社が提供している。

今回 v6 プラスを導入するにあたり、NTT 東日本への IPv6 オプションの申し込みと、So-net への v6 プラス利用の申し込みは、いずれも無料だった。ただし、v6 プラスに対応したルーターが必要になる。

So-net でも月額 400 円でレンタルしているようだけど、長く使うなら買ってしまった方が安い。というわけで、電気量販店で買ってきたのがこちら。

選んだ理由は以下のとおり。

  • So-net がレンタルしている機器の上位版なので、問題が起きる可能性が少なそう
  • v6 プラスに対応しているルーターの中には「月に 1 回くらいのペースで回線が切れ、再起動が必要になる」という報告のあるものもあったけど、この機種はそういうのが見つからなかった
  • 長年 BUFFALO のルーターを使ってきたので、他メーカーのルーターも使ってみたくなった
  • BUFFALO の v6 プラス対応ルーターに比べて安価

ただ、性能的には、BUFFALO の上位機種の方が、若干いいらしい。また、買ってみてわかったけど、今まで使っていた BUFFALO のルーターに比べて設定できる項目が少ない。

以前自宅で Mac mini を使って Web サーバーを立てていたときには、ルーターで「外から TCP/IP のポート 80 宛に来た通信は、Mac mini に流す」というような設定ができたけど、今回買った機種にはそういう設定項目がなさそうだ。

で、肝心の速度はというと、導入直後の 20:30 頃に測定したみたのがこちら。

どちらも 92Mbps くらい出ていて、1〜2Mbps だった頃がウソのようだ。ちなみに、今これを書いている 24:30 時点では、少し下がって 70〜80Mbps 程度。集合住宅なので、夜になって住人たちが帰ってくると遅くなるのかもしれないが、それでも十分速い。

勝ったッ! 第 3 部完!

エピローグ: 今後はどうなるのか

v6 プラスにしたことで、網終端装置の混雑は気にしなくてよくなったわけだけど、今後もこの状況のままかは、正直わからない。

So-net のサイトにある v6 プラスのページを見ると、従来は「利用者多く混雑」、v6 プラスは「利用者少なく快適」だと説明されている。これは正直な書き方だと思う。

仮に現在の So-net 利用者が全員 v6 プラスに移行した場合、結局ゲートウェイとかで混雑が起きて、元の木阿弥に戻る可能性もある。

まぁ、今の時点では満足しているので、しばらく様子を見て問題なさそうなら、実家への導入も検討してみたい。