先日、フレッツ光のインターネットへの通信速度が遅く、業務に支障を発生しているという話があったため接続方式をPPPoE→IPv4 over IPv6に切り替えたところ、通信速度が改善したのでその時の知見をメモしておきます。
接続方式について
フレッツ光における現在のインターネット接続方式は大きく分けて以下の3通りの方法が存在します。 それぞれの特徴を各項目に記載します。
- PPPoE接続(IPv4)
- IPoE接続(IPv6)( + PPPoE接続(IPv4))
- IPv4 over IPv6接続(IPv4 + IPv6)( + IPoE接続(IPv6))
PPPoE接続(IPv4)
PPPoE(PPP over Ethernet)接続は、従来の方式でありIPv4による通信です。この方式では、NTT東西のNGN網とISP(Internet Service Provider)の間を接続する網終端装置がボトルネックとなっており、利用者が多い時間帯では輻輳が発生し通信速度が低下する原因となっています。
IPoE接続(IPv6)( + PPPoE接続(IPv4))
IPoE(IP over Ethernet)接続は、IPv6による通信です。
この方式では、GWR(ゲートウェイルータ)とIPoE接続に必要な設備を提供するVNE(Virtual Network Enabler)事業者の設備を経由してISPに接続し、通信速度低下の原因となっている網終端装置を回避することで通信速度の低下を防ぎます。
IPv4 over IPv6接続(IPv4 + IPv6)( + IPoE接続(IPv6))
前述の問題を解消するための接続方法がIPv4 over IPv6接続であり、IPv4のパケットをIPv6によってカプセル化することで、IPv6ネットワーク上を経由してIPv4通信を行う方法です。
これによりIPv4の通信でも網終端装置を回避できるため、通信速度の低下を防ぐことが可能になります。
またIPoE接続を組み合わせることによりIPv6の通信も行うことが可能です。
(前の項目でも記載した通り、現状IPv6に対応しているサービスは極少数であるためIPoE接続は行わなくても現状特に困ることは無いと思いますR)
インターネットへの通信速度を高速化するなら
いろいろ書きましたが、要するに通信速度を改善したければボトルネックとなっている「網終端装置を回避できる」&「IPv4通信が出来る」IPv4 over IPv6接続にすればよいということです。 しかしIPv4 over IPv6接続にもデメリットがあり、場合によってはPPPoE接続のときにはできていたことができなくなる可能性があるので注意が必要です。
IPv4 over IPv6接続のアドレス共有方式とデメリットについて
IPv4 over IPv6接続のグローバルIPv4アドレスは複数の利用者で共有され、アドレスの共有方式として「MAP-E」「DS-Lite」の2種類が存在します。 この2種類の違いは端的に言うとグローバルIPv4アドレスが付与される機器の差であり、同時にNATを行う機器の差でもあります。 それぞれの特徴とデメリットを次に記載します。
MAP-Eについて
- MAP-Eの場合、グローバルIPv4アドレスは利用者のルータに割り当てられ、NATも利用者のルータで行われます。
- 通信事業者側で各利用者に対して異なるポートを指定することで、通信を行います。
- 利用者は通信事業者側で指定されたポートしか開放することができません。 (外部からは指定されたポートでのみアクセス可能) そのため、PPTP、IPsec等の特定のポートを使用する通信が行えません(後述の対処方法で対処可能)
- グローバルIPv4アドレスを複数の利用者で共有しているため、利用できるNATセッション数が少なくなります。 そのため、同時に多数の機器から多数のWebサイト参照を行ったりするとNATセッションが枯渇し、Webサイトの表示が遅くなることがあります。
DS-Liteについて
- DS-Liteの場合、グローバルIPv4アドレスは通信事業者のルータに割り当てられ、NATも通信事業者のルータで行われます。
- 利用者側のルータにはプライベートIPアドレスが割り当てられます。
- そのため、利用者はポートを開放することが出来ません。 (外部からのVPN等による接続は不可能)
- グローバルIPv4アドレスを複数の利用者で共有しているため、利用できるNATセッション数が少なくなります。 そのため、同時に多数の機器から多数のWebサイト参照を行ったりするとNATセッションが枯渇し、Webサイトの表示が遅くなることがあります。
デメリットへの対処方法について
ポート開放の問題への対処方法
MAP-Eの場合、通信事業者側で指定されたポートしか開放できないため、特定のポートを使用するPPTPやIPsec等の通信が行えないというデメリットがあります。
これは、PPPoE接続とIPv4 over IPv6接続を行うルータをそれぞれ用意し同時接続を行う(併用する)ことで対処することが可能です。
次にその場合の構成を記載します。
(今回は構成のみで具体的な設定例等は記載していません。具体的な設定や注意点は「IPv4 IPv6 併用」「IPv4 IPv6 2重ルータ」等で検索するといろいろな例が出てくるので参考になると思います)
なお、別の構成としてはYAMAHAルータのRTX830等は、PPPoE接続とIPv4 over IPv6接続を1台で行うことができます。
ルータを並列に接続する構成
- ONUの下にスイッチングハブを接続し、その下にPPPoE接続用ルータとIPv4 over IPv6接続用ルータを並列に接続する構成です。
- PPPoE接続用ルータの配下には特定のポートを使用する通信を行う機器を接続し、IPv4 over IPv6接続用ルータの配下にはその他の機器を接続し、ゲートウェイとしてそれぞれのルータのIPアドレスを指定します。
ルータを直列に接続する構成
- ONUの下にIPv4 over IPv6接続用ルータを接続し、その下にPPPoE接続用ルータを直列に接続する構成です。 (よく2重ルータと言われている構成です)
- PPPoE接続用ルータの配下には特定のポートを使用する通信を行う機器を接続し、IPv4 over IPv6接続用ルータの配下にはその他の機器を接続し、ゲートウェイとしてそれぞれのルータのIPアドレスを指定します。
- IPv4 over IPv6接続用ルータで「PPPoEパススルー」を有効化し、PPPoEの通信を透過するように設定します。
NATセッションの枯渇の対処方法
IPv4 over IPv6接続におけるNATセッションの枯渇の対処方法としてはYAMAHAルータの「ポートセービング IPマスカレード」機能が有名です。 (というかこれ以外見たことがないので他にもあれば教えてほしいです)
すべてを解決できる対処方法
IPv4 over IPv6接続のグローバルIPv4アドレスを以下のような固定IPにすることで、ポート開放やNATセッション枯渇の問題が解決できます。
テレワーク等で外部からVPN接続を行う場合は、動的IPの場合だとDDNSを使う必要がありますが固定IPだとそんなことをしなくてもよいといったメリットもあるので、可能であれば固定IPにしてしまうのも良いかもしれません。 (動的IPと固定IPでルータの対応の有無が変わってくることもあるので、事前に手持ちのルータが対応しているか確認しておく必要はあると思います)
実際の通信速度の変化
PPPoE接続時からIPv4 over IPv6接続に変更したところ上記の通り、下りの通信速度がかなり改善されました。 (上りは変化がありませんでしたが、もともとそこそこの速度が出ていたのでヨシとしました)
Webアクセス時にYahooトップ画面を表示するのに数秒かかっていたのが、一瞬で表示されるようになったり動画が動かなくなるといった問題が解決し、変化を体感することができました。