メインコンテンツまでスキップ

4. Host Requirements (ホスト要件)

このセクションでは、ソース特定マルチキャストをサポートするホストに関する要件について説明します。これには以下が含まれます:

  • IP モジュールインターフェースへの拡張

  • IP モジュールへの拡張

  • SSM アドレスの割り当て

4.1. Extensions to the IP Module Interface (IPモジュールインターフェースへの拡張)

上位層プロトコルへの IP モジュールインターフェースは、プロトコルが特定のチャネルに送信されたすべてのデータグラムの受信を要求できるように拡張されています。

Subscribe ( socket, source-address, group-address, interface )

Unsubscribe ( socket, source-address, group-address, interface )

ここで

"socket" はセクション 2 で定義されたとおりです。

そして、[IGMPv3] を言い換えると、

"interface" (インターフェース) は、(source-address, group-address) のペアによって識別されるチャネルの受信を有効または無効にするネットワークインターフェースのローカル識別子です。「デフォルト」インターフェースを示すために特別な値を使用してもよい (MAY)。同じチャネルの受信が複数のインターフェースで望まれる場合、Subscribe はそれぞれに対して1回呼び出されます。

上記は厳密に抽象的な機能インターフェースです -- 機能は実装固有の方法で提供できます。例えば、[MSFAPI] のマルチキャストソースフィルタリングアプリケーションプログラミングインターフェースをサポートするホストでは、Subscribe および Unsubscribe インターフェースはその API を介してサポートされるかもしれません。ホストが SSM アドレス範囲を知るように構成されている場合 (構成メカニズムが手動かプロトコル経由かに関わらず)、SSM 宛先アドレスに送信されたマルチキャストを受信するために非ソース特定の要求を行うアプリケーションに対して、ホストのオペレーティングシステムはエラーを返すべき (SHOULD) です。

これらの IP モジュールインターフェースをサポートしないホスト (例えば、ASM のみのホスト) とその基礎となるプロトコルは、SSM チャネルで送信されたトラフィックを確実に受信することを期待できません。以下のセクション 5.2 で指定されているように、ルーターは ASM 参加要求に応答して SSM 転送状態を設定したりデータグラムを転送したりしません。

IP パケット受信インターフェースの広く普及している実装 (例えば、BSD Unix の recvfrom() システムコール) は、受信者がデータグラムが送信された宛先アドレスを特定することを許可していません。そのような実装を持つホストでは、データグラムが受信されるソケットが複数のチャネルに Subscribe されている場合、データグラムの宛先アドレスを推測できません。ホストオペレーティングシステムは、ホストがデータグラムが送信された送信元と宛先アドレスの両方を特定する方法を提供すべき (SHOULD) です。(一例として、Linux オペレーティングシステムは recvmsg() システムコールの応答の一部としてパケットの宛先を提供します。) この機能が存在するまで、アプリケーションはデータグラムが送信されたチャネルを識別するために上位層のメカニズムを使用することを余儀なくされるかもしれません。

4.2. Requirements on the Host IP Module (ホストIPモジュールの要件)

SSM アドレス宛ての着信データグラムは、データグラムの送信元アドレス、宛先アドレス、および到着インターフェースに一致するデータを受信したいという希望を (Subscribe を介して) 示したすべてのソケットに IP モジュールによって配信されなければなりません (MUST)。それは他のソケットに配信されてはなりません (MUST NOT)。

ホスト H 上の最初のソケットがインターフェース I 上のチャネル (S,G) を購読すると、H 上のホスト IP モジュールは、ホストが送信元 S からソース特定マルチキャスト宛先 G に送信されたトラフィックを受信したいことを隣接ルーターに示すために、インターフェース I 上で要求を送信します。同様に、ホスト上の最後のソケットがインターフェース I 上のチャネルの購読を解除すると、ホスト IP モジュールはそのチャネルの購読解除要求をインターフェース I に送信します。

これらの要求は通常、IPv4 の場合は Internet Group Management Protocol version 3 (IGMPv3) メッセージ、IPv6 の場合は Multicast Listener Discovery Version 2 (MLDv2) メッセージになります [IGMPv3,MLDv2]。SSM サービスモデルをサポートするホストは、IPv4 の場合は [IGMPv3]、IPv6 の場合は [MLDv2] のホスト部分を実装しなければなりません (MUST)。また、[GMP-SSM] で説明されている IGMPv3/MLDv2 の動作にも準拠しなければなりません (MUST)。

4.3. Allocation of Source-Specific Multicast Addresses (ソース特定マルチキャストアドレスの割り当て)

SSM 宛先アドレス 232.0.0.0 は予約されており、宛先アドレスとして使用してはなりません。同様に、FF3x::4000:0000 も予約されています。これら2つのアドレスを予約する目的は、IPv4 と IPv6 に対して1つの無効な SSM 宛先を保存することであり、これは実装においてヌル値として役立つ可能性があります。アドレス範囲 232.0.0.1 - 232.0.0.255 は現在、IANA による割り当てのために予約されています。FF3x::4000:0001 から FF3x::7FFF:FFFF の範囲の SSM 宛先アドレスも同様に IANA 割り当てのために予約されています [IPv6-MALLOC]。これらのアドレスを予約する動機は、以下のセクション 9「IANA に関する考慮事項」で概説されています。

残りの SSM アドレスを送信アプリケーションに割り当てるためのポリシーは、送信ホストによって厳密にローカルに決定されます。

SSM アドレスを動的に割り当てる場合、ホストまたはホストオペレーティングシステムは、最初の許可されたアドレスから順番に割り当ててはなりません (MUST NOT)。割り当てられたアドレスが複数のアプリケーションに同時に与えられないことを保証し (かつ予約されたアドレスを回避し) ながら、SSM アドレスをアプリケーションにランダムに割り当てることが推奨されます (RECOMMENDED)。IPv6 の場合、ランダム化はアドレスの下位 31 ビットに適用されるべきです。

セクション 6 で説明されているように、SSM 宛先アドレスを持つ IP パケットのリンク層マルチキャストアドレスへのマッピングは、(イーサネットのような一般的に使用されるリンク層では) データグラムの送信元 IP アドレスを考慮していません。すべてのホストが最初の許可されたアドレスから開始した場合、共有メディアローカルエリアネットワーク上の多くのソース特定チャネルが同じリンク層マルチキャストアドレスを使用する可能性が高くなります。その結果、あるチャネル購読者宛てのトラフィックが別の購読者の IP モジュールに配信され、その後そのデータグラムを破棄しなければならなくなります。

ホストオペレーティングシステムは、セッションの開始前にアプリケーションがチャネル宛先アドレスの一意の割り当てを要求できるインターフェースを提供すべき (SHOULD) であり、この割り当てデータベースはホストの再起動後も持続すべき (SHOULD) です。持続的な割り当てを提供することで、ホストアプリケーションは Web ページや別のディレクトリで開始時間の前にセッションを宣伝できます。(この問題は SSM アプリケーションに固有のものではなく、ASM でも同じ問題が発生することに注意してください。)

この文書は、アドレスを要求または返却するためのインターフェースを定義しておらず、それらの割り当てを保存するためのホストアルゴリズムも指定していません。1つのもっともらしい抽象 API は RFC 2771 [RFC2771] で定義されています。RFC 2771 は、アプリケーションが特定のアドレス範囲内のアドレスを要求することを許可していることに注意してください。このインターフェースが使用される場合、範囲の開始アドレスはアプリケーションによってランダムに選択されるべき (SHOULD) です。

IPv6 の場合、管理的にスコープされた SSM チャネルアドレスは、SSM 宛先アドレスに適切なスコープ識別子を選択することによって作成されます。通常の IPv6 マルチキャストスコープ境界 [SCOPINGv6] は、SSM 宛先アドレスに送信されるトラフィックに適用され、これには送信元と宛先アドレスの両方に適用される関連する境界が含まれます。

IPv4 ソース特定マルチキャストに対して、世界的に合意された管理的にスコープされたアドレス範囲 [ADMIN-SCOPE] は現在定義されていません。IPv4 の場合、SSM アドレスの管理上のスコーピングは、ドメインの境界ルーターでスコープされたアドレスに送信される発信 SSM トラフィックをフィルタリングすることによって、管理ドメイン内で実装できます。