Internet DRAFT - draft-zzhang-pim-bidir-rp-prune-graft
draft-zzhang-pim-bidir-rp-prune-graft
INTERNET-DRAFT Zhaohui (Jeffrey) Zhang
Intended Status: Proposed Standard WeeSan Lee
Expires: 2012-04-24 Juniper Networks, Inc.
October 24, 2011
Avoid Unnecessary Upstream Traffic in BIDIR-PIM
draft-zzhang-pim-bidir-rp-prune-graft-00
Abstract
In a BIDIR-PIM network, data packets could be forwarded from the
source to the RP and then get dropped there because there is no
receiver on the other side of the distribution tree. This document
specifies a way to prune the unnecessary traffic with minimum
additional states and procedures.
Status of this Memo
This Internet-Draft is submitted to IETF in full conformance with the
provisions of BCP 78 and 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/1id-abstracts.html
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html
Copyright and License Notice
Copyright (c) 2011 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
Zhang Expires 2012-04-24 [Page 1]
INTERNET DRAFT BIDIR-PIM RP-Prune-Graft 2011-10-24
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1 Terminology . . . . . . . . . . . . . . . . . . . . . . . . 8
2. Protocol Specification . . . . . . . . . . . . . . . . . . . . 8
2.1. RP-Prune state . . . . . . . . . . . . . . . . . . . . . . 8
2.2 RP-Prune/Graft message . . . . . . . . . . . . . . . . . . . 8
2.2.1 Sending of RP-Prune message . . . . . . . . . . . . . . 9
2.2.2 Receiving of RP-Prune message . . . . . . . . . . . . . 9
2.2.3 Sending of RP-Graft message . . . . . . . . . . . . . . 10
2.2.4 Receiving of RP-Graft message . . . . . . . . . . . . . 10
2.3 RP-Prune-Keep/Cancel message . . . . . . . . . . . . . . . . 10
2.3.1 Sending of RP-Prune-Keep message . . . . . . . . . . . . 10
2.3.2 Receiving of RP-Prune-Keep message . . . . . . . . . . . 10
2.3.3 Sending of RP-Prune-Cancel message . . . . . . . . . . . 11
2.3.4 Receiving of RP-Prune-Cancel message . . . . . . . . . . 11
2.4 Virtual RPs . . . . . . . . . . . . . . . . . . . . . . . . 11
2.5 (*,G) RP-Prune state maintenance . . . . . . . . . . . . . . 12
2.6 Packet format . . . . . . . . . . . . . . . . . . . . . . . 13
3 Security Considerations . . . . . . . . . . . . . . . . . . . . 14
4 IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 14
5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 14
6 References . . . . . . . . . . . . . . . . . . . . . . . . . . 14
6.1 Normative References . . . . . . . . . . . . . . . . . . . 14
6.2 Informative References . . . . . . . . . . . . . . . . . . 15
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 15
Zhang Expires 2012-04-24 [Page 2]
INTERNET DRAFT BIDIR-PIM RP-Prune-Graft 2011-10-24
1 Introduction
[RFC4601] defines Protocol Independent Multicast - Sparse mode (PIM-
SM), an efficient multicast routing protocol; however, the use of
both the shortest-path tree and shared tree make the protocol
extremely complex. [RFC5015] defines Bidirectional PIM (BIDIR-PIM),
which distributes the packets using only bidirectional shared trees.
Comparing to PIM-SM, BIDIR-PIM is a much simpler protocol; however,
it is not without drawbacks. One drawback is that the data packets
could be forwarded unnecessarily to the RP, Rendezvous Point, and
then get dropped there when there is no receiver at all on the shared
tree.
Particularly, there are two such scenarios:
(i) There is no receiver for the group G at all;
(ii) The senders and receivers for the group G share the same branch
towards the RP.
For simplicity, we assume explicit tracking is enabled.
Additionally, we use a RPA that belongs to a real router's loopback
interface in our examples. The same procedures are applicable to more
general situations (see section 2.4) with some changes.
Zhang Expires 2012-04-24 [Page 3]
INTERNET DRAFT BIDIR-PIM RP-Prune-Graft 2011-10-24
+----+
| RP |
+----+
/ \
/ \
/ \
+----+ +----+
| R1 | | R2 |
+----+ +----+
/ \
/ \
/ \
/ \
+----+ +----+ +----+
|src1|---| R3 | | R4 |
+----+ +----+ +----+
/ \ / \
/ \ / \
/ \ / \
+----+ +----+ +----+ +----+
| R5 | | R6 | | R7 | | R8 |
+----+ +----+ +-+--+ +----+
|
+-+--+
|src2|
+----+
Figure 1
Scenario (i) can be illustrated with Figure 1. There is no receiver
for group G at all. In this example, the source, src1, starts sending
traffic, followed by another source, src2, later.
We assume each BIDIR-PIM router except the RP has installed at least
a (*, G-prefix) route, which is responsible for forwarding the
traffic for groups belongs to the G-prefix from the senders to the
RP. On the RP itself, a special (*,G-prefix) route, called Resolve
Route in this document, is installed to trigger (throttled)
notifications to the control plane when packets match this route.
This notification is similar to PIM-SM's way of notification of new
flows, but here it serves the purpose of indicating that traffic is
being unecessarily received (if there were receivers, the traffic
would have matched a more specific (*,G) forwarding route triggered
by joins).
The procedures work as follows: when RP receives a data packet from
src1, the (*,G-prefix) resolve route (vs. a more specific (*,G)
route) is hit and the control plane is notified (that traffic is
Zhang Expires 2012-04-24 [Page 4]
INTERNET DRAFT BIDIR-PIM RP-Prune-Graft 2011-10-24
being received unnecessarily). RP then triggers a (*,G) RP-Prune to
ALL_PIM_ROUTERS on the interface on which the packet arrived. Upon
receiving the RP-Prune, R1 will install a similar (*,G) resolve
route.
In a similiar fashion, a subsequent packet from src1 would trigger R1
to send a (*,G) RP-Prune out of the interface that connects to R3,
and eventually stop the data packets from src1 traveling all the way
to the RP and get dropped there.
When src2 starts sending packets toward the RP, the packets arrive at
R1. The resolve route on R1 will prompt R1 to trigger a RP-Prune out
to the interface connecting to R4, which results a (*,G) resolve
route gets installed on R4. Similarly, a subsequent packet from src2
will trigger R4 to send a RP-Prune out of the interface connecting to
R7. This effectively stops src2 from sending more traffic towards the
RP. Note that the traffic from src2 does not need to get to the RP
before it is pruned back.
The RP-Prune message is purposedly named with the "RP-" prefix to
indicate that it is triggered from the RP. Unlike the original
BIDIR-PIM prune message, which travels upstream towards the RP, the
RP-Prune message travels downstream.
Zhang Expires 2012-04-24 [Page 5]
INTERNET DRAFT BIDIR-PIM RP-Prune-Graft 2011-10-24
+----+
| RP | (*,G)
+----+
/ \
/ \
(*,G)/ \
+----+ +----+
| R1 | | R2 |
+----+ +----+
/ \
/ \
/ \
/ \ (*,G)
+----+ +----+ +----+ +-----+
|src1|---| R3 | | R4 |---|rcvr1|
+----+ +----+ +----+ +-----+
/ \ / \
/ \ / \
/ \ / \ (*,G)
+----+ +----+ +----+ +----+ +-----+
| R5 | | R6 | | R7 | | R8 |---|rcvr2|
+----+ +----+ +-+--+ +----+ +-----+
|
+-+--+
|src2|
+----+
Figure 2
Scenerio (ii) can be illustrated with Figure 2. There are two
receivers for group G, off R4 and R8 respectively. As a result,
there are (*,G) join states on R8, R4, R1, and RP. Additionally,
there are two senders for group G, off R7 and R3 respectively.
In this scenerio, the traffic from src1 would go up to R1, and then
up to RP. At the same time, R1 would send the traffic down to R4 and
R8 where the receivers are. The problem here is that the traffic
from src1 should stop at R1 without going all the way to RP and gets
dropped there.
Similarly, the traffic from src2 should make an U-turn on R4 to R8,
without the need to go to R1 and RP for there are no other receivers
on the shared tree.
To achieve the purpose of pruning the upstream traffic wherever it is
appropriate, the RP initiates (*,G) RP-Prune messages for (*,G) join
states that have only one downstream neighbor, towards that neighbor.
When receiving the RP-Prune message, the downstream router does the
Zhang Expires 2012-04-24 [Page 6]
INTERNET DRAFT BIDIR-PIM RP-Prune-Graft 2011-10-24
same by checking its corresponding (*,G) join state. If the number
of the downstream interface is one and the number of downstream
neighbors is one, the router further propagates the RP-Prune message
downstream to that only neighbor; otherwise, the router terminates
the RP-Prune message.
After receiving a RP-Prune message, the downstream router removes the
upstream interface from its outgoing interface list so that traffic
will not be forwarded upstream. It also creates/updates a (*,G) RP-
Prune state to remember the upstream neighbor from which the RP-Prune
arrived. Additionally, before sending out a RP-Prune message, it
also creates/updates a (*,G) RP-Prune state to remember the interface
and/or neighbor the RP-Prune is sent to.
In Figure 2, the RP-Prune message will be sent from the RP to R1,
from R1 to R4, and terminated at R4 whose (*,G) state has two
downstream interfaces: one to rcvr1, another to R8 where rcvr2 is
attached. The reason R4 does not propagates the RP-Prune further
down to R8 is because if another source off R8 start sending traffic,
the traffic needs to travel upwards toward R4 to be forwarded to
rcvr1.
Now, let's say src1 becomes a receiver as well and sends a (*,G) join
toward the RP via R3 and R1. Now the number of downstream
interface/neigbhor of the (*,G) state on R1 becomes two. That will
trigger a RP-Graft message being sent out of/to all the
interfaces/neighbors on which the RP-Prune was sent out(the interface
that the new (*,G) join arrived on should not be in that list). The
RP-Graft message is to cancel out the RP-Prune message so that the
traffic can be grafted back. Notice that R1 will still not send
traffic to RP because RP still only has one downstream
interface/neighbor so it does not send a RP-Graft to R1.
Note that for scenario (i), the RP-Prune is data driven hop-by-hop:
RP has the (*,G-prefix) resolve route pre-installed while downstream
router will install the (*,G) resolve route when a RP-Prune is
received, and the RP-Prune is not propagted on downstream routers but
re-triggered by the next packet hitting the newly installed resolve
route. For scenario (ii), the RP-Prune is control driven: initiated
by RP and propagated by downstream routers when appropriate.
It is worth to note that the extra (*,G) RP-Prune states are kept
only on the relevant routers - where traffic is being or may be
received unnecessarily.
The maintenance of the (*,G) RP-Prune states is specified in the
protocol specification sections.
Zhang Expires 2012-04-24 [Page 7]
INTERNET DRAFT BIDIR-PIM RP-Prune-Graft 2011-10-24
1.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 [RFC2119].
2. Protocol Specification
2.1. RP-Prune state
Like other PIM states, (*,G) RP-Prune state is soft-state; it relies
on the periodic refresh to keep the state alive. The (*,G) RP-Prune
state includes the following information:
- Upstream interface and neighbor from which the RP-Prune is received
- a timer to time out the RP-Prune state after the upstream stops
refreshing the RP-Prune messages (this is for scenario (i)).
This is to in case the RP-Graft from the upstream is lost.
- List of downstream interfaces. For each of them:
- a flag indicating whether an interface-wide RP-Prune was sent
An interface-wide RP-Prune is sent in response to a resolve
notification, which indicates that unnecessary traffic is being
received on an interface. In contrast, a neighbor-specific RP-
Prune is sent when the (*,G) join state only has one downstream
interface.
- a list of downstream neighbors. For each of them:
- if a RP-Prune was sent to the neighbor, a timer for its
refresh.
This is the case where an neighbor-specific RP-Prune was sent
when there is only one downstream neighbor for a (*,G) join
state. <should we just propagate the RP-Prune initiated from
the RP, w/o hop-by-hop refreshing independently using the
timer?>
- if a RP-Prune-Keep (see Section 2.3) was received from the
neighbor, a timer to timeout the neighbor after it stops
sending RP-Prune-Keep.
This is the case where an interface-wide RP-Prune was sent.
2.2 RP-Prune/Graft message
Zhang Expires 2012-04-24 [Page 8]
INTERNET DRAFT BIDIR-PIM RP-Prune-Graft 2011-10-24
RP-Prune/Graft messages are always sent downstream away from the RPA.
An interface-wide RP-Prune message is multicast to ALL-PIM-ROUTERS
(sent in response to the resolve notification that it is receiving
unnecessary traffic on an interface). A neighbor-specific RP-Prune
message is unicast to a particular downstream neighbor (it is
originated from the RP or propagted by a downstream router when there
is only one downstream neighbor for a (*,G) join state).
Similarly, if a RP-Graft message is sent out of an interface where an
interface-wide RP-Prune was sent out of before, ALL-PIM-ROUTERS
address is used; if it is sent because a neighbor-specific RP-Prune
was sent before, then the address of that particular neighbor is
used.
To make sure that a RP-Graft message is received by all appropriate
downstream neighbors, it is retransmitted until it has received RP-
Prune-Cancel message (see below) from all the downstream neighbors
listed in the RP-Prune state.
2.2.1 Sending of RP-Prune message
<to be expanded>
2.2.2 Receiving of RP-Prune message
When a RP-Prune meessage is received, it is first validated with the
following crieteria:
- It must be from the DF on the RPF interface
- If it is addressed to ALL_PIM_ROUTERS then there must not be a
(*,G) Join state.
- If it is addressed to this router, then there must be a
corresponding (*,G) join state.
If the validation fails, the message is discarded.
Otherwise, a corresponding RP-Prune state is looked up or created,
with the upstream interface and neighbor recorded.
If it does not have corresponding (*,G) Join state, a (*,G) resolve
route is created and the RP-Prune message is terminated.
If it does have corresponding (*,G) Join state, the RPF interface is
removed from the (*,G) forwarding route's OIF list, and the upstream
timer in the RP-Prune state is restarted.
Zhang Expires 2012-04-24 [Page 9]
INTERNET DRAFT BIDIR-PIM RP-Prune-Graft 2011-10-24
If the (*,G) join state has more than one downstream
interface/neighbor, the RP-Prune is terminated. If it only has one
downstream interface and only one downstream neighbor on it, the RP-
Prune is further propagated to that neighbor.
2.2.3 Sending of RP-Graft message
<to be expanded>
2.2.4 Receiving of RP-Graft message
2.3 RP-Prune-Keep/Cancel message
RP-Prune-Keep/Cancel messages are always sent upstream towards the
RPA.
For a RP-Prune state triggered in case of a single downstream
neighbor for a (*,G) join state, it is maintained by periodical
refresh from RP downwards.
For a RP-Prune state that is triggered in response to resolve
notification for traffic being received unnecessarily, it is
maintained from the FHR upstream towards the RP. In scenerio (i), the
resolve notification will keep coming on R3 and R7 as long as traffic
continues. That will maintain the downstream interface in the RP-
Prune state (and the RP-Prune state itself). As a result, R3 and R7
will send RP-Prune-Keep messages upstream periodically, which in turn
will maintain the downstream interface in the upstream's RP-Prune
state (and the RP-Prune state itself). The process goes on.
If the source stop sending traffic, resolve notifications will stop
happening on the FHR and it will timeout the corresponding downstream
interface in the corresponding RP-Prune state. When all the
downstream interfaces time out, the RP-Prune state will time out, and
the router sends RP-Prune-Cancel upstream so that the upstream router
can immediately remove the correspodning downstream interface.
The RP-Prune-Cancel also serves as a acknowledgement for RP-Graft
message (see above section 2.2).
2.3.1 Sending of RP-Prune-Keep message
<to be expanded>
2.3.2 Receiving of RP-Prune-Keep message
The router looks up the corresponding (*,G) RP-Prune state when the
message is received, and the corresponding downstream interface with
Zhang Expires 2012-04-24 [Page 10]
INTERNET DRAFT BIDIR-PIM RP-Prune-Graft 2011-10-24
the interface-wide RP-Prune flag set. If either one is not found, an
interface-wide RP-Graft message is immediately sent. Most likely, a
previous RP-Graft is lost or there has been a topology change (see
2.5).
Otherwise, the timer for the downstream interface is restarted.
2.3.3 Sending of RP-Prune-Cancel message
<to be expanded>
2.3.4 Receiving of RP-Prune-Cancel message
<to be expanded>
2.4 Virtual RPs
In this document, we refer all the routers connected to the RPL,
Rendezvous Point Link, as the virtual RPs. The virtual RPs perform
the enhancement procedures described earlier, with some small
changes.
Before the necessary changes are discussed, the following are the
current standard behaviors for the routers on the RPL:
- (*,G) joins are terminated by the virtual RPs and not forwarded
onto the RPL.
- traffic is always forwarded to the RPL - the RPL is added to the
outgoing interface list of either (*,G) and (*,G-prefix) routes on
the virtual RPs.
For the RP-Prune/Graft procedure to work, the following changes are
necessary:
- (*,G) joins/prunes are propagated on the RPL to ALL-PIM-ROUTERS
(with Upstream Neighbor Address set to 0), and processed by the
virtual RPs. The RPL is added to the outgoing list of a (*,G) route
if and only if a (*,G) join has been received on the RPL.
The (*,G) join/prunes are never sent further downstream, as in the
base BIDIR-PIM case.
- The virtual RPs install a (*,G-prefix) resolve route instead of a
regular forwarding route that forwards traffic onto the RPL.
With the above changes, traffic for group G will be forwarded to the
RPL by a virtual RP only when at least one other virtual RP has sent
Zhang Expires 2012-04-24 [Page 11]
INTERNET DRAFT BIDIR-PIM RP-Prune-Graft 2011-10-24
a (*,G) join to the RPL. With the enhancement procedures described
earlier:
- A virtual RP's control plane will receive resolve notifications for
traffic arriving on non-RPL interfaces and trigger RP-Prunes out of
those interfaces, unless the traffic matches specific (*,G)
forwarding routes.
- with respect to triggering RP-Prunes when there is only one
downstream neighbor for a (*,G) join state, other virtual RPs are
also counted as downstream neighbors if they are in the (*,G) join
states on this virtual RP. Those RP-Prunes would only be triggered
away from the RPL, as a result of only having one downstream
neighbors on non-RPLs, as illustrated in Figure 3 below.
+----+ +----+
| R1 | (*,G) | R2 | (*,G)
+----+ +----+
| |
| |
============================================= RPL
| |
| |
+----+ +----+
| R3 | (*,G) | R4 | (*,G)
+----+ +----+
| |
| | (*,G)
+----+ +----+ +----+
| R5 | | R6 |------|rcvr|
+----+ +----+ +----+
Figure 3
There is a receiver off R6, so there are (*,G) join states on R6
and R4 per normal BIDIR-PIM behavior. With the enhancement
procedures, R4 will propogate the joins onto the RPL, so all R1 ~
R4 have the (*,G) state, each with only one downstream neighbor
(R1~R3 has R4 as the downstream neighbor and R4 has R6 as the
downstream neighbor), but only R4 will trigger RP-Prune towards R6
and R1 ~ R3 will not trigger RP-Prune to the RPL.
As soon as another receiver joins on R5, R4 will have two
downstream neighbors for the (*,G) join state - one being R3 on the
RPL and one being the existing R6 - so it will send RP-Graft to R6.
2.5 (*,G) RP-Prune state maintenance
Zhang Expires 2012-04-24 [Page 12]
INTERNET DRAFT BIDIR-PIM RP-Prune-Graft 2011-10-24
In a steady environment, the (*,G) RP-Prune states are maintained by
the RP-Prune refresh from upstream (for scenario (ii)), or by the RP-
Prune-Keep refresh messages from downstream (for scenario (i)). In
the former case, if an upstream stops refreshing RP-Prune messages,
downstream will time out the correspoding states (normally the
upstream should have sent RP-Graft in that case). In the latter case,
the (*,G) RP-Prune states are no longer needed if relevant sources
stops sending - the removal of unnecessary (*,G) RP-Prune states is
achieved by the RP-Prune-Keep/Canel procedures triggered from FHRs
(see above section 2.3).
With topology/configuration changes, if the upstream interface
changes, or the DF on the upstream interface changes, all RP-Prune
states with that upstream interface and neighbor are deleted, with
the following actions:
- if a (*,G) Resolve route was installed (scneario (i)), it is
deleted.
- if the upstream interface was removed from the (*,G) forwarding
route (scenario (ii)), it is re-evaluated to see if needs to be
added back (w/o considering RP-Prune state)
- RP-Graft messages are sent out of downstream interfaces or to a
neighbor where RP-Prune was sent before (with retransmission if
necessary)
2.6 Packet format
The RP-Prune/Graft, RP-Prune-Keep/Cancel messages use the PIM-SM PIM
Join/Prune format, with the following differences:
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 |Subtype| Rsvd | Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ........................................................... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type
The type is X, with a 4-bit Subtype field carved out of the
previous Reserved field (similar to the DF Election messages).
The four messages have the following Subtype values:
1 RP-Prune
2 RP-Graft
3 RP-Prune-Keep
Zhang Expires 2012-04-24 [Page 13]
INTERNET DRAFT BIDIR-PIM RP-Prune-Graft 2011-10-24
4 RP-Prune-Cancel
Upstream Neighbor Address
For RP-Prune/Graft messages, it is the address of the downstream
neighbor, or zero in case of interface-wide RP-Prune/Graft
messages.
For RP-Prune-Keep/Cancel messages, it is the address of the
upstream DF.
Holdtime
For RP-Prune-Cancel, it is 0.
For RP-Graft, it is the amount of time within which the receiver
message must respond with a RP-Prune-Cancel as an acknowledgement.
For RP-Prune, it is the amount of time that a receiver can keep
the RP-Prune state alive.
For RP-Prune-Keep, it is the amount of time that a receiver can
keep the downstream neighbor alive.
Number of Joined Sources, Number of Pruned Sources
Always 0.
3 Security Considerations
<Security considerations text>
4 IANA Considerations
<IANA considerations text>
5. Acknowledgements
Thanks for review comments and suggestions from Kurt Windisch and
Rober Kebler.
6 References
6.1 Normative References
[KEYWORDS] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
Zhang Expires 2012-04-24 [Page 14]
INTERNET DRAFT BIDIR-PIM RP-Prune-Graft 2011-10-24
[RFC5015] Handley, M., Kouvelas, I., Speakman, T., and L. Vicisano,
"Bidirectional Protocol Independent Multicast (BIDIR-
PIM)", RFC 5015, October 2007.
[RFC4601] Fenner, B., Handley, M., Holbrook, H., and I. Kouvelas,
"Protocol Independent Multicast - Sparse Mode (PIM-SM):
Protocol Specification (Revised)", RFC 4601, August 2006.
6.2 Informative References
Authors' Addresses
Zhaohui (Jeffrey) Zhang
Juniper Networks, Inc.
10 Technology Park Drive
Westford, MA 01886
EMail: zzhang@juniper.net
WeeSan Lee
Juniper Networks, Inc.
1194 North Mathilda Avenue
Sunnyvale, CA 94089-1206
EMail: weesan@juniper.net
Zhang Expires 2012-04-24 [Page 15]