[要約] RFC 7887は、階層的な結合/剪定属性に関する要約と目的を提供します。このRFCの目的は、ネットワークプロトコルでの階層的な結合/剪定属性の使用を促進し、ネットワークの効率性とスケーラビリティを向上させることです。
Internet Engineering Task Force (IETF) S. Venaas Request for Comments: 7887 J. Arango Updates: 5384 Cisco Systems Category: Standards Track I. Kouvelas ISSN: 2070-1721 Arista Networks June 2016
Hierarchical Join/Prune Attributes
階層型結合/プルーン属性
Abstract
概要
This document defines a hierarchical method of encoding Join/Prune attributes that provides a more efficient encoding when the same attribute values need to be specified for multiple sources in a PIM Join/Prune message. This document updates RFC 5384 by renaming the encoding type registry specified there.
このドキュメントでは、PIM Join / Pruneメッセージの複数のソースに同じ属性値を指定する必要がある場合に、より効率的なエンコーディングを提供する、Join / Prune属性をエンコードする階層的な方法を定義します。このドキュメントは、そこで指定されたエンコーディングタイプレジストリの名前を変更することにより、RFC 5384を更新します。
Status of This Memo
本文書の状態
This is an Internet Standards Track document.
これはInternet Standards Trackドキュメントです。
This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 7841.
このドキュメントは、IETF(Internet Engineering Task Force)の製品です。これは、IETFコミュニティのコンセンサスを表しています。公開レビューを受け、インターネットエンジニアリングステアリンググループ(IESG)による公開が承認されました。インターネット標準の詳細については、RFC 7841のセクション2をご覧ください。
Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc7887.
このドキュメントの現在のステータス、エラータ、およびフィードバックの提供方法に関する情報は、http://www.rfc-editor.org/info/rfc7887で入手できます。
Copyright Notice
著作権表示
Copyright (c) 2016 IETF Trust and the persons identified as the document authors. All rights reserved.
Copyright(c)2016 IETF Trustおよびドキュメントの作成者として識別された人物。全著作権所有。
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.
この文書は、BCP 78およびIETF文書に関するIETFトラストの法的規定(http://trustee.ietf.org/license-info)の対象であり、この文書の発行日に有効です。これらのドキュメントは、このドキュメントに関するあなたの権利と制限を説明しているため、注意深く確認してください。このドキュメントから抽出されたコードコンポーネントには、Trust Legal Provisionsのセクション4.eに記載されているSimplified BSD Licenseのテキストが含まれている必要があり、Simplified BSD Licenseに記載されているように保証なしで提供されます。
Table of Contents
目次
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Requirements Notation . . . . . . . . . . . . . . . . . . . . 3 3. Hierarchical Join/Prune Attribute Definition . . . . . . . . 3 4. PIM Address Encoding Types . . . . . . . . . . . . . . . . . 6 5. Hierarchical Join/Prune Attribute Hello Option . . . . . . . 6 6. Security Considerations . . . . . . . . . . . . . . . . . . . 7 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 8. Normative References . . . . . . . . . . . . . . . . . . . . 7 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8
PIM Join attributes as defined in [RFC5384] allow for specifying a set of attributes for each of the joined or pruned sources in a PIM Join/Prune message. Attributes must be separately specified for each individual source in the message. However, in some cases, the same attributes and values need to be specified for some, or even all, the sources in the message. The attributes and their values then need to be repeated for each of the sources where they apply.
[RFC5384]で定義されているPIM結合属性を使用すると、PIM結合/プルーニングメッセージで結合またはプルーニングされた各ソースの属性セットを指定できます。属性は、メッセージ内の個々のソースごとに個別に指定する必要があります。ただし、場合によっては、メッセージ内の一部またはすべてのソースに同じ属性と値を指定する必要があります。次に、属性とその値を、それらが適用されるソースごとに繰り返す必要があります。
This document provides a hierarchical way of encoding attributes and their values in a Join/Prune message so that if the same attribute and value is to apply for all the sources, it only needs to be specified once in the message. Similarly, if all the sources in a specific group set share a specific attribute and value, it only needs to be specified once for the entire group set.
このドキュメントでは、Join / Pruneメッセージで属性とその値をエンコードする階層的な方法を提供しているため、同じ属性と値をすべてのソースに適用する場合は、メッセージで一度だけ指定する必要があります。同様に、特定のグループセット内のすべてのソースが特定の属性と値を共有する場合、グループセット全体に対して一度だけ指定する必要があります。
This document extends [RFC5384] by specifying that the encoding type defined there also applies to Encoded-Unicast and Encoded-Group formats. This document also updates [RFC5384] by renaming the "PIM Encoded-Source Address Encoding Type Field" registry to "PIM Address Encoding Types". The content of the registry remains the same. The encoding type used for Join attributes is, however, still limited to use in Join/Prune messages. Note that Join attributes, as they are referred to in [RFC5384], also apply to pruned sources in a Join/ Prune message. Thus, the more correct name "Join/Prune attributes" will be used throughout the rest of this document.
このドキュメントは[RFC5384]を拡張して、そこで定義されたエンコーディングタイプがEncoded-UnicastおよびEncoded-Groupフォーマットにも適用されることを指定しています。このドキュメントはまた、「PIM Encoded-Source Address Encoding Type Field」レジストリの名前を「PIM Address Encoding Types」に変更することによって[RFC5384]を更新します。レジストリの内容は変わりません。ただし、Join属性に使用されるエンコーディングタイプは、Join / Pruneメッセージでの使用に限定されています。 [RFC5384]で言及されているように、Join属性は、Join / Pruneメッセージのプルーニングされたソースにも適用されることに注意してください。したがって、このドキュメントの残りの部分では、より正しい名前「結合/プルーン属性」が使用されます。
This document allows Join/Prune attributes to be specified in the Upstream Neighbor Address field, and also in the Multicast Group Address field, of a Join/Prune message. It defines how this is used to specify the same Join/Prune attribute and value for multiple sources. This document also defines a new Hello Option to indicate support for the hierarchical encoding specified.
このドキュメントでは、Join / PruneメッセージのUpstream Neighbor Addressフィールド、およびMulticast Group Addressフィールドでも、Join / Prune属性を指定できます。これは、これを使用して、複数のソースに同じJoin / Prune属性と値を指定する方法を定義します。このドキュメントでは、指定された階層エンコーディングのサポートを示す新しいHelloオプションも定義しています。
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119].
このドキュメントのキーワード「MUST」、「MUST NOT」、「REQUIRED」、「SHALL」、「SHALL NOT」、「SHOULD」、「SHOULD NOT」、「RECOMMENDED」、「MAY」、および「OPTIONAL」は、 [RFC2119]で説明されているように解釈されます。
The format of a PIM Join/Prune message is defined in [RFC7761] as follows:
PIM Join / Pruneメッセージのフォーマットは、[RFC7761]で次のように定義されています。
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |PIM Ver| Type | Reserved | Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Upstream Neighbor Address (Encoded-Unicast format) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Reserved | Num groups | Holdtime | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Multicast Group Address 1 (Encoded-Group format) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Number of Joined Sources | Number of Pruned Sources | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Joined Source Address 1 (Encoded-Source format) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | . | | . | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Joined Source Address n (Encoded-Source format) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Pruned Source Address 1 (Encoded-Source format) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | . | | . | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Pruned Source Address n (Encoded-Source format) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | . | | . | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Multicast Group Address m (Encoded-Group format) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Number of Joined Sources | Number of Pruned Sources | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Joined Source Address 1 (Encoded-Source format) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | . | | . | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Joined Source Address n (Encoded-Source format) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Pruned Source Address 1 (Encoded-Source format) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | . | | . | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Pruned Source Address n (Encoded-Source format) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The message contains a single Upstream Neighbor Address and one or more group sets. Each group set contains a Group Address and two source lists: the Joined Sources and the Pruned Sources. The Upstream Neighbor Address, the group addresses, and the source addresses are encoded in Encoded-Unicast format, Encoded-Group format, and Encoded-Source format, respectively. This document extends the use of the source address encoding defined in [RFC5384] to also apply to the Upstream Neighbor Address and the Group Address fields (see Section 4).
メッセージには、単一のアップストリームネイバーアドレスと1つ以上のグループセットが含まれます。各グループセットには、グループアドレスと2つのソースリスト(結合されたソースと剪定されたソース)が含まれています。アップストリームネイバーアドレス、グループアドレス、および送信元アドレスは、それぞれEncoded-Unicast形式、Encoded-Group形式、およびEncoded-Source形式でエンコードされます。このドキュメントは、[RFC5384]で定義されたソースアドレスエンコーディングの使用を拡張して、アップストリームネイバーアドレスおよびグループアドレスフィールドにも適用されます(セクション4を参照)。
For a Join/Prune message, a hierarchy of Join/Prune attributes is defined. Attributes at the highest level, which is the least specific, apply to every source in the message. These are encoded in the Upstream Neighbor Address. Attributes at the next, more-specific level apply to every source in a group set. They are encoded in a Group Address. And finally, there are attributes that apply to a single source and are encoded in the source address as defined in [RFC5384].
Join / Pruneメッセージの場合、Join / Prune属性の階層が定義されます。最も限定的ではない最高レベルの属性は、メッセージ内のすべてのソースに適用されます。これらは、アップストリームネイバーアドレスでエンコードされます。より具体的な次のレベルの属性は、グループセット内のすべてのソースに適用されます。それらはグループアドレスにエンコードされます。そして最後に、単一の送信元に適用され、[RFC5384]で定義されている送信元アドレスでエンコードされる属性があります。
The complete set of attributes that apply to a given source is obtained by combining the message-wide attributes, the attributes of the group set that the source belongs to, and the source-specific attributes. However, if the same attribute is specified at multiple levels, then the one at the most specific level overrides the other instances of the attribute. Note that the set of attributes and their values is formed before processing the attributes. Hence, a value that is invalid for a given type might override a valid value at a higher level.
特定のソースに適用される属性の完全なセットは、メッセージ全体の属性、ソースが属するグループセットの属性、およびソース固有の属性を組み合わせることによって取得されます。ただし、同じ属性が複数のレベルで指定されている場合、最も具体的なレベルの属性が属性の他のインスタンスをオーバーライドします。属性とその値のセットは、属性を処理する前に形成されることに注意してください。したがって、特定のタイプに対して無効な値は、より高いレベルの有効な値をオーバーライドする可能性があります。
As an example, say that for a given source, we have attributes T_1 with value V_1, T_2 with value V_2, and T_3 with value V_3. Also assume that in the Group Address of the source's group set, we have attributes T_1 with value V_6 and T_4 with value V_4. And assume that we in the Upstream Neighbor Address have encoded the attributes T_1 with value V_7, T_4 with value V_8, and T_5 with value V_5. The attributes applied to the given source will be T_1 with value V_1, T_2 with value V_2, T_3 with value V_3, T_4 with value V_4, and T_5 with value V_5. Here we have T_1 with different values at each level, so we use the value specified at the source level. Also, we have T_4 with different values at the group and message levels, so we use the value at the group level. Here it could be that V_1 is not a valid value for T_1, but it still overrides the values at the higher levels as we do not process the attributes until after forming the set.
例として、特定のソースについて、値V_1の属性T_1、値V_2のT_2、および値V_3のT_3があるとします。また、ソースのグループセットのグループアドレスに、値がV_6のT_1と値がV_4のT_4があるとします。そして、上流ネイバーアドレスでは、値V_7で属性T_1、値V_8でT_4、値V_5でT_5をエンコードしたと仮定します。特定のソースに適用される属性は、値V_1のT_1、値V_2のT_2、値V_3のT_3、値V_4のT_4、および値V_5のT_5です。ここでは、各レベルで異なる値を持つT_1があるため、ソースレベルで指定された値を使用します。また、グループレベルとメッセージレベルで異なる値を持つT_4があるため、グループレベルで値を使用します。ここで、V_1はT_1の有効な値ではない可能性がありますが、セットを形成するまで属性を処理しないため、上位レベルの値をオーバーライドします。
Note that Join/Prune attributes are still applied to sources as specified in [RFC5384]. This document does not change the meaning of any attributes; it is simply a more compact way of encoding an attribute when the same attribute and value applies to multiple sources, e.g., with the example above, we would have the exact same meaning if we instead had encoded all the attributes T1, ..., T5 with the respective values V1, ..., V5 in the source address.
[RFC5384]で指定されているように、Join / Prune属性は引き続きソースに適用されることに注意してください。このドキュメントは、属性の意味を変更しません。同じ属性と値が複数のソースに適用される場合、それは単に属性をエンコードするよりコンパクトな方法です。たとえば、上記の例では、代わりにすべての属性T1、...、をエンコードした場合、まったく同じ意味になります。送信元アドレスにそれぞれの値V1、...、V5を持つT5。
Addresses in PIM messages are specified together with an address family and an encoding type. This applies to Encoded-Unicast, Encoded-Group, and Encoded-Source addresses. The encoding types allow the address to be encoded according to different schemes. An encoding type indicates how an address is encoded irrespective of address type, Encoded-Unicast, Encoded-Group, or Encoded-Source. It is possible that there will be future encoding types that do not apply to all address types though. This means that as currently defined, 0 is native encoding [RFC7761], and 1 is Join/Prune attributes encoding [RFC5384]. Note that as specified in [RFC5384], a type 1 Encoded Address MUST contain at least one Join/Prune attribute.
PIMメッセージ内のアドレスは、アドレスファミリとエンコーディングタイプとともに指定されます。これは、Encoded-Unicast、Encoded-Group、およびEncoded-Sourceアドレスに適用されます。エンコードの種類により、さまざまなスキームに従ってアドレスをエンコードできます。エンコーディングタイプは、アドレスタイプ、Encoded-Unicast、Encoded-Group、またはEncoded-Sourceに関係なく、アドレスがどのようにエンコードされるかを示します。ただし、すべてのアドレスタイプに適用されるわけではない将来のエンコードタイプが存在する可能性があります。つまり、現在定義されているように、0はネイティブエンコーディング[RFC7761]、1は結合/プルーン属性エンコーディング[RFC5384]です。 [RFC5384]で指定されているように、タイプ1のエンコードされたアドレスには、少なくとも1つのJoin / Prune属性が含まれている必要があります。
A PIM router indicates that it supports the mechanism specified in this document by including the Hierarchical Join/Prune Attribute Hello Option in its PIM Hello message. When this new Hello Option is included, it MUST also include the Join Attribute Hello Option as specified in [RFC5384]. The format of the Hierarchical Join/Prune Attribute Hello Option is defined to be:
PIMルーターは、PIM Helloメッセージに階層型結合/プルーン属性のHelloオプションを含めることにより、このドキュメントで指定されているメカニズムをサポートしていることを示します。この新しいHelloオプションが含まれている場合、[RFC5384]で指定されている結合属性のHelloオプションも含まれている必要があります。階層型結合/プルーン属性のHelloオプションの形式は、次のように定義されています。
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | OptionType = 36 | OptionLength = 0 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
OptionType = 36, OptionLength = 0. Note that there is no option value included.
OptionType = 36、OptionLength =0。オプション値は含まれていないことに注意してください。
A PIM router MUST NOT send a Join/Prune message with Join/Prune attributes encoded in the Upstream Neighbor Address or any of the group addresses out of any interface on which there is a PIM neighbor that has not included this option in its Hellos. Even a router that is not the upstream neighbor must be able to parse the message in order to perform Join suppression and Prune override.
PIMルーターは、Helloにこのオプションを含まないPIMネイバーが存在するインターフェイスから、アップストリームネイバーアドレスまたはグループアドレスのいずれかにエンコード/結合属性がエンコードされた結合/プルーンメッセージを送信してはなりません。アップストリームネイバーではないルータでも、Joinの抑制とPruneのオーバーライドを実行するには、メッセージを解析できる必要があります。
This document specifies a more compact encoding of Join/Prune attributes. Use of the encoding has no impact on security aside from using the encoding in [RFC5384]. For instance, an attack with a forged message with certain attribute values is equally difficult independent of which encoding is used. If an attribute that applies to the entire message is wrong, then that may cause an issue for all the sources in the message. But without this encoding, one would instead include that attribute for every single source, and that would also cause an issue for all the sources in the message.
このドキュメントでは、Join / Prune属性のよりコンパクトなエンコーディングを指定しています。エンコーディングの使用は、[RFC5384]のエンコーディングの使用を除いて、セキュリティに影響を与えません。たとえば、特定の属性値を持つ偽造されたメッセージを使用した攻撃は、どのエンコーディングが使用されているかに関係なく、同様に困難です。メッセージ全体に適用される属性が間違っていると、メッセージのすべてのソースに問題が発生する可能性があります。ただし、このエンコードを使用しないと、代わりにすべてのソースの属性が含まれ、メッセージ内のすべてのソースで問題が発生します。
IANA has renamed the "PIM Encoded-Source Address Encoding Type Field" registry to "PIM Address Encoding Types".
IANAは、「PIM Encoded-Source Address Encoding Type Field」レジストリの名前を「PIM Address Encoding Types」に変更しました。
The Hierarchical Join/Prune Attribute (36) has been added to the "PIM-Hello Options" registry.
階層型結合/プルーン属性(36)が「PIM-Helloオプション」レジストリに追加されました。
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, <http://www.rfc-editor.org/info/rfc2119>.
[RFC2119] Bradner、S。、「要件レベルを示すためにRFCで使用するキーワード」、BCP 14、RFC 2119、DOI 10.17487 / RFC2119、1997年3月、<http://www.rfc-editor.org/info/ rfc2119>。
[RFC5384] Boers, A., Wijnands, I., and E. Rosen, "The Protocol Independent Multicast (PIM) Join Attribute Format", RFC 5384, DOI 10.17487/RFC5384, November 2008, <http://www.rfc-editor.org/info/rfc5384>.
[RFC5384] Boers、A.、Wijnands、I。、およびE. Rosen、「Protocol Independent Multicast(PIM)Join Attribute Format」、RFC 5384、DOI 10.17487 / RFC5384、2008年11月、<http://www.rfc -editor.org/info/rfc5384>。
[RFC7761] Fenner, B., Handley, M., Holbrook, H., Kouvelas, I., Parekh, R., Zhang, Z., and L. Zheng, "Protocol Independent Multicast - Sparse Mode (PIM-SM): Protocol Specification (Revised)", STD 83, RFC 7761, DOI 10.17487/RFC7761, March 2016, <http://www.rfc-editor.org/info/rfc7761>.
[RFC7761] Fenner、B.、Handley、M.、Holbrook、H.、Kouvelas、I.、Parekh、R.、Zhang、Z。、およびL. Zheng、「Protocol Independent Multicast-Sparse Mode(PIM-SM) :プロトコル仕様(改訂)」、STD 83、RFC 7761、DOI 10.17487 / RFC7761、2016年3月、<http://www.rfc-editor.org/info/rfc7761>。
Authors' Addresses
著者のアドレス
Stig Venaas Cisco Systems Tasman Drive San Jose, CA 95134 United States
Stig Venaas Cisco Systems Tasman Drive San Jose、CA 95134アメリカ合衆国
Email: stig@cisco.com
Jesus Arango Cisco Systems Tasman Drive San Jose, CA 95134 United States
Jesus Arango Cisco Systems Tasman Drive San Jose、CA 95134アメリカ合衆国
Email: jearango@cisco.com
Isidor Kouvelas Arista Networks 5453 Great America Parkway Santa Clara, CA 95054 United States
Isidor Kouvelas Arista Networks 5453 Great America Parkway Santa Clara、CA 95054アメリカ合衆国
Email: kouvelas@arista.com