< draft-ietf-pim-null-register-packing-00.txt   draft-ietf-pim-null-register-packing-01.txt >
Network Working Group V. Kamath Network Working Group V. Kamath
Internet-Draft VMware Internet-Draft VMware
Intended status: Standards Track R. Chokkanathapuram Sundaram Intended status: Standards Track R. Chokkanathapuram Sundaram
Expires: April 22, 2019 Cisco Systems, Inc. Expires: September 12, 2019 Cisco Systems, Inc.
October 19, 2018 March 11, 2019
PIM NULL Register packing PIM Null register packing
draft-ietf-pim-null-register-packing-00 draft-ietf-pim-null-register-packing-01
Abstract Abstract
In PIM-SM networks PIM registers are sent from the first hop router In PIM-SM networks PIM registers are sent from the first hop router
to the RP (Rendezvous Point) to signal the presence of Multicast to the RP (Rendezvous Point) to signal the presence of Multicast
source in the network.There are periodic PIM Null registers sent from source in the network. There are periodic PIM Null registers sent
first hop router to the RP to keep the state alive at the RP as long from first hop router to the RP to keep the state alive at the RP as
as the source is active. The PIM null register packet carry long as the source is active. The PIM Null register packet carries
information about a single Multicast source and group. This document information about a single Multicast source and group. This document
defines a standard to send multiple Multicast source and group defines a standard to send multiple Multicast source and group
information in a single pim null register packet and the information in a single pim Null register packet and the
interoperability between the PIM routers which do not understand the interoperability between the PIM routers which do not understand the
packet format with multiple Multicast source and group details. packet format with multiple Multicast source and group details.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on April 22, 2019. This Internet-Draft will expire on September 12, 2019.
Copyright Notice Copyright Notice
Copyright (c) 2018 IETF Trust and the persons identified as the Copyright (c) 2019 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Conventions Used in This Document . . . . . . . . . . . . 2 1.1. Conventions Used in This Document . . . . . . . . . . . . 2
1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3
2. PIM Register Stop format with capability option . . . . . . . 3 2. PIM Register Stop format with capability option . . . . . . . 3
3. New PIM Null register format . . . . . . . . . . . . . . . . 4 3. New PIM Null register message . . . . . . . . . . . . . . . . 4
4. New Packed PIM Register Stop format . . . . . . . . . . . . . 5 4. New PIM Register Stop message format . . . . . . . . . . . . 4
5. Protocol operation . . . . . . . . . . . . . . . . . . . . . 6 5. Protocol operation . . . . . . . . . . . . . . . . . . . . . 5
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 6. PIM Anycast RP considerations . . . . . . . . . . . . . . . . 6
7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 7 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 7 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 6
8.1. Normative References . . . . . . . . . . . . . . . . . . 7 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 6
8.2. Informative References . . . . . . . . . . . . . . . . . 8 9.1. Normative References . . . . . . . . . . . . . . . . . . 7
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8 9.2. Informative References . . . . . . . . . . . . . . . . . 7
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 7
1. Introduction 1. Introduction
PIM Null registers are sent by First hop routers periodically for PIM Null registers are sent by First hop routers periodically for
Multicast streams to keep the states active on the RP as long as the Multicast streams to keep the states active on the RP as long as the
Multicast source is alive. As the number of multicast sources Multicast source is alive. As the number of multicast sources
increase, the number of PIM null register packets that are sent increases, the number of PIM Null register packets that are sent
increases at a given time. This results in more PIM packet increases at a given time. This results in more PIM packet
processing at RP and FHR. The control plane policing(COPP), monitors processing at RP and FHR. The control plane policing (COPP),
the packets that gets processed by the control plane. Due to the monitors the packets that gets processed by the control plane. Due
high rate at which NULL registers are received at the RP, this can to the high rate at which Null registers are received at the RP, this
lead to COPP drops of Multicast PIM null register packets. This can lead to COPP drops of Multicast PIM Null register packets. This
draft proposes a method to efficiently pack multiple PIM null draft proposes a method to efficiently pack multiple PIM Null
registers and register stop into a single message as these packets registers and register stop into a single message as these packets
anyway don't contain data. The draft also proposes interoperability anyway don't contain data. The draft also proposes interoperability
with the routers that do not understand the new packet format. with the routers that do not understand the new packet format.
1.1. Conventions Used in This Document 1.1. Conventions Used in This Document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119]. document are to be interpreted as described in RFC 2119 [RFC2119].
skipping to change at page 3, line 19 skipping to change at page 3, line 19
RPF: Reverse Path Forwarding RPF: Reverse Path Forwarding
SPT: Shortest Path Tree SPT: Shortest Path Tree
FHR: First Hop Router, directly connected to the source FHR: First Hop Router, directly connected to the source
LHR: Last Hop Router, directly connected to the receiver LHR: Last Hop Router, directly connected to the receiver
2. PIM Register Stop format with capability option 2. PIM Register Stop format with capability option
A router (FHR) can decide to pack multiple NULL registers based on A router (FHR) can decide to pack multiple Null registers based on
the capability received from the RP as part of Register Stop. This the capability received from the RP as part of Register Stop. This
ensures compatibility with routers that don't support processing of ensures compatibility with routers that don't support processing of
the new format. The capability information can be indicated by the the new format. The capability information can be indicated by the
RP via the PIM register stop message sent to the FHR. Thus a FHR RP via the PIM register stop message sent to the FHR. Thus a FHR
will switch to the new format only when it learns RP is capable of will switch to the new format only when it learns RP is capable of
handling the packed null register messages. Conversely, a FHR that handling the packed Null register messages. Conversely, a FHR that
doesn't support the new format can continue generating the PIM NULL doesn't support the new format can continue generating the PIM Null
register the usual way since they don't check for the capability register the current way. To exchange the capability information in
information present in the Register stop message. To exchange the the Register Stop message, the "reserved" field can be used to
capability information in the Register Stop message, the "reserved" indicate this capability in those register stop messages. One bit of
field can be used to indicate this capability in those register stop the reserved field is used to indicate the "packing" capability (P
messages. One bit of the reserved field is used to indicate the bit). The rest of the bits in the "Reserved" field will be retained
"packing" capability (P bit). The rest of the bits in the "Reserved" for future use.
field will be retained for future use.
Figure 2: PIM Register Stop packet with capability option Figure 1: PIM Register Stop message with capability option
0 1 2 3 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 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 |P| Reserved | Checksum | |PIM Ver| Type |P| Reserved | Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Group Address (Encoded-Group format) | | Group Address (Encoded-Group format) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source Address (Encoded-Unicast format) | | Source Address (Encoded-Unicast format) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
PIM Version, Reserved, Type, Checksum, Group Address, Source Address PIM Version, Reserved, Type, Checksum, Group Address, Source Address
Same as RFC 7761 (Section 4.9.4) Same as RFC 7761 (Section 4.9.4)
P Capability bit used to indicate support for Packed NULL Register P Capability bit used to indicate support for Packed Null Register
3. New PIM Null register format 3. New PIM Null register message
PIM null-register packet format is enhanced to include the count of New PIM Null register message format includes a count to indicate the
the number of null-register records and pack multiple null-register number of Null register records in the message.
records in the same packet. Currently the data part in the NULL
register packet is a dummy IPv4 header which carries the source and
group information and the other fields are unused. To indicate that
the null register is in a new format the "Type" field in the PIM
register packet format is used. To indicate the number of null
register records a new field "record count" is introduced which can
hold 8 bit value (max 255 records can be packed) which can be based
on MTU. Even though null registers are supposed to be sent exactly
every 60s, its fine to send a null register earlier, so as to merge
the registers. When one register is sent, multiple registers can be
packed together which are close enough in time.
Figure 1: New PIM NULL Register packet format Figure 2: New PIM Null Register message format
0 1 2 3 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 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 | |PIM Ver| Type |SubType| Rsvd | Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Record count | Reserved2 | | count | Reserved2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Group Address[1] (Encoded-Group format) | | Group Address[1] (Encoded-Group format) |
| Source Address[1] (Encoded-Unicast format) | | Source Address[1] (Encoded-Unicast format) |
. . . .
. . . .
. . . .
. . . .
. Group Address[N] . . Group Address[N] .
| Source Address[N] | | Source Address[N] |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
PIM Version, Reserved, Checksum PIM Version, Reserved, Checksum
Same as RFC 7761 (Section 4.9.3) Same as RFC 7761 (Section 4.9.3)
Type Type, SubType
The new packed NULL Register type value TBD The new packed Null Register Type and SubType values TBD
Record count count
The count of the number of packed NULL register records. The count of the number of packed Null register records.
A record consists of Group and Source Address A record consists of Group and Source Address
Group Address Group Address
IP address of the Multicast Group IP address of the Multicast Group
Source Address Source Address
IP Address of the Multicast Source IP Address of the Multicast Source
4. New Packed PIM Register Stop format 4. New PIM Register Stop message format
The PIM register stop can be optimized to include multiple multicast The new PIM register stop is message includes a count to indicate the
group and source information. The Record count can indicate the number of records that are present in the message.
number of S,G records that are packed and the Type value is used to
indicate the new format.
Figure 3: New PIM Packed Register Stop packet formats Figure 3: New PIM Register Stop message format
0 1 2 3 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 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 | |PIM Ver| Type |SubType| Rsvd | Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Record count | Reserved2 | | count | Reserved2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Group Address[1] (Encoded-Group format) | | Group Address[1] (Encoded-Group format) |
| Source Address[1] (Encoded-Unicast format) | | Source Address[1] (Encoded-Unicast format) |
. . . .
. . . .
. . . .
. . . .
. Group Address[N] . . Group Address[N] .
| Source Address[N] | | Source Address[N] |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
PIM Version, Reserved, Checksum PIM Version, Reserved, Checksum
Same as RFC 7761 (Section 4.9.3) Same as RFC 7761 (Section 4.9.3)
Type Type
The new packed Register Stop type value TBD The new Register Stop Type and SubType values TBD
Record count Record count
The count of the number of packed register stop records. The count of the number of packed register stop records.
A record consists of Group and Source Address A record consists of Group and Source Address
Group Address Group Address
IP address of the Multicast Group IP address of the Multicast Group
Source Address Source Address
IP Address of the Multicast Source IP Address of the Multicast Source
5. Protocol operation 5. Protocol operation
The following combinations exist - The following combinations exist -
FHR and RP both support the new PIM Register formats - FHR and RP both support the new PIM Register formats -
a. FHR sends the PIM register towards the RP when a new source is detected a. FHR sends the PIM register towards the RP when a new source is
b. RP sends a modified register stop towards the FHR that includes capability detected
b. RP sends a modified register stop towards the FHR that includes
capability
information by setting the P bit (Figure 2) information by setting the P bit (Figure 2)
c. Based on the receipt of the modified Register Stop, FHR will start packing c. Based on the receipt of new Register Stop, FHR will
of NULL registers using the new packed register format (Figure 1) start packing of Null registers using the new packed register
d. RP processes the NULL registers and can generate Register Stop messages by format (Figure 1)
packing multiple S,Gs towards the same FHR (Figure 3) d. RP processes the new Null register message and can generate new
register Stop messages by packing multiple S,Gs towards the same
FHR (Figure 3)
FHR supports but RP doesn't support new PIM Register formats- FHR supports but RP doesn't support new PIM Register formats-
a. FHR sends the PIM register towards the RP a. FHR sends the PIM register towards the RP
b. RP sends a normal register stop without any capability information b. RP sends a normal register stop without any capability
c. FHR then sends NULL registers in the old format information
c. FHR then sends Null registers in the old format
RP supports but FHR doesn't support the new PIM Register formats- RP supports but FHR doesn't support the new PIM Register formats-
a. FHR sends the PIM register towards the RP a. FHR sends the PIM register towards the RP
b. RP sends a modified register stop towards the FHR that includes b. RP sends a modified register stop towards the FHR that includes
capability information capability information
c. Since FHR doesn't support the new format, it sends NULL registers c. Since FHR doesn't support the new format, it sends Null
in the old format registers in the old format
6. IANA Considerations 6. PIM Anycast RP considerations
The new PIM register format should be enabled only if its supported
by all PIM anycast RP members in the RP set for the RP address.
7. IANA Considerations
This document requires the assignment of 2 new PIM message types for This document requires the assignment of 2 new PIM message types for
the packed pim register and pim register stop. the packed pim register and pim register stop.
7. Acknowledgments 8. Acknowledgments
The authors would like to thank Stig Venaas and Umesh Dudani for The authors would like to thank Stig Venaas and Umesh Dudani for
contributing to the original idea and also their very helpful contributing to the original idea and also their very helpful
comments on the draft. comments on the draft.
8. References 9. References
9.1. Normative References
8.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
[RFC7761] Fenner, B., Handley, M., Holbrook, H., Kouvelas, I., [RFC7761] Fenner, B., Handley, M., Holbrook, H., Kouvelas, I.,
Parekh, R., Zhang, Z., and L. Zheng, "Protocol Independent Parekh, R., Zhang, Z., and L. Zheng, "Protocol Independent
Multicast - Sparse Mode (PIM-SM): Protocol Specification Multicast - Sparse Mode (PIM-SM): Protocol Specification
(Revised)", STD 83, RFC 7761, DOI 10.17487/RFC7761, March (Revised)", STD 83, RFC 7761, DOI 10.17487/RFC7761, March
2016, <https://www.rfc-editor.org/info/rfc7761>. 2016, <https://www.rfc-editor.org/info/rfc7761>.
8.2. Informative References 9.2. Informative References
[RFC3973] Adams, A., Nicholas, J., and W. Siadak, "Protocol [RFC3973] Adams, A., Nicholas, J., and W. Siadak, "Protocol
Independent Multicast - Dense Mode (PIM-DM): Protocol Independent Multicast - Dense Mode (PIM-DM): Protocol
Specification (Revised)", RFC 3973, DOI 10.17487/RFC3973, Specification (Revised)", RFC 3973, DOI 10.17487/RFC3973,
January 2005, <https://www.rfc-editor.org/info/rfc3973>. January 2005, <https://www.rfc-editor.org/info/rfc3973>.
Authors' Addresses Authors' Addresses
Vikas Ramesh Kamath Vikas Ramesh Kamath
VMware VMware
 End of changes. 35 change blocks. 
84 lines changed or deleted 80 lines changed or added

This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/