キャリアグレードNAT(CGNAT)は、ネットワークアドレスおよびポート変換(NAPT)を利用して、多数のプライベートIPv4アドレスを少数のパブリックIPv4アドレスのプールにマッピングし、アドレス空間を節約する大規模なネットワークアドレス変換技術です。ISPや企業は、限られたパブリックIPv4アドレスの割り当てを多数の加入者に割り当てるために、この技術を導入しています。
主なポイント
- CGNATは、NAPTを介して、多数の加入者間で1つのパブリックIPプールを共有しています。
- 送信トラフィックについては、送信元アドレスとポートのみが変換されます。
- Versa CGNATは、NAT64、DNS64、およびネットワークの難読化にも対応しています。
- VOSデバイス上のアドレスプールとルールによって、変換の適用方法が定義されます。
- 2回NATモードでは、1回の処理で送信元と宛先の両方を変換します。
このページの内容: その重要性仕組み種類CGNAT およびVersaよくある質問
CGNATはなぜ重要なのでしょうか?
IPv4アドレスの枯渇により、CGNATの導入は避けられなくなりました。パブリックIPv4アドレス空間は数年前から新規割り当てが不可能になっていますが、インターネットは拡大し続けています。加入者数が増え、加入者1人あたりのデバイス数が増え、IoTエンドポイントも増加しています。通信事業者は、すべてのデバイスに個別のアドレスを割り当てるのに十分なパブリックアドレスを購入できないため、CGNATでは限られたパブリックアドレスのプールを共有することで、IPv6への即時移行を行わずにIPv4の有効期間を延長しています。
そのメリットは、単にトラフィックの節約にとどまりません。CGNATは内部のトポロジーも隠蔽します。つまり、外部のデバイスからは共有されたパブリックアドレスしか認識されず、その背後にあるプライベートアドレスは見えなくなるため、攻撃対象領域が縮小されます。Versa のVOSデバイスでは、CGNATが支社トラフィックのインターネットへの接続を処理し、送信元と宛先の両方の変換を組み合わせた「2倍NAT」をサポートするとともに、動的に割り当てられたIPアドレスの背後にサーバーの実際のIPアドレスを隠蔽するネットワーク難読化機能も実現しています。
CGNATとは何ですか?
CGNATは、通常のNATと同様に機能しますが、その規模ははるかに大きいです。 ネットワークデバイス(通信事業者のエッジルーター、あるいはVersa の導入環境におけるVOSデバイスなど)は、パブリックIPアドレスのプールと、どのプライベートトラフィックをどのように変換するかを定義するルールを管理します。プライベートホストが外部へトラフィックを送信すると、デバイスは送信元IPアドレス(通常は送信元ポートも)をパブリックプールから抽出したアドレスに書き換え、そのマッピング(バインディング)を追跡することで、返信トラフィックが正しく戻ってくるようにします。
数千ものプライベートアドレスが比較的少ないパブリックアドレスのプールを共有しているため、管理すべきリソースはアドレス割り当てではなくポート割り当てとなります。各パブリックアドレスは、異なるポートにわたる多数の同時セッションをサポートします。ICMP、TCP、およびUDPのマッピングに対して設定可能なタイムアウトにより、未使用のバインディングが解放され、ラウンドロビンなどの方式によってプール全体に負荷が分散されます。 エンドポイントに依存しないマッピングとフィルタリングにより、リモート先間でバインディングが再利用されるかどうかが制御され、これはVoIPやゲームトラフィックにおいて重要です。
CGNATの種類
さまざまな変換ニーズに対応するため、3つの大まかなアプローチがあります。NAT44(大規模NATとも呼ばれる)は、CGNATの中核となる機能です。これは、多数のプライベートIPv4アドレスがNAPTを通じてパブリックIPv4アドレスのプールを共有するもので、ベーシック、ダイナミック、デスティネーション、および2回NATといったバリエーションがあり、静的な1対1のマッピングから、1回のパスで完了する完全な動的送信元・宛先変換まで、あらゆるケースを網羅しています。NAT64/DNS64は別の問題を解決します。つまり、宛先用のIPv6アドレスを合成し、ゲートウェイで生成されたトラフィックをIPv4に再変換することで、IPv6のみのクライアントがIPv4のみのサーバーにアクセスできるようにします。NPTv6(Network Prefix Translation)は、ステートレスな IPv6 から IPv6 への代替手段です。チェックサムに影響を与えないアルゴリズムを使用して、内部アドレスプレフィックスを外部アドレスプレフィックスと交換し、NAT の柔軟性を犠牲にする代わりに、シンプルさとエンドツーエンドの到達可能性を実現します。
CGNAT &Versa
Versa VOSデバイス上で、アドレスプールとルールに基づいて構築されたサービスとして、CGNATをネイティブに実装します。 Directorでは、管理者はデバイステンプレートごとにCGNATプールとルール(アドレス範囲、ポート割り当て方式、マッピングタイムアウトなど)を設定し、Basic NAT-44やNAPT-44から、2段階NATのバリエーション、IPv6プレフィックス変換用のNPT-66、IPv4-IPv6相互運用用のNAT64/DNS64に至るまで、さまざまなNATモードを適用します。 Concertoでは、同じ機能がSD-WANのメインテンプレートに組み込まれたCGNATポリシーとして提供されており、1つのルールで内部サービスを公開することを簡素化するポートフォワーディングモードが追加されています。
Versa CGNATは、ネットワークの難読化(動的な宛先アドレスを割り当てることで、DNSクエリに対してサーバーの実際のアドレスではなくおとりアドレスを返す機能)や、NATの影響を受けやすいアプリケーション向けのエンドポイント非依存のマッピングもサポートしています。運用担当者はCLIからCGNATのトラブルシューティングを行い、vsmdデーモンを通じてプール統計、テナントごとのルール状態、およびアクティブなセッションカウンターを確認します。
よくある質問
CGNATと通常のNATの違いは何ですか?
通常のNATでは、1つの家庭やオフィスに対して、1つのプライベートアドレスを1つのパブリックアドレスにマッピングします。一方、CGNATでは、数千人の加入者間で少数のパブリックアドレスのプールを共有し、ポートレベルの変換を用いて容量を拡大します。この、通信事業者が運営する共有プールこそが、CGNATを「キャリアグレード」たらしめているのです。
CGNATは、着信接続に依存するアプリケーションの動作を妨げるのでしょうか?
可能です。加入者が1つのパブリックアドレスを共有しているため、外部ホストは、事前のアウトバウンドトラフィックによってバインディングが確立されない限り、特定の加入者に確実に到達することができません。このため、ポートフォワーディングが設定されていない限り、ホスティングや一部のVoIP、ゲームのトラフィックが複雑になります。
インターネットサービスプロバイダーはなぜCGNATを採用しているのでしょうか?
IPv4アドレスの枯渇により、ISPはすべての加入者に1つずつ割り当てるのに十分なパブリックアドレスを確保できなくなりました。CGNATを利用することで、プロバイダーははるかに少ないパブリックIPv4アドレスプールから多数の加入者にサービスを提供できるようになり、加入者がIPv4インターネットに接続し続けられる状態を維持しつつ、IPv6への完全移行を先送りすることができます。
CGNATにおける「2重NAT」とは何ですか?
「Twice-NAT」は、1つのルール内でパケットの発信元アドレスと宛先アドレスの両方を変換します。例えば、発信元アドレスを動的に変換しつつ、宛先アドレスを静的に書き換えるといった場合です。Versa CGNATは、このようなシナリオに対応するため、「Twice Basic」、「Twice Dynamic」、および「Twice NAPT-44」をサポートしています。
NAT64とCGNATはどのような関係にあるのでしょうか?
NAT64は、IPv6専用クライアントがIPv4専用サーバーにアクセスできるようにするCGNATモードです。DNS64が宛先用のIPv6アドレスを生成し、ゲートウェイがその結果として生成されたトラフィックをIPv4に再変換します。これが、レガシーなIPv4インターネットへのIPv6専用アクセスを実現する仕組みです。
CGNATの詳細
さらに詳しく知りたい場合は、私たちが信頼している情報源を以下にご紹介します。
| RFC 6888: キャリアグレードNATの共通要件 | RFC 6146: ステートフル NAT64 |
|---|---|
| CGNデバイスに対するIETFの基本要件:ロギング、アドレスプーリングの動作、およびアプリケーションとの互換性。 | CGNATのNAT64モードの基盤となるステートフルなIPv6-IPv4変換規格であり、IPv6のみに対応したクライアントがIPv4サーバーにアクセスできるようにする。 |
関連用語
CGNATについてお読みになっているなら、次はこれらもぜひチェックしてみてください。
| ネットワークアドレス変換 | ネットワーク | サービス拒否 |
|---|---|---|
| 一般的なアドレス変換プロセスであるCGNATの拡張性が向上しました。Versa は、基本NAT、動的NAT、宛先NAT、およびキャリアグレードNATの各タイプに対応しています。 | ルーティングインスタンス上のインターフェースをグループ化するVOSオブジェクト。CGNATプールおよびルールは、1つのVOSオブジェクトの範囲内に限定されます。 | 標的へのトラフィックを氾濫させて正当なユーザーへのサービス提供を妨害する攻撃。CGNATのロギングプロファイルを利用することで、不正利用を加入者にまで追跡することが可能になる。 |