PIM NULL Register packingCisco Systems, Inc.Tasman DriveSan JoseCA 95134USAvikkamat@cisco.comCisco Systems, Inc.Tasman DriveSan JoseCA 95134USAramaksun@cisco.com
Routing
Multicast
In PIM-SM networks PIM registers are sent from the first hop router to
the RP (Rendezvous Point) to signal the presence of Multicast source in
the network.There are periodic PIM Null registers sent from first hop router
to the RP to keep the state alive at the RP as long as the source is active.
The PIM null register packet carry information about a single Multicast
source and group.
This document defines a standard to send multiple Multicast source and group
information in a single pim null register packet and the interoperability between
the PIM routers which do not understand the packet format with
multiple Multicast source and group details.
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 source is
alive. As the number of multicast sources increase, the number of PIM null register
packets that are sent increases at a given time. This results in more PIM
packet processing at RP and FHR. The control plane policing(COPP), monitors the
packets that gets processed by the control plane. Due to the high rate at which NULL
registers are received at the RP, this can lead to COPP drops of Multicast PIM null
register packets.
This draft proposes a method to efficiently pack multiple PIM null registers and register
stop into a single message as these packets anyway don't contain data.
The draft also proposes interoperability with the routers that do not understand the new
packet format.
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 .
Rendezvous Point
Reverse Path Forwarding
Shortest Path Tree
First Hop Router, directly connected to the source
Last Hop Router, directly connected to the receiver
A router (FHR) can decide to pack multiple NULL registers based on the capability received from the RP as part of Register Stop. This ensures compatibility with routers that don't support processing of 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 will switch to the new format only when it learns RP is capable of handling the packed null register messages.
Conversely, a FHR that doesn't support the new format can continue generating the PIM NULL register the usual way since they don't check for the capability information present in the Register stop message.
To exchange the capability information in the Register Stop message, the "reserved" field can be used to indicate this capability in those register stop messages. One bit of the reserved field is used to indicate the "packing" capability (P bit). The rest of the bits in the "Reserved" field will be retained for future use.
PIM null-register packet format is enhanced to include the count of the number of null-register records and pack multiple null-register 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.
The PIM register stop can be optimized to include multiple multicast group and source information. The Record count can indicate the number of S,G records that are packed and the Type value is used to indicate the new format.
This document requires the assignment of 2 new PIM message types for the
packed pim register and pim register stop.
The authors would like to thank Stig Venaas and Umesh Dudani for
contributing to the original idea and also their very helpful comments on the draft.