NAT box の UPnP 活用方法なんぞ考えてみる
最近のブロードバンドルータとか言われている NAT 機能付のルータだと、UPnP (Universal Plug and Play) に対応していて、たとえば NAT box (UPnPで言うところのインターネットゲートウェイデバイス) に LAN 側のホストが投げる UPnP リクエストによって、WAN側の IPアドレスの特定ポートへの TCP接続や UDP パケットを LAN 側の特定ホストの特定ポートに転送する機能を動的に構成されるようになっている。 これを使ったアプリケーションのひとつに Windows Messenger の音声やビデオの通信機能なんかがある。 逆に言うと、Windows Messenger 以外で使っているアプリって見たことがない。 (探せばあるのかもしれないが)
ってことで、UPnP 使うと便利かもって思うソフトウェアを考えてみた。
ひとつにP2Pによるファイル共有ソフトなんかが有効なんじゃないかって思った。 P2Pなアプリケーションの場合、P2Pノードのどちらかが相手ノードに接続開始するようになっていて、両方のノードが NAT の内側にある場合、接続開始ができないってことになる。 ほとんどの P2P のアプリケーションではこの問題をクリアするために、NAT の内側にある場合特定のポートを自分のマシンのIPアドレスの特定ポートに転送するように NAT box の設定をするようなことを要求している。 この要求している設定を、UPnP で自動化すればいいんじゃないの、って思ったわけです。
P2Pな実装をされているアプリーケーションの skype の場合、ITMedia の記事によると UDP Hole punching とか STUN とか使っているんじゃないか、っていうことらしい。 そんな面倒、というか動作保証されてなさそうな方法使わずに、素直に UPnP も使えばいいのに、って外野から見ていて思ったのですが。
コメント
コメントを投稿