Network Working Group Naiming Shen
Internet Draft Liming Wei
Redback Networks
Expiration Date: June 2004 Dino Farinacci
Procket Networks
December 2003
Discovering PIM-SM Next-Nexthop Downstream Nodes
<draft-shen-pim-nnhop-nodes-00.txt>
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 specifies extensions to PIM-SM in support of
next-nexthop downstream node discovery. This next-nexthop node
information can be used for PIM to fast re-route multicast
traffic onto explicitly routed tunnels, for downstream node
protection in case of outbound link or nexthop node failure.
Conventions used in this document
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].
Shen, Wei, Farinacci Expires June 2004 [Page 1]
Internet Draft PIM Next-Nexthop Nodes December 2003
1. Introduction
PIM-SM as defined in [1] creates PIM distribution trees by
downstream PIM nodes sending Join/Prune messages to either (*,G)
or (S,G) upstream PIM nodes. These Join/Prune messages are sent
hop by hop towards the RP or the sources of the group.
It is possible for a PIM node to know the direct downstream
neighbors, but currently it has no mechanism to learn the
downstream nodes of the adjacent neighbors, or the next-nexthop
downstream nodes. This document proposes an PIM-SM extension
to allow a PIM node to discover its next-nexthop downstream
neighbors.
One application for learning the next-nexthop downstream PIM
neighbors is IP multicast traffic fast re-route in NFRR (Nexthop
Fast ReRoute) node-protection [2]. The NFRR scheme allows a
node to perform fast re-route of IP multicast traffic onto a
(LSP) tunnel in case of a link or node failure. Such a Nexthop
Fast ReRoute tunnel will most likely be a MPLS TE LSP, but it can
be a source routed IP tunnel or a sub-IP tunnel.
When the NFRR is used for node-protection for IP multicast
traffic, a node acting as the Point of Local Repair (PLR) has
tunnels that terminate in the next-nexthop downstream PIM nodes.
These next-nexthop downstream nodes receive traffic forwarded by
the PLR through the protected node. For each multicast forwarding
path going through the PLR and the downstream protected node,
the PLR needs to learn the identity of the next-nexthop neighbors.
To discover PIM-SM next-nexthop downstream nodes, a PIM node needs
to learn its directly connected downstream nodes first. Thus
the downstream nodes MUST NOT suppress their Join/Prunes to the
upstream neighbors over the multi-access interfaces.
In order to allow the PLR to dynamicly associate an OIF (or a
protected downstream neighbor) of a (*,G) or (S,G), with a
tunnel (or tunnels) leading to the correct next-nexthop neighbors,
the PLR needs to learn the association between a next-nexthop
neighbor's interface address and the remote NFRR tunnel end point.
Since the NFRR tunnel's remote end point uses a router-ID, this
router-ID needs to be communicated back to the PLR node.
A new message type and a new Encoded Next-Nexthop Address format
is defined in this document to relay the downstream's Join/Prune
information to the upstream neighbors. This scheme allows a
PIM-SM node to send join/prune information with two-hop limit
upstream.
Two new Option Types are defined for PIM Hello message. One of
them is to indicate the sender is interested in receiving the
next-nexthop Join/Prune messages from the neighbors. Another
is to advertise the sender's router-ID in the Hello message.
Shen, Wei, Farinacci Expires June 2004 [Page 2]
Internet Draft PIM Next-Nexthop Nodes December 2003
2. Discovering PIM-SM Next-Nexthop Downstream Nodes Scheme
This PIM-SM extension involves 3 new actions: 1) downstream PIM
nodes advertise router ID in PIM Hello messages; 2) upstream PIM
nodes send Next-Nexthop Node Request to downstream nodes in Hello
messages; and 3) a PIM node modifies and relays downstream's
Join/Prune messages to all relevant upstream nodes. For each
(*,G) or (S,G), the PIM PLR node builds a relation of downstream
nodes and next-nexthop downstream nodes. When the outbound
interface going to the downstream node is down or the downstream
node itself is down, the PLR node can fast re-route the multicast
traffic directly to those next-nexthop downstream nodes using the
pre-built NFRR tunnels.
2.1 Example
The diagram below shows an example of this scheme.
lsp1
+---------------------------+
(S,G) | |
(upstreams) | <--- J/P --- V downstream
[R1]====>[R2]a=======>b[R3]=======>c[R4]-- (to receivers)
<- NNhop J/P --
Figure 1: NFRR node-protection for IP multicast traffic
Node R2 is the PLR (Point of Local Repair). It is configured
with an NFRR LSP for the purpose of protecting node R3. Assume R3
is the downstream PIM node of R2 for a (S,G), R4 is the
downstream node of R3 for the same (S,G). The links between the
nodes can be either point-to-point or multi-access.
R2 indicates to R3 in PIM Hellos, that it is interested in receiving
R3's downstream Join/Prune messages. R4 advertises its router-ID
to R3 in its Hello messages. When R3 receives a Join/Prune message
for the (S,G), it resends it in a Next-Nexthop Join/Prune (NNJP)
message to its upstream neighbor R2. This NNJP contains R4's
router-ID, which R3 learned from R4's Hello message. This NNJP
message is unicast directed at R2,
After R2 receives the relayed messages from R3, it can make the
association of its downstream R3 with NFRR LSP lsp1 for the (S,G).
In the case of link "a" going down, the multicast forward engine
on R2 can quickly switch the traffic for the (S,G) from OIF
of interface "a" onto lsp1. The RPF checks on R4 needs to
to accept multicast traffic from lsp1. The mechanism of this
modified RPF check for re-routed multicast traffic is described
in [2].
Shen, Wei, Farinacci Expires June 2004 [Page 3]
Internet Draft PIM Next-Nexthop Nodes December 2003
In a topology more complicated than that shown in figure 1, there
are multiple LSPs associated with a (S,G) over an oif, going to
multiple next-nexthop nodes.
2.2 Router-ID Option in Hello Message
A new option is defined to support the advertisement of a PIM
node's router-ID. A router-ID is a 4 byte number uniquely
identifying a PIM node. The same router-ID is also be used to
establish the tail-end of the NFRR LSP. A PLR PIM node makes
the association of a next-nexthop downstream node and a NFRR
tunnel based on the router-ID.
A router may have multiple router-IDs for different applications.
The router-ID being used for this option MUST match the NFRR LSP
destination address in order for PIM-SM on the PLR to make the
association.
2.3 Next-Nexthop Node Request Option in Hello Message
This option is used by an upstream node to indicate to its
downstream nodes that it is interested in receiving the
Join/Prune messages of their downstream nodes. An upstream
node can optionally send the Next-Nexthop Node Request when
there is at least one NFRR tunnel configured to protect the
downstream nodes over the interface. This request is implicitly
withdrawn if the last NFRR tunnel is torn down (or a NFRR LSP
is removed). Upon receiving the Hello messages with the
Next-Nexthop Node Request, a PIM node SHOULD relay the modified
Join/Prune messages from its downstream nodes to the relevant
upstream nodes who requested the service.
2.4 Next-Nexthop Node Address in Next-Nexthop Join/Prune Message
A new Next-Nexthop Join/Prune Message is defined for an PIM
node to modify and relay the downstream Join/Prune messages
to their corresponding upstream neighbors. The format of the
message is the same as the Join/Prune message except that
the Encoded Upstream Neighbor Unicast Address is replaced by
the Encoded Next-Nexthop Address and the message is destined
to a unicast interface address of the upstream neighbor.
A new Encoded Next-Nexthop Node Address is defined for this
scheme. The address family code and the Encoding Type are not
changed. The Address field includes the downstream node router-ID
and the downstream interface IP address. This new Encoded Address
is used in the Next-Nexthop Join/Prune Message to re-group the
(S,G)s for each upstream neighbors. A PIM node MUST silently drop
the packet if it does not support this Next-Nexthop Node extension,
or the sender of the message is not one of the downstream nodes
it protects, or the interface where it received this NNhop
Join/Prune message is pruned.
Shen, Wei, Farinacci Expires June 2004 [Page 4]
Internet Draft PIM Next-Nexthop Nodes December 2003
3. Packet Format
3.1 Router-ID Option in Hello Message
The Value field of the option Router-ID is a 4 byte number. This
option can be included in the Hello message to advertise the
unique address of the router.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| TYPE (IANA allocate) | Length = 4 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Router ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
3.2 Next-Nexthop Node Request Option in Hello Message
This option is used by upstream node to inform the downstream nodes
that it is interested in receiving the Next-Nexthop Node
information. This option can be included in the Hello message.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| TYPE (IANA allocate) | Length = 0 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
3.3 Next-Nexthop Join/Prune Message
This is a new PIM-SM message type. The code is to be allocated
by IANA. This message has the same format as the normal Join/Prune
message except for:
- the Next-Nexthop Node Address replaces the Upstream Neighbor
Unicast Address in Join/Prune message.
- the message is destined to an unicast interface address of
the intended upstream PIM neighbor.
This modified Join/Prune message is sent to the neighbor's
interface unicast address with TTL 1. This message MUST only
contain the (S,G)s or (*,G) which share the same upstream PIM
neighbor.
3.4 Next-Nexthop Node Address
This Next-Nexthop Node Address is used by a PIM node to replace
the Upstream Neighbor Address in the original Join/Prune message.
Shen, Wei, Farinacci Expires June 2004 [Page 5]
Internet Draft PIM Next-Nexthop Nodes December 2003
This Address contains the interface address and router-ID from the
next-nexthop PIM neighbor's original join/prune message.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Addr Family | Encoding Type | Router ID (4 bytes) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Router ID (Continued) | Unicast Address (Interface)
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+...
Addr Family - The PIM address family of the Unicast Address of
Interface field of this address.
Encoding Type - The value is set to 0.
Router ID - A 4 byte number to represent the unique address of
an downstream PIM node.
Unicast Interface Address - The interface address of the downstream
PIM neighbor.
4. Security Considerations
This mechanism does not introduce any new security issue in LDP.
5. IANA Considerations
The Router-ID and Next-Nexthop Node Request option types
in Hello messages, the Next-Nexthop Join/Prune Mesage type and
the Next-Nexthop Node Address are proposed in this document.
This PIM-SM extension requires that IANA allocate those numbers.
6. Acknowledgments
The authors would like to thank Yiqun Cai for the discussion and
comments to this document.
7. Intellectual Property Considerations
Redback Networks may have intellectual property rights claimed in
regard to some of the specification contained in this document.
8. Full Copyright Statement
Shen, Wei, Farinacci Expires June 2004 [Page 6]
Internet Draft PIM Next-Nexthop Nodes December 2003
Copyright (C) The Internet Society (2002). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
9. References
[1] Estrin, et al., "Protocol Independent Multicast-Sparse Mode
(PIM- SM): Protocol Specification", RFC 2362, June 1998.
[2] Shen, N., Pan, P., "Nexthop Fast ReRoute for IP and MPLS",
Internet draft, draft-shen-nhop-fastreroute-00.txt, work in
progress.
[3] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
10. Author's Addresses
Naiming Shen
Redback Networks
300 Holger Way
San Jose, CA 95134
Email: naiming@redback.com
Liming Wei
Redback Networks
300 Holger Way
Shen, Wei, Farinacci Expires June 2004 [Page 7]
Internet Draft PIM Next-Nexthop Nodes December 2003
San Jose, CA 95134
Email: lwei@redback.com
Dino Farinacci
Procket Networks
dino@procket.com
Shen, Wei, Farinacci Expires June 2004 [Page 8]