nownab.log

nownabe's daily posts

自宅ネットワーク改善日記その6 IPv4 over IPv6編

Posted on Jun 1, 2020

今回はDS-LiteでIPv4通信が90倍速くなった話です。

全日記:

あらすじ

その1からその5で、ルータ、スイッチ、アクセスポイント、ケーブルといった物理的な機器については予定してた構成が整いました。 しかし、フレッツ光回線ということもあって相変わらず混雑時間帯は数Mbps以下しかでないという状況でした。

今回はその状況を改善するために、IPoEによる高速なIPv6通信を設定して、さらにDS-LiteによるIPv4 over IPv6でIPv4通信も高速化しました。

IPv6 (IPoE) 設定

IPv6で通信するときは、混雑して低速なPPPoEではなく高速なIPoEという接続方式を選択できます。 例えばYouTubeやNetflixといったIPv6に対応しているサイトであれば、IPoEを使ってIPv6で接続すれば高速に通信できます。

というわけで、まずはIPoEを設定しました。 設定はRTX830のWeb GUIで行いました。

Web GUI > かんたん設定 > プロバイダー設定 > 新規 で、接続種別にIPv6 IPoEを選択するだけです。これでIPv6で通信できるようになります。

Netflixのfast.comやCloudflareのSpeed Testのようなインターネット速度計測サイトであれば接続元のIPが表示されるので、今IPv4で接続しているかIPv6で接続しているかが簡単に判断できます。

次の画像は、混雑時間に連続してPPPoEなIPv4とIPoEなIPv6をfast.comで計測した結果です。

IPv4かIPv6かは下部に表示されているクライアントのIPで判断できます。 IPv4に比べてIPv6だと120倍以上のスピードが出ていることがわかります。

次のカーネルパラメータを設定してIPv6を有効化/無効化することで、クライアント側のIPv4とIPv6を切り替えました。

net.ipv6.conf.all.disable_ipv6 = 0 or 1
net.ipv6.conf.default.disable_ipv6 = 0 or 1

IPv4 over IPv6 (DS-Lite) 設定

IPv6では高速に通信できるようになったといっても、まだまだIPv4も現役です。 IPv4についても、IPv4 over IPv6でIPv4通信をカプセル化してIPv6の通信にのせることで、IPoEと同様のスピードで通信できるようになります。 IPv4 over IPv6にもいくつかありますが、今回はIIJmioひかりが対応しているDS-LiteでIPv4を高速化しました。 IIJmioひかりではInternet Mutifeed社のtransixというサービスでDS-Liteを提供しています。

Web GUIでは設定できないので、公式の設定例を参考にコマンドで設定しました。以下が設定コマンドです。

> administrator
# ip route default gateway tunnel 1
# tunnel select 1
# tunnel endpoint name gw.transix.jp
# tunnel enable 1
# tunnel encapsulation ipip
# save

解説ブログやドキュメントでRTX系のルータだとgw.transix.jpというホスト名は指定できないと書いてあることがありますが、RTX830だとtunnel endpoint nameで問題なく指定できます。他の機種だとファームウェアのバージョンによったりするみたいです。

tunnel encapsulation ipipというのが、IPv4をカプセル化してIPv6のトンネルに流すという設定ですね。

次の画像は、連続してDS-LiteなIPv4とIPoEなIPv6をfast.comで計測した結果です。

IPv4でもIPv6と同等のスピードがでています!!やったぜ!!! 🎉🎉🎉

おわりに

IPv4でもIPoEなIPv6と同等なスピードが出るようになりました 🚀✨

これでようやく、弊家の劣悪なインターネット環境がまともになりました。よかった… 😭✨

ツイッターのタイムラインにはちゃんと画像が表示されるし、ミーティング中に声が途切れることもなくなったし、インターネットって素晴らしいですね! 💖