PIM Working Group B. Haberman Internet Draft H. Sandick draft-ietf-pim-ipv6-03.txt Nortel Networks March 2000 G. Kump Expires October 2000 IBM Protocol Independent Multicast Routing in the Internet Protocol Version 6 (IPv6) Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. 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. Abstract This document outlines recommendations in the use of the Protocol Independent Multicast routing protocol to support Internet Protocol version 6. It describes the changes needed in order to handle the differences between IPv6 and IPv4 and conform to the logic introduced by other routing protocols enabled for IPv6. 1. Terminology 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]. 2. Introduction This document describes protocol clarifications within the Protocol Independent Multicast routing protocol [PIM-SM, PIM-DM] for efficiently routing to multicast groups communicating with the Internet Protocol version 6 (IPv6) [RFC 2460]. This document will only describe recommendations for making PIM conform to practices implemented by other IPv6 routing protocols. The existing PIM drafts should be referenced for actual protocol operation. Haberman, Sandick, Kump 1 Internet Draft PIM for IPv6 March 2000 3. Definitions and Assumptions - Link Local Address: A local-use, non-routable unicast IPv6 address [RFC 2373] - All-PIM-Routers multicast address: A permanently assigned link- scoped IPv6 multicast address for the PIM protocol [RFC 2375] It is assumed that a router running PIM for IPv6 will have a network unique, domain-wide reachable IPv6 address that will be used for multiple hop messages. 4. Protocol Impact The following will outline changes to the values used in the PIM protocol messages in order to utilize standard IPv6 protocol features. All messages will be affected by the change to the checksum field in the PIM header. For most messages, other changes involve the addresses used in the IPv6 and PIM headers. 4.1 PIM Header Checksum The checksum field in the PIM [PIM-SM, PIM-DM] header covers the entire PIM message (excluding the data portion in the Register message). When running PIM over IPv6, it must use the standard checksum calculation for IPv6 applications: the 16-bit one's complement of the one's complement sum of the entire contents of the packet, starting with the PIM packet header, and prepending a "pseudo-header" of IPv6 header fields, as specified in [RFC 2460, section 8.1]. The "Upper-Layer Packet Length" in the pseudo-header is set to the length of the PIM message. The Next Header value used in the pseudo-header is 103. If the packet's length is not an integral number of 16-bit words, the packet is padded with a byte of zero before performing the checksum calculation. Before computing the checksum, the checksum field in the PIM packet header is set to 0. 4.2 Hello Message When sending a Hello Message, a PIM router must use a different set of IPv6 addresses in the IPv6 header. The IPv6 destination address must be the All-PIM-Routers multicast address. The IPv6 source address must be the IPv6 link local address of the interface on which the message is being forwarded. The link local address in the source address field will be used to determine neighbor adjacency and for Designated Router (DR) election. 4.3 Register Message The Register Message is addressed to the domain-wide reachable IPv6 address of the Rendezvous Point (RP). The source address of the message is the domain-wide reachable IPv6 address of the DR. The DR sending the Register Message obtains the domain-wide reachable IPv6 address of the RP from the local RP-set information. Haberman, Sandick, Kump 2 Internet Draft PIM for IPv6 March 2000 4.4 Register-Stop Message The Register-Stop Message is addressed in the same manner as the Register Message. The RP addresses the message to the domain-wide reachable IPv6 address of the DR. The source address is the domain- wide reachable address of the RP. The RP obtains the domain-wide reachable address of the DR from the source address field of the Register Message received from the DR. 4.5 Join/Prune, Graft, and Graft-Ack Messages In the transmission of a Join/Prune, Graft, or Graft-Ack Message, a router sets the IPv6 destination address to the All-PIM-Routers multicast address. The IPv6 source address is set to the link local address of the interface on which the message is forwarded. The Upstream Neighbor Address field is set to the link local address of the next hop router, which is obtained from the RPF lookup. If a link local address cannot be obtained for the upstream neighbor, the Upstream Neighbor Address field is set to a known IPv6 address for that neighbor. 4.6 Bootstrap Message When sending a Bootstrap Message, a PIM router sets the IPv6 destination address field to the All-PIM-Routers multicast address. The source address is set to the link local address of the interface on which the message is forwarded. The Bootstrap Router (BSR) Address is set to the domain-wide reachable IPv6 address of the BSR. 4.7 Assert Message The Assert Message has an IPv6 destination address of the All-PIM- Routers multicast address and an IPv6 source address of the link local address of the interface forwarding the message. The link local address in the IPv6 source address field is used to resolve ties in the assert process. Downstream routers save the winning assert router's link local address to resolve any future RPF requirements. 4.8 Candidate-RP-Advertisement Message The Candidate-RP-Advertisement Message uses the domain-wide reachable IPv6 address of the BSR as the IPv6 destination address. The source address is a domain-wide reachable IPv6 address unique to the candidate RP. The RP Address field is set to a domain-wide reachable IPv6 address of the candidate RP. Each candidate RP router creates this message and unicasts it to the BSR. 5. IPv6 Address Scoping With the introduction of scoped addresses in IPv6, new issues arise in the distribution of scoped routes and the forwarding of packets containing scoped addresses. With regards to the PIM protocol, the main scoping issue involves the bootstrap mechanism. The bootstrap mechanism is a centralized function, e.g. there is one bootstrap server per PIM domain. If the PIM-SM domain is not a subset of the scoped Haberman, Sandick, Kump 3 Internet Draft PIM for IPv6 March 2000 address domain then the bootstrap mechanism, in its current form, cannot support scoped RP addresses and scoped group addresses. Therefore, in order for the bootstrap mechanism to function properly, the PIM domain must be a subset of the scoped address domain or all multiple hop messages must use globally reachable IPv6 addresses. 6. Security Considerations This document does not introduce any protocol changes that require additional security considerations above and beyond those described in the PIM protocol specifications. 7. References [RFC 2119] S. Bradner, "Key words for use in RFCs to Indicate Requirement Levels", RFC 2119, BCP14, March 1999. [PIM-SM] L. Wei, et. al, "Protocol Independent Multicast-Sparse Mode (PIM-SM): Protocol Specification", draft-ietf-pim-v2-sm-00.txt, October 1999. [PIM-DM] L. Wei, et. al, "Protocol Independent Multicast Version 2 Dense Mode Specification", draft-ietf-pim-v2-dm-03.txt, June 1999. [RFC 2460] R. Hinden and S. Deering, "Internet Protocol, Version 6 (IPv6) Specification", RFC 2460, December 1998. [RFC 2373] R. Hinden and S. Deering, "IP Version 6 Addressing Architecture", RFC 2373, July 1998. [RFC 2375] R. Hinden and S. Deering, "IPv6 Multicast Address Assignments", RFC 2375, July 1998. Haberman, Sandick, Kump 4 Authors' Addresses Brian Haberman Hal Sandick Nortel Networks 4309 Emperor Blvd. Suite 200 Durham, NC 27703 1-919-992-4439 1-919-992-9046 Email : haberman@nortelnetworks.com Email : hsandick@nortelnetworks.com Garry Kump IBM Corporation 800 Park Office Drive Research Triangle Park, NC 27709 1-919-254-2395 Email: kump@us.ibm.com Haberman, Sandick, Kump 5