UPnP NAT Traversal に関する FAQ

ユニバーサル プラグ アンド プレイ(UPnP)とネットワーク アドレス変換(NAT)について質問はありますか? ここではネットワーク アドレス変換や NAT、また UPnP NAT Traversal についてのよく寄せられる質問とその回答を紹介しています。

Q. UPnP とは ?

ユニバーサル プラグ アンド プレイ(UPnP)は、特に家庭内のインテリジェント デバイスやアプライアンスと、PC をピアツーピア ネットワーク接続する方式として、普及しているアーキテクチャです。UPnP は、TCP/IP、HTTP、および XML などのインターネット標準と技術上に構築されており、デバイスを自動的に相互接続して、共に動作させ、より多くのユーザーがネットワーク、特にホーム ネットワークを構築できるようにします。

Q. 消費者にとっての UPnP の意義は ?

簡潔でありながら、選択性のある革新的な環境が得られます。ユニバーサル プラグ アンド プレイを備えたネットワーク製品は、ネットワークに物理的に接続するだけで、適切に動作します。UPnP は、有線または無線を問わず、基本的にどのネットワーク メディア技術でも動作します。技術の一例として、カテゴリ 5 イーサネット ケーブルのほか、Wi-Fi や 802.11B ワイヤレス ネットワーク、IEEE 1394 (「Firewire」)、電話回線経由のネットワーク、 パワーライン ネットワークがあります。UPnP デバイスと PC を相互接続すると、革新的な新サービスとアプリケーションをユーザーが利用しやすくなります。

Q. UPnP フォーラムとは ?

ユニバーサル プラグ アンド プレイ フォーラムは、1999 年 6 月に設立されたオープンな業界コンソーシアムです。UPnP 標準の定義を支援し、長期的には企業も視野に入れ、家庭におけるインテリジェント デバイス ネットワークの簡略化を進めています。この目標は、UPnP デバイス制御プロトコルとサービス制御プロトコルの定義および発行を通じて、達成されつつあります。2001 年 6 月上旬の時点で、350 社以上が UPnP フォーラムに参加しています。UPnP フォーラムは、22 名のメンバーから成る UPnP 運営委員会が統轄しています。技術委員会やマーケティング委員会など、デバイスのカテゴリに特化したさまざまな運営委員会を発足させ、フォーラムの活動を推進しています。フォーラム メンバーのリスト、ならびに登録に関する情報は、フォーラムの Web サイトから入手できます。

Q. UPnP の技術要素は ?

UPnP の適用範囲は幅広く、ホーム ネットワーク、 近隣ネットワーク、中小企業と商業ビルのネットワークを対象としています。ネットワーク上のどの制御デバイスのコマンド経由でも、2 台のデバイス間でデータ通信を実行できます。UPnP は、特定のオペレーティング システム、プログラム言語、または物理モデムに依存しません。

UPnP は、ネットワークの設定を必要としない上に、自動検出をサポートしており、ネットワークへの追加、IP アドレスの取得、デバイス名の通知、 要求に応じた機能提供、ほかのデバイスの存在および機能の認識を動的に行うことができます。DHCP サーバーと DNS ーバーはオプションとなっており、ネットワークで必要な場合に使用されます。さらに、不必要な状態を残さずに、円滑および自動的にネットワークからデバイスを削除することができます。

UPnP はインターネットで成功した技術を利用しており、IP、TCP、UDP、HTTP、および XML などのコンポーネントを大幅に活用しています。標準デバイス制御プロトコル (DCP) の確立に向けた複数のベンダーによるコラボレーションにも、UPnP が関与しています。これは、インターネットと類似した、XML での表現とHTTP 経由の通信が可能な宣言型の接続プロトコルに基づいた契約です。

Q. NAT とは何ですか ? これを使用する理由は ?

ネットワーク アドレス変換は、Internet Engineering Task Force (IETF) の標準です。これを使用すると、(10.0.x.x、192.168.x.x、172.x.x.x などの範囲のプライベート アドレスを使用する) プライベート ネットワーク上の複数の PC やデバイスで、グローバルなルーティングが可能な単独の IPv4 アドレスを共有できます。NAT が多く導入される主な理由は、現世代のインターネット アドレスである IPv4 が残り少なくなっているためです。

NAT は、パブリック インターネットとプライベート LAN の境界を形成するゲートウェイ デバイスで使用されます。プライベート LAN の IP パケットがゲートウェイをトラバースすると、NAT が IP アドレスとポート番号をパブリック IP アドレスとポート番号に変換して追跡し、個々のセッションがそのまま維持されるようにします。MicrosoftR WindowsR XP および Windows Me オペレーティング システムのインターネット接続共有において、多くのインターネット デバイス、特に DSL やケーブル モデムなどを介してブロードバンド ネットワークと接続するには、NAT を使用します。PC をネットワーク接続し、インターネット接続を共有する家庭や中小企業が増えるにつれて、NAT の使用は飛躍的に増加しています。

Q. NAT の問題点は ?

簡潔に述べると次のようになります。NAT は、家庭や中小企業において需要が増加しているマルチプレイヤー ゲーム、リアルタイム通信、その他のピアツーピア サービスといった魅力的な新しい PC 体験とホーム ネットワーク体験の多くを「切断」する場合があります。このようなアプリケーションは、パブリック インターネット上でプライベート アドレスを使用しているか、あるいは同一ポート番号を同時に使用している場合に切断されます。こうしたアプリケーションでは、パブリック アドレスを使用し、セッションごとに一意のポート番号を使用する必要があります。大企業には専門の IT スタッフが待機し、企業内アプリケーションを NAT で確実に動作させることができますが、中小企業や消費者には、このような恵まれた環境がありません。UPnP NAT Traversal は、NAT が原因でアプリケーションに発生する問題の多くを自動的に解決し、NAT を中小企業と消費者にとって最適なソリューションにします。

Q. NAT のトラバースによる解決策の提案者は ?

NAT のトラバースによる解決策は、UPnP IGD 運営委員会によるインターネット ゲートウェイ デバイス (IGD) 仕様に対する取り組みの一環として実施されました。この委員会に参加する UPnP のメンバー企業は、単に委員会の進展を監視するために選出されています。委員会の会長は、Intel 社の Prakash Iyer (プラカッシュ アイヤル) 氏 (prakash.iyer@intel.com) です。マイクロソフトを含む多数の企業が、この活動を推進しています。

Q. NAT のトラバースによる問題を解決する別の方法がありますか ? ある場合は、最適な選択肢として UPnP を使用する理由は ?

この問題を解決する別の方法はありますが、消費者が自動で処理でき、開発者が普遍的に適用可能な方法で、この問題に対応できる業界標準のメカニズムはほかにありません。ほかのアプローチの場合、アプリケーション固有の NAT トラバースのニーズに対応するには、ユーザーによる手動操作が必要であるか、あるいはインターネット ゲートウェイ デバイス ベンダーとソフトウェア開発者による特別な開発努力が必要です。結果的には、UPnP がこの重要な問題を解決できる唯一の方法となります。

ユーザー側の作業: NAT トラバースを手動で操作するには、ブラウザ、グラフィカル ユーザー インターフェイスによるツール、またはコマンド ライン インターフェイス ツールを使用して、ユーザーが家庭のインターネット ゲートウェイ デバイスの設定を変更する必要があります。技術的な知識を有する一部のユーザーにとって、この処理はそれほど難しくはありませんが、多数のユーザーにとって楽な作業ではありません。その上、ユーザーの多くは、NAT トラバースの問題がインターネット経由でのサービス利用の障害となっていることさえ認識していない場合があります。マルチプレイヤー ゲームで遊ぶときや、その他のピアツーピア サービスの実行を試みたときに初めて、何らかの理由で接続できないことに気づきます。その結果、トラブルシューティングやサポート コールに頼ることになり、ユーザー側で、不満や将来の新サービスと環境を試すことに対する抵抗感を生じかねません。

開発者側の作業: ユーザー側でこの NAT トラバースの問題を手動で解決する手間を解消するため、インターネット ゲートウェイ デバイス ベンダーが、アプリケーション層ゲートウェイのサポートをデバイスに記述および追加しています。このアプリケーション層ゲートウェイ ソフトウェアは、特定のアプリケーションを念頭に置いて設計されています。言い換えれば、デバイス ベンダーが、1 つのアプリケーションが NAT を自動的に実行できるように、固有のコードを記述およびテストする必要があります。アプリケーション ソフトウェアがアップデートされると、デバイス ベンダーが記述したアプリケーション層のコードを再度更新およびテストする必要が生じます。このように NAT トラバースの問題を 1 つずつ処理する方法は、対象となるピアツーピア関連アプリケーションがほんのわずかしかない場合には、デバイス ベンダーにとって扱いやすい方法ですが、100 や 1000 といった規模のアプリケーションの場合はうまく適用できません。遂行に多額の費用が必要である上に、各アプリケーションの機能を詳細に理解することも必要です。この問題に取り組むための最適な方法は、デバイス ベンダーが UPnP を認識するソフトウェアやファームウェアを一旦デバイスに追加すれば、同じ技術を使用して、ほかのデバイスとソフトウェアを NAT デバイスと通信できるようにすることです。UPnP は、現在この役割を実現できる唯一の方法です。

Q. UPnP NAT トラバース ソリューションの役割は ?

UPnP 対応 NAT トラバースによって以下の動作を確保できます。

  • マルチプレーヤー ゲーム

  • ピアツーピア接続

  • リアルタイム通信

  • リモート アシスタンス (Windows XP の機能)

このソリューションによって、IHV は、NAT をトラバースするための、アプリケーション層ゲートウェイ (ALG) データベースの記述および維持を行う必要がなくなります。Windows XP、ならびに Windows のプログラミング リソースである Direct Play の両方で、このソリューションをサポートしており、DPlay に記述されたソフトウェア アプリケーションは、NAT を自動的にトラバースする UPnP ソリューションを使用することができます。

UPnP フォーラムの IGD 仕様は、以下の手法を提供することで、この NAT の自動トラバースを実現しています。

  • パブリック IP アドレスの認識

  • 既存のポート マッピングの列挙

  • ポート マッピングの追加と削除

  • マッピングへのリース時間の割り当て

Q. UPnP NAT トラバース ソリューションを実装しているベンダーは ?

現在、大手のゲートウェイ (DSL/ケーブル ルーター) ベンダーのほとんどが、2001 年 7 月以降に出荷される製品に、UPnP NAT トラバース ソリューションを実装する意向を発表しています。このようなベンダーには、 WindowsXP の マイクロソフトのほか、 Linksys、 D-Link、 Intel、 Netgear and Buffalo Technology、Arescom が含まれています。

こうしたベンダーの一部は、すでにデバイスを所有しているユーザーに向け、UPnP 対応 NAT トラバースを追加サポートするファームウェアやソフトウェアのアップグレードを提供すると発表しています。

Q. インターネット ゲートウェイ デバイスが UPnP をサポートしているか調べるには ?

インターネット ゲートウェイ デバイス ベンダーの Web サイトを参照するか、製品パッケージの表示を読み、この機能が含まれているか確認します。販売店の一部では、今後数か月以内に、この情報を把握しておく予定です。UPnP では、来月、UPnP フォーラムのテスト要件を満たした製品であることを明示するため、製品パッケージ、マーケティング資料、または製品に付加できる UPnP ロゴをベンダーに提供します。

Q. 実装にあたり開発者に提供されるリソースは ?

ホワイトペーパーや相互運用テスト イベント (PlugFests) など、多数のリソースを用意しています。技術文書は、UPnP FORUM サイトの UPnP・Resouces (英語) で入手できます。開催が予定されているイベントについては、UPnP FORUM サイトの UPnP・Forum Events and Related Industry Events (英語) を参照してください。マイクロソフトは、MSDN Onlineで、Windows XP の開発情報を提供しています。

Q. さらに詳細が知りたい場合は ?