Network Working Group Stephen Deering (Cisco)
Internet Draft Deborah Estrin (USC)
Dino Farinacci (Cisco)
Van Jacobson (Cisco)
Ahmed Helmy (USC)
David Meyer (Cisco)
Liming Wei (Cisco)
draft-ietf-pim-v2-dm-03.txt June 7, 1999
Protocol Independent Multicast Version 2 Dense Mode Specification
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.
Deering,Estrin,Farinacci,Jacobson,Helmy,Meyer,Wei [Page 1]
Internet Draft PIM Version 2 Dense Mode Specification Mar 1999
1 Introduction
This specification defines a multicast routing algorithm efficient for
multicast groups that are densely distributed across a network. This
protocol does not have a topology discovery mechanism often used by a
unicast routing protocol. It employs the same packet formats sparse-
mode PIM [PIMSM] uses. This protocol is called dense-mode PIM. The
foundation of this design was largely built on Deering's early work on
IP multicast routing [Deering91].
2 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.
3 Glossary
Reverse Path Forwarding (RPF) / RPF interface / RPF lookup
RPF is a multicast forwarding mode where a data packet is
accepted for forwarding if it is received on an interface
used to reach the source in unicast. The interface passing
this check is called the RPF interface.
An RPF lookup for a source returns the RPF interface and the
next-hop information, as if a route lookup is done for the
source on a unicast routing table.
Topology Discovery Mechanism/Protocol
This mechanism provides sufficient topological information
for a router to determine whether a neighbor system is
upstream with respect to each multicast source. Some topology
discovery mechanism can also determine if a neighbor is
downstream with respect to each multicast source. An existing
unicast routing protocol or a clone of it is sometimes used
for this purpose (such as in DVMRP[DVMRP]). When a multicast
routing protocol has a topology discovery mechanism built-in,
the topology discovery mechanism is sometimes referred to as
the unicast routing part of the protocol (even though it is
Deering,Estrin,Farinacci,Jacobson,Helmy,Meyer,Wei [Page 2]
Internet Draft PIM Version 2 Dense Mode Specification Mar 1999
not used for forwarding unicast packets).
4 PIM-DM Protocol Overview
Dense-mode PIM assumes that when a source starts sending, all
downstream systems want to receive multicast datagrams. Initially,
multicast datagrams are flooded to all areas of the network. If some
areas of the network do not have group members, dense-mode PIM will
prune off the forwarding branch by setting up prune state. The prune
state has an associated timer, which on expiration will turn into
forward state, allowing data to go down the branch previously in prune
state.
The prune state contains source and group address information. When a
new member appears in a pruned area, a router can ``graft'' toward the
source for the group, turning the pruned branch into forward state.
The forwarding branches form a tree rooted at the source leading to
all members of the group. This tree is called a source rooted tree.
The broadcast of datagrams followed by pruning of unwanted branches is
often referred to as a broadcast-and-prune cycle, typical of dense
mode protocols. The broadcast-and-prune mechanism in dense mode PIM
uses a technique called reverse path forwarding (RPF), in which a
multicast datagram is forwarded if the receiving interface is the one
used to forward unicast datagrams to the source of the datagram.
Compared with multicast routing protocols with built-in topology
discovery mechanisms (e.g. DVMRP with its own RIP-like ``unicast''
routing protocol), dense mode PIM has simplified design, and is not
hard-wired into a specific type of topology discovery protocol.
However, such simplification does incur more overhead and cause
broadcast-and-prune to occur on some links that could be avoided if
sufficient topology information is available, e.g. to decide whether
each interface leads to any downstream neighbors for a particular
source. We chose to accept the additional overhead in favor of the
simplification and flexibility gained by not depending on a specific
type of topology discovery protocol.
In relation to sparse-mode PIM, dense-mode PIM differs in two
essential ways: 1) there are no periodic joins transmitted, only
explicit triggered grafts/prunes, and 2) there is no Rendezvous Point
(RP).
Deering,Estrin,Farinacci,Jacobson,Helmy,Meyer,Wei [Page 3]
Internet Draft PIM Version 2 Dense Mode Specification Mar 1999
5 Protocol Description
Dense mode PIM initiates forwarding state in routers when a source
begins to send. A source does not give any prior notifications to the
network when it sends multicast datagrams to a group G. If a receiving
router does not already have a forwarding entry, it creates it for the
source and group G. This forwarding entry is called a (S,G) entry. It
includes the following contents: source address, group address, the
incoming interface, a list of outgoing interfaces, a few flags and a
few timers. The incoming interface for (S,G) is determined by an RPF
lookup in the unicast routing table. The (S,G) outgoing interface list
contains interfaces that have PIM routers present or host members for
group G.
If a router creates a (S,G) entry with an empty outgoing interface
list after receiving a multicast datagram, it must trigger a PIM-Prune
message toward the source S. This type of entry is called a negative
cache entry. Negative cache entries can be found on leaf routers with
no local group members, or on routers where prune messages were
received from downstream routers that caused the outgoing interface
list to become NULL.
Dense mode PIM routers send periodic Hello messages out of each
interface and keep track of neighbors based on received Hello
messages. The Hello message has a Holdtime field that tells the
neighbor to delete neighbor information if it is not refreshed before
expiration.
The following sections describe in detail how leaf network is defined
and detected; how pruning is done on multi-access LANs; and actions
related to new members joining an existing group; issues with
designated router election; parallel path resolution; multicast
forwarding entry expiration and the adaptation to topology changes.
5.1 Leaf network detection
In dense mode PIM, prune state is first instantiated on routers
connected to leaf networks without group members. A network on a
router interface is deemed a leaf if there is no other PIM neighbors
on that network. The notion of leaf network here might be slightly
different from that defined in other protocols. [*]
_________________________
[*] E.g. In DVMRP a leaf network for a source is
defined as one without downstream neighbor DVMRP
routers. Each DVMRP router is able to decide whether it
has a downstream DVMRP neighbor with respect to each
source. This is due to the RIP-like mechanism used in
Deering,Estrin,Farinacci,Jacobson,Helmy,Meyer,Wei [Page 4]
Internet Draft PIM Version 2 Dense Mode Specification Mar 1999
A router determines it is a leaf by not receiving PIM Hello messages.
A leaf router can detect that there are no members downstream when it
is the only router on a network and there are no IGMP Host-Report
messages received from hosts. A router should not populate a
forwarding entry's outgoing interface list with a leaf network
interface without downstream members.
It should be noted that a non-leaf router in PIM dense-mode is not
necessarily a non-leaf node on a particular multicast forwarding tree.
There are topologies where two parallel routers are connected to a
common LAN where none of the routers uses the other one to reach a
source. Therefore both routers will be leaves of the shortest path
tree rooted at the source. When there are no group members on this
LAN, both routers must not forward packets onto it. This is achieved
by an assert process. See section 5.5 for more details.
A dense mode PIM implementation MUST take proper actions when a non-
leaf router becomes a leaf router. When the last PIM neighbor on an
interface goes away and turns the connected subnet into a leaf
network, the router SHOULD delete that interface from the outgoing
interface lists of all groups without attached group members.
5.2 Pruning of branches
5.2.1 Pruning on multi-access LANs and prune-override
PIM prune message storms can be generated if an implementation
responds to received multicast packets aggressively, e.g. by sending
one prune for each data packet matching a negative cache entry. An
implementation SHOULD either respond to such packets in a very
conservative rate-limited manner, or not responding to such packets at
all, and rely on the expiration and recreation of the entry to
generate a prune. The latter is sufficient in most cases when the
probability of prune message loss is low.
A prune is sent upstream when a router creates a (S,G) negative cache
entry, or when the entry turns into a negative cache. Prune
information is flushed periodically. This causes multicast datagrams
to be sent in RPF mode again which in turn triggers prune messages.
When a prune message is sent onto an upstream LAN, it is data link
multicast and IP addressed to the all PIM routers group address
224.0.0.13. The router to process the prune will be indicated by
inclusion of its address in the "Address" field of the message. This
_________________________
its topology discovery (or ``unicast routing'')
protocol.
Deering,Estrin,Farinacci,Jacobson,Helmy,Meyer,Wei [Page 5]
Internet Draft PIM Version 2 Dense Mode Specification Mar 1999
address is obtained by an RPF look up for the source. When the prune
message is sent, the expected upstream router will schedule a prune
request of the LAN from its outgoing interfaces for the (S,G) entry.
The suggested default delay time before deletion is 3 seconds.
Other routers on the LAN will hear the prune message and respond with
a join if they still expect multicast datagrams from the expected
upstream router. The Join message is data link multicast and IP
addressed to the all PIM routers group address 224.0.0.13. The router
to process the join will be indicated by inclusion of its address in
the "Address" field of the message. The address is determined by an
RPF lookup for the source. When the expected router receives the join
message, it will cancel the prune request. This process is called
prune-override.
Routers that need to send prune-override joins will randomly generate
a join message delay timer. If a join is heard from another router
before a router sends its own, it will cancel sending its own join.
This will reduce control traffic on the LAN. The maximum join delay
timer should be equal to or smaller than the prune delay timer value.
The default is 3 seconds.
If the expected upstream router does not receive any PIM Join messages
before the scheduled expiration time for the deletion request, it
prunes the outgoing LAN interface from the (S,G) multicast forwarding
entry. The prune timer SHOULD take into account the 3 seconds delay
after the prune was scheduled. At the time of the prune, by default,
the timer SHOULD expire in [Data-Timeout - 3 seconds]. This reduces
the chance of join latency in case a new member immediately joined
after the last prune.
However, if the prune-override join message is lost, the prune will
occur and there will be no data delivery for the amount of time the
interface remains in prune state. To reduce the probability of this
occurence, a router that has scheduled to prune the interface off
should immediately send a prune onto the interface. This gives other
routers another chance to hear the prune, and to respond with a join.
5.2.2 Pruning a Point-to-point link
Prune messages received on a point to point link are not delayed
before processing as they are in the LAN procedure. If the prune is
received on an interface in the outgoing interface list, it is pruned
immediately.
Prunes may be rate-limited on point-to-point interfaces when a
multicast datagram is received for a negative cache entry, or if the
Deering,Estrin,Farinacci,Jacobson,Helmy,Meyer,Wei [Page 6]
Internet Draft PIM Version 2 Dense Mode Specification Mar 1999
point-to-point interface receiving the datagram is not the RPF
interface toward the source.
5.3 New members joining an existing group
If a router is directly connected to a host that wants to become a
member of a group, the router may send a Graft message toward known
sources. This allows join latency to be reduced below that indicated
by the relatively large timeout value suggested for prune information.
The host indicates its interest in group G by sending an IGMP report.
If a receiving router has state for group G, it adds the interface on
which the IGMP Report or Graft was received for all known (S,G)'s. If
the (S,G) entry was a negative cache entry, the router sends a Graft
message upstream toward S.
A router receiving the Graft message adds the received interface into
the matching (S,G) entry's outgoing interface list. If the entry
transitions to forward state due to this added outgoing interface, the
router must send a Graft message toward the source.
Routers with no group state do nothing on receipt of IGMP reports,
since dense-mode PIM will deliver multicast datagrams to all
interfaces when creating state for a group.
Graft message is the only PIM message that uses a positive
acknowledgment strategy. Senders of Graft messages unicast them to
their upstream RPF neighbors. The neighbor processes each (S,G) and
immediately acknowledges each (S,G) in a GraftAck message. This is
relatively easy, since the receiver simply changes the PIM message
type from Graft to Graft-Ack and unicasts the original packet back to
the source. The sender periodically retransmits the Graft message for
any (S,G) that has not been acknowledged. The interval between each
retransmission is 3 seconds. Note that the sender need not keep a
retransmission list for each neighbor since Grafts are only sent to
the RPF neighbor. Only the (S,G) entry needs to be tagged for
retransmission.
5.4 Designated Router Election
Dense mode PIM itself does not need the function of a designated
router (DR). But a DR is needed on multi-access LANs running IGMP
version 1, which relies on a routing protocol to select a query router
for the purpose of sending IGMP Host-Query messages. Dense-mode PIM
Deering,Estrin,Farinacci,Jacobson,Helmy,Meyer,Wei [Page 7]
Internet Draft PIM Version 2 Dense Mode Specification Mar 1999
designated router (DR) election has the same procedure sparse-mode PIM
uses.
Each PIM router connected to a multi-access LAN should periodically
transmit Hello messages onto the LAN. The period is specified as
[Hello-Timer] in the sparse mode specification (default 30 seconds).
The highest IP addressed router becomes the DR. The discovered PIM
routers should be timed out after [Neighbor-Timer] (default 105
seconds) in the PIM-SM specification. If the DR goes down, a new DR is
elected.
DR election is only necessary on multi-access networks.
5.5 Parallel paths to a source
Two or more routers may receive the same multicast datagram replicated
upstream. In particular, if two routers have equal cost paths to a
source and are connected on a common multi-access network, duplicate
datagrams will travel downstream onto the LAN. Dense-mode PIM will
detect such a situation and will not let it persist.
If a router receives a multicast datagram on an outgoing interface on
a multi-access LAN, the packet must be a duplicate. In this case a
single forwarder must be elected. The upstream routers can decide
which one becomes the forwarder, using Assert messages addressed to
224.0.0.13 on the LAN. Downstream routers listen to the Asserts so
they know which one was elected (typically this is the same as the
downstream router's RPF neighbor but there are circumstances when
using different unicast protocols where this might not be the case).
The upstream router elected is the one that has the best metric to the
source. When a packet is received on an outgoing interface, a router
will send an Assert packet on the LAN indicating what metric it uses
to reach the source of the data packet. If metrics are comparable, the
router with the best metric will become the forwarder. Incomparable
metrics will be discussed later in this section when metric preference
is described. All other upstream routers will prune the interface from
their outgoing interface list. The downstream routers also do the
comparison in case the forwarder is different than the RPF neighbor.
This is important so downstream routers send subsequent Prunes or
Grafts to the correct neighbor.
Associated with the metric is a metric preference value. This is
provided to deal with the case where the upstream routers may run
different unicast routing protocols. The numerically smaller metric
preference is always preferred. The metric preference should be
treated as the high-order part of an Assert metric comparison.
Deering,Estrin,Farinacci,Jacobson,Helmy,Meyer,Wei [Page 8]
Internet Draft PIM Version 2 Dense Mode Specification Mar 1999
Therefore, a metric value can be compared with another metric value
provided both metric preferences are the same. A metric preference can
be assigned per unicast routing protocol and needs to be consistent
for all PIM routers on the LAN.
Asserts are rate-limited. The recommended minimum interval between two
subsequent asserts out the same outgoing interface of an (S,G) entry
is 1 second.
The following Assert rules must be observed:
Multicast packet received on outgoing interface:
1 Do unicast routing table lookup on source IP address from data
packet.
2 Send Assert on interface for source IP address from data packet.
The assert message includes metric preference of routing protocol
and metric from routing table lookup.
3 If route is not found, Use metric preference of 0x7fffffff and
metric 0xffffffff.
Asserts received on outgoing interface:
1 Compare metric received in Assert with the one you would have
advertised in an Assert. If the value in the Assert is less than
your value, prune the interface. If the value is the same, and
your address is less than the Assert sender, prune the interface.
2 If you have won the election and there are directly connected
members on the LAN, keep the interface in your outgoing interface
list. You are the forwarder for the LAN.
3 If you have won the election but there are no directly connected
members on the LAN, schedule to prune the interface. The LAN might
be a stub LAN with no members (and no downstream routers). If no
subsequent Joins are received, prune the interface from the
outgoing interface list. Otherwise keep the interface in your
outgoing interface. You are the forwarder for the LAN.
4 The assert winner SHOULD send an assert with its own metric on the
Deering,Estrin,Farinacci,Jacobson,Helmy,Meyer,Wei [Page 9]
Internet Draft PIM Version 2 Dense Mode Specification Mar 1999
LAN, so that all other routers know who the winner is.
Asserts received on incoming interface:
1 Downstream routers will select the upstream router with the
smallest metric as their RPF neighbor. If two metrics are the
same, the highest IP address is chosen to break the tie.
If the upstream router selected is different from the RPF neighbor
selected natively, it should start an Assert-Timer. When this
timer expires, it restores the RPF information obtained by the RPF
lookup.
2 If the downstream routers have downstream members, they must
schedule a join to inform the upstream router packets should be
forwarded on the LAN. This will cause the upstream forwarder to
cancel its delayed pruning of the interface.
3 When the assert state times out, the downstream router may switch
from the assert winner to the original RPF neighbor, if different.
5.6 Timers in Multicast Forwarding Entries
An (S,G) entry has a number of associated timers. One for the
multicast routing entry itself, one for each pruned interface in the
outgoing interface list and one to time out information about upstream
assert winner (Assert_timer). An outgoing interface in forward state
does not time out or change state without external events. The
outgoing interface stays in forward state in the list as long as there
is a group member connected, or there is a downstream PIM neighbor
that has not sent a prune to it. The interface is deleted from the
outgoing interface list if it is on a leaf network and there is no
connected member. The interface timer for a pruned interface should be
started with the holdtime in the prune message (also referred to as
the prune timer).
When a (S,G) entry is in forwarding state, its expiration timer is set
to [Data-Timeout], as specified in the companion sparse mode
specification [PIMSM], default is 210 seconds. This timer is restarted
when a data packet is forwarded. The (S,G) entry is deleted when this
timer expires.
Deering,Estrin,Farinacci,Jacobson,Helmy,Meyer,Wei [Page 10]
Internet Draft PIM Version 2 Dense Mode Specification Mar 1999
Once all interfaces in the outgoing interface list are pruned, the
(S,G)'s expiration timer should be set to the maximum prune timer
among all its outgoing interfaces. During this time the entry is known
as a negative cache entry.
If the prune timers on different outgoing interfaces are different,
the pruned interface with the shortest remaining timer may expire
first and turn the negative cache entry into forwarding state. When
this happens, a graft should be triggered upstream. When a negative
cache entry turns into a forward entry, the entry timer should be
restarted with the default expiration timer. Once the (S,G) entry
times out, it will be recreated when the next multicast packet or join
arrives.
If the prune timer expires at the exactly same time as the (S,G) entry
timer, a graft should still be triggered upstream.
The prune message sent upstream contains a holdtime. Its default value
is [Data-Timeout], except when the Assert timer is also running, the
holdtime in the prune message is set to the smaller value between the
prune holdtime the system uses, and the remaining assert timer value
before its expiration. The Assert Timer is started with a default
value of 210 seconds.
5.7 Adapting to unicast route changes
When unicast route changes occur, the RPF interface for many (S,G)
entries will also change. The following should be done for the
affected entries:
1 A prune should be sent toward the old incoming interface;
2 A graft should be sent to the new RPF neighbor.
6 Generation Identifier (GenID)
When a router goes offline and restarts, it loses all multicast
forwarding state. If the upstream router has (S,G) entries in forward
state, data will come down and recreate state in the restarted router.
However, if the upstream router is in negative cache state, no data
packet can flow down until the upstream negative cache state expires.
This results in join latencies for new members joining after the
router went down.
Deering,Estrin,Farinacci,Jacobson,Helmy,Meyer,Wei [Page 11]
Internet Draft PIM Version 2 Dense Mode Specification Mar 1999
To reduce this join latency, all PIM Hello messages SHOULD carry a
``Generation ID''(GenID) option. The GenID is a randomly generated
32-bit number, that MUST be different between different router
reloads.
When a new GenID is detected from a PIM neighbor, the local router
will need to go through its multicast forwarding table, and attempt to
recover the prune state for the PIM neighbor.
If a new GenID is received on a pruned outgoing interface of a (S,G)
entry, that interface SHOULD be turned into forward state. If the
(S,G) entry transitions into forward state from pruned state, a graft
MUST be sent to the upstream RPF neighbor.
If the new GenID is sent by the RPF neighbor of a negative cache (S,G)
entry, a (S,G) prune SHOULD be immediately sent to that RPF neighbor,
as if the local state just transitioned into prune state.
Deering,Estrin,Farinacci,Jacobson,Helmy,Meyer,Wei [Page 12]
Internet Draft PIM Version 2 Dense Mode Specification Mar 1999
7 Packet Formats
This section describes the details of the packet formats for PIM
control messages.
All PIM control messages have protocol number 103.
Basically, PIM messages are either unicast (e.g. Registers and
Register-Stop), or multicast hop-by-hop to `ALL-PIM-ROUTERS' group
`224.0.0.13' (e.g. Join/Prune, Asserts, etc.).
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|PIM Ver| Type | reserved | Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
PIM Ver
PIM Version number is 2.
Type Types for specific PIM messages. PIM Types are:
0 = Hello
1 = Register
2 = Register-Stop
3 = Join/Prune
4 = Bootstrap
5 = Assert
6 = Graft (used in PIM-DM only)
7 = Graft-Ack (used in PIM-DM only)
8 = Candidate-RP-Advertisement
Reserved
Set to zero. Ignored upon receipt.
Checksum
The checksum is the 16-bit one's complement of the one's
Deering,Estrin,Farinacci,Jacobson,Helmy,Meyer,Wei [Page 13]
Internet Draft PIM Version 2 Dense Mode Specification Mar 1999
complement sum of the entire PIM message. For computing the
checksum, the checksum field is zeroed.
{ For all the packet format details, refer to the PIM sparse-mode
specification.}
7.1 PIM-Hello Message
It is sent periodically by PIM routers on all interfaces.
The Generation ID option has OptionType of 20, and OptionLength of 4.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| OptionType = 20 (GenID) | OptionLength = 4 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Random Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
7.2 PIM-SM-Register Message
Used in sparse-mode. Refer to PIM sparse-mode specification.
7.3 PIM-SM-Register-Stop Message
Used in sparse-mode. Refer to PIM sparse-mode specification.
7.4 Join/Prune Message
Joins are sent by routers toward upstream sources. A join creates or
refreshes forwarding state and a prune negates forwarding state. It is
processed as if a graft is received, except no ack packet is required.
Refer to PIM sparse-mode specification.
7.5 PIM-SM-Bootstrap Message
Used in sparse-mode. Refer to PIM sparse-mode specification.
7.6 PIM-Assert Message
The PIM-Assert message is sent when a multicast data packet is
received on an outgoing interface corresponding to the (S,G) or (*,G)
associated with the source. This message is used in both dense-mode
and sparse-mode PIM. For packet format, refer to PIM sparse-mode
Deering,Estrin,Farinacci,Jacobson,Helmy,Meyer,Wei [Page 14]
Internet Draft PIM Version 2 Dense Mode Specification Mar 1999
specification.
7.7 PIM-Graft Message
This message is sent by a downstream router to a neighboring upstream
router to reinstate a previously pruned branch of a source tree. This
is done for dense-mode groups only. The format is the same as a
Join/Prune message, except that the value in the type field is 6. The
source address should be included in the join section of the message.
The holdtime field is unused, and is ignored when a graft is received.
7.8 PIM-Graft-Ack Message
Sent in response to a received Graft message. This message is sent for
dense-mode groups only. The format is the same as Join/Prune message,
except that the value of the message type field is 7. The ``Encoded-
Unicast-Upstream Neighbor Address'' field is unused and needs not be
checked when this message is received. The holdtime field in the
packet is ignored when received.
8 Security Considerations
Security issues are discussed in detail in the companion document
``Authenticating PIM Version 2 Messages'' [PIMAU].
9 Acknowledgement
Thanks to Manoj Leelanivas, Sangeeta Mukherjee, Nitin Jain, Bill
Fenner and many members of the PIM/IDMR working group for their
helpful comments.
10 References
[Deering91] S.E. Deering. Multicast Routing in a Datagram
Internetwork. PhD thesis, Electrical Engineering Dept., Stanford
University, December 1991.
[DVMRP] RFC 1075, Distance Vector Multicast Routing Protocol.
Waitzman, D., Partridge, C., Deering, S.E, November 1988
[PIMSM] Protocol Independent Multicast Sparse-Mode (PIM-SM): Protocol
Specification. D. Estrin, D. Farinacci, A. Helmy, D. Thaler, S.
Deering, M. Handley, V. Jacobson, C. Liu, P.Sharma, L. Wei draft-
ietf-idmr-pim-sm-specv2-00.txt.
Deering,Estrin,Farinacci,Jacobson,Helmy,Meyer,Wei [Page 15]
Internet Draft PIM Version 2 Dense Mode Specification Mar 1999
[PIMARCH] An Architecture for Wide-Area Multicast Routing, S. Deering,
D. Estrin, D. Farinacci, V. Jacobson, G. Liu,L. Wei, USC Technical
Report, available from authors, Nov 1996.
[RFC1112] Host Extensions for IP Multicasting, Network Working Group,
RFC 1112, S. Deering, August 1989
[PIMAU] Authenticating PIM Version 2 Messages, L. Wei. <draft-ietf-
pim-v2-auth-00.txt>, Nov, 1999
11 Authors' Addresses
Stephen Deering
Cisco Systems Inc
170 West Tasman Drive,
San Jose, CA 95134
deering@cisco.com
Deborah Estrin
Computer Science Department/ISI
University of Southern California
Los Angeles, CA 90089
estrin@usc.edu
Dino Farinacci
cisco Systems Inc
170 West Tasman Drive
San Jose, CA 95134
dino@cisco.com
Van Jacobson
cisco Systems Inc
170 West Tasman Drive
San Jose, CA 95134
van@cisco.com
Ahmed Helmy
Computer Science Department
University of Southern California
Los Angeles, CA 90089
ahelmy@catarina.usc.edu
Deering,Estrin,Farinacci,Jacobson,Helmy,Meyer,Wei [Page 16]
Internet Draft PIM Version 2 Dense Mode Specification Mar 1999
David Meyer
cisco Systems, Inc
170 West Tasman Drive
San Jose, CA95134
meyer@cisco.com
Liming Wei
cisco Systems Inc
170 West Tasman Drive
San Jose, CA 95134
lwei@cisco.com
12 Appendix. Changes Since The Last Revision
* Section 5.2.1 Deleted the paragraph about use of 0.0.0.0 in the
prune message.
* Section 5.6 Made it explicit that graft needs to be sent even when
prune timer and entry timer all expire at the same time.
* Section 7.8. Deleted sentence saying graft-ack is sent only if it
is received on a non-RPF interface.
* Section 5.2.1. Reworded the ``rate-limiting prunes'' paragraph.
Made it more explicit what actions are permitted.
* Section 7.4. Reworded and added clarification for join processing:
``A join creates or refreshes forwarding state and a prune negates
forwarding state. It is processed as if a graft is received,
except no ack packet is required.''
* Section 5.2.1. Added sentence to deal with 3 seconds join latency
immediately after prune over a multi-access LAN: ``The prune timer
SHOULD take into account the 3 seconds delay after the prune was
scheduled. At the time of the prune, by default, the timer SHOULD
Deering,Estrin,Farinacci,Jacobson,Helmy,Meyer,Wei [Page 17]
Internet Draft PIM Version 2 Dense Mode Specification Mar 1999
expire in [Data-Timeout - 3 seconds]. This reduces the chance of
join latency in case a new member immediately joined after the
last prune.
Deering,Estrin,Farinacci,Jacobson,Helmy,Meyer,Wei [Page 18]