現在はほとんどのプロバイダー(インターネット接続業者)が IPv4 over IPv6 といわれるサービスを提供しています。
3 方式あり、MAP-E、DS-Lite、4rd/SAM です。
MAP-E と 4rd/SAM はユーザのルーターで NAT 変換します(NAT ステートレスといいます)。
DS-Lite は VNE(Virtual Network Enabler)の設備で NAT 変換します(NAT ステートフルといいます)。
なお、4rd/SAM は IPv4 と IPv6 のハイブリッド方式です。
Xpass は DS-Lite 方式の一つです。
NAT ステートレスか、NAT ステートフルかによってポート開放ができる、できないの違いがあります。
前者はルーターで NAT 変換しますので、解放できるポートに制限はありますが、制限内では開放できます。
後者は VNE で NAT 変換するためポート解放はできません。
ポート解放はルーターで設定するためです。
固定 IPv4 アドレスサービス(有償)の場合はポートの数、開放の可否に関する制限はありません。
以下は固定 IPv4 アドレスサービスでない場合(こちらが一般的でほとんどのユーザの利用形態)について記述しています。
ポート制限は、複数のユーザでおなじ IPv4 アドレスを使い、そのために使えるポート帯を分けていることによって生じます。
このポート解放の可否は重要で、この違いでインターネット上のサービスが影響を受ける場合があります。
当ブログの下記記事でそのことに触れています。
影響を受ける可能性があるのは IPv4 に対してであって IPv6 では影響は受けません。
さらに NAT 変換時の NAT テーブル数にも制限(DS-Lite は1024 個)があり、これが思わぬ落とし穴になる場合があります。
「ポート」とはなんでしょうか。
インターネットでアクセスする、ということは「宛先アドレス」と「自アドレス」が必要です。
宛先に向けてパケットを送り、自アドレスにサービス結果をパケットで返してもらいます。
このときに「サービスを規定」しているのが「ポート」です。
アドレスのほかに「ポート」を指定して「ポートに対応するサービス」を受けます。
例えば本ブログの Web アドレスは、
です。
これは「https」で「bike8615.blogspot.com」というアドレスにアクセスすることを意味します。
「https」が Web サービスを示す「ポート:443」に対応しています。
パケットは「宛先アドレスと宛先ポート:443」を設定して送信します。
結果は「自アドレスと自ポート」に向けて戻されてきます。
IPv4 over IPv6 では、宛先ポート番号は制約を受けませんが、自ポート番号が制約を受けます。
自ポート番号は IPv4 over IPv6 で割り当てられたポートのどれかに、通常は自動的に設定されます。
設定される自ポート番号は NAT ステートレスの場合はルーターで、NAT ステートフルの場合は VNE で割り当てされます。
このときに割り当てる自ポート番号が割り当て範囲外のときに正常な通信が行えません。
または、サービスサイトが戻すポート番号を固定化していて、このポート番号が割り当て範囲外のときにそのサービスを受けられません。
これが「IPv4 over IPv6 における制約」です。
【PPPoE と MAP-E 方式の事例】
かって主流であった PPPoE は IPv4 に対してがほとんどで、IPv6 による PPPoE は皆無といっていい状況です。
これは IPv6 でサービスするサイトが少ないためです。
IPv6 でサービスするサイトは IPv4 もサービスしている場合がほとんどです。
国内の場合、NTT 東西のフレッツ網(フレッツ網自体は IPv6 網)が大半で、プロバイダーはこのフレッツ網とインターネットの橋渡しをしています。
(ほかには独自の網でサービスしている KDDI、nuro、CATV 事業者などがあります)
フレッツ網における IPv4 インターネットへの橋渡しの主流が PPPoE でした。
ところが、PPPoE プロバイダーとフレッツ網の接続点(前図の網終端装置)の帯域制限から混雑時に著しく速度低下する問題があります。
一方、IPv4 アドレスの枯渇問題から IPv6 ができたわけですが、インターネットサービスはまだまだ IPv4 に依存しています。
そこで IPv4 サービスと IPv6 サービスを混在させる方式として IPv4 over IPv6 という技術が考え出されました。
PPPoE(IPv4)と IPoE(IPv6)の混在型も可能ですが、まだ IPv6 でサービスするサイトが少ないため、実質はあまり使われていないと思われます。
しかも混在型は PPPoE で IPv4 サイトをアクセスする際に網終端装置の帯域制限の影響を受けて、混雑時のアクセス速度に支障をきたすことには変わりがありません。
IPv4 over IPv6 方式は IPv6 パケット内に IPv4 パケットを包含し、これを VNE 事業者の設備で IPv4 または IPv6 パケットでターゲットのサイトにアクセスします。
戻りパケットは行きと逆の処理を行ってユーザに返します。
フレッツ網(IPv6)自体は帯域制限がありませんので混雑時間帯でも速度低下は起こりにくいのです。
VNE が(プロバイダーとの契約により)帯域制限することはあります。
IPv4 over IPv6 サービスは VNE 事業者を介して行われ、プロバイダーは VNE 事業者と契約することでユーザーにサービスを提供しています。
OCN や Biglobe のように自ら VNE を運営しているプロバイダーもあります。
さて、IPv4 over IPv6 で問題になるのは「ポート解放」ができるかどうかと、解放できるポートに制限があることです。
NAT ステートレスである MAP-E、4rd/SAM は制限がありますがポート解放できます。
これによって、ポート解放制限の影響を受けない PPPoE 方式との違いで、できないことが出てきます。
ポートが決まっているサービス、例えば Web を運営することや(80 または 443)、IP 電話(できるものとできないものがあります)、ゲーム主催者などが影響を受けてできなくなるのです。
VNE から割り当てられたポートのどれかに変更してできるものもあります。
例えば割り当てされた ”6789” で Web を運営している場合、
https://自アドレス/:6789
とすればアクセスできますが、不特定多数の人はあなたの Web サイトを ":6789" を付加しないとアクセスできないことを知りません。
結果的に「できないことと等価」です。
自宅ルーターに VPN を張れるようにする場合、OpenVPN や Wireguard VPN は割り当てられたポートのどれかに変更すれば実現できます。
VPN は自分もしくは限られた人に対してできるようにするサービスですから、ポート番号を変更しても実質的に問題はありません。
しかし、おなじ VPN でも IPsec や PPTP は ポート変更できませんので実現できません。
IP 電話の中には IPv4 パケット自体の宛先/受取ポートを固定化(ポート 5060 など)しているものは使えません。
IP 電話は、パケット自体のポート番号ではなくパケットのデータ部で SIP ポートを規定すれば問題ありません。
しかし、パケットのポート番号を 5060 に固定していると割り当てられたポートの範囲外となって使えません。
いくつかの IP 電話は「パケット自体のポート番号を 5060 などに固定している」ものがあり、この場合は使えません。
@nifty IP 電話が使えなくなる代表例です。
おなじ IP 電話でも Smartalk、050 PLus、Brastel、G-Call050 などは影響を受けませんのでそのまま使えます。
DS-Lite は NAT ステートフルですから IPv4 でポート開放ができません。
IPv6 ではポート制限はありませんから IPv6 でサービスできる場合は IPv6 にする手があります。
例えばウチは現在は Xpass(DS-Lite 方式)です。
以前は V6プラス(MAP-E 方式)でしたが乗り換えています。
Xpass の場合、IPv4 ではポート開放できません。
Wireguard VPN で自宅ネットワークに外から入れるようにしていますが、そのために IPv6 でポート開放しています。
Wireguard Client であるスマホや Macbook Air は、IPv6 で開放したポートを使って自宅ネットワークに入れるようにしてます。
つまり、IPv4 で制限を受けても IPv6 での制限はありませんから、仕組みを理解すれば大抵のことができます。
IPv4 での制限をなくすには次のような手段があります。
❶ PPPoE を併用する
混雑時の速度低下がある
❷ 固定 IPv4 アドレスサービス(有償)を受ける
速度低下はないが、別途利用料が発生する
また、このサービスを行う事業者は限られる