Internet DRAFT - draft-brockners-ldp-half-duplex-mp2mp
draft-brockners-ldp-half-duplex-mp2mp
Network Working Group F. Brockners
I. Wijnands
Internet Draft A. Sajassi
Intended status: Standards Track Cisco Systems
Expires: August 22, 2008 February 22, 2008
Label Distribution Protocol Extensions for Half-Duplex
Multipoint-to-Multipoint Label Switched Paths
draft-brockners-ldp-half-duplex-mp2mp-02.txt
Status of this Memo
By submitting this Internet-Draft, each author represents that
any applicable patent or other IPR claims of which he or she is
aware have been or will be disclosed, and any of which he or she
becomes aware will be disclosed, in accordance with Section 6 of
BCP 79.
This document may only be posted in an Internet-Draft.
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
This Internet-Draft will expire on August 22, 2008.
Copyright Notice
Copyright (C) The IETF Trust (2008).
Brockners Expires August 22, 2008 [Page 1]
Internet-Draft Half-Duplex Multipoint LSPs with LDP February 2008
Abstract
This document describes a mechanism to construct Label Switched Paths
(LSP) over MPLS using an extended version of the Label Distribution
Protocol (LDP) between a set of clients and servers. This
communication mechanism has the capability that servers can
communicate with other servers and clients, whereas clients can only
communicate with servers but not with other clients.
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.
Table of Contents
1. Introduction...................................................3
1.1. Service Connectivity Categorization.......................3
1.2. Problem Statement and Motivation..........................4
1.3. Terminology (for reference only)..........................5
2. Half duplex MP2MP (HD-MP2MP) Service with LDP..................6
2.1. FEC elements for HD-MP2MP.................................7
2.2. Using the HD-MP2MP FEC elements: Notation.................8
2.3. HD-MP2MP Label Mapping...................................10
2.3.1. Determining one's upstream MP2MP LSR................10
2.3.2. Determining one's downstream MP2MP LSR..............10
2.3.3. HD-MP2MP client leaf node operation.................10
2.3.4. HD-MP2MP server leaf node operation.................11
2.3.5. Transit node operation..............................12
2.3.5.1. Transit node operation overview................12
2.3.5.2. Client Downstream Label Map received...........13
2.3.5.3. Server Downstream Label Map received...........14
2.3.6. HD-MP2MP root node operation........................15
2.3.6.1. Client Downstream Label Map received...........15
2.3.6.2. Server Downstream Label Map received...........16
2.3.7. HD-MP2MP Label Withdraw.............................17
2.3.7.1. HD-MP2MP Client operation......................17
2.3.7.2. HD-MP2MP Server operation......................17
2.3.7.3. HD-MP2MP transit node operation................18
2.3.7.4. HD-MP2MP root node operation...................18
2.3.7.5. HD-MP2MP Upstream LSR Change...................18
3. Security Considerations.......................................19
4. IANA Considerations...........................................19
5. References....................................................19
5.1. Normative References.....................................19
Brockners Expires August 22, 2008 [Page 2]
Internet-Draft Half-Duplex Multipoint LSPs with LDP February 2008
5.2. Informative References...................................19
Author's Addresses...............................................20
Intellectual Property Statement..................................20
Disclaimer of Validity...........................................21
1. Introduction
The LDP protocol is described in [1]. It defines mechanisms for
setting up point-to-point (P2P) and multipoint-to-point (MP2P) LSPs
in the network. This document describes a mechanism to construct
Half-Duplex Multipoint to Multipoint LSPs (HD-MP2MP LSPs) over an
MPLS infrastructure using LDP.
1.1. Service Connectivity Categorization
The following general types of connectivity using some transport
vehicle (e.g. a LSP) are acknowledged within the industry (see e.g.
[8]) between a set of User to Network (UNI) interfaces:
o Point to Point Connectivity: For Point-to-Point connectivity,
exactly two UNIs are associated with one another. An ingress
service frame mapped to the transport vehicle at one UNI shall not
result in an egress service frame at a UNI other than the other
UNI associated with the transport vehicle.
o Multipoint Connectivity: For Multipoint connectivity two or more
UNIs are associated with one another. An ingress service frame
mapped to the transport vehicle at one of the UNIs shall not
result in an egress service frame at a UNI that is not associated
with the transport vehicle. Multipoint connectivity can further be
differentiated into multipoint to multipoint connectivity as well
as rooted-multipoint connectivity.
* Multipoint to Multipoint Connectivity: An ingress service frame
at a given UNI would be replicated in the network and a single
copy would be delivered to each of the other UNIs associated
with the transport vehicle.
* Rooted-Multipoint Connectivity: For rooted multipoint
connectivity, one or more of the UNIs shall be designated as a
servers and each of the other UNIs shall be designated as a
clients. An ingress service frame mapped to the transport
vehicle at a server UNI should be delivered to one or more of
the other UNIs. An ingress service frame mapped to the
transport vehicle at a client UNI shall not result in an
egress service frame at another client UNI but can result in
an egress service frame at some or all of the server UNIs.
Brockners Expires August 22, 2008 [Page 3]
Internet-Draft Half-Duplex Multipoint LSPs with LDP February 2008
Using the LDP Protocol [1], one can establish point to point as well
as multipoint connectivity using LSPs. For multipoint operation,
multipoint to multipoint, point to multipoint as well as multipoint
to point connectivity models are supported. While rooted-multipoint
connectivity can be established by combining point to multipoint with
multipoint to point LSPs, a more efficient mechanism to establish
rooted-multipoint connectivity (which could be understood as a
generalized version of point to multipoint connectivity) is
desirable. Half-Duplex MDT with LDP can be leveraged to establish
rooted multipoint connectivity.
1.2. Problem Statement and Motivation
Some deployment scenarios, such as broadcast TV delivery over
aggregation networks or broadcast/multicast wholesale require
efficient mechanisms to transport multicast/broadcast type of data
from a set of sources to many receivers over an MPLS network, while
isolating the receivers from each other. Achieving such a
connectivity model with a limited amount of configuration on the leaf
nodes is seen as beneficial.
The desired behavior is as follows:
o The set of users can be divided into two non-overlapping sets:
Client nodes (or short "Clients") and server nodes (or short
"Servers").
o Servers can communicate with each other and with the clients, i.e.
Servers can send data to each other as well as to clients and can
receive data from each other as well as from clients.
o Clients can only communicate with servers, i.e. Clients can send
data to servers and can receive data from servers but cannot send
data to other clients nor can receive data from other clients.
o All data is transported as broadcast: Any data sent by a server is
received by all other servers and all clients. Any data sent by a
client is received by all servers.
o The setup of the forwarding behavior between clients and servers
should be automatic, i.e. should not require any configuration on
network elements other than the client and server nodes.
Provisioning a new client should not require any manual
reconfiguration but on the client itself.
As a result of this behavior, a local connectivity between clients is
prevented and it is ensured that connectivity between clients can
Brockners Expires August 22, 2008 [Page 4]
Internet-Draft Half-Duplex Multipoint LSPs with LDP February 2008
only be provided through server sites. This ensures that in a
broadband aggregation deployment case, individual subscribers cannot
directly connect with each other, bypassing functions implemented on
the edge router such as accounting or admission control.
One way to achieve the desired communication behavior with restricted
connectivity between clients is to use a combination of LDP P2MP LSPs
and LDP MP2P LSPs: One P2MP LSP per server (with the server forming
the root of the P2MP LSP and the clients other servers forming the
leaves) would be established for server to client (and other servers)
communication. One MP2P LSP per server (forming the root of the MP2P
tree) would be used to enable clients and other servers to
communicate with the server forming the root. As a result, each
client is connected to N P2MP LSPs and N MP2P LSPs, with N
representing the number of servers.
The major advantage of this approach is that no further protocol
mechanisms beyond the ones already defined in [1] and [7] would be
required.
A property of this approach is that clients need to handle send and
receive operations across multiple LSPs for the same service
instance. Clients wishing to send traffic to the set of servers are
required to send the data multiple times (once per server, or in
other words once per MP2P LSP). Furthermore, the addition or removal
of a server from the overall configuration would also require
configuration changes on all connected servers and clients.
HD-MP2MP LSP described here aim at reducing the configuration
requirements on the leaf nodes, so that clients or servers can be
added without a reconfiguration on other clients or servers and at
simplifying traffic handling by using only a single LSP to send data
to and a single LSP to receive data from.
1.3. Terminology (for reference only)
The following terminology is taken from [4] and is repeated here to
ease readability of the document.
o P2P LSP: An LSP that has one Ingress LSR and one Egress LSR.
o P2MP LSP: An LSP that has one Ingress LSR and one or more Egress
LSRs.
o MP2P LSP: A LSP that has one or more Ingress LSRs and one unique
o Egress LSR.
Brockners Expires August 22, 2008 [Page 5]
Internet-Draft Half-Duplex Multipoint LSPs with LDP February 2008
o MP2MP LSP: A LSP that connects a set of leaf nodes, acting
indifferently as ingress or egress.
o MP LSP: A multipoint LSP, either a P2MP or an MP2MP LSP.
o Ingress LSR: Source of the P2MP LSP, also referred to as root
node.
o Egress LSR: One of potentially many destinations of an LSP, also
referred to as leaf node in the case of P2MP and MP2MP LSPs.
o Transit LSR: An LSR that has one or more directly connected
downstream LSRs.
o Bud LSR: An LSR that is an egress but also has one or more
directly connected downstream LSRs.
To ease readability of this document this section briefly lists the
notation for the P2MP FEC element as they are described in [7].
Please refer to [7] for a comprehensive description.
o P2MP FEC Element <X, Y>: a FEC Element with Root Node Address X
and Opaque Value Y.
o P2MP Label Map <X, Y, L>: a Label Map message with a FEC TLV with
a single P2MP FEC Element <X, Y> and Label TLV with label L.
o P2MP Label Withdraw <X, Y, L>: a Label Withdraw message with a FEC
TLV with a single P2MP FEC Element <X, Y> and Label TLV with label
L.
o P2MP LSP <X, Y> (or simply <X, Y>): a P2MP LSP with Root Node
Address X and Opaque Value Y.
o The notation L' -> {<I1, L1> <I2, L2> ..., <In, Ln>} on LSR X
means that on receiving a packet with label L', X makes n copies
of the packet. For copy i of the packet, X swaps L' with Li and
sends it out over interface Ii.
2. Half duplex MP2MP (HD-MP2MP) Service with LDP
An HD-MP2MP combines two LSPs. The LSPs used to construct a HD-MP2MP
service are similar to a MP2MP LSP in that it consists of a single
root node, zero or more transit nodes and one or more leaf LSRs
acting equally as Ingress or Egress LSR. Leaf LSRs fulfill either the
Brockners Expires August 22, 2008 [Page 6]
Internet-Draft Half-Duplex Multipoint LSPs with LDP February 2008
role of a client or a server. Correspondingly they are called "Client
LSR" and "Server LSR".
For HD-MP2MP operation, two trees will be combined: A "Client Tree"
which allows communication from all Clients to all Servers and a
"Server Tree" allows communication from all servers to all clients
and all servers.
A leaf node participates in the setup of a HD-MP2MP LSP by
establishing both a downstream LSP, which is much like a P2MP LSP
from the root, and an upstream LSP which is used to send traffic
toward the root and other leaf nodes. Depending on the type of the
leaf (Client or Server), traffic sent by a leaf will either be
forwarded to all leafs (which means clients and servers - this is in
case of a leaf being a server), or only to servers (in case of a leaf
being a client).
Transit nodes support the setup by propagating the upstream and
downstream LSP setup toward the root and installing the necessary
MPLS forwarding state.
Traffic from a client leaf node follows the upstream LSP towards the
root node and branches downward along the downstream LSP as required
to reach other server nodes (but no other client nodes). Similarly,
traffic from a server leaf node follows the upstream LSP toward the
root node and branches downward along the downstream LSP as required
to reach client nodes and server nodes.
Mapping traffic to the HD-MP2MP LSP may happen at any leaf node (the
root may be a leaf node as well). How that mapping is established is
outside the scope of this document.
Due to how a HD-MP2MP LSP is built a leaf LSR that is sending packets
on the HD-MP2MP LSP does not receive its own packets. There is also
no additional mechanism needed on the root or transit LSR to match
upstream traffic to the downstream forwarding state.
For the setup of a HD-MP2MP LSP with LDP we expand the definition of
downstream FEC elements (as defined in [7]) to differentiate leaf
notes into servers and clients. Both elements will be used in the FEC
TLV. The descriptions of the HD-MP2MP FEC elements follow.
2.1. FEC elements for HD-MP2MP
HD-MP2MP leverages the structure, encoding and error handling of the
P2MP FEC elements as described in [7]. This means that the P2MP FEC
element, which consists of the address of the root of the P2MP LSP
Brockners Expires August 22, 2008 [Page 7]
Internet-Draft Half-Duplex Multipoint LSPs with LDP February 2008
and an opaque value are being used as defined in [7]. The opaque
value is unique within the context of the root node and can for
example be interpreted as a service instance identifier. The
combination of (Root Node Address, Opaque Value) uniquely identifies
a P2MP LSP within the MPLS network.
Four new FEC types are introduced for HD-MP2MP operation:
o C-FEC-UP: HD-MP2MP Client Upstream Type (TBD)
o C-FEC-DOWN: HD-MP2MP Client Downstream Type (TBD)
o S-FEC-UP: HD-MP2MP Server Upstream Type (TBD)
o S-FEC-DOWN: HD-MP2MP Server Downstream Type (TBD)
If a FEC TLV contains one of the HD-MP2MP FEC elements, the HD-MP2MP
FEC Element MUST be the only FEC Element in the FEC TLV.
2.2. Using the HD-MP2MP FEC elements: Notation
The following notation is used in the processing rules:
1. HD-MP2MP client downstream LSP <X, I> (or simply client downstream
<X, I>): a MP LSP downstream path with root node address X and
opaque value I.
2. HD-MP2MP server downstream LSP <X, I> (or simply server downstream
<X, I>): a MP LSP downstream path with root node address X and
opaque value I.
3. HD-MP2MP client upstream LSP <X, I, D> (or simply client upstream
<X, I, D>): a MP LSP upstream path for downstream node D with root
node address X and opaque value I.
4. HD-MP2MP server upstream LSP <X, I, D> (or simply server upstream
<X, I, D>): a MP LSP upstream path for downstream node D with root
node address X and opaque value I.
5. HD-MP2MP Client Downstream FEC element <X, I>: a FEC element with
root node address X and opaque value I used for a client type
downstream HD-MP2MP LSP.
6. HD-MP2MP Server Downstream FEC element <X, I>: a FEC element with
root node address X and opaque value I used for a server type
downstream HD-MP2MP LSP.
Brockners Expires August 22, 2008 [Page 8]
Internet-Draft Half-Duplex Multipoint LSPs with LDP February 2008
7. HD-MP2MP Client Upstream FEC element <X, I>: a FEC element with
root node address X and opaque value I used for a client type
downstream HD-MP2MP LSP.
8. HD-MP2MP Server Upstream FEC element <X, I>: a FEC element with
root node address X and opaque value I used for a server type
downstream HD-MP2MP LSP.
9. HD-MP2MP Client Downstream Label Map <X, I, L>: A Label Map
message with a FEC TLV with a single HD-MP2MP Client Downstream
FEC element <X, I> and label TLV with label L.
10.HD-MP2MP Server Downstream Label Map <X, I, L>: A Label Map
message with a FEC TLV with a single HD-MP2MP Server Downstream
FEC element <X, I> and label TLV with label L.
11.HD-MP2MP Client Upstream Label Map <X, I, Lu>: A Label Map message
with a FEC TLV with a single HD-MP2MP Client Upstream FEC element
<X, I> and label TLV with label L.
12.HD-MP2MP Server Upstream Label Map <X, I, Lu>: A Label Map message
with a FEC TLV with a single HD-MP2MP Server Upstream FEC element
<X, I> and label TLV with label Lu.
13.HD-MP2MP Client Downstream Label Withdraw <X, I, L>: A Label
Withdraw message with a FEC TLV with a single HD-MP2MP Client
Downstream FEC element <X, I> and label TLV with label L.
14.HD-MP2MP Server Downstream Label Withdraw <X, I, L>: A Label
Withdraw message with a FEC TLV with a single HD-MP2MP Server
Downstream FEC element <X, I> and label TLV with label L.
15.HD-MP2MP Client Upstream Label Withdraw <X, I, Lu>: A Label
Withdraw message with a FEC TLV with a single HD-MP2MP Client
Upstream FEC element <X, I> and label TLV with label L.
16.HD-MP2MP Server Upstream Label Withdraw <X, I, Lu>: A Label
Withdraw message with a FEC TLV with a single HD-MP2MP Server
Upstream FEC element <X, I> and label TLV with label Lu.
The procedures below are organized by the role which the node plays
in the HD-MP2MP LSP: Leaf nodes, transit nodes and server node.
A leaf node is identified by a discovery process which is outside the
scope of this document. During the course of the protocol operation,
the root node recognizes its role because it owns the root node
address. A transit node is any node (other then the root node) that
Brockners Expires August 22, 2008 [Page 9]
Internet-Draft Half-Duplex Multipoint LSPs with LDP February 2008
receives a HD-MP2MP Label Map message (i.e., one that has leaf nodes
downstream of it).
Note that a transit node (as well as the root node) may also be a
leaf node.
2.3. HD-MP2MP Label Mapping
The following lists procedures for generating and processing HD-MP2MP
Label Map messages for nodes that participate in a HD-MP2MP LSP.
Based on its role in the HD-MP2MP LSP a LSR should apply the
procedures associated to its role.
Optimization procedures for multiple receivers on a LAN are not
considered in this document. This is a subject for further study, see
[5].
The following notation is used in the descriptions below:
U
|
|
Z (transit node)
|
|
D (e.g. leaf)
2.3.1. Determining one's upstream MP2MP LSR
Determining the upstream LDP peer U for a HD-MP2MP LSP <X, I> follows
the procedure for a P2MP LSP described in [7].
2.3.2. Determining one's downstream MP2MP LSR
A LDP peer U which receives a HD-MP2MP Label Map downstream from a
LDP peer D will treat D as downstream MP2MP LSR.
2.3.3. HD-MP2MP client leaf node operation
Generally speaking, a client LSR joins the server tree for receive
operations and the client tree for send operations.
A client leaf node D determines its upstream LSR Z for server
downstream <X, I> as per the procedures described in [7], allocates a
label L, and sends a server downstream label map <X, I, L> to Z.
Brockners Expires August 22, 2008 [Page 10]
Internet-Draft Half-Duplex Multipoint LSPs with LDP February 2008
Traffic received with Label L represents traffic which another server
had sent.
Leaf node D expects a client upstream label map <X, I, Lz> from node
Z in response to the HD-MP2MP server label map downstream it sent to
node Z. This will allow the client to send data to servers.
In case D does not already have forwarding state for client upstream
<X, I>, D creates forwarding state to push label Lz onto the traffic
that D wants to forward to servers. How it determines what traffic
to forward on this HD-MP2MP LSP is outside the scope of this
document.
In summary, a client uses
o Client upstream <X, I> and label Lz to send data to servers
o Server downstream <X, I> and label L to receive data from servers
2.3.4. HD-MP2MP server leaf node operation
Generally speaking, a server LSR joins the client tree for receive
operations and the server tree for send operations. Transit LSR and
the root LSR will perform appropriate label mappings to ensure that
traffic sourced by server LSR is received via the client tree.
A server leaf node D determines its upstream LSR Z for client
downstream <X, I> as per the procedures described in [7], allocates a
label L, and sends a client downstream label map <X, I, L> to Z.
Traffic received with Label L represents traffic which another server
or client had sent.
Leaf node D expects a server upstream label map <X, I, Lz> from node
Z in response to the HD-MP2MP client label map downstream it sent to
node Z. This will allow the server to send data to servers and
clients.
In case D does not already have forwarding state for server upstream
<X, I>, D creates forwarding state to push label Lz onto the traffic
that D wants to forward to servers and clients. How it determines
what traffic to forward on this HD-MP2MP LSP is outside the scope of
this document.
In summary, a server uses
o Server upstream <X, I> and label Lz to send data to servers and
clients.
Brockners Expires August 22, 2008 [Page 11]
Internet-Draft Half-Duplex Multipoint LSPs with LDP February 2008
o Client downstream <X, I> and label L to receive data from servers
and clients.
2.3.5. Transit node operation
2.3.5.1. Transit node operation overview
This section provides a high-level overview of the operation of a
transit node.
Label Map signaling:
o On receipt of a "client downstream" label map, transit nodes
respond with a "server upstream" label map. This is commonly the
case if a server joins the HD-MDT. If the transit node does not
have forwarding state towards the root for the corresponding HD-
MDT, it will also send a "client downstream" label map towards the
root.
o On receipt of a "server downstream" label map, transit nodes
respond with a "client upstream" label map. This is commonly the
case if a client joins the HD-MDT. If the transit node does not
have forwarding state for towards the root for the corresponding
HD-MDT, it will also send a "server downstream" label map towards
the root.
Forwarding state establishment:
o Transit nodes update their forwarding state according to the
client downstream / server downstream label map messages.
o In order to ensure that servers receive traffic from clients (i.e.
ensure that traffic from clients is sent down the tree towards
servers while omitting the interface the traffic is received on),
transit nodes copy forwarding state from client downstream to
client upstream state tables - except for the interfaces these
state tables are associated with.
o In order to ensure that clients receive traffic from servers (i.e.
ensure that traffic from servers is sent down the tree towards
clients while omitting the interface the traffic is received on),
transit nodes copy forwarding state from server downstream to
server upstream state tables - except for the interfaces these
state tables are associated with.
Brockners Expires August 22, 2008 [Page 12]
Internet-Draft Half-Duplex Multipoint LSPs with LDP February 2008
o In order to ensure that servers receive traffic from servers (i.e.
ensure that traffic from servers is sent down the tree towards
servers while omitting the interface the traffic is received on),
transit nodes copy forwarding state from client downstream to
server upstream state tables - except for the interfaces these
state tables are associated with.
2.3.5.2. Client Downstream Label Map received
Transit nodes receive a client downstream label map as the result of
a server joining the HD-MDT.
When node Z receives a HD-MP2MP client downstream label map <X, I, L>
over interface Q from node D it checks whether it has forwarding
state for client downstream <X, I>. If not, Z allocates a label L'
and installs downstream forwarding state to swap label L' with label
L over interface Q towards node D. Z also determines its upstream LSR
U for <X, I> as per [7] and sends a client label map downstream <X,
I, L') upstream to U.
If Z already has forwarding state for client downstream <X, I>, Z
needs to update its forwarding state. Assuming its old forwarding
state was L'-> {<Q1, L1> <Q2, L2> ..., <Qn, Ln>}, its new forwarding
state becomes L'-> {<Q1, L1> <Q2, L2> ..., <Qn, Ln>, <Q, L>}.
Node Z checks whether it has forwarding state(s) for client upstream
<X, I, D(i)>. If so node Z will update the forwarding state(s) for
client upstream <X, I, D(i)> to include the forwarding state from
client downstream <X, I> omitting the swap on the interfaces
associated with node D(i). This allows client upstream traffic to
follow the client downstream tree to other servers while omitting the
case that traffic is sent out on the same interface it was received
from.
Node Z checks whether it already has forwarding state server upstream
<X, I , D> over interface Q. If it does, no further action needs to
happen. Otherwise, Z allocates a label Lz and creates a new label
swap for Lz from the label swap(s) from the forwarding state for
server downstream <X, I>, omitting the swap on interface Q for node
D. This allows server upstream traffic to follow the server
downstream tree down to other node(s) except the node from which Z
received the client downstream label map <X, I, L>.
In addition Z will update the forwarding state(s) for server upstream
<X, I, D(i)> to include the forwarding state from client downstream
<X, I> omitting label swaps on interfaces Q(i) for nodes D(i), i.e.
omitting receive and forwarding label swaps referring to the same
interface. This is to avoid traffic being sent out the same interface
it was received from. This allows server upstream traffic to follow
Brockners Expires August 22, 2008 [Page 13]
Internet-Draft Half-Duplex Multipoint LSPs with LDP February 2008
the client downstream tree to other servers.
Z sends a server upstream label map <X, I, Lz) over Interface Q to
node D.
Transit node Z will also receive a server upstream label map <X, I,
Lu) in response to the client downstream label map <X, I, L') sent
upstream to node U over interface Qu. Node Z will add a label swap Lu
over interface Qu to the forwarding state for server upstream <X, I,
D>. This allows packets to go up the server tree towards the root
node.
2.3.5.3. Server Downstream Label Map received
Transit nodes receive a server downstream label map as the result of
a client joining the HD-MDT.
When node Z receives a HD-MP2MP server downstream label map <X, I, L>
over Interface Q from node D it checks whether it has forwarding
state for server downstream <X, I>. If not, Z allocates a label L'
and installs downstream forwarding state to swap label L' with label
L over interface Q. Z also determines its upstream LSR U for <X, I>
as per [7] and sends a server label map downstream <X, I, L')
upstream to U.
If Z already has forwarding state for server downstream <X, I>, all
that Z needs to do is to update its forwarding state. Assuming its
old forwarding state was L'-> {<Q1, L1> <Q2, L2> ..., <Qn, Ln>}, its
new forwarding state becomes L'-> {<Q1, L1> <Q2, L2> ..., <Qn, Ln>,
<Q, L>}.
Node Z checks whether it already has forwarding state for client
upstream <X, I, D> over interface Q. If it does, no further action
needs to happen. Otherwise, Z allocates a label Lz and creates a new
label swap for Lz from the label swap(s) from the forwarding state
for client downstream <X, I>, omitting the swap on interface Q for
node D. This allows client upstream traffic to follow the client
downstream tree down to other node(s) (i.e. servers) except to the
node from which Z received the server downstream label map <X, I, L>.
In addition, Z sends a client upstream label map <X, I, Lz) over
Interface Q to node D.
Node Z checks whether it has forwarding state for server upstream <X,
I, D(i)>. If so node Z will update the forwarding state(s) for server
upstream <X, I, D(i)> to include the newly added forwarding state for
server downstream, i.e. to include <Q, L>, omitting the swap on
interface Q for node D. This allows server upstream traffic to follow
the server downstream tree down to other node(s) (i.e. clients).
Brockners Expires August 22, 2008 [Page 14]
Internet-Draft Half-Duplex Multipoint LSPs with LDP February 2008
Transit node Z will also receive a client upstream label map <X, I,
Lu) in response to the server downstream label map <X, I, L') sent
upstream to node U over interface Qu. Node Z will add a label swap Lu
over interface Qu to the forwarding state client upstream <X, I, D>.
This allows packets to go up towards the root node.
2.3.6. HD-MP2MP root node operation
2.3.6.1. Client Downstream Label Map received
Operation of a root node is similar to the operation of a transit
node with the main difference that by definition the root node does
not have an upstream neighbor. As such there is no need for the root
to send any (client or server) downstream label map.
When root R receives a HD-MP2MP client downstream label map <X, I, L>
over interface Q from node D it checks whether it has forwarding
state for client downstream <X, I>. If not, R creates downstream
forwarding state and installs an outgoing label L over interface Q.
If R already has forwarding state for client downstream <X, I>, R
needs to update its forwarding state. Assuming its old forwarding
state was L'-> {<Q1, L1> <Q2, L2> ..., <Qn, Ln>}, its new forwarding
state becomes L'-> {<Q1, L1> <Q2, L2> ..., <Qn, Ln>, <Q, L>}.
Root node R checks whether it has forwarding state for client
upstream <X, I, D(i)>. If so root node R will update the forwarding
state for client upstream <X, I, D(i)> to include the forwarding
state from client downstream <X, I> omitting the swap on the
interfaces associated with node D(i). This allows client upstream
traffic to follow the client downstream tree to other servers while
omitting the case that traffic is sent out on the same interface it
was received on.Root node R checks whether it already has forwarding
state server upstream <X, I , D> over interface Q. If it does, no
further action needs to happen. Otherwise, R allocates a label Lr and
creates a new label swap for Lr from the label swap(s) from the
forwarding state for server downstream <X, I>, omitting the swap on
interface Q for node D. This allows server upstream traffic to follow
the server downstream tree down to other node(s) except the node from
which Z received the client downstream label map <X, I, L>. In
addition Z will update the forwarding state(s) for server upstream
<X, I, D(i)> to include the forwarding state from client downstream
<X, I> omitting label swaps on interfaces Q(i) for nodes D(i), i.e.
labels swaps referring to the same interface. This is to avoid
traffic being sent out the same interface it was received from. This
allows server upstream traffic to follow the client downstream tree
Brockners Expires August 22, 2008 [Page 15]
Internet-Draft Half-Duplex Multipoint LSPs with LDP February 2008
to other servers.
Root node R determines the downstream LSR D as per the procedures
described in [7], and sends a server upstream label map <X, I, Lu) to
node D.
Since R is the root node, there is no need to send any client
downstream label map.
2.3.6.2. Server Downstream Label Map received
When root node R receives a server downstream label map <X, I, L>
over Interface Q from node D it checks whether it has forwarding
state for server downstream <X, I>. If not, R creates server
downstream forwarding state and installs an outgoing label L over
interface Q. If R already has forwarding state for server downstream
<X, I>, the R will add label L over interface Q to the existing
state.
Node R checks if it has forwarding state for server upstream <X, I,
D>. If not, R allocates a label Lu and creates forwarding state to
swap Lu with the label swap(s) from the forwarding state downstream
(X, I), except the swap for node D. This allows server upstream
traffic to go down the server tree to other node(s), except the node
it was received from.
When root node R receives a server downstream label map <X, I, L>
over Interface Q from node D it checks whether it has forwarding
state for server downstream <X, I>. If not, R creates server
downstream forwarding state and installs an outgoing label L over
interface Q.
If R already has forwarding state for server downstream <X, I>, R
updates its forwarding state. Assuming its old forwarding state was
L'-> {<Q1, L1> <Q2, L2> ..., <Qn, Ln>}, its new forwarding state
becomes L'-> {<Q1, L1> <Q2, L2> ..., <Qn, Ln>, <Q, L>}.
Node R checks whether it already has forwarding state for client
upstream <X, I, D> over interface Q. If it does, no further action
needs to happen. Otherwise, R allocates a label Lr and creates a new
label swap for Lr from the label swap(s) from the forwarding state
for client downstream <X, I>, omitting the swap on interface Q for
node D. This allows client upstream traffic to follow the client
downstream tree down to other node(s) (i.e. servers) except to the
node from which R received the server downstream label map <X, I, L>.
Brockners Expires August 22, 2008 [Page 16]
Internet-Draft Half-Duplex Multipoint LSPs with LDP February 2008
Root node R checks whether it has forwarding state for server
upstream <X, I, D>. If so node R will update the forwarding state(s)
for server upstream <X, I, D(i)> to include the newly added
forwarding state for server downstream, i.e. to include <Q, L>,
omitting the swap on interface Q for node D. This allows server
upstream traffic to follow the server downstream tree down to other
node(s) (i.e. clients).
Root node R determines the downstream LSR D as per the procedures
described in [7], and sends a client upstream label map <X, I, Lu) to
node D.
2.3.7. HD-MP2MP Label Withdraw
The following lists procedures for generating and processing HD-MP2MP
Label Withdraw messages for nodes that participate in a HD-MP2MP LSP.
These procedures are similar to those for MP2MP described in [7].
An LSR should apply those procedures that apply to it, based on its
role in the HD-MP2MP LSP.
2.3.7.1. HD-MP2MP Client operation
Client label withdraw procedures are similar to those for leaf nodes
in MP2MP operation, described in [7].
If a client node Z discovers (by means outside the scope of this
document) that it is no longer a client, it SHOULD send a server
downstream label withdraw <X, I, L> to its upstream LSR U for <X, I>,
where L is the label it had previously advertised to U for <X, I>.
Client node Z expects the upstream router U to respond by sending a
downstream label release for L and a client upstream label withdraw
<X, I, Lu> to remove Lu from the upstream state. Node Z will remove
label Lu from its upstream state and send a label release message
with label Lu to U.
2.3.7.2. HD-MP2MP Server operation
If a server node Z discovers that it is no longer a server it SHOULD
send a client downstream label withdraw <X, I, L> to its upstream LSR
U for <X, I>, where L is the label it had previously advertised to U
for <X, I>.
Server node Z expects the upstream router U to respond by sending a
downstream label release for L and a server upstream label withdraw
<X, I, Lu> to remove Lu from the upstream state. Node Z will remove
Brockners Expires August 22, 2008 [Page 17]
Internet-Draft Half-Duplex Multipoint LSPs with LDP February 2008
label Lu from its upstream state and send a label release message
with label Lu to U.
2.3.7.3. HD-MP2MP transit node operation
Leaf label withdraw procedures are similar to those for MP2MP
operation, described in [7].
If a transit node Z receives a server downstream label withdraw
message <X, I, L> from node D, it deletes label L from its forwarding
state for server downstream <X, I> and from all its upstream states
for <X, I>. Node Z sends a label release message with label L to D.
Since D is no longer part of the server downstream forwarding state,
Z cleans up the forwarding state upstream <X, I, D> and sends a
client upstream label withdraw for <X, I, Lu) to node D.
If deleting L from node Z's forwarding state for server downstream
<X, I> results in no state remaining for <X, I> then Z propagates the
server downstream label withdraw <X, I, L> to its upstream node U for
<X, I>.
Similarly, if a transit node Z receives a client downstream label
withdraw message <X, I, L> from node D, it deletes label L from its
forwarding state for client downstream <X, I> and from all its
upstream states for <X, I>. Node Z sends a label release message with
label L to D. Since D is no longer part of the client downstream
forwarding state, Z cleans up the forwarding state upstream <X, I, D>
and sends a server upstream label withdraw for <X, I, Lu) to node D.
If deleting L from node Z's forwarding state for client downstream
<X, I> results in no state remaining for <X, I> then Z propagates the
client downstream label withdraw <X, I, L> to its upstream node U for
<X, I>.
2.3.7.4. HD-MP2MP root node operation
The procedure when the root node of a MP2MP LSP receives a label
withdraw message is the same as for transit nodes, except that the
root node would not propagate the Label Withdraw upstream (as it has
no upstream).
2.3.7.5. HD-MP2MP Upstream LSR Change
The procedure for changing the upstream LSR is the same as documented
in [7], except it is applied to HD-MP2MP FECs using the procedures
described in the earlier sections of this document.
Brockners Expires August 22, 2008 [Page 18]
Internet-Draft Half-Duplex Multipoint LSPs with LDP February 2008
3. Security Considerations
The same security considerations apply as for the base LDP
specification, as described in [1].
4. IANA Considerations
This document leverages the new name space (the LDP MP Opaque Value
Element type) introduced in [7] that is to be managed by IANA.
5. References
5.1. Normative References
[1] Andersson, L., Doolan, P., Feldman, N., Fredette, A., and B.
Thomas, "LDP Specification", RFC 3036, January 2001.
[2] Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels", BCP 14, RFC 2119, March 1997.
[3] Reynolds, J. and J. Postel, "Assigned Numbers", RFC 1700,
October 1994.
[4] Roux, J., "Requirements for Point-To-Multipoint Extensions to
the Label Distribution Protocol ", draft-ietf-mpls-mp-ldp-reqs-
03 (work in progress), November 2007.
[5] Aggarwal, R., "MPLS Upstream Label Assignment and Context
Specific Label Space", draft-ietf-mpls-upstream-label-03 (work
in progress), November 2007.
[6] Aggarwal, R. and J. Roux, "MPLS Upstream Label Assignment for
RSVP-TE", draft-ietf-mpls-rsvp-upstream-02 (work in progress),
November 2007.
[7] Minei, I., "Label Distribution Protocol Extensions for Point-
to-Multipoint and Multipoint-to-Multipoint Label Switched
Paths", draft-ietf-mpls-ldp-p2mp-03 (work in progress), July
2007.
[8] Metro Ethernet Forum, Technical Specification MEF 10.1,
"Ethernet Services Attributes Phase 2", November 2006.
5.2. Informative References
[9] Andersson, L. and E. Rosen, "Framework for Layer 2 Virtual
Private Networks (L2VPNs)", RFC 4664, September 2006.
Brockners Expires August 22, 2008 [Page 19]
Internet-Draft Half-Duplex Multipoint LSPs with LDP February 2008
[10] Aggarwal, R., "Extensions to RSVP-TE for Point to Multipoint TE
LSPs", RFC 4875, May 2007.
[11] Rosen, E. and R. Aggarwal, "Multicast in MPLS/BGP IP VPNs",
draft-ietf-l3vpn-2547bis-mcast-06 (work in progress), January
2008.
Author's Addresses
Frank Brockners
Cisco Systems, Inc.
Hansaallee 249
40549 Duesseldorf
Germany
Email: fbrockne@cisco.com
Ijsbrand Wijnands
Cisco Systems, Inc.
Pegasus Parc, De Kleetlaan 6a
1831 Diegem
Belgium
Email: iwijnand@cisco.com
Ali Sajassi
Cisco Systems, Inc.
170 West Tasman Drive
San Jose, CA 95134
Email: sajassi@cisco.com
Intellectual Property Statement
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
Brockners Expires August 22, 2008 [Page 20]
Internet-Draft Half-Duplex Multipoint LSPs with LDP February 2008
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Disclaimer of Validity
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
THE INTERNET ENGINEERING TASK FORCE DISCLAIM 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.
Copyright Statement
Copyright (C) The IETF Trust (2008).
This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors
retain all their rights.
Acknowledgment
Funding for the RFC Editor function is currently provided by the
Internet Society.
Brockners Expires August 22, 2008 [Page 21]