2. Host Requirements for Source-Specific Multicast
This section defines the notion of an "SSM-aware" host and then goes on to describe the API requirements and the SFGMP protocol requirements of an SSM-aware host. It is important to note that SSM can be used by any host that supports source filtering APIs and whose operating system supports the appropriate SFGMP. The SFGMP modifications described in this section make SSM work better on an SSM-aware host, but they are not strict prerequisites for the use of SSM. このセクションでは、「SSM対応」ホストの概念を定義し、SSM対応ホストのAPI要件とSFGMPプロトコル要件について説明します。SSMは、ソースフィルタリングAPIをサポートし、オペレーティングシステムが適切なSFGMPをサポートするすべてのホストで使用できることに注意することが重要です。このセクションで説明するSFGMPの変更により、SSM対応ホストでSSMがより適切に機能するようになりますが、これらはSSMを使用するための厳密な前提条件ではありません。
The 232/8 IPv4 address range is currently allocated for SSM by IANA [IANA-ALLOCATION]. In IPv6, the FF3x::/32 range (where 'x' is a valid IPv6 multicast scope value) is reserved for SSM semantics [RFC3306], although today SSM allocations are restricted to FF3x::/96. ([SSM] has a more thorough discussion of this topic.) A host that knows the SSM address range and is capable of applying SSM semantics to it is described as an "SSM-aware" host. 232/8 IPv4アドレス範囲は現在、IANA [IANA-ALLOCATION]によってSSMに割り当てられています。IPv6では、FF3x::/32範囲('x'は有効なIPv6マルチキャストスコープ値)はSSMセマンティクスのために予約されています[RFC3306]が、現在SSM割り当てはFF3x::/96に制限されています。([SSM]にはこのトピックに関するより詳細な議論があります。)SSMアドレス範囲を知っており、それにSSMセマンティクスを適用できるホストは、「SSM対応」ホストと呼ばれます。
A host or router may be configured to apply SSM semantics to addresses other than those in the IANA-allocated range. The GMP module on a host or router SHOULD have a configuration option to set the SSM address range(s). If this configuration option exists, it MUST default to the IANA-allocated SSM range. The mechanism for setting this configuration option MUST at least allow for manual configuration. Protocol mechanisms to set this option may be defined in the future. ホストまたはルーターは、IANA割り当て範囲以外のアドレスにSSMセマンティクスを適用するように構成できます。ホストまたはルーターのGMPモジュールには、SSMアドレス範囲を設定するための構成オプションが必要です(SHOULD)。この構成オプションが存在する場合、IANA割り当てのSSM範囲にデフォルト設定する必要があります(MUST)。この構成オプションを設定するメカニズムは、少なくとも手動構成を許可する必要があります(MUST)。このオプションを設定するためのプロトコルメカニズムは、将来定義される可能性があります。
2.1. API Requirements
If the host IP module of an SSM-aware host receives a non-source-specific request to receive multicast traffic sent to an SSM destination address, it SHOULD return an error to the application, as specified in [MSFAPI] (MODIFICATION). On a non-SSM-aware host, an application that uses the wrong API (e.g., "join(G)", "IPMulticastListen(G,EXCLUDE(S1))" for IGMPv3, or "IPv6MulticastListen(G,EXCLUDE(S2))" for MLDv2) to request delivery of packets sent to an SSM address will not receive the requested service, because an SSM-aware router (following the rules of this document) will refuse to process the request, and the application will receive no indication other than a failure to receive the requested traffic. SSM対応ホストのホストIPモジュールが、SSM宛先アドレスに送信されたマルチキャストトラフィックを受信するための非ソース特定の要求を受信した場合、[MSFAPI]で指定されているように、アプリケーションにエラーを返すべきです(SHOULD)(MODIFICATION)。非SSM対応ホストでは、SSMアドレスに送信されたパケットの配信を要求するために間違ったAPI(例:IGMPv3の場合は "join(G)", "IPMulticastListen(G,EXCLUDE(S1))"、MLDv2の場合は "IPv6MulticastListen(G,EXCLUDE(S2))")を使用するアプリケーションは、要求されたサービスを受信しません。これは、SSM対応ルーター(この文書のルールに従う)が要求の処理を拒否するためであり、アプリケーションは要求されたトラフィックの受信失敗以外の指示を受け取りません。
2.2. GMP Requirements
This section defines the behavior of the SFGMP protocol module on an SSM-aware host, including two modifications to the protocols as described in [IGMPv3, MLDv2]. It also includes a number of clarifications of protocol operations. In doing so, it documents the behavior of an SSM-aware host with respect to sending and receiving the following GMP message types: このセクションでは、SSM対応ホスト上のSFGMPプロトコルモジュールの動作を定義し、[IGMPv3, MLDv2]で説明されているプロトコルへの2つの変更を含みます。また、プロトコル操作に関するいくつかの明確化も含まれています。そうすることで、以下のGMPメッセージタイプの送受信に関するSSM対応ホストの動作を文書化します。
- IGMPv1/v2 and MLDv1 Reports (2.2.1)
- IGMPv3 and MLDv2 Reports (2.2.2)
- IGMPv1 Queries, IGMPv2 and MLDv1 General Queries (2.2.3)
- IGMPv2 Leave and MLDv1 Done (2.2.4)
- IGMPv2 and MLDv1 Group Specific Query (2.2.5)
- IGMPv3 and MLDv2 Group Specific Query (2.2.6)
- IGMPv3 and MLDv2 Group-and-Source Specific Query (2.2.7)
2.2.1. IGMPv1/v2 and MLDv1 Reports
An SSM-aware host operating according to [IGMPv3, MLDv2] could send an IGMPv1, IGMPv2, or MLDv1 report for an SSM address when it is operating in "older-version compatibility mode." This is an exceptional (error) condition, indicating that the router(s) cannot provide the SFGMP support needed for SSM, and an error is logged when the host enters compatibility mode for an SSM address, as described below. In this situation, it is likely that traffic sent to a channel (S,G) will not be delivered to a receiving host that has requested to receive channel (S,G). [IGMPv3, MLDv2]に従って動作するSSM対応ホストは、「旧バージョン互換モード」で動作しているときに、SSMアドレスに対してIGMPv1、IGMPv2、またはMLDv1レポートを送信する可能性があります。これは例外的な(エラー)状態であり、ルーターがSSMに必要なSFGMPサポートを提供できないことを示しており、以下で説明するように、ホストがSSMアドレスの互換モードに入るとエラーがログに記録されます。この状況では、チャネル(S,G)に送信されたトラフィックは、チャネル(S,G)の受信を要求した受信ホストに配信されない可能性があります。
[IGMPv3] and [MLDv2] specify that a host MAY allow an older-version report to suppress its own IGMPv3 or MLDv2 Membership Record. An SSM-aware host, however, MUST NOT allow its report to be suppressed in this situation (MODIFICATION). Suppressing reports in this scenario would provide an avenue for an attacker to deny SSM service to other hosts on the link. [IGMPv3]および[MLDv2]は、ホストが旧バージョンのレポートによって自身のIGMPv3またはMLDv2メンバーシップレコードを抑制することを許可してもよい(MAY)と指定しています。ただし、SSM対応ホストは、この状況でレポートが抑制されることを許可してはなりません(MUST NOT)(MODIFICATION)。このシナリオでレポートを抑制すると、攻撃者がリンク上の他のホストへのSSMサービスを拒否する手段を提供することになります。
2.2.2. IGMPv3 and MLDv2 Reports
A host implementation may report more than one SSM channel in a single report either by including multiple sources within a group record or by including multiple group records. ホストの実装は、グループコード内に複数のソースを含めるか、複数のグループレコードを含めることによって、単一のレポートで複数のSSMチャネルを報告できます。
A Group Record for a source-specific destination address may (under normal operation) be any of the following types: ソース特定宛先アドレスのグループレコードは(通常動作では)、以下のいずれかのタイプになります。
-
MODE_IS_INCLUDE as part of a Current-State Record
-
Current-State Recordの一部としてのMODE_IS_INCLUDE
-
ALLOW_NEW_SOURCES as part of a State-Change Record
-
State-Change Recordの一部としてのALLOW_NEW_SOURCES
-
BLOCK_OLD_SOURCES as part of a State-Change Record
-
State-Change Recordの一部としてのBLOCK_OLD_SOURCES
A report may include both SSM destination addresses and non-source-specific, i.e., Any-Source Multicast (ASM) destination addresses, in the same message. レポートには、SSM宛先アドレスと非ソース特定、つまりAny-Source Multicast(ASM)宛先アドレスの両方を同じメッセージに含めることができます。
Additionally, a CHANGE_TO_INCLUDE_MODE record may be sent by a host in some cases, for instance, when the SSM address range is changed through configuration. A router should process such a record according to the normal SFGMP rules. さらに、SSMアドレス範囲が構成によって変更された場合など、場合によってはホストによってCHANGE_TO_INCLUDE_MODEレコードが送信されることがあります。ルーターは、通常のSFGMPルールに従ってそのようなレコードを処理する必要があります。
An SSM-aware host SHOULD NOT send any of the following record types for an SSM address. SSM対応ホストは、SSMアドレスに対して以下のレコードタイプを送信すべきではありません(SHOULD NOT)。
-
MODE_IS_EXCLUDE as part of a Current-State Record
-
Current-State Recordの一部としてのMODE_IS_EXCLUDE
-
CHANGE_TO_EXCLUDE_MODE as part of a Filter-Mode-Change Record
-
Filter-Mode-Change Recordの一部としてのCHANGE_TO_EXCLUDE_MODE
This is a MODIFICATION to [IGMPv3, MLDv2], imposing a restriction on its use for SSM destination addresses. The rationale is that EXCLUDE mode does not apply to SSM addresses, and an SSM-aware router will ignore MODE_IS_EXCLUDE and CHANGE_TO_EXCLUDE_MODE requests in the SSM range, as described below. これは[IGMPv3, MLDv2]への変更(MODIFICATION)であり、SSM宛先アドレスでの使用に制限を課します。その理由は、EXCLUDEモードはSSMアドレスには適用されず、SSM対応ルーターは、以下で説明するように、SSM範囲内のMODE_IS_EXCLUDEおよびCHANGE_TO_EXCLUDE_MODE要求を無視するためです。
2.2.3. IGMPv1 Queries, IGMPv2 and MLDv1 General Queries
If an IGMPv1 Query, or an IGMPv2 or MLDv1 General Query is received, the SFGMP protocol specifications require the host to revert to the older (IGMPv1, IGMPv2, or MLDv1) mode of operation on that interface. If this occurs, the host will stop reporting source-specific subscriptions on that interface and will start using IGMPv1, IGMPv2, or MLDv1 to report interest in all SSM destination addresses, unqualified by a source address. As a result, SSM semantics will no longer be applied to the multicast group address by the router. IGMPv1クエリ、またはIGMPv2もしくはMLDv1一般クエリを受信した場合、SFGMPプロトコル仕様では、ホストがそのインターフェイスで古い(IGMPv1、IGMPv2、またはMLDv1)動作モードに戻る必要があります。これが発生した場合、ホストはそのインターフェイスでのソース特定サブスクリプションの報告を停止し、IGMPv1、IGMPv2、またはMLDv1を使用して、ソースアドレスによって修飾されていないすべてのSSM宛先アドレスへの関心を報告し始めます。その結果、SSMセマンティクスはルーターによってマルチキャストグループアドレスに適用されなくなります。
A router compliant with this document would never generate an IGMPv1, IGMPv2, or MLDv1 query for an address in the SSM range; thus, this situation only occurs either if the router is not SSM-aware, or if the host and the router disagree about the SSM address range (for instance, if they have inconsistent manual configurations). この文書に準拠するルーターは、SSM範囲内のアドレスに対してIGMPv1、IGMPv2、またはMLDv1クエリを生成することはありません。したがって、この状況は、ルーターがSSM対応でない場合、またはホストとルーターがSSMアドレス範囲について一致していない場合(たとえば、手動構成に一貫性がない場合)にのみ発生します。
A host SHOULD log an error if it receives an IGMPv1, IGMPv2, or MLDv1 query for an SSM address (MODIFICATION). ホストは、SSMアドレスに対するIGMPv1、IGMPv2、またはMLDv1クエリを受信した場合、エラーをログに記録すべきです(SHOULD)(MODIFICATION)。
In order to mitigate this problem, it must be administratively assured that all routers on a given shared-medium network are compliant with this document and are in agreement about the SSM address range. この問題を軽減するには、特定の共有メディアネットワーク上のすべてのルーターがこの文書に準拠しており、SSMアドレス範囲について合意していることを管理上保証する必要があります。
2.2.4. IGMPv2 Leave and MLDv1 Done
IGMP Leave and MLD Done messages are not processed by hosts. IGMPv2 Leave and MLDv1 Done messages should not be sent for an SSM address, unless the sending host has reverted to older-version compatibility mode, with all the caveats described above. IGMP LeaveおよびMLD Doneメッセージはホストによって処理されません。IGMPv2 LeaveおよびMLDv1 Doneメッセージは、送信ホストが上記のすべての注意点とともに旧バージョン互換モードに戻っていない限り、SSMアドレスに対して送信されるべきではありません。
2.2.5. IGMPv2 and MLDv1 Group Specific Query
If a host receives an IGMPv2 or MLDv1 Group Specific Query for an address in any configured source-specific range, it should process the query normally, as per [IGMPv3, MLDv2], even if the group queried is a source-specific destination address. The transmission of such a query likely indicates either that the sending router is not compliant with this document or that it is not configured with the same SSM address range(s) as the receiving host. A host SHOULD log an error in this case (MODIFICATION). ホストが構成されたソース特定範囲内のアドレスに対してIGMPv2またはMLDv1グループ特定クエリを受信した場合、クエリされたグループがソース特定宛先アドレスであっても、[IGMPv3, MLDv2]に従って通常どおりクエリを処理する必要があります。このようなクエリの送信は、送信ルーターがこの文書に準拠していないか、受信ホストと同じSSMアドレス範囲で構成されていないことを示している可能性があります。この場合、ホストはエラーをログに記録すべきです(SHOULD)(MODIFICATION)。
2.2.6. IGMPv3 and MLDv2 Group-Specific Query
If an SSM-aware host receives an SFGMP Group-Specific Query for an SSM address, it must respond with a report if the group matches the source-specific destination address of any of its subscribed source-specific channels, as specified in [IGMPv3, MLDv2]. SSM対応ホストがSSMアドレスに対するSFGMPグループ特定クエリを受信した場合、[IGMPv3, MLDv2]で指定されているように、グループがサブスクライブしているソース特定チャネルのソース特定宛先アドレスと一致する場合、レポートで応答する必要があります。
The rationale for this is that, although in the current SFGMP protocol specifications a router would have no reason to send one, the semantics of such a query are well-defined in this range and future implementations may have reason to send such a query. Be liberal in what you accept. この理由は、現在のSFGMPプロトコル仕様ではルーターがこれを送信する理由はありませんが、そのようなクエリのセマンティクスはこの範囲で明確に定義されており、将来の実装ではそのようなクエリを送信する理由があるかもしれないためです。受け入れるものについては寛容であってください。
2.2.7. IGMPv3 and MLDv2 Group-and-Source-Specific Query
An SFGMP router typically uses a Group-and-Source-Specific Query to query an SSM channel that a host has requested to leave via a BLOCK_OLD_SOURCES record. A host must respond to a Group-and-Source-Specific Query for which the group and source in the query match any channel for which the host has a subscription, as required by [IGMPv3, MLDv2]. The use of an SSM address does not change this behavior. SFGMPルーターは通常、Group-and-Source-Specific Queryを使用して、ホストがBLOCK_OLD_SOURCESレコードを介して脱退を要求したSSMチャネルをクエリします。ホストは、[IGMPv3, MLDv2]で要求されているように、クエリ内のグループとソースがホストがサブスクリプションを持っているチャネルと一致するGroup-and-Source-Specific Queryに応答する必要があります。SSMアドレスの使用はこの動作を変更しません。
A host must be able to process a query with multiple sources listed per group, again as required by [IGMPv3, MLDv2]. The use of an SSM address does not modify the behavior of the SFGMPs in this regard. ホストは、[IGMPv3, MLDv2]で要求されているように、グループごとに複数のソースがリストされたクエリを処理できる必要があります。SSMアドレスの使用は、この点に関してSFGMPの動作を変更しません。