📄 draft-ietf-pim-sm-v2-new-11.txt
字号:
Internet Engineering Task Force PIM WGINTERNET-DRAFT Bill Fenner/AT&Tdraft-ietf-pim-sm-v2-new-11.txt Mark Handley/UCL Hugh Holbrook/Cisco Isidor Kouvelas/Cisco 25 October 2004 Expires: April 2005 Protocol Independent Multicast - Sparse Mode (PIM-SM): Protocol Specification (Revised)Status of this DocumentBy submitting this Internet-Draft, I certify that any applicable patentor other IPR claims of which I am aware have been disclosed, or will bedisclosed, and any of which I become aware will be disclosed, inaccordance with RFC 3668.Internet-Drafts are working documents of the Internet Engineering TaskForce (IETF), its areas, and its working groups. Note that other groupsmay also distribute working documents as Internet-Drafts.Internet-Drafts are draft documents valid for a maximum of six monthsand may be updated, replaced, or obsoleted by other documents at anytime. It is inappropriate to use Internet-Drafts as reference materialor to cite them other than as "work in progress."The list of current Internet-Drafts can be accessed athttp://www.ietf.org/ietf/1id-abstracts.txtThe list of Internet-Draft Shadow Directories can be accessed athttp://www.ietf.org/shadow.html.This document is a product of the IETF PIM WG. Comments should beaddressed to the authors, or the mailing list at pim@ietf.org.Fenner/Handley/Holbrook/Kouvelas [Page 1]INTERNET-DRAFT Expires: April 2005 October 2004 Abstract This document specifies Protocol Independent Multicast - Sparse Mode (PIM-SM). PIM-SM is a multicast routing protocol that can use the underlying unicast routing information base or a separate multicast-capable routing information base. It builds unidirectional shared trees rooted at a Rendezvous Point (RP) per group, and optionally creates shortest-path trees per source.Fenner/Handley/Holbrook/Kouvelas [Page 2]INTERNET-DRAFT Expires: April 2005 October 2004 Table of Contents 1. Introduction. . . . . . . . . . . . . . . . . . . . . . 6 2. Terminology . . . . . . . . . . . . . . . . . . . . . . 6 2.1. Definitions. . . . . . . . . . . . . . . . . . . . . 6 2.2. Pseudocode Notation. . . . . . . . . . . . . . . . . 7 3. PIM-SM Protocol Overview. . . . . . . . . . . . . . . . 8 4. Protocol Specification. . . . . . . . . . . . . . . . . 13 4.1. PIM Protocol State . . . . . . . . . . . . . . . . . 13 4.1.1. General Purpose State . . . . . . . . . . . . . . 14 4.1.2. (*,*,RP) State. . . . . . . . . . . . . . . . . . 15 4.1.3. (*,G) State . . . . . . . . . . . . . . . . . . . 16 4.1.4. (S,G) State . . . . . . . . . . . . . . . . . . . 18 4.1.5. (S,G,rpt) State . . . . . . . . . . . . . . . . . 20 4.1.6. State Summarization Macros. . . . . . . . . . . . 21 4.2. Data Packet Forwarding Rules . . . . . . . . . . . . 26 4.2.1. Last-hop Switchover to the SPT. . . . . . . . . . 28 4.2.2. Setting and Clearing the (S,G) SPTbit . . . . . . 29 4.3. Designated Routers (DR) and Hello Messages . . . . . 30 4.3.1. Sending Hello Messages. . . . . . . . . . . . . . 30 4.3.2. DR Election . . . . . . . . . . . . . . . . . . . 32 4.3.3. Reducing Prune Propagation Delay on LANs. . . . . 34 4.3.4. Maintaining Secondary Address Lists . . . . . . . 37 4.4. PIM Register Messages. . . . . . . . . . . . . . . . 38 4.4.1. Sending Register Messages from the DR . . . . . . 38 4.4.2. Receiving Register Messages at the RP . . . . . . 42 4.5. PIM Join/Prune Messages. . . . . . . . . . . . . . . 44 4.5.1. Receiving (*,*,RP) Join/Prune Messages. . . . . . 45 4.5.2. Receiving (*,G) Join/Prune Messages . . . . . . . 49 4.5.3. Receiving (S,G) Join/Prune Messages . . . . . . . 52 4.5.4. Receiving (S,G,rpt) Join/Prune Messages . . . . . 55 4.5.5. Sending (*,*,RP) Join/Prune Messages. . . . . . . 61 4.5.6. Sending (*,G) Join/Prune Messages . . . . . . . . 65 4.5.7. Sending (S,G) Join/Prune Messages . . . . . . . . 70 4.5.8. (S,G,rpt) Periodic Messages . . . . . . . . . . . 75 4.5.9. State Machine for (S,G,rpt) Triggered Messages. . . . . . . . . . . . . . . . . . . . . 76 4.5.10. Background: (*,*,RP) and (S,G,rpt) Interaction. . . . . . . . . . . . . . . . . . . 80 4.6. PIM Assert Messages. . . . . . . . . . . . . . . . . 82 4.6.1. (S,G) Assert Message State Machine. . . . . . . . 82 4.6.2. (*,G) Assert Message State Machine. . . . . . . . 90 4.6.3. Assert Metrics. . . . . . . . . . . . . . . . . . 97 4.6.4. AssertCancel Messages . . . . . . . . . . . . . . 98 4.6.5. Assert State Macros . . . . . . . . . . . . . . . 99 4.7. PIM Bootstrap and RP Discovery . . . . . . . . . . . 102 4.7.1. Group-to-RP Mapping . . . . . . . . . . . . . . . 103Fenner/Handley/Holbrook/Kouvelas [Page 3]INTERNET-DRAFT Expires: April 2005 October 2004 4.7.2. Hash Function . . . . . . . . . . . . . . . . . . 104 4.8. Source-Specific Multicast. . . . . . . . . . . . . . 105 4.8.1. Protocol Modifications for SSM destination addresses . . . . . . . . . . . . . . . . . . . . 105 4.8.2. PIM-SSM-only Routers. . . . . . . . . . . . . . . 106 4.9. PIM Packet Formats . . . . . . . . . . . . . . . . . 107 4.9.1. Encoded Source and Group Address Formats. . . . . 109 4.9.2. Hello Message Format. . . . . . . . . . . . . . . 112 4.9.3. Register Message Format . . . . . . . . . . . . . 115 4.9.4. Register-Stop Message Format. . . . . . . . . . . 117 4.9.5. Join/Prune Message Format . . . . . . . . . . . . 118 4.9.5.1. Group Set Source List Rules. . . . . . . . . . 121 4.9.5.2. Group Set Fragmentation. . . . . . . . . . . . 125 4.9.6. Assert Message Format . . . . . . . . . . . . . . 125 4.10. PIM Timers. . . . . . . . . . . . . . . . . . . . . 127 4.11. Timer Values. . . . . . . . . . . . . . . . . . . . 128 5. IANA Considerations . . . . . . . . . . . . . . . . . . 134 5.1. PIM Address Family . . . . . . . . . . . . . . . . . 134 5.2. PIM Hello Options. . . . . . . . . . . . . . . . . . 135 6. Security Considerations . . . . . . . . . . . . . . . . 135 6.1. Attacks based on forged messages . . . . . . . . . . 135 6.1.1. Forged link-local messages. . . . . . . . . . . . 135 6.1.2. Forged unicast messages . . . . . . . . . . . . . 136 6.2. Non-cryptographic Authentication Mechanisms. . . . . 136 6.3. Authentication using IPsec . . . . . . . . . . . . . 137 6.3.1. Protecting link-local multicast messages. . . . . 137 6.3.2. Protecting unicast messages . . . . . . . . . . . 138 6.3.2.1. Register messages. . . . . . . . . . . . . . . 138 6.3.2.2. Register-Stop messages . . . . . . . . . . . . 138 6.4. Denial of Service Attacks. . . . . . . . . . . . . . 139 7. Authors' Addresses. . . . . . . . . . . . . . . . . . . 139 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . 140 9. Normative References. . . . . . . . . . . . . . . . . . 140 10. Informative References . . . . . . . . . . . . . . . . 141 11. Appendix A: PIM Multicast Border Router Behavior . . . . . . . . . . . . . . . . . . . . . . . 142 11.1. Sources External to the PIM-SM Domain . . . . . . . 142 11.2. Sources Internal to the PIM-SM Domain . . . . . . . 143 12. Index. . . . . . . . . . . . . . . . . . . . . . . . . 145 13. Full Copyright Statement . . . . . . . . . . . . . . . 148Fenner/Handley/Holbrook/Kouvelas [Page 4]INTERNET-DRAFT Expires: April 2005 October 2004 List of Figures Figure 1. Per-(S,G) register state machine at a DR . . . . 38 Figure 2. Downstream per-interface (*,*,RP) state machine. . . . . . . . . . . . . . . . . . . . . 46 Figure 3. Downstream per-interface (*,G) state machine. . . . . . . . . . . . . . . . . . . . . 49 Figure 4. Downstream per-interface (S,G) state machine. . . . . . . . . . . . . . . . . . . . . 53 Figure 5. Downstream per-interface (S,G,rpt) state machine. . . . . . . . . . . . . . . . . . . . . 56 Figure 6. Upstream (*,*,RP) state machine. . . . . . . . . 61 Figure 7. Upstream (*,G) state machine . . . . . . . . . . 66 Figure 8. Upstream (S,G) state machine . . . . . . . . . . 71 Figure 9. Upstream (S,G,rpt) state machine for triggered messages . . . . . . . . . . . . . . . 76 Figure 10. Per-interface (S,G) Assert State machine . . . . . . . . . . . . . . . . . . . . 83 Figure 11. Per-interface (*,G) Assert State machine . . . . . . . . . . . . . . . . . . . . 91Fenner/Handley/Holbrook/Kouvelas [Page 5]INTERNET-DRAFT Expires: April 2005 October 20041. IntroductionThis document specifies a protocol for efficiently routing multicastgroups that may span wide-area (and inter-domain) internets. Thisprotocol is called Protocol Independent Multicast - Sparse Mode (PIM-SM)because, although it may use the underlying unicast routing to providereverse-path information for multicast tree building, it is notdependent on any particular unicast routing protocol.PIM-SM version 2 was originally specified in RFC 2117, and revised inRFC 2362. This document is intended to obsolete RFC 2362, and tocorrect a number of deficiencies that have been identified with the wayPIM-SM was previously specified. As far as possible, this documentspecifies the same protocol as RFC 2362, and only diverges from thebehavior intended by RFC 2362 when the previously specified behavior wasclearly incorrect. Routers implemented according to the specificationin this document will be able to successfully interoperate with routersimplemented according to RFC 2362.2. TerminologyIn this document, the key words "MUST", "MUST NOT", "REQUIRED", "SHALL","SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and"OPTIONAL" are to be interpreted as described in RFC 2119 and indicaterequirement levels for compliant PIM-SM implementations.2.1. DefinitionsThis specification uses a number of terms to refer to the roles ofrouters participating in PIM-SM. The following terms have specialsignificance for PIM-SM:Rendezvous Point (RP): An RP is a router that has been configured to be used as the root of the non-source-specific distribution tree for a multicast group. Join messages from receivers for a group are sent towards the RP, and data from senders is sent to the RP so that receivers can discover who the senders are, and start to receive traffic destined for the group.Designated Router (DR): A shared-media LAN like Ethernet may have multiple PIM-SM routers connected to it. A single one of these routers, the DR, will act on behalf of directly connected hosts with respect to the PIM-SM protocol. A single DR is elected per interface (LAN or otherwise) using a simple election process.Fenner/Handley/Holbrook/Kouvelas Section 2.1. [Page 6]INTERNET-DRAFT Expires: April 2005 October 2004MRIB Multicast Routing Information Base. This is the multicast topology table, which is typically derived from the unicast routing table, or routing protocols such as MBGP that carry multicast-specific topology information. In PIM-SM, the MRIB is used to decide where to send Join/Prune messages. A secondary function of the MRIB is to provide routing metrics for destination addresses, these metrics are used when sending and processing Assert messages.RPF Neighbor RPF stands for "Reverse Path Forwarding". The RPF Neighbor of a router with respect to an address is the neighbor that the MRIB indicates should be used to forward packets to that address. In the case of a PIM-SM multicast group, the RPF neighbor is the
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -