用語辞典・IP・アドレス

CGNAT

CGNATとは

CGNATは、通信事業者のネットワーク内で多数の利用者のIPv4通信をまとめ、少数のグローバルIPv4アドレスを共有する大規模なアドレス変換です。正式名称はCarrier-Grade Network Address Translation(キャリア・グレード・ネットワーク・アドレス・トランスレーション)です。

CGNATは、通信事業者のネットワーク内で多数の利用者のIPv4通信をまとめ、少数のグローバルIPv4アドレスを共有する大規模なアドレス変換です。

Large-Scale NAT(ラージ・スケール・ナット)とも呼ばれます。家庭用ルーターのNAPTと原理は近いものの、変換装置を利用者ではなく通信事業者が管理し、異なる契約者どうしが外部アドレスを共有する点が重要です。

家庭の変換に加え、事業者網でもう一度変換する多数の契約者を、より少ない公開アドレスへ集約する
複数の家庭がそれぞれ家庭用ルーターでアドレスとポートを変換し、通信事業者の大規模変換装置でもう一度まとめて少数の公開アドレスへ対応させる図解
図1家庭側のNAPTと事業者側のCGNATが重なる構成は、IPv4のアドレス領域が三段階に見えることからNAT444と呼ばれる場合があります。ただし、すべてのCGNAT回線が必ず家庭用NATとの二段構成とは限りません。

事業者網の内側では、共有アドレス空間が使われる

CGNATと利用者側のルーターを結ぶため、100.64.0.0/10Shared Address Space(シェアード・アドレス・スペース)として予約されています。範囲は100.64.0.0から100.127.255.255までです。

この範囲はインターネット全体へ経路広告するものではなく、複数の事業者網で再利用できます。しかし、プライベートIPv4アドレス10.0.0.0/8などとは別の特別用途です。家庭や社内LANで自由に使う一般的なプライベート範囲として割り当てるものではありません。

外部から見えるアドレスだけでは、利用者を一意に示せない

同じ公開アドレスを多数の利用者が共有識別には、アドレスだけでなくポートと時刻が必要になる
利用者A100.64.12.10:52001203.0.113.20:41001
利用者B100.64.18.22:53002203.0.113.20:41002
利用者C100.64.25.30:54003203.0.113.20:41003

公開IP送信元ポート正確な時刻の組で対応記録を照合

図2値は説明用です。接続先のサーバーからは同じ送信元IPに見えても、送信元ポートと時刻が異なります。事業者は運用方針に基づき、変換対応を追跡できる情報を管理します。

家庭用ルーターだけでは、外部着信を完成できないことがある

利用者が管理できるのは通常、自宅のルーターまでです。そこでポート転送を設定しても、事業者側CGNATに外部から始まる通信の対応がなければ、自宅のルーターまでパケットが届きません。自宅サーバー、見守り機器、対戦ゲーム、P2P、VPNなどに影響する場合があります。

ただし、CGNATを使っているだけで、これらが必ず動作しないとは限りません。アプリが中継サーバーを利用する、端末側から通信を開始する、IPv6を使うなど、接続方式によって結果は変わります。問題を調べるときは、表示された外部IPv4アドレスと、ルーターのWAN側IPv4アドレスが一致するかも手掛かりになります。

IPv6通信は、同じCGNATを通るとは限らない

IPv6には広いアドレス空間があり、各接続へグローバルIPv6プレフィックスを割り当てられます。ネイティブIPv6通信は、IPv4用CGNATを通らずに転送される構成が一般的です。その場合でも、ファイアウォールが外部着信を制御します。

一方、IPv4通信をIPv6網上で運ぶ接続方式では、事業者側の変換設備を利用することがあります。画面にIPv6アドレスがあるだけで「CGNATではない」と断定せず、IPv4とIPv6を分けて経路を確認します。

仕様の確認資料:RFC 6598「IANA-Reserved IPv4 Prefix for Shared Address Space」RFC 6888「Common Requirements for Carrier-Grade NATs」

関連用語