Network Working Group T. Pusateri
Internet-Draft Juniper Networks
Expires: September 6, 2006 March 5, 2006
PIM Sparse-Mode IETF Proposed Standard Requirements Analysisdraft-ietf-pim-proposed-req-02
Status of this Memo
By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on September 6, 2006.
Copyright Notice
Copyright (C) The Internet Society (2006).
Abstract
This document provides supporting documentation to advance the
Protocol Independent Multicast (PIM) Sparse-Mode routing protocol
from the IETF Experimental status to Proposed Standard.
Requirements Language
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 RFC 2119 [RFC2119].
Pusateri Expires September 6, 2006 [Page 1]

Internet-Draft PIM Sparse-Mode Proposed Standard March 20061. Introduction
This analysis provides supporting documentation to advance the
Protocol Independent Multicast (PIM) Sparse-Mode routing protocol
from the IETF Experimental status to Proposed Standard. PIM Sparse-
Mode 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 Sparse-Mode
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 RequirementsSection 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 Sparse-Mode specification [I-D.ietf-pim-
sm-v2-new] 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 RFC2934 [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
Pusateri Expires September 6, 2006 [Page 3]

Internet-Draft PIM Sparse-Mode Proposed Standard March 2006
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 the draft-ietf-pim-sm-v2-new-11.txt. 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 which 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) have 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 Testing2.5.1 Cisco
The Cisco implementation has undergone extensive laboratory testing
Pusateri Expires September 6, 2006 [Page 4]

Internet-Draft PIM Sparse-Mode Proposed Standard March 2006
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 closely follow the protocol
specification (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, multicast data packets encapsulation and
decapsulation.
4. Transmission and reception of PIM Join/Prune messages, 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, transmission and reception of PIM
Cand-RP-Adv messages, candidate and non-candidate BSR state
machines, creating the RP-Set at the BSR, receiving and using the
RP-Set, semantic fragmentation of BSMs.
In the final tests, the tested router behaved as specified in the
Pusateri Expires September 6, 2006 [Page 5]

Internet-Draft PIM Sparse-Mode Proposed Standard March 2006
PIM-SM protocol specification. All issues found in the protocol
specification itself have been corrected in earlier versions of the
Internet Draft.
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. IANA Considerations
This document makes no request of IANA.
4. Security Considerations
No considerations apply to a requirements analysis about a routing
protocol, only to a specification for that routing protocol.
5. Acknowledgments
Pavlin Radoslavov provided text for the section on XORP testing.
Dino Farinacci provided text for the Procket Networks testing.
6. ReferencesPusateri Expires September 6, 2006 [Page 6]

Internet-Draft PIM Sparse-Mode Proposed Standard March 2006
Intellectual Property Statement
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.
Disclaimer of Validity
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.
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.
Acknowledgment
Funding for the RFC Editor function is currently provided by the
Internet Society.
Pusateri Expires September 6, 2006 [Page 9]