2. The Service Interface for Requesting IP Multicast Reception (IPマルチキャスト受信を要求するためのサービスインターフェース)
2. The Service Interface for Requesting IP Multicast Reception (IPマルチキャスト受信を要求するためのサービスインターフェース)
Within an IP system, there is (at least conceptually) a service interface used by upper-layer protocols or application programs to ask the IP layer to enable and disable reception of packets sent to specific IP multicast addresses. In order to take full advantage of the capabilities of IGMPv3, a system's IP service interface must support the following operation:
IP システム内には(少なくとも概念的には)、上位層プロトコルまたはアプリケーションプログラムが、特定の IP マルチキャストアドレスに送信されたパケットの受信を有効または無効にするように IP 層に要求するために使用されるサービスインターフェースがあります。IGMPv3 の機能を最大限に活用するには、システムの IP サービスインターフェースが次の操作をサポートする必要があります。
IPMulticastListen ( socket, interface, multicast-address,
filter-mode, source-list )
where:
ここで:
-
"socket" is an implementation-specific parameter used to distinguish among different requesting entities (e.g., programs or processes) within the system; the socket parameter of BSD Unix system calls is a specific example.
-
"socket" は、システム内のさまざまな要求エンティティ(プログラムやプロセスなど)を区別するために使用される実装固有のパラメータです。BSD Unix システムコールの socket パラメータは具体的な例です。
-
"interface" is a local identifier of the network interface on which reception of the specified multicast address is to be enabled or disabled. Interfaces may be physical (e.g., an Ethernet interface) or virtual (e.g., the endpoint of a Frame Relay virtual circuit or the endpoint of an IP-in-IP "tunnel"). An implementation may allow a special "unspecified" value to be passed as the interface parameter, in which case the request would apply to the "primary" or "default" interface of the system (perhaps established by system configuration). If reception of the same multicast address is desired on more than one interface, IPMulticastListen is invoked separately for each desired interface.
-
"interface" は、指定されたマルチキャストアドレスの受信を有効または無効にするネットワークインターフェースのローカル識別子です。インターフェースは物理的(イーサネットインターフェースなど)な場合もあれば、仮想的(フレームリレー仮想回線のエンドポイントや IP-in-IP「トンネル」のエンドポイントなど)な場合もあります。実装では、特別な「未指定」値をインターフェースパラメータとして渡すことを許可する場合があります。その場合、要求はシステムの「プライマリ」または「デフォルト」インターフェース(おそらくシステム構成によって確立される)に適用されます。同じマルチキャストアドレスの受信を複数のインターフェースで希望する場合は、希望するインターフェースごとに IPMulticastListen を個別に呼び出します。
-
"multicast-address" is the IP multicast address, or group, to which the request pertains. If reception of more than one multicast address on a given interface is desired, IPMulticastListen is invoked separately for each desired multicast address.
-
"multicast-address" は、要求に関連する IP マルチキャストアドレスまたはグループです。特定のインターフェースで複数のマルチキャストアドレスの受信を希望する場合は、希望するマルチキャストアドレスごとに IPMulticastListen を個別に呼び出します。
-
"filter-mode" may be either INCLUDE or EXCLUDE. In INCLUDE mode, reception of packets sent to the specified multicast address is requested only from those IP source addresses listed in the source-list parameter. In EXCLUDE mode, reception of packets sent to the given multicast address is requested from all IP source addresses except those listed in the source-list parameter.
-
"filter-mode" は INCLUDE または EXCLUDE のいずれかです。INCLUDE モードでは、指定されたマルチキャストアドレスに送信されたパケットの受信は、source-list パラメータにリストされている IP 送信元アドレスからのもののみ要求されます。EXCLUDE モードでは、指定されたマルチキャストアドレスに送信されたパケットの受信は、source-list パラメータにリストされているものを除くすべての IP 送信元アドレスから要求されます。
-
"source-list" is an unordered list of zero or more IP unicast addresses from which multicast reception is desired or not desired, depending on the filter mode. An implementation MAY impose a limit on the size of source lists, but that limit MUST NOT be less than 64 addresses per list. When an operation causes the source list size limit to be exceeded, the service interface MUST return an error.
-
"source-list" は、フィルタモードに応じてマルチキャスト受信が望まれるか望まれない、0 個以上の IP ユニキャストアドレスの順序なしリストです。実装はソースリストのサイズに制限を課すことができます(MAY)が、その制限はリストあたり 64 アドレス未満であってはなりません(MUST NOT)。操作によってソースリストのサイズ制限を超えた場合、サービスインターフェースはエラーを返さなければなりません(MUST)。
For a given combination of socket, interface, and multicast address, only a single filter mode and source list can be in effect at any one time. However, either the filter mode or the source list, or both, may be changed by subsequent IPMulticastListen requests that specify the same socket, interface, and multicast address. Each subsequent request completely replaces any earlier request for the given socket, interface and multicast address.
ソケット、インターフェース、およびマルチキャストアドレスの特定の組み合わせに対して、一度に有効にできるのは単一のフィルタモードとソースリストのみです。ただし、同じソケット、インターフェース、およびマルチキャストアドレスを指定する後続の IPMulticastListen 要求によって、フィルタモードまたはソースリスト、あるいはその両方を変更できます。後続の各要求は、指定されたソケット、インターフェース、およびマルチキャストアドレスに対する以前の要求を完全に置き換えます。
Previous versions of IGMP did not support source filters and had a simpler service interface consisting of Join and Leave operations to enable and disable reception of a given multicast address (from all sources) on a given interface. The equivalent operations in the new service interface follow:
IGMP の以前のバージョンではソースフィルタがサポートされておらず、特定のインターフェースで特定のマルチキャストアドレス(すべてのソースから)の受信を有効および無効にする Join および Leave 操作で構成される単純なサービスインターフェースがありました。新しいサービスインターフェースでの同等の操作は次のとおりです。
The Join operation is equivalent to
Join 操作は次と同等です。
IPMulticastListen ( socket, interface, multicast-address,
EXCLUDE, {} )
and the Leave operation is equivalent to:
Leave 操作は次と同等です。
IPMulticastListen ( socket, interface, multicast-address,
INCLUDE, {} )
where {} is an empty source list.
ここで、{} は空のソースリストです。
An example of an API providing the capabilities outlined in this service interface is in [FILTER-API].
このサービスインターフェースで概説されている機能を提供する API の例は、[FILTER-API] にあります。