現在オフラインです。再接続するためにインターネットの接続を待っています

クライアントが Windows Media Player を使用して Windows ファイアウォール経由でマルチキャスト ストリームやその他の UDP ストリームに接続できないことがある

重要 : この資料には、セキュリティ設定を低くする方法、またはコンピュータのセキュリティ機能を無効にする方法が記載されています。これらの変更によって特定の問題を回避できますが、これらの変更を行う前に、記載された回避策を現在の環境に適用した場合の危険性を評価することをお勧めします。この資料の回避策を適用する場合は、記載されている手順以外にも、システムを保護するための適切な手順を実行してください。
概要
この資料では、Microsoft Windows XP Service Pack 2 (SP2) をインストールした後に見られる、Microsoft Windows Media Player、および Microsoft Windows Media Format SDK を使用して作成されたアプリケーションの新しい動作について説明します。この新しい動作は、Windows ファイアウォールを経由したネットワーク上でのコンテンツの再生に影響します。Windows XP SP2 では、Windows ファイアウォールがデフォルトで有効になっています。この資料では、この新しい動作を回避する方法についても説明します。
現象
以下の条件に該当する場合、クライアントが Microsoft Windows Media Player を使用してマルチキャスト ストリームやその他の UDP (User Datagram Protocol) ストリームに接続できないことがあります。
  • クライアントで Microsoft Windows XP Service Pack 2 (SP2) 以降が実行されています。
  • クライアントで Windows ファイアウォールが有効になっています。
  • ユーザーが使用しているユーザー アカウントに管理者権限がありません。
原因
この現象は、Windows ファイアウォールの新しいセキュリティ機能により、UDP の着信トラフィックを許可するように管理者が Windows ファイアウォールを構成していない場合に UDP の着信トラフィックが拒否されることが原因で発生します。以前のバージョンの Windows でも、Windows ファイアウォールが有効になっている場合は同じ現象が発生します。Windows XP の SP2 以降のバージョンでは、Windows ファイアウォールがデフォルトで有効です。このため、新しいバージョンの Windows では、この問題が発生しやすくなっています。

: Windows ファイアウォールは、以前のバージョンの Windows XP ではインターネット接続ファイアウォール (ICF) と呼ばれていました。
回避策
警告 : この資料に記載された回避策を適用することにより、悪意を持ったユーザーまたはウイルスなど悪質なソフトウェアによる攻撃をコンピュータまたはネットワークが受けやすくなる場合があります。この資料の情報は、ユーザーが記載されている回避策を自己の判断で使用することを前提に提供されているものであり、この回避策をお勧めするものではありません。この回避策は、自己の責任においてご使用ください。

管理者権限を持たないユーザーが UDP ストリームを受信できるようにするには、以下のいずれかの方法を使用します。加えて、各方法の長所と短所についても説明します。

Windows ファイアウォールの例外一覧にアプリケーションを追加する

Windows ファイアウォールの例外一覧に含まれているアプリケーションが受信する入力トラフィックはすべて許可されます。さまざまな点で、これが最も簡単な方法です。ただし、不要な脆弱性を存在させることになるため、他の方法と比較すると安全性は低くなります。

重要 : マイクロソフトでは、この方法は推奨しません。

Windows Media サービスを実行し、イントラネット内のクライアントにストリーミングを行うすべてのサーバーの IP アドレスからの着信トラフィックを個別に許可する

管理者は、特定の IP アドレスからの着信トラフィックを許可するように Windows ファイアウォールを構成できます。イントラネット内で Windows Media サービスを実行しているサーバーの数が多くない場合、または IP アドレスの範囲を簡単に指定できる場合は、この方法が適しています。この方法を使用し、同時に Windows ファイアウォールの例外一覧にアプリケーションを追加できます。ただし、指定した IP アドレス以外からの着信トラフィックは許可されません。

特定のアプリケーションでトラフィックの受信に使用するポートを開く

特定のポートに着信した UDP トラフィックのみを許可するように Windows ファイアウォールを構成できます。使用されるポートはプロトコルによって決まっています。

: この方法では、Media Player の設定やサーバーの設定を変更することが必要な場合があります。
  • RTSP (Real Time Streaming Protocol) - Windows Media Player のデフォルトの設定では、RTSP プロトコルで使用される着信データのポートはランダムに選択されます。使用するポートの範囲をユーザーが指定するには、以下の手順を実行します。
    1. [ツール] メニューの [オプション] をクリックします。
    2. [オプション] ダイアログ ボックスで、[ネットワーク] タブをクリックします。
    3. [ネットワーク] タブで、[ポート] チェック ボックスをオンにし、使用するポートの範囲を指定します。
    [ポート] チェック ボックスがオンになっている場合、RTSP では指定された範囲内のポートが必ず使用されます。その範囲のポートを Windows ファイアウォールで開くことにより、RTSP (UDP) ストリーミングを受信できます。Windows ファイアウォールでポートを開くには、管理者の権限が必要です。
  • Microsoft Media Server (MMS) - RTSP と同様、MMS (UDP) でも着信データに対してポートがランダムに使用されます。MMS でも、[ポート] のオプションで指定したポートが使用されます。この範囲のポートを Windows ファイアウォールで開くことにより、MMS (UDP) ストリーミングを受信できます。Windows ファイアウォールでポートを開くには、管理者の権限が必要です。
  • マルチキャスト - マルチキャスト ストリームの場合、クライアントがストリーミング トラフィックの受信に使用するポートは、サーバー側で構成されます。この値は、Microsoft NetShow チャネル (.nsc) ファイルで指定されています。実際にポートが使用されるまで、クライアント側でポート番号を直接確認する方法はありません。Windows Media サービスの管理者は、マルチキャスト公開ポイントを構成することで、着信ポートを設定できます。これを行うには、以下の手順を実行します。
    1. 公開ポイントの [プロパティ] タブで、[区分] ボックスの一覧の [マルチキャスト ストリーミング] をクリックし、[プラグイン] ボックスの一覧の [WMS マルチキャスト データ ライタ] をダブルクリックします。
    2. マルチキャスト IP アドレスなどのマルチキャスト プロパティを構成します。
    ネットワーク管理者は、指定されたポートをファイアウォールで開くこともできます。
  • HTTP (Hypertext Transfer Protocol) - HTTP は TCP ベースのプロトコルであるため、「現象」に記載されている問題の影響を受けません。HTTP ストリームには直接アクセスできます。また、RTSP および MMS の両方で、必要なポートを開くことができない場合は、プロトコル切り替え (プロトコル ロールオーバー) により HTTP ストリームにアクセスできます。

イントラネット上のクライアントにストリーミングを行うすべての Windows Media サーバーの公開ポイントで、TCP ベースのプロトコルへの切り替えを有効にする

この方法は、Windows ファイアウォールの構成を変更する必要がないため、他の方法より安全です。ただし、TCP 接続の場合、マルチキャスト トラフィックや UDP トラフィックよりもネットワーク リソースやサーバー リソースの消費量が増加します。このため、使用中のネットワークでのサーバーの負荷状況や、プロトコル切り替えが必要になるクライアントの数によっては、この方法が最適ではない場合があります。
詳細
企業では、ローカル イントラネット上でライブ イベントのブロードキャスト配信を行うためにマルチキャスト ストリームが使用されることがよくあります。マルチキャスト ストリームでは、すべてのクライアントが同じマルチキャスト ストリームに接続するため、ブロードキャスト配信に使用されるネットワーク帯域幅が限定されます (クライアント数が増えても帯域幅の消費量は増加しません)。

: インターネットのネットワーク セグメントはほとんどがマルチキャストに対応していないため、通常、マルチキャスト ストリームがインターネット経由で送信されることはありません。

クライアントが UDP プロトコルを使用してストリームまたはマルチキャスト ストリームに接続する場合、Windows Media Format SDK および Windows Media Player はそのストリームの着信 UDP トラフィックを受信するために必要なポートを Windows ファイアウォールで開こうとします。しかし、Windows ファイアウォールの設定は管理者以外変更できないため、ユーザーがそのアプリケーションの実行に使用しているユーザー アカウントに管理者権限がない場合はポートを開くことができません。

Windows Media サービスを実行しているサーバー上のマルチキャスト公開ポイントでユニキャスト ストリーミングへの切り替えが有効になっている場合、クライアントは切り替えを行い、TCP ベースのプロトコルを使用してストリームに接続します。

しかし、ユニキャスト ストリーミングでは、マルチキャスト ストリーミングの場合より多くのネットワーク リソースおよびサーバー リソースが消費されます。このため、マルチキャスト クライアントがユニキャスト接続に切り替えると、ネットワークやサーバーの負荷が増大します。ユニキャスト接続に切り替えるクライアントの数が多い場合、増大した負荷に対応できる十分なリソースがないと、ユーザーに届くコンテンツの品質が低下します。

同様に、UDP ストリームに接続しようとして接続できなかったクライアントは TCP ベースのプロトコルに切り替えます。ユーザーがインストールしている Windows Media Format SDK のバージョンによっては、Windows ファイアウォールにより [Windows セキュリティの警告] ダイアログ ボックスが表示されることがあります。このダイアログ ボックスには、そのアプリケーションがインターネットから受け付ける接続がブロックされたことを通知するメッセージが表示されます。

Windows Media サービスの管理者は、TCP 接続で使用されるサーバーのリソースが UDP 接続の場合より若干多いことに注意する必要があります。このため、UDP プロトコルから TCP ベースのプロトコルに切り替えるクライアントが多いと、サーバーの負荷の増大により問題が発生することがあります。

ストリーミングで使用されるプロトコルは、URL、およびサーバーとクライアントの両方の設定に依存する場合があります。また、クライアントでは、前回接続が正常に確立したときに使用されたプロトコルの情報がキャッシュされます。それ以降、クライアントがストリームに接続するときは、この情報に応じて、最初に試行するプロトコルを変更することがあります。

ストリームに使用されているプロトコルを確認するには、[表示] メニューの [統計情報] をクリックし、[詳細] タブに表示される [プロトコル] の値を参照してください。

以下の例では、ユーザーが Windows Media Player を使用中で、次の条件が満たされていることを想定しています。
  • クライアントで Windows XP SP2 またはそれ以降が実行されています。
  • クライアントで Windows ファイアウォールが有効になっています。
  • ユーザーが使用しているユーザー アカウントに管理者権限がありません。
: Windows Media Format SDK ベースの他のアプリケーションでも同様の現象が発生する可能性があります。

クライアントがマルチキャスト URL に接続し、プロトコル切り替えが有効な場合

  • Windows Media Player 10 - マルチキャストの切り替え (ロールオーバー) が発生します。クライアントはユニキャスト プロトコルに切り替え、TCP を使用してストリームに接続します。
  • Windows Media Player 9 シリーズ - Windows ファイアウォールによりユーザーにセキュリティの警告が表示され、プロトコル切り替えが行われます。クライアントはユニキャスト プロトコルに切り替え、TCP を使用してストリームに接続します。セキュリティの警告が表示された場合、ユーザーは同じアプリケーションを使用するときに同じ通知が再度表示されないようにすることができます。

クライアントがマルチキャスト URL に接続し、プロトコル切り替えが有効でない場合

  • Windows Media Player 10 - Windows Media Player がサーバーに接続できないことを通知するエラー メッセージがユーザーに表示されます。このエラー メッセージには、ファイアウォールが問題の原因となっている可能性があることが示されます。
  • Windows Media Player 9 シリーズ - Windows ファイアウォールにより、ユーザーにセキュリティの警告が表示されます。その後、Windows Media Player のエラー メッセージも表示されます。このエラー メッセージには、サーバーがビジー状態であることが示されます。セキュリティの警告が表示された場合、ユーザーは同じアプリケーションを使用するときに同じ通知が再度表示されないようにすることができます。

クライアントがネゴシエーションで決定されたプロトコル URL に接続する場合

多くのプロトコルでは、最も効率の良い方法で通信が行われるようにサーバーとの間で自動的にネゴシエーションが行われます。たとえば、RTSP および MMS では、どちらも、最初に UDP を使用してコンテンツのストリーミングが試行されます。UDP を使用してストリーミングができない場合は、TCP が使用されます。

アプリケーションの設定の中には、プロトコル切り替えの動作に影響を及ぼすものがあります。たとえば、Windows Media Services 9 シリーズのファスト スタート機能およびファスト キャッシュ機能の設定は、プロトコル切り替えの動作に影響を及ぼします。プロトコル切り替えの動作については、製品ドキュメントを参照してください。
  • Windows Media Player 10 - クライアントは TCP を使用して接続します。
  • Windows Media Player 9 シリーズ - URL で指定されているプロトコルによって、Windows ファイアウォールによりセキュリティの警告がユーザーに表示される場合と表示されない場合があります。クライアントは TCP を使用して接続します。

UDP プロトコルが指定されている URL にクライアントが接続する場合

たとえば、プロトコルにより、接続で RTSPU または MMSU を使用するように指定されている場合です。
  • Windows Media Player 10 - Windows Media Player がサーバーに接続できなかったことを通知するエラー メッセージがユーザーに表示されます。このエラー メッセージには、ファイアウォールがこの問題の原因となっている可能性があることが示されます。
  • Windows Media Player 9 シリーズ - Windows ファイアウォールにより、セキュリティの警告がユーザーに表示されます。その後、Windows Media Player がサーバーに接続できなかったことを示すエラー メッセージがユーザーに表示されます。このエラー メッセージには、ファイアウォールがこの問題の原因となっている可能性があることが示されます。
関連情報
関連情報については、以下の製品ドキュメントを参照してください。

Windows ファイアウォールの詳細については、以下の MSDN (Microsoft Developer Network) Web サイトを参照してください。個々の構成の設定方法については、以下のマイクロソフト Web サイトを参照してください。マルチキャスト ストリーミングの詳細については、以下のマイクロソフト Web サイトを参照してください。プロトコル切り替えの詳細については、以下のマイクロソフト Web サイトを参照してください。
関連情報
なお、この資料は英語版の翻訳であり、日本語環境での確認は行っておりません。
Multicast WMP XPSP2 firewall
プロパティ

文書番号:883831 - 最終更新日: 12/06/2007 16:45:00 - リビジョン: 3.5

Microsoft Windows Media Player 9 Series, Windows Media Format 9 Series Software Development Kit, Windows Media 9 Series Software Development Kit, Windows Media Format 9.5 Software Development Kit, Microsoft Windows Media Player 10, Microsoft Windows Media Player 10 SDK

  • kbinfo kbprb KB883831
フィードバック
r="var m=document.createElement('meta');m.name='ms.dqp0';m.content='true';document.getElementsByTagName('head')[0].appendChild(m);" onload="var m=document.createElement('meta');m.name='ms.dqp0';m.content='false';document.getElementsByTagName('head')[0].appendChild(m);" src="http://c1.microsoft.com/c.gif?">