C D E F G
| / \ / \/ \ / \
D--E*-F*-G*-H*-I*-J*-K*--L H I J KL M N O
Steiner P2MP tree SPF P2MP tree
Figure 2: Examples of P2MP TE LSP topology
One example is the Steiner P2MP tree (cost-minimum P2MP tree)
[STEINER]. This P2MP tree is suitable for constructing a cost-
minimum P2MP tree so as to minimize the bandwidth consumption in the
core. To realize this P2MP tree, several intermediate LSRs must be
both MPLS data terminating LSRs and transit LSRs (LSRs E, F, G, H, I,
J, and K in Figure 2). Therefore, the P2MP TE solution MUST support
a mechanism that can set up this kind of bud LSR between an ingress
LSR and egress LSRs. Note that this includes constrained Steiner
trees that allow for the computation of a minimal cost trees with
some other constraints such as a bounded delay between the source and
every receiver.
Another example is a CSPF (Constraint Shortest Path First) P2MP tree.
By some metric (which can be set upon any specific criteria like the
delay, bandwidth, or a combination of those), one can calculate a
shortest-path P2MP tree. This P2MP tree is suitable for carrying
real-time traffic.
The solution MUST allow the operator to make use of any tree
computation technique. In the former case, an efficient/optimal tree
is defined as a minimal cost tree (Steiner tree), whereas in the
later case, it is defined as the tree that provides shortest path
between the source and any receiver.
To support explicit setup of any reasonable P2MP tree shape, a P2MP
TE solution MUST support some form of explicit source-based control
of the P2MP tree that can explicitly include particular LSRs as
branch LSRs. This can be used by the ingress LSR to set up the P2MP
TE LSP. For instance, a P2MP TE LSP can be represented simply as a
whole tree or by its individual branches.
4.3. Explicit Path Loose Hops and Widely Scoped Abstract Nodes
A P2MP tree is completely specified if all the required branches and
hops between a sender and leaf LSR are indicated.
A P2MP tree is partially specified if only a subset of intermediate
branches and hops is indicated. This may be achieved using loose
hops in the explicit path, or using widely scoped abstract nodes
(that is, abstract nodes that are not simple [RFC3209]) such as IPv4
prefixes shorter than 32 bits, or AS numbers. A partially specified
P2MP tree might be particularly useful in inter-area and inter-AS
situations, although P2MP requirements for inter-area and inter-AS
are beyond the scope of this document.
Protocol solutions SHOULD include a way to specify loose hops and
widely scoped abstract nodes in the explicit source-based control of
the P2MP tree as defined in the previous section. Where this support
is provided, protocol solutions MUST allow downstream LSRs to apply
further explicit control to the P2MP tree to resolve a partially
specified tree into a (more) completely specified tree.
Protocol solutions MUST allow the P2MP tree to be completely
specified at the ingress LSR where sufficient information exists to
allow the full tree to be computed and where policies along the path
(such as at domain boundaries) support full specification.
In all cases, the egress LSRs of the P2MP TE LSP must be fully
specified either individually or through some collective identifier.
Without this information, it is impossible to know where the TE LSP
should be routed to.
In case of a tree being computed by some downstream LSRs (e.g., the
case of hops specified as loose hops), the solution MUST provide
protocol mechanisms for the ingress LSR of the P2MP TE LSP to learn
the full P2MP tree. Note that this information may not always be
obtainable owing to policy considerations, but where part of the path
remains confidential, it MUST be reported through aggregation (for
example, using an AS number).
4.4. P2MP TE LSP Establishment, Teardown, and Modification Mechanisms
The P2MP TE solution MUST support establishment, maintenance, and
teardown of P2MP TE LSPs in a manner that is at least scalable in a
linear way. This MUST include both the existence of very many LSPs
at once, and the existence of very many destinations for a single
P2MP LSP.
In addition to P2MP TE LSP establishment and teardown mechanisms, the
solution SHOULD support a partial P2MP tree modification mechanism.
For the purpose of adding sub-P2MP TE LSPs to an existing P2MP TE
LSP, the extensions SHOULD support a grafting mechanism. For the
purpose of deleting a sub-P2MP TE LSPs from an existing P2MP TE LSP,
the extensions SHOULD support a pruning mechanism.
It is RECOMMENDED that these grafting and pruning operations cause no
additional processing in nodes that are not along the path to the
grafting or pruning node, or that are downstream of the grafting or
pruning node toward the grafted or pruned leaves. Moreover, both
grafting and pruning operations MUST NOT disrupt traffic currently
forwarded along the P2MP tree.
There is no assumption that the explicitly routed P2MP LSP remains on
an optimal path after several grafts and prunes have occurred. In
this context, scalable refers to the signaling process for the P2MP
TE LSP. The TE nature of the LSP allows that re-optimization may
take place from time to time to restore the optimality of the LSP.
4.5. Fragmentation
The P2MP TE solution MUST handle the situation where a single
protocol message cannot contain all the information necessary to
signal the establishment of the P2MP LSP. It MUST be possible to
establish the LSP in these circumstances.
This situation may arise in either of the following circumstances.
a. The ingress LSR cannot signal the whole tree in a single
message.
b. The information in a message expands to be too large (or is
discovered to be too large) at some transit node. This may
occur because of some increase in the information that needs to
be signaled or because of a reduction in the size of signaling
message that is supported.
The solution to these problems SHOULD NOT rely on IP fragmentation of
protocol messages, and it is RECOMMENDED to rely on some protocol
procedures specific to the signaling solution.
In the event that fragmented IP packets containing protocol messages
are received, it is NOT RECOMMENDED that they are reassembled at the
receiving LSR.
4.6. Failure Reporting and Error Recovery
Failure events may cause egress LSRs or sub-P2MP LSPs to become
detached from the P2MP TE LSP. These events MUST be reported
upstream as for a P2P LSP.
The solution SHOULD provide recovery techniques, such as protection
and restoration, allowing recovery of any impacted sub-P2MP TE LSPs.
In particular, a solution MUST provide fast protection mechanisms
applicable to P2MP TE LSP similar to the solutions specified in
[RFC4090] for P2P TE LSPs. Note also that no assumption is made
about whether backup paths for P2MP TE LSPs should or should not be
shared with P2P TE LSPs backup paths.
Note that the functions specified in [RFC4090] are currently specific
to packet environments and do not apply to non-packet environments.
Thus, while solutions MUST provide fast protection mechanisms similar
to those specified in [RFC4090], this requirement is limited to the
subset of the solution space that applies to packet-switched networks
only.
Note that the requirements expressed in this document are general to
all MPLS TE P2MP signaling, and any solution that meets them will
therefore be general. Specific applications may have additional
requirements or may want to relax some requirements stated in this
document. This may lead to variations in the solution.
The solution SHOULD also support the ability to meet other network
recovery requirements such as bandwidth protection and bounded
propagation delay increase along the backup path during failure.
A P2MP TE solution MUST support the P2MP fast protection mechanism to
handle P2MP applications sensitive to traffic disruption.
If the ingress LSR is informed of the failure of delivery to fewer
than all the egress LSRs, this SHOULD NOT cause automatic teardown of
the P2MP TE LSP. That is, while some egress LSRs remain connected to
the P2MP tree, it SHOULD be a matter of local policy at the ingress
LSR whether the P2MP LSP is retained.
When all egress LSRs downstream of a branch LSR have become
disconnected from the P2MP tree, and some branch LSR is unable to
restore connectivity to any of them by means of some recovery or
protection mechanisms, the branch LSR MAY remove itself from the P2MP
tree provided that it is not also an egress LSR (that is, a bud).
Since the faults that severed the various downstream egress LSRs from
the P2MP tree may be disparate, the branch LSR MUST report all such
errors to its upstream neighbor. An upstream LSR or the ingress LSR
can then decide to re-compute the path to those particular egress
LSRs around the failure point.
Solutions MAY include the facility for transit LSRs and particularly
branch LSRs to recompute sub-P2MP trees to restore them after
failures. In the event of successful repair, error notifications
SHOULD NOT be reported to upstream nodes, but the new paths are
reported if route recording is in use. Crankback requirements are
discussed in Section 4.21.
4.7. Record Route of P2MP TE LSP
Being able to identify the established topology of P2MP TE LSP is
very important for various purposes such as management and operation
of some local recovery mechanisms like Fast Reroute [RFC4090]. A
network operator uses this information to manage P2MP TE LSPs.
Therefore, the P2MP TE solution MUST support a mechanism that can
collect and update P2MP tree topology information after the P2MP LSP
establishment and modification process.
It is RECOMMENDED that the information is collected in a data format
that allows easy recognition of the P2MP tree topology.
The solution MUST support mechanisms for the recording of both
outgoing interfaces and node-ids.
The solution MUST gracefully handle scaling issues concerned with the
collection of P2MP tree information, including the case where the
collected information is too large to be carried in a single protocol
message.
4.8. Call Admission Control (CAC) and QoS Control Mechanism of
P2MP TE LSPs
P2MP TE LSPs may share network resource with P2P TE LSPs. Therefore,
it is important to use CAC and QoS in the same way as P2P TE LSPs for
easy and scalable operation.
P2MP TE solutions MUST support both resource sharing and exclusive
resource utilization to facilitate coexistence with other LSPs to the
same destination(s).
P2MP TE solutions MUST be applicable to DiffServ-enabled networks
that can provide consistent QoS control in P2MP LSP traffic.
Any solution SHOULD also satisfy the DS-TE requirements [RFC3564] and
interoperate smoothly with current P2P DS-TE protocol specifications.
Note that this requirement document does not make any assumption on
the type of bandwidth pool used for P2MP TE LSPs, which can either be
shared with P2P TE LSP or be dedicated for P2MP use.
4.9. Variation of LSP Parameters
Certain parameters (such as priority and bandwidth) are associated
with an LSP. The parameters are installed by the signaling exchanges
associated with establishing and maintaining the LSP.
Any solution MUST NOT allow for variance of these parameters within a
single P2MP LSP. That is:
- No attributes set and signaled by the ingress LSR of a P2MP LSP may
be varied by downstream LSRs.
- There MUST be homogeneous QoS from the root to all leaves of a
single P2MP LSP.
Changing the parameters for the whole tree MAY be supported, but the
change MUST apply to the whole tree from ingress LSR to all egress
LSRs.
4.10. Re-Optimization of P2MP TE LSPs
The detection of a more optimal path (for example, one with a lower
overall cost) is an example of a situation where P2MP TE LSP re-
routing may be required. While re-routing is in progress, an
important requirement is to avoid double bandwidth reservation (over
the common parts between the old and new LSP) thorough the use of
resource sharing.
Make-before-break MUST be supported for a P2MP TE LSP to ensure that
there is minimal traffic disruption when the P2MP TE LSP is re-
routed.
Make-before-break that only applies to a sub-P2MP tree without
impacting the data on all the other parts of the P2MP tree MUST be
supported.
The solution SHOULD allow for make-before-break re-optimization of
any subdivision of the P2MP LSP (S2PL sub-LSP, S2X sub-LSP, S2L sub-
LSP, X2AL sub-LSP, B2PL sub-LSP, X2AL sub-LSP, or B2AL tree).
Further, it SHOULD do so by minimizing the signaling impact on the
rest of the P2MP LSP, and without affecting the ability of the
management plane to manage the LSP.
The solution SHOULD also provide the ability for the ingress LSR to
have strict control over the re-optimization process. The ingress
LSR SHOULD be able to limit all re-optimization to be source-
initiated.
Where sub-LSP re-optimization is allowed by the ingress LSR, such
re-optimization MAY be initiated by a downstream LSR that is the root
of the sub-LSP that is to be re-optimized. Sub-LSP re-optimization
initiated by a downstream LSR MUST be carried out with the same
regard to minimizing the impact on active traffic as was described
above for other re-optimization.
4.11. Merging of Tree Branches
It is possible for a single transit LSR to receive multiple signaling
messages for the same P2MP LSP but for different sets of
destinations. These messages may be received from the same or
different upstream nodes and may need to be passed on to the same or
different downstream nodes.
This situation may arise as the result of the signaling solution
definition or implementation options within the signaling solution.
Further, it may happen during make-before-break re-optimization
(Section 4.10).
It is even possible that it is necessary to construct distinct
upstream branches in order to achieve the correct label choices in
certain switching technologies managed by GMPLS (for example,
photonic cross-connects where the selection of a particular lambda
for the downstream branches is only available on different upstream
switches).
The solution MUST support the case where multiple signaling messages
for the same P2MP LSP are received at a single transit LSR and refer
to the same upstream interface. In this case, the result of the
protocol procedures SHOULD be a single data flow on the upstream
interface.
The solution SHOULD support the case where multiple signaling
messages for the same P2MP LSP are received at a single transit LSR
and refer to different upstream interfaces, and where each signaling
message results in the use of different downstream interfaces. This
case represents data flows that cross at the LSR but that do not
merge.
The solution MAY support the case where multiple signaling messages
for the same P2MP LSP are received at a single transit LSR and refer
to different upstream interfaces, and where the downstream interfaces
are shared across the received signaling messages. This case
represents the merging of data flows. A solution that supports this
case MUST ensure that data is not replicated on the downstream
interfaces.
An alternative to supporting this last case is for the signaling
protocol to indicate an error such that the merge may be resolved by
the upstream LSRs.
4.12. Data Duplication
Data duplication refers to the receipt by any recipient of duplicate
instances of the data. In a packet environment, this means the
receipt of duplicate packets. Although small-scale packet
duplication (that is, a few packets over a relatively short period of
time) should be a harmless (if inefficient) situation, certain
existing and deployed applications will not tolerate packet
duplication. Sustained packet duplication is, at best, a waste of
network and processing resources and, at worst, may cause congestion
and the inability to process the data correctly.
In a non-packet environment, data duplication means the duplication
of some part of the signal that may lead to the replication of data
or to the scrambling of data.
Data duplication may legitimately arise in various scenarios
including re-optimization of active LSPs as described in the previous
section, and protection of LSPs. Thus, it is impractical to regulate
against data duplication in this document.
Instead, the solution:
- SHOULD limit to bounded transitory conditions the cases where
network bandwidth is wasted by the existence of duplicate delivery
paths.
- MUST limit the cases where duplicate data is delivered to an
application to bounded transitory conditions.
4.13. IPv4/IPv6 Support
Any P2MP TE solution MUST support IPv4 and IPv6 addressing.
4.14. P2MP MPLS Label
A P2MP TE solution MUST allow the continued use of existing
techniques to establish P2P LSPs (TE and otherwise) within the same
network, and MUST allow the coexistence of P2P LSPs within the same
network as P2MP TE LSPs.
A P2MP TE solution MUST be specified in such a way that it allows
P2MP and P2P TE LSPs to be signaled on the same interface.
4.15. Advertisement of P2MP Capability
Several high-level requirements have been identified to determine the
capabilities of LSRs within a P2MP network. The aim of such
information is to facilitate the computation of P2MP trees using TE
constraints within a network that contains LSRs that do not all have
the same capability levels with respect to P2MP signaling and data
forwarding.
These capabilities include, but are not limited to:
- The ability of an LSR to support branching.
- The ability of an LSR to act as an egress LSR and a branch LSR for
the same LSP.
- The ability of an LSR to support P2MP MPLS-TE signaling.
4.16. Multi-Access LANs
P2MP MPLS TE may be used to traverse network segments that are
provided by multi-access media such as Ethernet. In these cases, it
is also possible that the entry point to the network segment is a
branch LSR of the P2MP LSP.
Two options clearly exist:
- the branch LSR replicates the data and transmits multiple copies
onto the segment.
- the branch LSR sends a single copy of the data to the segment and
relies on the exit points to determine whether to receive and
forward the data.
The first option has a significant data plane scaling issue since all
replicated data must be sent through the same port and carried on the
same segment. Thus, a solution SHOULD provide a mechanism for a
branch LSR to send a single copy of the data onto a multi-access
network to reach multiple (adjacent) downstream nodes. The second
option may have control plane scaling issues.
4.17. P2MP MPLS OAM
The MPLS and GMPLS MIB modules MUST be enhanced to provide P2MP TE
LSP management in line with whatever signaling solutions are
developed.
In order to facilitate correct management, P2MP TE LSPs MUST have
unique identifiers, since otherwise it is impossible to determine
which LSP is being managed.
Further discussions of OAM are out of scope for this document. See
[P2MP-OAM] for more details.
4.18. Scalability
Scalability is a key requirement in P2MP MPLS systems. Solutions
MUST be designed to scale well with an increase in the number of any
of the following:
- the number of recipients
- the number of egress LSRs
- the number of branch LSRs
- the number of branches
Both scalability of control plane operation (setup, maintenance,
modification, and teardown) MUST be considered.
Key considerations MUST include:
- the amount of refresh processing associated with maintaining a P2MP
TE LSP.
- the amount of protocol state that must be maintained by ingress and
transit LSRs along a P2MP tree.
- the number of protocol messages required to set up or tear down a
P2MP LSP as a function of the number of egress LSRs.
- the number of protocol messages required to repair a P2MP LSP after
failure or to perform make-before-break.
- the amount of protocol information transmitted to manage a P2MP TE
LSP (i.e., the message size).
- the amount of additional data distributed in potential routing
extensions.
- the amount of additional control plane processing required in the
network to detect whether an add/delete of a new branch is
required, and in particular, the amount of processing in steady
state when no add/delete is requested
- the amount of control plane processing required by the ingress,
transit, and egress LSRs to add/delete a branch LSP to/from an
existing P2MP LSP.
It is expected that the applicability of each solution will be
evaluated with regards to the aforementioned scalability criteria.
4.18.1. Absolute Limits
In order to achieve the best solution for the problem space, it is
helpful to clarify the boundaries for P2MP TE LSPs.
- Number of egress LSRs.
A scaling bound is placed on the solution mechanism such that a
P2MP TE LSP MUST reduce to similar scaling properties as a P2P LSP
when the number of egress LSRs reduces to one. That is,
establishing a P2MP TE LSP to a single egress LSR should cost
approximately as much as establishing a P2P LSP.
It is important to classify the issues of scaling within the
context of traffic engineering. It is anticipated that the initial
deployments of P2MP TE LSPs will be limited to a maximum of around
a hundred egress LSRs, but that within five years deployments may
increase this to several hundred, and that future deployments may
require significantly larger numbers.
An acceptable upper bound for a solution, therefore, is one that
scales linearly with the number of egress LSRs. It is expected
that solutions will scale better than linearly.
Solutions that scale worse than linearly (that is, exponentially or
polynomially) are not acceptable whatever the number of egress LSRs
they could support.
- Number of branch LSRs.
Solutions MUST support all possibilities from one extreme of a
single branch LSR that forks to all leaves on a separate branch, to
the greatest number of branch LSRs which is (n-1) for n egress
LSRs. Assumptions MUST NOT be made in the solution regarding which
topology is more common, and the solution MUST be designed to
ensure scalability in all topologies.
- Dynamics of P2MP tree.
Recall that the mechanisms for determining which egress LSRs should
be added to an LSP and for adding and removing egress LSRs from
that group are out of the scope of this document. Nevertheless, it
is useful to understand the expected rates of arrival and departure
of egress LSRs, since this can impact the selection of solution
techniques.
Again, this document is limited to traffic engineering, and in this
model the rate of change of LSP egress LSRs may be expected to be
lower than the rate of change of recipients in an IP multicast
group.
Although the absolute number of egress LSRs coming and going is the
important element for determining the scalability of a solution,
note that a percentage may be a more comprehensible measure, but
that this is not as significant for LSPs with a small number of
recipients.
A working figure for an established P2MP TE LSP is less than 10%