住友電気工業は,「GapNAT」(Global address port with Network Address Translation)と呼ぶ新技術を開発し,5月15日,これを実装したADSL(非対称ディジタル加入者線)モデムのファームウエアを公開した。GapNATを使うと,NAT(ネットワーク・アドレス変換)を介してインターネットに接続する場合でも,インターネット電話やビデオ・チャットなど,さまざまなアプリケーションを利用できるようになる。ADSLモデムのファームウエアを更新することで対応可能で,すでにイー・アクセスなど同社のADSLモデムを採用している事業者が新ファームウエアをWebサイト上で公開している。

 ADSLによるインターネット接続では,ユーザーはISPから割り当てられたIPアドレスを使う。固定的にアドレスを割り当てるサービス以外は,1ユーザーに1個である。このため,複数の端末でインターネット接続を共用するには,それぞれの端末にプライベート・アドレスを割り当て,NATを介して接続するしかない。端末が1台の場合でも,NATを利用することでインターネット側から端末が直接見えなくなるため,NAT装置が無い場合よりもセキュリティが高まる。

 ところが,NATを利用することで利用できなくなってしまうアプリケーションがあり,大きな課題になっている。代表例はIP電話やインスタント・メッセージ,ネットワーク・ゲームである。例えばサーバーで外部からのアクセスを受け付けるような場合は,NAPT(ネットワーク・アドレス・ポート変換)で静的にポート番号とサーバーのIPアドレスをマッピングしておけば,NAT越しの通信は可能になる。ただ,一部のアプリケーションは,IPヘッダーだけでなくデータ部分にIPアドレスを埋め込む。この場合,NATではヘッダー内のIPアドレスだけが変換され,データ部に格納されたプライベート・アドレスはそのまま。この矛盾によって,うまく通信できなくなってしまう。

 GapNATは,こうした問題点を解決できるNATトラバーサルの1つの実現手法と言える。GapNATの特徴は,LAN側のマシンの1台(マルチGapNATの場合は割り当てられたIPアドレスの数と同数のマシン)に,ISPから割り当てられたグローバル・アドレスを割り当てる機能。通常のNATでは,グローバル・アドレスとプライベート・アドレスを対応付けて変換するが,GapNATでは,NAT処理で同じアドレスに変換する。このため,グローバル・アドレスを割り当てたマシンからは,どのアプリケーションも利用できる。ADSLモデムから見ると,グローバル・アドレスを割り当てたマシンと,プライベート・アドレスを割り当てたマシンで,グローバル・アドレスを共用する。

 LAN側へのグローバル・アドレスの割り当て方は2通り。DHCPサーバー(ADSLモデム)に最初にアクセスしてきたマシンに割り当てるか,あらかじめMACアドレスを登録してあるマシンに割り当てる。LAN上では,グローバル・アドレスを割り当てたマシンとプライベート・アドレスを割り当てたマシンとの通信も可能。ただし,外部から入ってくるトラフィックを,グローバル・アドレスを割り当てたマシンとプライベート・アドレスを割り当てたマシンにどう振り分けるか,その詳細な手法については非公開。IPマスカレード/NAPTとは異なるため,GapNATを使ってもIPSecクライアントからのデータも通せるという。ちなみに,プライベート・アドレスを割り当てた複数のマシンについては,NAPTを利用する。

 こうしたNAT越え(NATトラバーサル)の機能は,ほかにも実現手段がある。UPnP(ユニバーサル・プラグ・アンド・プレイ)を利用する機能もそうだ。アプリケーションがUPnPを使ってADSLモデムからグローバル・アドレスなどの情報を取得し,データ部にもグローバル・アドレスを書き込むようにする。こうすることで,矛盾なくIPアドレスを通知し,NAT越しでもアプリケーションを利用できるようになる。

 ただ,UPnPを利用するには,アプリケーションが対応している必要がある。ADSLモデムとアプリケーションの相性も問題になる。これに対して,GapNATはADSLモデム上での処理だけで問題を解決するため,どのアプリケーションでも利用できる。ただ,最高でグローバル・アドレスの数までのマシンでしか,その機能を利用できない。例えばグローバル・アドレスが1つしかない場合に,2台以上のマシンで同時にビデオ・チャットを利用したいといった場合には,GapNATでは対応できない。この点はUPnPに分がある。このため住友電工は,今後,ADSLモデムのファームウエアに,GapNATとUPnPの両方のNATトラバーサル機能を搭載する計画である。(Y.K.)