フレッツ光IPv6プラス環境下でのIPv4接続について

2020年にもなってIPv6/IPv4接続の機微がわかっていないの、本当に恥ずかしいんですけど何となくつかめてきたので忘れる前に書き留めておく。

フレッツ網と”インターネット”について

そもそも、フレッツ網はNGNと呼ばれるIPv6ネットワークである。つまり、光回線を契約すると光ファイバーを通しこのIPv6網につながることになる。特に、末端装置のRJ45の口を使えば、おなじみのケーブルでフレッツのIPv6網に繋げることができる。

しかし、これだけではインターネットにつながったことにならない。というのも、NGNは閉じたネットワークであり、いわゆる「インターネット」ではない。外のネットワークにつなぐには、適当なゲートウェイを通さなければならない。ここで使われるのが”PPPoE”や”IPoE”と呼ばれている仕組みである。

PPPoE

PPPoEとは、単純にPPP(point-to-point protocol)通信をIPv6フレームに乗せて光ファイバーイーサネット網であるフレッツ網に流す方式のことである。各家庭からのインターネット接続はPPPのパケットに乗り、フレッツ網につながったISPのサーバと通信する。このPPP通信に何を乗せるかで、各家庭のインターネットがIPv4接続なのかIPv6接続なのかが変わる。もちろん、v4パケットが乗っているかv6パケットが乗っているかでISPのサーバはパケットの振り分け先を変えているのだろう(そもそもフレッツ網のどのサーバにつながるかも違うのかもしれない)。IPフレームを二重に乗せ、かつPPPの処理も入っているので、効率は若干落ちると言われている。

IPoE

IPoEというネーミングは何とも不思議なネーミングで、いやそりゃ有線通信は普通IPがEthernetに乗っかっているよという感じなのだが、実際何も特別なことをしていないのでこういう名前であるらしい。つまり、IPv6パケットをフレッツ網にただ流すのがこのIPoE方式である。もちろんこのままでは目的サーバにつかないので、ゲートウェイを指定する必要がある(注:v6通信がわかっていないので、ゲートウェイという概念がどう実現しているか不明)。なぜかこのゲートウェイはISPのサーバではなく、VNEと呼ばれる事業者のサーバである。つまり、IPoE通信の場合、ISPは通信を見ることができない。

IPv4/v6の共存

では、IPv4/v6を共存させるにはどうすればいいだろうか?まず、by definitionで、IPv4通信にはIPoE方式を使うことができない。そこで何らかのトンネリングをかませる必要があるわけだが、主に使われるのがPPPoEかIPv4 over IPv6と言われる通信方式である。前者はもう説明したが、後者に関してはまた更にいくつか方式がある。v6プラスで使われているのはMAP-Eという方式である。これはざっくり言うとv4パケットをv6パケットに乗せ、NAT+IPマスカレードをかける方式であるらしい。そのため、複数回線で一つのIPv4アドレスを共有することになる。ただし(セキュリティ的な問題?)IPマスカレードで変換されるポートは回線ごとに決め打ちになっている。なお、IPv4 over IPv6を提供するのはVNEである。

ざっくりNAT+IPマスカレードなので、NAT+IPマスカレードと同じ問題を抱えている。すなわち、ざっと思いついた限りでは 1. 任意のポートを”解放”(=そのポート宛でステート確立前のパケットを通すようにする)することができない 2. TCP/UDP (+ICMP) 以外の通信が通らない(UDPもステートレスなので原理的にはステート関係のトラブルが発生しうる?) 3. IPSecみたいなポート決め打ちなプロトコルはうまくいかない 4. FTPみたいにクライアントにサーバがコネクションを張れることを仮定するプロトコルはうまくいかない というような問題がある。が、まあ普通にHTTP on TCPなど行う分にはあまり気にならないだろう。

一方、メリットとしてはISPのサーバを通らないので、VNEが強いサーバを持っていればIPv4のトラフィックも高速にさばけるようになる。一般にこれは真のようで、そのため「v6プラスでは通信速度が速くなる」と言われている。

設定方法

v6プラスを使えるISPでv6プラスを有効にしている場合、光電話ゲートウェイでPPPoEかMAP-Eのどちらを有効にするか選ぶことができる。http://192.168.1.1:8888/enabler.ipv4/main で「IPv4の一時停止」を選ぶと、PPPoEが使えるようだ。ポート開放やVPNサーバ設定は当たり前だがIPv4 PPPoE接続でないと使えない。や、v6でもIPSecくらい使えてほしいんだけど…。

で?

以下個人的な話。

さてどうするべきか。いままではあまり理解せずにIPv4 PPPoEでつないで光電話ゲートウェイでIPSec+L2TPサーバを有効にしてた。ルータでPPPoE+VPNの設定でもするか?

なお

ここまで書いてこんなんを見つけて理解が深まっ太郎になりましたとさ。

TODO

Comments

comments powered by Disqus