松本直人/ネットワークバリューコンポネンツ ニュービジネスチーム

 キャリア・グレードNATは,収容するエンドユーザーの通信をできるだけ阻害しないようにする必要があります。つまり,NAT制御に高い“透過性”が求められます。ここでいう透過性とは,エンドユーザーが送受信するパケットを,通信事業者の装置でなるべく形を変えずに通過させることです。NATにはさまざまな手法が存在しますが,キャリア・グレードNATではそれらを通信の内容や通信する端末・アプリケーションによって使い分けていくことになるでしょう。今回は,キャリア・グレードNATで使われるNATの手法をいくつかご紹介します。

 NATの手法は,「NATセッション・マッピング」と「フィルタリング制限」の二つの処理の内容の違いによって4種類に分けられます。この4種類とは,「フルコーンNAT」,「制限付きコーンNAT」,「ポート制限付きコーンNAT」,「シンメトリックNAT」です(表1)。NATセッション・マッピングは,NAT配下の端末とキャリア・グレードNAT装置の通信,そしてキャリア・グレードNAT装置とインターネット側にある端末の通信を関係付けるために使われます。フィルタリング制限は,通信先を限定する設定です。

表1●利用制限が異なる4種類のNATの手法がある
種類の名前 NATが割り当てたポートにアクセスできる
インターネット側の端末の制限
利用制限の厳しさ
フルコーンNAT どの端末でもアクセス可能 緩やか
制限付きコーンNAT NAT配下の端末がアクセスした端末からアクセス可能 厳しめ
ポート制限付きコーンNAT NAT配下の端末がアクセスした端末とポート番号からだけアクセス可能 制限付きコーンNATより厳しい
シンメトリックNAT 通信元の端末と通信先の端末が1対1の場合にしか使えない かなり厳しい

 キャリア・グレードNATで主に使用されるのは,NAT制御の中で最も制約の少ないフルコーンNATです。フルコーンNATは,一度開いたセッション・ポートを誰からでもアクセス可能にします(図1)。制限付きコーンNATは,NAT配下の端末がアクセスした端末だけ,NATが割り当てたポートにアクセスできるようにします。一方,ポート制限付きコーンNATでは,NAT配下の端末がアクセスした端末とポート番号からだけ,NATが割り当てたポートにアクセス可能です。コーンNATは,配下の端末の送信元ポート番号とNATのインターネット向けの送信元ポート番号を1対1で割り当てます。NATのポート割り当てに規則性があります。

 一方,シンメトリックNATは,配下の端末の送信元ポート番号とNATのインターネット向けのポートの割り当てはランダムです。シンメトリックNATは制約が多く,セッション・ポートは通信元の端末と通信先の端末が1対1の場合にしか使えません。

図1●フルコーンNATの特徴
図1●フルコーンNATの特徴
一度開いたセッション・ポートは誰からでもアクセスできるなど,制約の少ないNATの手法といえる。

 さらに,別々のNAT配下にいる端末同士が通信できるようにする「(TCP/UDP)ホール・パンチング」と呼ばれる機能も,インターネット・ドラフト(第1回でご紹介した「Common Functions of Large Scale NAT」)で言及されています。この機能は主にP2Pに代表されるアプリケーションにより利用されます。

 キャリア・グレードNATには,「パススルー」という概念も存在します(図2)。これはキャリア・グレードNATを通過するすべてのパケットに対してNAT制御をするのではなく,特定のIPアドレス範囲もしくは特定ポート番号をNAT処理から除外してルーティングする機能です。キャリア・グレードNAT配下のクライアントから見て,特定のプライベート・アドレスあての通信はNATをかけずサーバー・セグメントに流すようにします。SIPサーバーとSIPクライアントの間など,NATを実施することによって正常に動作しなくなる可能性があるアプリケーションの通信の場合に,パススルーをかけるわけです。

図2●パススルーの概要
図2●パススルーの概要
キャリア・グレードNAT配下のクライアントが送信するパケットが,特定のIPアドレス範囲もしくは特定ポート番号あてだった場合,NAT処理から除外してルーティングする。

 キャリア・グレードNATの一部には,インターネット・ドラフトに記述されていない機能も実装されていくでしょう。そのひとつは「ポート・フォワード」機能です(図3)。特定の「グローバル・アドレスとポート番号」と「プライベート・アドレスとポート番号」を1対1で対応させます。この機能は,NAT配下にある端末がDHCPに対応していない場合などに使われます。旧来の組み込み系機器,ライブ・カメラなどNAT制御をすることによって起こる不具合から救済するために作られたものです。

図3●キャリア・グレードNATでポート・フォワードを使うケースもある
図3●キャリア・グレードNATでポート・フォワードを使うケースもある
インターネット側のグローバルIPアドレスとポートの組み合わせと,LAN側のプライベートIPアドレスとポートの組み合わせを1対1で対応付ける。

 このようにキャリア・グレードNATでは,従来の情報資産を最大限活用しつつ,今後も永続的な情報基盤を安定化させるために,さまざまな機能が規定されています。次回は,キャリア・グレードNATがエンドユーザーに与える影響について,具体例を交えて解説します。


松本直人 (まつもと なおと)
ネットワークバリューコンポネンツ ニュービジネスチーム
1996年より特別第二種通信事業者のエンジニアとしてインターネット網整備に従事。その後システム・コンサルタント,ビジネス・コンサルタントを経て,2008年より株式会社ネットワークバリューコンポネンツにて新規ビジネス開発を担当。技術開発からビジネス構築までを一気通貫で担当する。システム延命技術の研究開発に取り組む「仮想化インフラ・オペレータズグループ(VIOPS)」発起人のひとりでもある。