RFC 4602 INFORMATIONAL ROUTING · MULTICAST · REQUIREMENTS

PIM-SM requirements: Protocol Independent Multicast - Sparse Mode (PIM-SM) IETF Proposed Standard Requirements Analysis

Requirements checklist for advancing PIM-SM from Experimental to Standard.

On rfc-editor.org ↗
PUBLISHED
August 2006
AUTHORS
T. Pusateri
STREAM
IETF
RFC STATUS
Informational
PUBLICATION DATE
August 2006
KNOWN IMPLEMENTATIONS
4 independent (plus 6+ of earlier version)
PRIMARY TESTING APPROACH
XORP state machine testing, Cisco production deployment, Procket interop
DOI
10.17487/RFC4602

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
Network Working Group                                        T. Pusateri
Request for Comments: 4602                              Juniper Networks
Category: Informational                                      August 2006


         Protocol Independent Multicast - Sparse Mode (PIM-SM)
              IETF Proposed Standard Requirements Analysis

Status of This Memo

   This memo provides information for the Internet community.  It does
   not specify an Internet standard of any kind.  Distribution of this
   memo is unlimited.

Copyright Notice

   Copyright (C) The Internet Society (2006).

Abstract

   This document provides supporting documentation to advance the
   Protocol Independent Multicast - Sparse Mode (PIM-SM) routing
   protocol from IETF Experimental status to Proposed Standard.

Table of Contents

   1. Introduction ....................................................2
   2. RFC 1264 Requirements ...........................................2
      2.1. Documents Specifying the Protocol and Its Usage ............2
      2.2. Management Information Base ................................2
      2.3. Explicit Security Architecture .............................2
      2.4. Implementation Existence ...................................3
           2.4.1. XORP ................................................3
           2.4.2. Cisco IOS/IOX .......................................3
           2.4.3. Infosys Technologies, Ltd. ..........................3
           2.4.4. Procket Networks ....................................3
      2.5. Evidence of Testing ........................................4
           2.5.1. Cisco ...............................................4
           2.5.2. XORP ................................................4
           2.5.3. Procket Networks ....................................5
      2.6. Suitability ................................................5
      2.7. Authentication Mechanisms ..................................5
   3. Security Considerations .........................................5
   4. Acknowledgements ................................................5
   5. References ......................................................6
      5.1. Normative References .......................................6
      5.2. Informative References .....................................6

1.  Introduction

   This analysis provides supporting documentation to advance the
   Protocol Independent Multicast - Sparse Mode (PIM-SM) routing
   protocol from the IETF Experimental status to Proposed Standard.
   PIM-SM was first published as RFC 2117 [RFC2117] in 1997 and then
   again as RFC 2362 [RFC2362] in 1998.  The protocol was classified as
   Experimental in both of these documents.  The PIM-SM protocol
   specification was then rewritten in whole in order to more fully
   specify the protocol.  It is this new specification that is to be
   advanced to Proposed Standard.

2.  RFC 1264 Requirements

   Section 4.0 of RFC 1264 [RFC1264] describes the requirements for
   routing protocols to advance to Proposed Standard.  Each requirement
   is listed below along with an explanation of how the requirement has
   been satisfied.

2.1.  Documents Specifying the Protocol and Its Usage

   The authors of the new PIM-SM specification [RFC4601] have taken
   considerable care to fully specify the protocol operation.  It
   removes all known ambiguities and tries to normalize corner cases
   that existed in the previous specification.  It has been used to
   provide several interoperable implementations by developers that were
   not authors of the specification.  These implementations will be
   described below.

2.2.  Management Information Base

   A Management Information Base for PIM is currently specified in RFC
   2934 [RFC2934].  This MIB has many implementations and has been used
   by network management applications for several years.  Updates to
   this MIB to support IPv6 and other improvements based on operation
   experience are in progress in the PIM Working Group of the IETF.

2.3.  Explicit Security Architecture

   The new PIM Sparse-Mode protocol specification contains an extensive
   security section explaining its security features and limitations.
   Data integrity protection and groupwise data origin authentication is
   provided for PIM protocol messages.

2.4.  Implementation Existence

   There are at least 4 known independent implementations of the new
   protocol specification, and there are over 6 independent
   implementations of a previous version (RFC 2362) of the
   specification.  The new specification was carefully written to be
   backward compatible with the old specification allowing
   implementations compliant with RFC 2362 to also be compliant with the
   new specification.

   The 4 implementations of the new version are described below.

2.4.1.  XORP

   The XORP project [XORP] has an open-source implementation of PIM-SM
   v2 as specified in RFC 4601.  It was written by Pavlin Radoslavov
   <pavlin@icir.org> and has been available to the public since December
   2002.  Pavlin is not an author of the protocol specification.  It
   does not use any other existing code as a base.

2.4.2.  Cisco IOS/IOX

   Cisco Systems, Inc., has written an implementation of the new
   protocol specification that has been deployed in production routers.
   There exists an IOS implementation for IPv6 only.  There exists an
   IOX implementation for both IPv4 and IPv6.  This code was initially
   written by Isidor Kouvelas <kouvelas@cisco.com>.  It does not depend
   on any existing code base.  Isidor is a co-author of the protocol
   specification.

2.4.3.  Infosys Technologies, Ltd.

   Infosys Technologies, Ltd. (www.infosys.com), has developed a limited
   shared-tree implementation of the new Sparse-Mode specification
   including PIM Hello messages, DR election, PIM join/prune messages,
   join suppression, and prune override.  It was written by Bharat Joshi
   <bharat_joshi@infosys.com> and is used in commercial products.
   Bharat is not an author of the protocol specification.

2.4.4.  Procket Networks

   An implementation was written from scratch at Procket Networks by
   Dino Farinacci <dino@cisco.com>.  This implementation is now owned by
   Cisco Systems, Inc.  Dino is not an author of the new protocol
   specification.

2.5.  Evidence of Testing

2.5.1.  Cisco

   The Cisco implementation has undergone extensive laboratory testing
   as well as testing in production deployments.  It is found to
   interoperate with implementations of earlier versions of the PIM
   Sparse-Mode protocol specification.

2.5.2.  XORP

   The XORP PIM-SM implementation has been thoughtfully tested
   internally by the XORP project.  The emphasis during testing has been
   on correctness.  In a typical setup, a PIM-SM router's behavior is
   tested by connecting it to external packet generators and observers.
   The packet generators are used to generate messages such as IGMP and
   PIM-SM control packets, and multicast data packets.  The packet
   observers are used to observe the PIM-SM control packets generated by
   the PIM-SM router under test, and to observe the data packets that
   may be forwarded by that router.  In addition, the router's command-
   line interface has been used to observe its internal state during
   some of the tests.

   The test scenarios have been designed to follow the protocol
   specification closely (e.g., a separate test has been created for
   each event in the various protocol state machines, etc).  All test
   scenarios are described in detail in the XORP PIM-SM Test Suite
   [XORP-TEST].

   The major tested features are:

   1.  Multicast data forwarding.

   2.  PIM Hello messages exchange, PIM router neighbor discovery,
       option exchange, and DR election.

   3.  PIM Register messages transmission and reception, PIM Register
       state machine, and multicast data packets encapsulation and
       decapsulation.

   4.  Transmission and reception of PIM Join/Prune messages and
       upstream and downstream protocol state machines.  The tests
       consider the following state: (*,*,RP), (*,G), (S,G), and
       (S,G,rpt).

   5.  Transmission and reception of PIM Assert messages and the per-
       interface (*,G) and (S,G) Assert state machines.

   6.  PIM Bootstrap mechanism: transmission, reception, and forwarding
       of PIM Bootstrap messages (BSMs), transmission and reception of
       PIM Cand-RP-Adv messages, candidate and non-candidate Bootstrap
       Router (BSR) state machines, creating the RP-Set at the BSR,
       receiving and using the RP-Set, and semantic fragmentation of
       BSMs.

   In the final tests, the tested router behaved as specified in the
   PIM-SM protocol specification.  All issues found in the protocol
   specification itself have been corrected in earlier versions of the
   document.

2.5.3.  Procket Networks

   The Procket Networks implementation was deployed in many research and
   service provider networks and showed interoperability with new and
   old Cisco Systems implementations as well as Juniper Networks
   implementations.

2.6.  Suitability

   PIM Sparse-Mode is a protocol for efficiently routing multicast
   groups that may span wide-area (and inter-domain) Internets.  PIM
   uses the underlying unicast routing to provide reverse-path
   information for multicast tree building, but it is not dependent on
   any particular unicast routing protocol.

2.7.  Authentication Mechanisms

   PIM specifies the use of the IP security (IPsec) authentication
   header (AH) to provide data integrity protection and groupwise data
   origin authentication of protocol messages.  The specific AH
   authentication algorithm and parameters, including the choice of
   authentication algorithm and the choice of key, are configured by the
   network administrator.  The threats associated with receiving forged
   PIM messages are outlined in the security considerations section of
   the protocol specification.

3.  Security Considerations

   No considerations apply to a requirements analysis about a routing
   protocol, only to a specification for that routing protocol.

4.  Acknowledgements

   Pavlin Radoslavov provided text for the section on XORP testing.
   Dino Farinacci provided text for the Procket Networks testing.

5.  References

5.1.  Normative References

   [RFC2934]   McCloghrie, K., Farinacci, D., Thaler, D., and B. Fenner,
               "Protocol Independent Multicast MIB for IPv4", RFC 2934,
               October 2000.

   [RFC4601]   Fenner, B., Handley, M., Holbrook, H., and I. Kouvelas,
               "Protocol Independent Multicast - Sparse Mode (PIM-SM):
               Protocol Specification (Revised)", RFC 4601, August 2006.

5.2.  Informative References

   [RFC1264]   Hinden, R., "Internet Engineering Task Force Internet
               Routing Protocol Standardization Criteria", RFC 1264,
               October 1991.

   [RFC2117]   Estrin, D., Farinacci, D., Helmy, A., Thaler, D.,
               Deering, S., Handley, M., Jacobson, V., Liu, C., Sharma,
               P., and L. Wei, "Protocol Independent Multicast-Sparse
               Mode (PIM-SM): Protocol Specification", RFC 2117, June
               1997.

   [RFC2362]   Estrin, D., Farinacci, D., Helmy, A., Thaler, D.,
               Deering, S., Handley, M., Jacobson, V., Liu, C., Sharma,
               P., and L. Wei, "Protocol Independent Multicast-Sparse
               Mode (PIM-SM): Protocol Specification", RFC 2362, June
               1998.

   [XORP]      "XORP Project", <http://www.xorp.org>.

   [XORP-TEST] "XORP PIM-SM Test Suite", <http://www.xorp.org/releases/
               current/docs/pim_testsuite/pim_testsuite.pdf>.

Author's Address

   Tom Pusateri
   Juniper Networks
   1194 North Mathilda Avenue
   Sunnyvale, CA  94089
   USA

   Phone: +1 408 745 2000
   EMail: pusateri@juniper.net

Full Copyright Statement

   Copyright (C) The Internet Society (2006).

   This document is subject to the rights, licenses and restrictions
   contained in BCP 78, and except as set forth therein, the authors
   retain all their rights.

   This document and the information contained herein are provided on an
   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
   ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
   INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
   INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Intellectual Property

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; nor does it represent that it has
   made any independent effort to identify any such rights.  Information
   on the procedures with respect to rights in RFC documents can be
   found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use of
   such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository at
   http://www.ietf.org/ipr.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard.  Please address the information to the IETF at
   ietf-ipr@ietf.org.

Acknowledgement

   Funding for the RFC Editor function is provided by the IETF
   Administrative Support Activity (IASA).

AI ELI5

On this page
PROBLEMPIM-SM was an experimental multicast routing protocol that had been deployed in networks but needed a formal standardization review.
MECHANISMThis document checks whether PIM-SM meets all the requirements for advancing to Proposed Standard status, evaluating its specification quality, implementation maturity, testing evidence, security architecture and authentication mechanisms.
STATUS TODAYPIM-SM met all requirements and advanced to Proposed Standard in 2006. The protocol is now a mature standard for efficient multicast routing across wide-area networks.

§1What This Document Does

RFC 4602 provides the formal supporting documentation needed to advance Protocol Independent Multicast - Sparse Mode (PIM-SM) from IETF Experimental status to Proposed Standard status. PIM-SM is a routing protocol used to deliver data to multiple recipients (multicast) across wide-area networks. The protocol was first published in 1997 and 1998 as Experimental, and later completely rewritten with a more rigorous specification.

This document verifies that the new specification meets all of RFC 1264's requirements for routing protocols seeking Proposed Standard advancement, including requirements for clear documentation, implementations, testing evidence, and security architecture.

This is a checklist showing that a multicast method has been written clearly, tested by different teams, and is safe enough to be promoted to official standard status.

§2Requirements from RFC 1264

RFC 1264 defines seven requirements for routing protocols seeking Proposed Standard status:

  • Documentation: The specification must be clear and comprehensive. The new PIM-SM specification removes all known ambiguities from earlier versions and fully specifies the protocol operation.
  • Management: Management tools must exist. PIM has a Management Information Base (MIB) standardized in RFC 2934, used in production for several years.
  • Security: An explicit security architecture is required. PIM-SM specifies security using IPsec authentication headers for data integrity and origin authentication of protocol messages.
  • Authentication: Authentication mechanisms are defined. PIM uses IPsec's authentication header with administrator-configured algorithms and keys.
  • Suitability: The protocol must be suitable for its stated purpose. PIM-SM efficiently routes multicast groups across wide-area and inter-domain networks using underlying unicast routing for path information.

The standard checklist requires: a clear instruction manual, management tools, safety features, authentication to prove who sent messages, and proof it actually works for what it claims to do.

§3Known Implementations

At least four independent implementations of the new PIM-SM specification exist, plus more than six implementations of the previous version. The four new implementations are:

  • XORP: An open-source implementation available since December 2002, written by Pavlin Radoslavov (not an author of the specification), starting from scratch.
  • Cisco IOS/IOX: Production implementations by Cisco Systems for both IPv4 and IPv6, initially written by Isidor Kouvelas. The new specification is backward compatible with the old specification, allowing existing implementations to be compliant with minimal changes.
  • Infosys Technologies: A shared-tree implementation used in commercial products, covering key features like Hello messages, DR election, join/prune messages, join suppression, and prune override.
  • Procket Networks: An implementation written from scratch and later acquired by Cisco, showing the protocol's commercial viability.

Four different teams, some who never read the specification before, wrote working versions of PIM-SM. That shows the spec is clear enough for real implementations.

§4Testing Evidence

Multiple implementations have undergone extensive testing:

  • Cisco Testing: Laboratory testing and production deployment testing shows interoperability with earlier versions of PIM-SM protocol implementations.
  • XORP Testing: Thorough internal testing using packet generators and observers. Tests follow the protocol specification closely, with separate tests for each state machine event. Major tested features include data forwarding, neighbor discovery, DR election, Register messages, Join/Prune messages across multiple states ((*,*,RP), (*,G), (S,G), and (S,G,rpt)), Assert messages, and the Bootstrap mechanism. Final tests confirmed the implementation behaves as specified.
  • Procket Networks: Deployed in research and service provider networks with demonstrated interoperability with Cisco and Juniper implementations.

The implementations were tested by sending them different network messages and checking they responded correctly. All tests passed, showing the recipe really works in practice.

§5Security and Authentication

PIM-SM uses IPsec's authentication header (AH) for data integrity protection and groupwise data origin authentication of protocol messages. Network administrators configure the specific authentication algorithm and parameters, including which algorithm to use and which key to use. The security considerations section of the protocol specification outlines the threats from receiving forged PIM messages, such as false routing information that could disrupt multicast delivery.

The protocol's backward compatibility with earlier versions means existing deployments can continue operating while benefiting from improved security in new implementations.

PIM protects itself by requiring messages to be authenticated with a special signature, so routers know messages are really from trusted PIM routers and not fake.

§6References