事件簿 その4
我が家のインターネット接続環境は、K-Opticomの光ファイバーを引込み、ブロードバンドルーターを通して、WindowsXP(問題のPC)、Windows98、MACの3台を有線LAN接続しています。また、WindowsMessengerを利用するため、ルーターにはUPnP(ユニバーサル・プラグ・アンド・プレイ)対応のファームウェアをインストールしています。
このうち、WindowsXPをつないだルーターのポートのLink/Ackランプだけが、OS起動直後からほとんど常時、点滅状態になるのです。 これが今回の怪事件です。
また、これが原因かどうかはわかりませんが、WindowsMessengerの内、音声チャットとビデオチャットが利用できないのです。 以下、調べてみて分ったことを時系列的に記述します。
この2つのうちどちらかを切れば、この怒涛のパケット交換は止むには止むのですが、ルーターのUPnPを有効にし、「インターネットゲートウェイデバイスデバイスの検出とクライアントの制御」をインストールしないと、WindowsMessengerのビデオチャットや音声チャットは使えないらしいので、まったく困ったものです。
おそらく、WindowsXPのUPnPの関連機能がおかしいのでしょう。 要するに・・・
WindowsXPの「ネットワークコンポーネント」にある「インターネットゲートウェイデバイスの検出とデバイスの制御」とは、SSDP なるプロトコルを利用して UPnP 機器(インターネットゲートウェイデバイス:IGD )を検出し、これを SOAP なるプロトコルを使ってコントロールすることみたいです。また、WindowsXP のサービスにある「SSDP Discovery Service」と「UPnP Device Host」もUPnPを動作させるに必要なサービスのようです。
ルーターのメーカーにも問い合わせましたが、メーカー側では同じ環境下で試験しても、パケットの頻繁なやり取りもなく、WinowsMessengerも問題なく使えているので、ルーター側の問題ではなく、こちらのPC内部の問題との回答でした。 ここは、やはり再インストールしかないのか。はぁ〜、めんどっちい。(-_-メ)
などと言っていても始まらないので、悩んだ末に一大決心し、この前の連休を利用して、WindowsXPの再インストールを決行しました。
@データ、各種設定のバックアップ
これら全ての作業を完了し、早速、パケットモニターで見てみました。
@ UDPパケット
A TCPパケット
B TCPパケット
早速、カミさんのチャット仲間にお願いして、ビデオチャットに挑戦しました。WindowsMessengerを起動して、ビデオチャットへの招待と承諾をすると・・・無事に先方の家の中が映し出され、音声も聞こえました。よかった・・・(^o^)丿
Universal Plug and Play(UPnP)
そもそも、ユニバーサルプラグアンドプレイ(Universal Plug and Play:UPnP)とは、Microsoftが1999年に提唱し、Universal Plug and Play Forumで標準化が行なわれている、ネットワークに接続されたデバイスのPlug and Playを行なう技術のことです。 UPnPは,パソコンにプリンターなどの周辺機器を接続するときに動くプラグアンドプレイ(Plug and Play:PnP)をネットワークに拡張したものといえます。UPnP対応機器なら、新しくネットワークにつながったデバイスの自動検出、情報交換、制御などを自動で行ってくれます。例えば、新しく買ったUPnP対応のネットワーク・プリンタをLANに接続すれば、LAN上 のパソコンがそれを検知し、利用者がIPアドレスやサブネット・マスクなどの設定しなくても、そのプリンタを使って印刷できるように、自動的にパソコンをセットアップしてくれるのです。 UPnPは汎用的なTCP/IPベースのネットワーク技術を組み合わせて構成されており、デバイス情報や制御メッセージ、イベントメッセージなどは、全てXMLで記述されます。また、プロトコルとしては、デバイスの検出にはSSDP(Simple Service Discovery Protocol)ベースの「UPnP Discovery Protocol」が、コントロールメッセージの転送にはSOAP(Simple Object Access Protocol)が、イベントの通知にはGENA(General Event Notification Architecture)が、それぞれ使われます。 では、UPnP対応機器がLANに接続された時の、具体的なシステム設定の動きについて、順を追ってみてみます。 @ まず、UPnP対応機器がLANにつながったとき、その機器のIPアド レスなどが自動で設定されます。ここでは,DHCP(dynamic host configuration protocol)が使われます。 A DHCPでIPアドレスが割り当てられると、次は、LAN上のほかの機器に自分がLANにつながったことを通知します。トランスポートプロトコルはUDP(user datagram protocol)、ポート番号は1900番、マルチキャスト(送信先IP:239.255.255.250)でLAN上のすべてのUPnP対応機器に、新しく機器がつながったというアナウンスを送ります。上位層のやりとりは、標準化団体であるUPnP Forumが決めた独自仕様の SSDP(simple service discovery protocol)というプロトコルを使います。 B 次に、新しくつながった機器と、すでにつながっていた機器との間で細かな情報をやりとりするフェーズに入ります。このやりとりには、Webサーバーとブラウザの間の通信に使っているHTTP(hypertext transfer protocol)をそのまま利用しています。ただし、メーカー名、機種名、機能、制御のためのコマンド一覧など、HTTPで送るデータのフォーマットには、XML(extensible markup language)を使います。 C このほか、ネットワーク・プリンタで用紙がなくなったときなど、状態が変化したとき(イベントが発生したとき)の通知には、HTTPを拡張した GENA(general event notification architecture)というプロトコ ルが使われます。 D 機器を制御する際にXMLデータのやりとりに使われるのがSOAP(simple object access protocol)というプロトコルです。つまりSOAPとは、Webサービスで使用されるメッセージ(UPnPの場合はXML)のデータフォーマットや、メッセージの処理ルールを定めた通信規約のことです。またSOAP規格に準拠したXML形式のメッセージのことをSOAPメッセージと呼ぶようです。 E UPnPはハードウェア用のプロトコルのため、対応する機器の類型ごとに DCP(Device Control Protocol)を定めなければなりませんが、UPnPでは既に4つのDCPがInternet Gateway Working Committeeにより策定されており、それ以外のデバイスについても順次 DCP の検討作業が進んでいます。Windows XPでは4つのDCPのうち、IGD(Internet Gateway Device)向けのプロトコルをサポートしている。 このように見てくると,UPnPという新技術は既存技術の寄せ集めであるようです。DHCP、HTTP、XMLなどはすでに名前を聞いたことがありますし、SSDP、GENA、SOAPなど、あまり聞き慣れない技術もありますが、これらも既存技術の延長のようです。 |