図 IPv4グローバル・アドレスを節約するNAT444。現在の一般的なIPv4インターネット・アクセス・サービスでは,ユーザー宅内に一つずつIPv4グローバル・アドレスを割り当てている。これをISPシェアド・アドレスと呼ばれるIPv4アドレスなど任意のIPアドレスに置き換えることで,IPv4グローバル・アドレスを節約するのがNAT444だ。
図 IPv4グローバル・アドレスを節約するNAT444。現在の一般的なIPv4インターネット・アクセス・サービスでは,ユーザー宅内に一つずつIPv4グローバル・アドレスを割り当てている。これをISPシェアド・アドレスと呼ばれるIPv4アドレスなど任意のIPアドレスに置き換えることで,IPv4グローバル・アドレスを節約するのがNAT444だ。
[画像のクリックで拡大表示]

 NAT444とは,IPv4グローバル・アドレスを節約するための手法である。そもそもNAT(network address translation)とは,異なる体系のアドレス同士をひも付けたNATテーブルをネットワーク機器に持たせ,パケットが機器を通り抜ける際にアドレスを変換する機能のこと。身近なところでは,ブロードバンド・ルーターに搭載されている。プロバイダから割り当てられたIPv4グローバル・アドレスをIPv4プライベート・アドレスに変換して,ルーター配下の端末に配る形が一般的だ。

 このような従来のNATとは異なり,NAT444ではIPv4グローバル・アドレスを持つIPv4インターネット,IPv4プライベート・アドレスを持つLANとの間に,ISP(Internet services provider)シェアド・アドレスという特別なIPv4アドレスを持つネットワークを設ける(ただし必ずしもISPシェアド・アドレスである必要はなく,任意のIPアドレスでよい)。「444」とは,この3種類のアドレスを割り当てたネットワーク空間を指す(図)。NAT444では,これらのアドレス空間の境界でNATを実行することで,IPv4グローバル・アドレスを節約する。具体的には,エンドユーザー宅内のCPE(customer premises equipment)と,プロバイダ網内のLSN(ラージスケールNAT)の2カ所でNATを実行する。このことから,「2段NAT」や「Double NAT」とも呼ばれる。

 NAT444の最大のメリットはCPEに手を加えなくて済むこと。このほか昔から使われている“枯れた”NATの応用なので,LSN向けに新規開発する機能が,IPv4グローバル・アドレスを節約する他の手法に比べて少なくて済むという。

 一方で,NAT444を導入すると「一部のアプリケーションの動作に問題が出る」との見方がある。その原因として主に想定されるのは,(1)1ユーザー当たりのセッション数の不足,(2)NAT越えがうまくいかない──の二つである。(1)は一つのIPv4グローバル・アドレスを複数のユーザーで分け合うために起こる問題。NAT444だけでなくLSN一般に当てはまる。(2)は,NAT444がIPパケットのヘッダーを2回書き換えるために起こる。SIPのようにIPアドレスやポート番号をパケットのデータ部分に埋め込むアプリケーションはうまく動かない可能性がある。また,UPnP対応が非常に難しい。ただし,これらはLSNやアプリケーションの実装によって回避できる可能性もあり,プロバイダやベンダーが研究している。