UPnP

UPnP( Universal Plug & Play) についてのお勉強


昨日、VoiceChatの実験をしていて奇妙な体験をしました。
ルーターでポートがふさがっているにもかかわらず、VoiceChatを起動するとポートが勝手に空いてしまうという症状です。
なんでこんなことがおこんねん?と頭の中、はてなマークいっぱいでした。
これは、UPnPによってポートが勝手に開かれたからである。
ということを教えてもらいました。
UPnPは、ネットワーク機器全般で、プラグアンドプレイを実現する規格ですが、この規格の中に、ゲートウエィに関する制御についての記述があるようです。
UPnPに対応したルータでは、ポートの開閉などを、UPnPに対応したソフトから制御ができるようです。
WindowsXP, 2000, Meでは、UPnPに対応しており、UPnPに対応した機器がネットワークに接続されると自動的に認識されるようです。
また、UPnPに対応したソフトを起動すると、UPnP対応のルーターに対して、自分はこのポートを今から使うから開けてくれ、などという指示を出すようです。
Windows MessengerやMSNメッセンジャーがこの機能に対応しており、UPnP対応ルーターを使用していれば、ファイル転送や音声チャットができるようです。
DirectPlay8.1以降でもUPnPに対応しており、DirectPlayを通してネットワークにアクセスしようとすると自動的にルーターに対して、開けてくれぇと指示を出すようです。
ということで、VoiceChatはDirectPlayを使用しているので、UPnP対応ルーターであれば、勝手にポートを開けたり閉めたりするようです。
うーん。NATをただ単にひとつのIPを複数のマシンで使うという機能で使っている分にはいいが、NATをファイアーウォールの代わりに使用している場合、問題になるんじゃないかな。
UPnP対応のトロイとか作ったら、ルーターが開けてくれるんだもんな。
ちなみに、WindowsXPのファイアーウォール機能(ICF)はUPnP対応です。
が、アドミンからのリクエストしか、ポートを開けたり閉めたりしないようです。
詳しくはネットワーク上でゲームをするために必要なポートという記事が参考になるようです。

コメントを残す