URD はシスコが開発した移行ソリューションで、アプリケーションを変更したり、アプリケーションを実行しているレシーバ ホスト上のソフトウェアを変更または追加することなく、既存の IP マルチキャスト レシーバ アプリケーションを SSM と共に使用できます。 URD は、Web ブラウザからレシーバ アプリケーションを開始したり制御できるコンテンツ プロバイダー ソリューションです。
URD は、特殊な URL を Web ブラウザからラスト ホップ ルータに渡すことによって機能します。 この URL は、URD インターセプト URL と呼ばれます。 URD インターセプト URL は、(S, G)チャネル加入で符号化され、ラスト ホップ ルータが簡単に代行受信できる形式になっています。
アプリケーションがマルチキャスト グループ G のメンバーシップを維持する限り、ラスト ホップ ルータが URD インターセプト URL で符号化された (S, G) チャネル加入を代行受信し、レシーバ アプリケーションから同じマルチキャスト グループの IGMP グループ メンバーシップ レポートを参照するとただちに、ラスト ホップ ルータが PIM-SSM を使用して (S, G) チャネルに参加します。 URD インターセプト URL は、当初、参加のためにソースのアドレスをラスト ホップ ルータに提供するためにのみ必要です。
URD インターセプト URL の構文は、次のとおりです。
http://
webserver
:465/
path
?group=
group
&source=
source1
&...source=
sourceN
&
webserver ストリングは、URL がターゲットとする名前または IP アドレスです。 ラスト ホップ ルータが URD メカニズムをサポートできないことを Web サーバが確認する場合以外は、このターゲットは既存の Web サーバの IP アドレスである必要はありません。 465 という番号は URD ポートを示します。 ポート 465 は、URD メカニズムのために IANA によってシスコ用に確保されています。このため、他のアプリケーションはこのポートを使用できません。
ホストのブラウザが URD インターセプト URL を検出すると、ポート 465 上で Web サーバへの TCP 接続を開こうとします。 ルータがホストから TCP パケットを受信するインターフェイスで URD 用にラスト ホップ ルータがイネーブルの場合、(Web サーバのアドレスとは関係のない)TCP 接続の実際の宛先アドレスから独立したポート 465 への TCP 接続のすべてのパケットを代行受信します。 代行受信すると、ラスト ホップ ルータはこの TCP 接続で HTTP の非常に単純なサブセットを伝え、Web サーバをエミュレートします。 ラスト ホップ ルータが理解し、応答する唯一の HTTP 要求は、次の GET 要求です。
GET
argument
HTTP/1.0
argument
= /
path
?group=
group
&source=
source1
&...source=
sourceN
&
GET コマンドを受信すると、ルータはこの構文に従って引数を解析し、1 つまたは複数の (S, G) チャネル メンバーシップを取得しようとします。 引数の path ストリングは、最初の疑問符まで(最初の疑問符を含まない)で無視されます。 group と source1 から sourceN までのストリングは、この引数が加入要求であるチャネルの IP アドレスまたは完全修飾ドメイン名です。 引数が表示された構文に一致する場合、ルータは(source1、group)から(sourceN、group)チャネルに加入する引数を解釈します。
次の条件が満たされると、ルータはチャネル加入を受け入れます。
- マルチキャスト グループの IP アドレスは SSM 範囲内です。
- TCP 接続の元となるホストの IP アドレスはルータに直接接続されます。
チャネル加入が受け入れられると、ルータは次の HTML ページ形式で TCP 接続に応答します。
HTTP/1.1 200 OK
Server:cisco IOS
Content-Type:text/html
<html>
<body>
Retrieved URL string successfully
</body>
</html>
エラー状態が発生すると、返信 HTML ページの <body> 部分が適切なエラー メッセージを表示します。 HTML ページは URD メカニズムの副産物です。 URD インターセプト URL を表示する Web ページの設計方法に応じて、この返信テキストはユーザに表示されるか、または、実際の返信 HTML ページが表示されないようにサイズが決定されます。
URD メカニズムの主な影響は、ルータが受信したチャネル加入を記憶し、ホストによって受信された IGMP グループ メンバーシップ レポートと一致させます。 ルータは、IGMP グループ メンバーシップ レポートと一致させずに、URD (S, G) チャネル加入を 3 分まで記憶します。 ルータは、マルチキャスト グループ G の IGMP グループ メンバーシップ レポートと、同じグループ G の URD(S, G)チャネル加入の両方を受信したことを確認すると、すぐに PIM-SSM を介して(S, G)チャネルに参加します。 ルータは、ホストからの継続中の IGMP メンバーシップの存在だけに基づいて(S, G)チャネルへの参加を続けます。 このため、当初の URD チャネル加入は、URD で SSM をイネーブルにするために Web ページ経由で唯一追加される必要があります。
レシーバ ホストからのラスト ホップ ルータが URD に対してイネーブルでない場合、ポート 465 の Web サーバへの HTTP 接続は代行受信されません。 この状況により、Web サーバ上でポート 465 への TCP 接続が発生します。 Web サーバ上でさらにプロビジョニングが行われない場合、URD インターセプト URL を表示するための Web ページのエリアに(この出力を表示するように Web ページが設計されている場合)通知(「Connection refused」など)が表示される場合があります。 ポート 465 で Web サーバに要求を「リッスン」させ、Web サーバがチャネル加入が失敗したかどうかを知る(たとえば、後でより複雑なエラー説明をユーザに返信する)ことができる Common Gateway Interface(CGI)スクリプトをインストールすることもできます。
ルータはテキストと HTML のコンテンツタイプを返すため、URD インターセプト URL を Web ページに含める最善の方法は、フレームを使用する方法です。 フレームのサイズを定義することによって、表示されているページで URD インターセプト URL を非表示にすることもできます。
デフォルトでは、URD はすべてのインターフェイス上でディセーブルです。 URD がインターフェイス上で ip urd インターフェイス コンフィギュレーション コマンドによって設定されている場合、SSM 範囲の IP マルチキャスト アドレスに対してのみアクティブになります。