RFC 4461

Signaling Requirements for Point-to-Multipoint Traffic-Engineered MPLS Label Switched Paths (LSPs)

πŸ“… published April 2006, from ietf

RFC 4461 πŸŽ€ Part 1 of 6

okay bestie, so this is RFC 4461 and its title is "Signaling Requirements for Point-to-Multipoint Traffic-Engineered MPLS Label Switched Paths (LSPs)" πŸ’–. It was written by S. Yasukawa, Ed. from NTT, it's an Informational doc, and it's dated April 2006 πŸ“…. The title block doesn't say it obsoletes or updates any other RFC, so it's a standalone vibe ✨.

Status of This Memo πŸ“

This memo provides information for the Internet community. It does not specify an Internet standard of any kind. Distribution of this memo is unlimited.

Copyright (C) The Internet Society (2006).

Abstract πŸ¦‹

This document presents a set of requirements for the establishment and maintenance of Point-to-Multipoint (P2MP) Traffic-Engineered (TE) Multiprotocol Label Switching (MPLS) Label Switched Paths (LSPs) 🌈.

There is no intent to specify solution-specific details or application-specific requirements in this document. Not the vibe we're going for here πŸ™…β€β™€οΈ, we're keeping it general.

The requirements here don't just cover packet-switched networks running MPLS protocols. They also cover Layer Two Switching (L2SC), Time Division Multiplexing (TDM), lambda, and port switching networks managed by Generalized MPLS (GMPLS) protocols 🧚. So protocol solutions built to meet these requirements must attempt to be equally applicable to MPLS and GMPLS, which is honestly so iconic πŸ‘‘.

Table of Contents πŸ“š

   1. Introduction ....................................................3
      1.1. Non-Objectives .............................................6
   2. Definitions .....................................................6
      2.1. Acronyms ...................................................6
      2.2. Terminology ................................................6
           2.2.1. Terminology for Partial LSPs ........................8
      2.3. Conventions ................................................9
   3. Problem Statement ...............................................9
      3.1. Motivation .................................................9
      3.2. Requirements Overview ......................................9
   4. Detailed Requirements for P2MP TE Extensions ...................11
      4.1. P2MP LSP ..................................................11
      4.2. P2MP Explicit Routing .....................................12
      4.3. Explicit Path Loose Hops and Widely Scoped
           Abstract Nodes ............................................13
      4.4. P2MP TE LSP Establishment, Teardown, and
           Modification Mechanisms ...................................14
      4.5. Fragmentation .............................................14
      4.6. Failure Reporting and Error Recovery ......................15
      4.7. Record Route of P2MP TE LSP ...............................16
      4.8. Call Admission Control (CAC) and QoS Control
           Mechanism of P2MP TE LSPs .................................17
      4.9. Variation of LSP Parameters ...............................17
      4.10. Re-Optimization of P2MP TE LSPs ..........................18
      4.11. Merging of Tree Branches .................................18
      4.12. Data Duplication .........................................19
      4.13. IPv4/IPv6 Support ........................................20
      4.14. P2MP MPLS Label ..........................................20
      4.15. Advertisement of P2MP Capability .........................20
      4.16. Multi-Access LANs ........................................21
      4.17. P2MP MPLS OAM ............................................21
      4.18. Scalability ..............................................21
            4.18.1. Absolute Limits ..................................22
      4.19. Backwards Compatibility ..................................24
      4.20. GMPLS ....................................................24
      4.21. P2MP Crankback Routing ...................................25
   5. Security Considerations ........................................25
   6. Acknowledgements ...............................................26
   7. References .....................................................26
      7.1. Normative References ......................................26
      7.2. Informative References ....................................26

1. Introduction ✨

Okay so existing MPLS traffic engineering (MPLS-TE) gives you strict QoS guarantees, resource optimization, and fast failure recovery πŸ’…. The catch is that it only works for point-to-point (P2P) LSPs πŸ₯². People really want P2MP services running on traffic-engineered LSPs, and that's exactly why the base MPLS-TE toolbox needs upgrades to support P2MP MPLS-TE LSPs πŸ”₯.

A P2MP TE LSP is a TE LSP (per [RFC2702] and [RFC3031]) that has a single ingress LSR and one or more egress LSRs, and it's unidirectional ➑️. P2MP services (the ones that deliver data from one source to one or more receivers) can run on any mix of P2P and P2MP LSPs, depending on how much optimization the network needs 🧩. Those LSPs can also be traffic-engineered again, depending on what the network requires. And multipoint-to-multipoint (MP2MP) services (which deliver data from more than one source to one or more receivers) can be supported by a combination of P2P and P2MP LSPs too 🌸.

[RFC2702] specifies requirements for traffic engineering over MPLS. Section 2 of it goes deep on traffic engineering, and those definitions apply just as well to traffic engineering in a point-to-multipoint service environment 🫢. They aren't repeated here, so the reader is assumed to already know them inside out πŸ€“.

Section 3.0 of [RFC2702] also explains why MPLS is particularly good at traffic engineering 🧠. It lists these eight reasons:

  1. Explicit label switched paths that are not constrained by the destination-based forwarding paradigm can be easily created through manual administrative action or through automated action by the underlying protocols.
  2. LSPs can potentially be maintained efficiently.
  3. Traffic trunks can be instantiated and mapped onto LSPs.
  4. A set of attributes can be associated with traffic trunks that modulate their behavioral characteristics.
  5. A set of attributes can be associated with resources that constrain the placement of LSPs and traffic trunks across them.
  6. MPLS allows for both traffic aggregation and disaggregation, whereas classical destination-only-based IP forwarding permits only aggregation.
  7. It is relatively easy to integrate a "constraint-based routing" framework with MPLS.
  8. A good implementation of MPLS can offer significantly lower overhead than competing alternatives for traffic engineering.

All of these points work just as well for point-to-multipoint traffic engineering πŸŽ€. Points 1 and 7 are the big ones, no cap πŸ”₯. Also note that point 3 implies the concept of a point-to-multipoint traffic trunk is defined and supported by (or mapped onto) P2MP LSPs πŸ¦‹.

So the traffic flow for a point-to-multipoint LSP isn't stuck to the path (or paths) it would take during multicast routing or shortest path destination-based routing πŸ™…β€β™€οΈ. It can be explicitly controlled, either manually or through automated action, which is giving control freak energy in the best way πŸ’œ.

The explicit paths can also be computed with algorithms that use a variety of constraints, so you can get all kinds of tree shapes 🌳. For example, an explicit path may be cost-based [STEINER], shortest path, or QoS-based, or it may use some fair-cost QoS algorithm ✨.

[RFC2702] also describes the functional capabilities needed to fully support traffic engineering over MPLS in large networks 🌍.

This document sets out requirements for Point-to-Multipoint (P2MP) traffic engineering (TE) extensions to Multiprotocol Label Switching (MPLS) πŸ’–. It spells out functional requirements for solutions that deliver P2MP TE LSPs 🧚.

Solutions that specify procedures for P2MP TE LSP setup MUST satisfy these requirements. There is no intent to specify solution-specific details or application-specific requirements in this document πŸ™ˆ.

The requirements here apply equally to packet-switched networks under the control of MPLS protocols, and to packet-switched, TDM, lambda, and port-switching networks managed by Generalized MPLS (GMPLS) protocols 🌈. Protocol solutions built to meet these requirements MUST attempt to be equally applicable to MPLS and GMPLS, no exceptions πŸ‘‘.

Existing MPLS TE mechanisms such as [RFC3209] don't support P2MP TE LSPs, so new mechanisms need to be developed 😭. This SHOULD be achieved with maximum re-use of existing MPLS protocols πŸ“, because why reinvent the wheel when you can just recycle it, iykyk πŸ’….

Note that routing and signaling are separate in MPLS TE 🧩. The path of an MPLS TE LSP is determined by running a constraint-based computation (such as CSPF) on a traffic engineering database (TED) πŸ—ΊοΈ. The TED can be filled in through a variety of mechanisms 🫧.

This document focuses on requirements for establishing and maintaining P2MP MPLS TE LSPs through signaling protocols πŸ“‘. Routing protocols are out of scope 🚫. It makes no assumptions about how the TED used for P2MP LSP path computations is formed πŸ€·β€β™€οΈ.

This requirements document assumes the following conditions for P2MP MPLS TE LSP establishment and maintenance πŸ“‹:

  • A P2MP TE LSP will be set up with TE constraints and will allow efficient packet or data replication at various branching points in the network. Although replication is a data plane issue, it is the responsibility of the control plane (acting in conjunction with the path computation component) to install LSPs in the network such that replication can be performed efficiently. Note that the notion of "efficient" replication is relative and may have different meanings depending on the objectives (see Section 4.2). 🌊
  • P2MP TE LSP setup mechanisms must include the ability to add/remove receivers to/from the P2MP service supported by an existing P2MP TE LSP. πŸ™‹β€β™€οΈ
  • Tunnel endpoints of P2MP TE LSP will be modified by adding/removing egress LSRs to/from an existing P2MP TE LSP. It is assumed that the rate of change of leaves of a P2MP LSP (that is, the rate at which new egress LSRs join, or old egress LSRs are pruned) is "not so high" because P2MP TE LSPs are assumed to be utilized for TE applications. This issue is discussed at greater length in Section 4.18.1. 🌿
  • A P2MP TE LSP may be protected by fast error recovery mechanisms to minimize disconnection of a P2MP service. πŸ›‘οΈ
  • A set of attributes of the P2MP TE LSP (e.g., bandwidth, etc.) may be modified by some mechanism (e.g., make-before-break, etc.) to accommodate attribute changes to the P2MP service without impacting data traffic. These issues are discussed in Sections 4.6 and 4.10. πŸŽ€

It is not a requirement that the ingress LSR must control the addition or removal of leaves from the P2MP tree 🌲. It is this document's objective that a solution compliant to the requirements set out here MUST operate these P2MP TE capabilities in a scalable fashion πŸ’œπŸ”₯.

1.1. Non-Objectives ✨

okay so this is the "not my problem" list πŸ’… It tells you what this doc is NOT going to cover, so nobody gets confused later πŸ™ˆ

It's assumed that some info about the P2MP TE LSP is already known to the ingress LSR before the LSP gets set up 🧚 For example, the ingress LSRs already know the IP addresses that identify the egress LSRs of the P2MP TE LSP. How the ingress LSR gets that info is outside P2MP TE signaling, so it's not in this doc. Other docs might fill that gap with automated, protocol-based ways of passing the info to the ingress LSR 🫢

This doc does not specify any requirements for the following functions.

  • Non-TE LSPs (such as per-hop, routing-based LSPs).
  • Discovery of egress leaves for a P2MP LSP.
  • Hierarchical P2MP LSPs.
  • OAM for P2MP LSPs.
  • Inter-area and inter-AS P2MP TE LSPs.
  • Applicability of P2MP MPLS TE LSPs to service scenarios.
  • Specific application or application requirements.
  • Algorithms for computing P2MP distribution trees.
  • Multipoint-to-point LSPs.
  • Multipoint-to-multipoint LSPs.
  • Routing protocols.
  • Construction of the traffic engineering database.
  • Distribution of the information used to construct the traffic engineering database.

2. Definitions πŸŽ€

2.1. Acronyms

Quick acronym refresher, bestie πŸ“

P2P: Point-to-point

P2MP: Point-to-multipoint

2.2. Terminology

Okay this part is important πŸ’– The reader is assumed to be familiar with the terminology in [RFC3031] and [RFC3209]. Not gonna lie, you should brush up on those first πŸ“š

The following terms are defined for use in the context of P2MP TE LSPs only.

  • P2MP tree: The ordered set of LSRs and TE links that comprise the path of a P2MP TE LSP from its ingress LSR to all of its egress LSRs.
  • ingress LSR: The LSR that is responsible for initiating the signaling messages that set up the P2MP TE LSP.
  • egress LSR: One of potentially many destinations of the P2MP TE LSP. Egress LSRs may also be referred to as leaf nodes or leaves.
  • bud LSR: An LSR that is an egress LSR, but also has one or more directly connected downstream LSRs.
  • branch LSR: An LSR that has more than one directly connected downstream LSR.
  • P2MP-ID (P2ID): A unique identifier of a P2MP TE LSP, which is constant for the whole LSP regardless of the number of branches and/or leaves.
  • source: The sender of traffic that is carried on a P2MP service supported by a P2MP LSP. The sender is not necessarily the ingress LSR of the P2MP LSP.
  • receiver: A recipient of traffic carried on a P2MP service supported by a P2MP LSP. A receiver is not necessarily an egress LSR of the P2MP LSP. Zero, one, or more receivers may receive data through a given egress LSR.

2.2.1. Terminology for Partial LSPs

Splitting up trees is kinda my favourite thing ngl πŸ¦‹ It's convenient to sub-divide P2MP trees for functional and representational reasons. A tree may be divided in two dimensions:

  • A division may be made along the length of the tree. For example, the tree may be split into two components each running from the ingress LSR to a discrete set of egress LSRs. Upstream LSRs (for example, the ingress LSR) may be members of both components.
  • A tree may be divided at a branch LSR (or any transit LSR) to produce a component of the tree that runs from the branch (or transit) LSR to all egress LSRs downstream of this point.

These two methods of splitting the P2MP tree can be combined, so it's useful to introduce some terminology to keep the partitioned trees clearly described 🌈

Use the following designations:

      Source (ingress) LSR - S
      Leaf (egress) LSR - L
      Branch LSR - B
      Transit LSR - X (any single, arbitrary LSR that is not a source,
                       leaf or branch)
      All - A
      Partial (i.e., not all) - P

Define a new term:

Sub-LSP: A segment of a P2MP TE LSP that runs from one of the LSP's LSRs to one or more of its other LSRs. ✨

Using these new concepts, we can define any combination or split of the P2MP tree. For example:

  • S2L sub-LSP: The path from the source to one specific leaf.
  • S2PL sub-LSP: The path from the source to a set of leaves.
  • B2AL sub-LSP: The path from a branch LSR to all downstream leaves.
  • X2X sub-LSP: A component of the P2MP LSP that is a simple path that does not branch.

Note that the S2AL sub-LSP is equivalent to the P2MP LSP. πŸ‘‘

2.3. Conventions

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 [RFC2119]. 🫢


3. Problem Statement 🌸

3.1. Motivation

As described in Section 1, traffic engineering and constraint-based routing (including Call Admission Control (CAC), explicit source routing, and bandwidth reservation) are required to enable efficient resource usage and strict QoS guarantees. Such mechanisms also make it possible to provide services across a congested network where conventional "shortest path first" forwarding paradigms would fail 😭

Existing MPLS TE mechanisms [RFC3209] and GMPLS TE mechanisms [RFC3473] only provide support for P2P TE LSPs. While it is possible to provide P2MP TE services using P2P TE LSPs, any such approach is potentially suboptimal since it may result in data replication at the ingress LSR, or in duplicate data traffic within the network πŸ’€

Hence, to provide P2MP MPLS TE services in a fully efficient manner, it is necessary to specify specific requirements. These requirements can then be used when defining mechanisms for the use of existing protocols and/or extensions to existing protocols and/or new protocols 🧚

3.2. Requirements Overview

This document states basic requirements for the setup of P2MP TE LSPs. The requirements apply to the signaling techniques only, and no assumptions are made about which routing protocols are run within the network, or about how the information that is used to construct the Traffic Engineering Database (TED) is distributed. These factors are out of the scope of this document πŸ™…β€β™€οΈ

A P2MP TE LSP path computation will take into account various constraints such as bandwidth, affinities, required level of protection and so on. The solution MUST allow for the computation of P2MP TE LSP paths that satisfy constraints, with the objective of supporting various optimization criteria such as delays, bandwidth consumption in the network, or any other combinations. This is likely to require the presence of a TED, as well as the ability to signal the explicit path of an LSP πŸ’…

A desired requirement is also to maximize the re-use of existing MPLS TE techniques and protocols where doing so does not adversely impact the function, simplicity, or scalability of the solution πŸŽ€

This document does not restrict the choice of signaling protocol used to set up a P2MP TE LSP, but note that [RFC3468] states:

     ...the consensus reached by the Multiprotocol
     Label Switching (MPLS) Working Group within the IETF to focus its
     efforts on "Resource Reservation Protocol (RSVP)-TE: Extensions to
     RSVP for Label-Switched Paths (LSP) Tunnels" (RFC 3209) as the MPLS
     signalling protocol for traffic engineering applications...

The P2MP TE LSP setup mechanism MUST include the ability to add/remove egress LSRs to/from an existing P2MP TE LSP and MUST allow for the support of all the TE LSP management procedures already defined for P2P TE LSP. Further, when new TE LSP procedures are developed for P2P TE LSPs, equivalent or identical procedures SHOULD be developed for P2MP TE LSPs πŸ”₯

The computation of P2MP trees is implementation dependent and is beyond the scope of the solutions that are built with this document as a guideline 🌈

Consider the following figure. πŸ‘€

                         Source 1 (S1)
                               |
                             I-LSR1
                             |   |
                             |   |
            R2----E-LSR3--LSR1   LSR2---E-LSR2--Receiver 1 (R1)
                             |   :
                  R3----E-LSR4   E-LSR5
                             |   :
                             |   :
                            R4   R5

Figure 1

Figure 1 shows a single ingress LSR (I-LSR1), and four egress LSRs (E-LSR2, E-LSR3, E-LSR4, and E-LSR5). I-LSR1 is attached to a traffic source that is generating traffic for a P2MP application πŸ¦‹

Receivers R1, R2, R3, and R4 are attached to E-LSR2, E-LSR3, and E-LSR4.

The following are the objectives of P2MP LSP establishment and use. 🧚

  • a) A P2MP tree that satisfies various constraints is pre-determined, and details are supplied to I-LSR1.

No assumption is made about whether the tree is provided to I-LSR1 or computed by I-LSR1. The solution SHOULD also allow for the support of a partial path by means of loose routing.

Typical constraints are bandwidth requirements, resource class affinities, fast rerouting, and preemption. There should not be any restriction on the possibility of supporting the set of constraints already defined for point-to-point TE LSPs. A new constraint may specify which LSRs should be used as branch LSRs for the P2MP LSR in order to take into account LSR capabilities or network constraints. 🌸

  • b) A P2MP TE LSP is set up from I-LSR1 to E-LSR2, E-LSR3, and E-LSR4 using the tree information.
  • c) In this case, the branch LSR1 should replicate incoming packets or data and send them to E-LSR3 and E-LSR4. πŸ“
  • d) If a new receiver (R5) expresses an interest in receiving traffic, a new tree is determined, and a B2L sub-LSP from LSR2 to E-LSR5 is grafted onto the P2MP TE LSP. LSR2 becomes a branch LSR. πŸŽ€

4. Detailed Requirements for P2MP TE Extensions πŸ’œ

4.1. P2MP LSP

This is where the real rules live, bestie πŸ‘‘ The P2MP TE extensions MUST be applicable to the signaling of LSPs for different switching types. For example, it MUST be possible to signal a P2MP TE LSP in any switching medium, whether it is packet or non-packet based (including frame, cell, TDM, lambda, etc.) πŸ”₯

As with P2P MPLS technology [RFC3031], traffic is classified with a FEC in this extension. All packets that belong to a particular FEC and that travel from a particular node MUST follow the same P2MP tree πŸ¦‹

In order to scale to a large number of branches, P2MP TE LSPs SHOULD be identified by a unique identifier (the P2MP ID or P2ID) that is constant for the whole LSP regardless of the number of branches and/or leaves ✨

4.2. P2MP Explicit Routing ✨

okay so P2MP tree formation has to get tuned in lots of different ways to hit different QoS goals and operator rules πŸŽ€

some P2MP apps want a bandwidth-guaranteed tree that also meets end-to-end delay limits πŸ’… and some operators just want a cost-minimum tree by naming the branch LSRs themselves 🧚

so the P2MP TE solution MUST provide a way to build arbitrary P2MP trees, controlled by an external tree computation process, a path configuration process, or a dynamic tree computation process on the ingress LSR. Figure 2 shows two typical examples 🌸

           A                                      A
           |                                    /   \
           B                                   B     C
           |                                  / \   / \
           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

the first one is the Steiner P2MP tree (cost-minimum P2MP tree) [STEINER] πŸ¦‹ this one is great for building a cost-minimum tree so you use the least bandwidth in the core πŸ’– to make it work, a few intermediate LSRs have to be both MPLS data terminating LSRs and transit LSRs (LSRs E, F, G, H, I, J, and K in Figure 2). so the P2MP TE solution MUST support a mechanism that can set up this kind of bud LSR between an ingress LSR and egress LSRs. also this covers constrained Steiner trees, which find a minimal cost tree while still respecting other limits, like a bounded delay between the source and every receiver πŸ”₯

the second one is a CSPF (Constraint Shortest Path First) P2MP tree 🌈 you pick a metric (it can be based on delay, bandwidth, or a mix of both), then calculate a shortest-path P2MP tree. this is the one for real-time traffic ⭐

the solution MUST let the operator use any tree computation technique πŸ‘‘ for the first case, an efficient or optimal tree means a minimal cost tree (Steiner tree), and for the second case it means the tree that gives the shortest path between the source and any receiver πŸ’œ

to allow 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 name particular LSRs as branch LSRs 🫢 the ingress LSR can use this to set up the P2MP TE LSP. for example, a P2MP TE LSP can be described as a whole tree or as its individual branches πŸ¦‹


4.3. Explicit Path Loose Hops and Widely Scoped Abstract Nodes 🌸

a P2MP tree is completely specified when every required branch and hop between a sender and a leaf LSR is listed πŸ’…

a P2MP tree is partially specified when only some of the intermediate branches and hops are listed πŸ™ˆ this can be done with loose hops in the explicit path, or with widely scoped abstract nodes (abstract nodes that aren't simple [RFC3209]), like IPv4 prefixes shorter than 32 bits or AS numbers. a partially specified tree might be especially handy in inter-area and inter-AS situations, though P2MP requirements for inter-area and inter-AS are out of scope for 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 we talked about in the last section. when that support is there, protocol solutions MUST let downstream LSRs add more explicit control so they can turn a partially specified tree into a (more) completely specified tree πŸ’–

protocol solutions MUST let the P2MP tree be completely specified at the ingress LSR when there's enough information to compute the full tree, and when policies along the path (such as at domain boundaries) allow full specification ✨

in every case, the egress LSRs of the P2MP TE LSP must be fully specified, either individually or through some collective identifier πŸ”₯ without that info, there's no way to know where the TE LSP should be routed to, and that's a big oof πŸ’€

if a tree gets computed by some downstream LSRs (for example, when hops are specified as loose hops), the solution MUST provide protocol mechanisms so the ingress LSR of the P2MP TE LSP can learn the full P2MP tree πŸ‘‘ note that this info might not always be obtainable because of policy considerations, but if part of the path has to stay 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 establishing, maintaining, and tearing down P2MP TE LSPs in a way that scales at least linearly πŸ“ˆ this MUST cover both having a huge number of LSPs at once and having a huge number of destinations for a single P2MP LSP 🌈

on top of establishment and teardown, the solution SHOULD support a partial P2MP tree modification mechanism πŸ¦‹

to add sub-P2MP TE LSPs to an existing P2MP TE LSP, the extensions SHOULD support a grafting mechanism πŸ“ and to delete sub-P2MP TE LSPs from an existing P2MP TE LSP, the extensions SHOULD support a pruning mechanism πŸ“

it is RECOMMENDED that grafting and pruning cause no extra processing in nodes that aren't on the path to the grafting or pruning node, or that aren't downstream of that node toward the grafted or pruned leaves 🧚 also, grafting and pruning operations MUST NOT disrupt traffic currently being forwarded along the P2MP tree πŸ”₯

there's no assumption that the explicitly routed P2MP LSP stays on an optimal path after several grafts and prunes have happened πŸ™ˆ in this context, scalable is about the signaling process for the P2MP TE LSP. the TE nature of the LSP means re-optimization may happen from time to time to restore the LSP's optimality πŸ’…


4.5. Fragmentation πŸ’œ

the P2MP TE solution MUST handle the case where one protocol message can't hold all the info needed to signal the P2MP LSP's establishment 😭 it MUST be possible to establish the LSP in these situations ✨

this can happen in either of these circumstances:

a. the ingress LSR can't signal the whole tree in a single message 🫢

b. the info in a message grows too large (or is found to be too large) at some transit node πŸ™ˆ this might happen because the info that needs signaling increased, or because the size of signaling message that's supported went down πŸ’€

the solution to these problems SHOULD NOT rely on IP fragmentation of protocol messages 🚫 instead, it is RECOMMENDED to rely on protocol procedures that are specific to the signaling solution πŸ¦‹

if fragmented IP packets carrying protocol messages do get received, it is NOT RECOMMENDED that they get reassembled at the receiving LSR πŸ™…β€β™€οΈ


4.6. Failure Reporting and Error Recovery 🌸

failure events can cause egress LSRs or sub-P2MP LSPs to get detached from the P2MP TE LSP πŸ’” these events MUST be reported upstream, just like for a P2P LSP πŸ“£

the solution SHOULD provide recovery techniques, like protection and restoration, so impacted sub-P2MP TE LSPs can be recovered πŸ” specifically, a solution MUST provide fast protection mechanisms for P2MP TE LSPs, similar to the ones specified in [RFC4090] for P2P TE LSPs ⚑ also, no assumption is made about whether backup paths for P2MP TE LSPs should or should not be shared with P2P TE LSP backup paths πŸ€·β€β™€οΈ

the functions in [RFC4090] are currently specific to packet environments and don't apply to non-packet environments 🧐 so even though solutions MUST provide fast protection similar to [RFC4090], that requirement only covers the part of the solution space that applies to packet-switched networks 🌐

the requirements in this document are general to all MPLS TE P2MP signaling, so any solution that meets them is general too πŸŽ€ specific applications might have extra requirements or want to relax some requirements here, which can lead to variations in the solution 🌈

the solution SHOULD also support meeting other network recovery requirements, like bandwidth protection and a bounded propagation delay increase along the backup path during failure πŸ›‘οΈ

a P2MP TE solution MUST support the P2MP fast protection mechanism for P2MP applications that are sensitive to traffic disruption 😀

if the ingress LSR is told that delivery failed to fewer than all the egress LSRs, this SHOULD NOT cause an automatic teardown of the P2MP TE LSP πŸ™Œ that means while some egress LSRs are still connected to the P2MP tree, it SHOULD be up to local policy at the ingress LSR whether the P2MP LSP is kept 🧠

when all egress LSRs downstream of a branch LSR have been disconnected from the P2MP tree, and that branch LSR can't restore connectivity to any of them using some recovery or protection mechanism, the branch LSR MAY remove itself from the P2MP tree, as long as it's not also an egress LSR (that is, a bud). since the faults that cut off the various downstream egress LSRs might all be different, the branch LSR MUST report all of those errors to its upstream neighbor. then an upstream LSR or the ingress LSR can decide to recompute the path to those particular egress LSRs around the failure point 🌟

solutions MAY include a way for transit LSRs, and especially branch LSRs, to recompute sub-P2MP trees to restore them after failures πŸ”§ if the repair works, error notifications SHOULD NOT be reported to upstream nodes, but the new paths do get reported if route recording is in use πŸ—ΊοΈ crankback requirements are covered in Section 4.21 πŸ”™


4.7. Record Route of P2MP TE LSP πŸ—ΊοΈ

being able to see the established topology of a P2MP TE LSP is super important 🀩 it's used for management and operation of local recovery mechanisms like Fast Reroute [RFC4090], and a network operator uses this info to manage P2MP TE LSPs πŸ’…

so the P2MP TE solution MUST support a mechanism that can collect and update P2MP tree topology info after the P2MP LSP is established and modified πŸ“‹

it is RECOMMENDED that the info gets collected in a data format that makes the P2MP tree topology easy to recognize πŸ‘€

the solution MUST support mechanisms for recording both outgoing interfaces and node-ids 🫢

and the solution MUST gracefully handle scaling issues with collecting P2MP tree info, including when the collected info is too big to fit in a single protocol message 🌈

4.8. Call Admission Control (CAC) and QoS Control Mechanism of P2MP TE LSPs

okay so P2MP TE LSPs can share network resources with P2P TE LSPs 🫢 which means CAC and QoS need to be handled the same way as they are for P2P TE LSPs. that keeps things easy and scalable ✨

P2MP TE solutions MUST support both resource sharing and exclusive resource utilization so they can coexist with other LSPs going 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 doesn't assume anything about the type of bandwidth pool used for P2MP TE LSPs. the pool can be shared with P2P TE LSPs or dedicated to P2MP use 🌸


4.9. Variation of LSP Parameters

certain parameters (like priority and bandwidth) are associated with an LSP ✨ they get installed by the signaling exchanges that set up and maintain the LSP 🧚

Any solution MUST NOT allow for variance of these parameters within a single P2MP LSP. that means:

  • 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 the ingress LSR to all egress LSRs πŸ‘‘


4.10. Re-Optimization of P2MP TE LSPs

detecting a more optimal path (for example, one with a lower overall cost) is a situation where P2MP TE LSP re-routing may be required πŸ¦‹ while re-routing is happening, the big goal is to avoid double bandwidth reservation over the common parts between the old and new LSP. the way to do that is through resource sharing πŸ’–

Make-before-break MUST be supported for a P2MP TE LSP so there's 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). it SHOULD also do this 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 give the ingress LSR 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 being re-optimized 🧚 and when a downstream LSR starts it, it MUST be carried out with the same care for minimizing the impact on active traffic as was described above for other re-optimization 🌸


4.11. Merging of Tree Branches

it's possible for a single transit LSR to receive multiple signaling messages for the same P2MP LSP, but for different sets of destinations πŸ¦‹ those messages may come from the same or different upstream nodes, and they may need to be passed on to the same or different downstream nodes πŸ’œ

this can happen because of how the signaling solution is defined or because of implementation options inside it. it can also happen during make-before-break re-optimization (Section 4.10) ✨

it's even possible that distinct upstream branches are needed to get the correct label choices in certain GMPLS-managed switching technologies 🀯 for example, with photonic cross-connects, picking a particular lambda for the downstream branches is only possible 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 that 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 is data flows that cross at the LSR but don't 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 is the merging of data flows πŸ”₯ a solution that supports it MUST ensure that data is not replicated on the downstream interfaces 🫢

an alternative to supporting that last case is for the signaling protocol to indicate an error, so the upstream LSRs can resolve the merge πŸ’…


4.12. Data Duplication

data duplication means any recipient receives duplicate instances of the data 😭 in a packet environment, that means getting duplicate packets πŸ“¦ small-scale packet duplication (a few packets over a fairly short period of time) should be harmless, if inefficient πŸ™ˆ but some existing and deployed applications won't tolerate packet duplication at all πŸ’€ sustained packet duplication is, at best, a waste of network and processing resources, and at worst it can cause congestion and stop the data from being processed correctly 😱

in a non-packet environment, data duplication means duplicating some part of the signal, which may lead to replicated or scrambled data πŸŒ€

data duplication may legitimately happen in various scenarios, like re-optimization of active LSPs (covered in the previous section) and protection of LSPs ✨ so it's 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 P2P LSPs to coexist within the same network as P2MP TE LSPs 🫢

A P2MP TE solution MUST be specified so 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 figure out the capabilities of LSRs within a P2MP network πŸ” the point is to help compute P2MP trees using TE constraints, in a network where LSRs don't all have the same capability levels for P2MP signaling and data forwarding 🧚

these capabilities include, but aren't 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 provided by multi-access media, like Ethernet 🌸 in these cases, the entry point to the network segment can also be 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 big data plane scaling issue, since all the replicated data has to go out the same port and ride the same segment 😬 so 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 πŸ“Š

for correct management, P2MP TE LSPs MUST have unique identifiers πŸͺͺ otherwise there's no way to tell 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 as any of the following increase:

  • 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's expected that the applicability of each solution will be evaluated against the aforementioned scalability criteria πŸŽ€

4.18.1. Absolute Limits πŸ’…

okay so before we go any further, we need to set the boundaries for P2MP TE LSPs 🧚✨ this is the part where we figure out how big things are allowed to get, bestie 🫢

  • 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's giving "one receiver, same vibes as P2P" πŸ’–

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. ngl the numbers keep growing and that's the whole point 🌸

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. πŸ’€ absolutely not, no exceptions, periodt πŸ’…

  • 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. main character energy means every topology gets a fair shot πŸ‘‘πŸ¦‹

  • 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. lowkey the TE tree doesn't churn like a multicast group does 🌈

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% churn per day; that is, a relatively slow rate of churn. πŸ“

We could say that a P2MP LSP would be shared by multiple multicast groups, so the dynamics of the P2MP LSP would be relatively small. πŸŽ€

Solutions MUST optimize for such relatively low rates of change and are not required to optimize for significantly higher rates of change. 🫢 the MUST is doing the heavy lifting here

  • Rate of change within the network.

It is also important to understand the scaling with regard to changes within the network. That is, one of the features of a P2MP TE LSP is that it can be robust or protected against network failures, and it can be re-optimized to take advantage of newly available network resources. ✨

It is more important that a solution be optimized for scaling with respect to recovery and re-optimization of the LSP than for change in the egress LSRs, because P2MP is used as a TE tool. πŸ”₯

The solution MUST follow this distinction and optimize accordingly. πŸ’–

4.19. Backwards Compatibility 🌸

It SHOULD be an aim of any P2MP solution to offer as much backward compatibility as possible. An ideal that is probably impossible to achieve would be to offer P2MP services across legacy MPLS networks without any change to any LSR in the network. the dream is no changes anywhere, even if it's a bit of a fantasy πŸ¦‹

If this ideal cannot be achieved, the aim SHOULD be to use legacy nodes as both transit non-branch LSRs and egress LSRs. 🧚

It is a further requirement for the solution that any LSR that implements the solution SHALL NOT be prohibited by that act from supporting P2P TE LSPs using existing signaling mechanisms. That is, unless doing so is administratively prohibited, P2P TE LSPs MUST be supported through a P2MP network. bestie, P2P still has to work, no exceptions unless the admins say no πŸ’…

Also, it is a requirement that P2MP TE LSPs MUST be able to coexist with IP unicast and IP multicast networks. they all need to get along in the group chat 🫢🌈

4.20. GMPLS πŸ’œ

The requirement for P2MP services for non-packet switch interfaces is similar to that for Packet-Switch Capable (PSC) interfaces. Therefore, it is a requirement that reasonable attempts must be made to make all the features/mechanisms (and protocol extensions) that will be defined to provide MPLS P2MP TE LSPs equally applicable to P2MP PSC and non-PSC TE-LSPs. If the requirements of non-PSC networks over-complicate the PSC solution a decision may be taken to separate the solutions. okay so basically make it work for both, unless it gets too messy πŸŽ€

Solutions for MPLS P2MP TE-LSPs, when applied to GMPLS P2MP PSC or non-PSC TE-LSPs, MUST be compatible with the other features of GMPLS including:

  • control and data plane separation;
  • full support of numbered and unnumbered TE links;
  • use of the arbitrary labels and labels for specific technologies, as well as negotiation of labels, where necessary, to support limited label processing and swapping capabilities;
  • the ability to apply external control to the labels selected on each hop of the LSP, and to control the next hop label/port/interface for data after it reaches the egress LSR;
  • support for graceful and alarm-free enablement and termination of LSPs;
  • full support for protection including link-level protection, end-to-end protection, and segment protection;
  • the ability to teardown an LSP from a downstream LSR, in particular, from the egress LSR;
  • handling of Graceful Deletion procedures; and
  • support for failure and restart or reconnection of the control plane without any disruption of the data plane.

In addition, since non-PSC TE-LSPs may have to be processed in environments where the "P2MP capability" could be limited, specific constraints may also apply during the P2MP TE Path computation. Being technology specific, these constraints are outside the scope of this document. However, technology-independent constraints (i.e., constraints that are applicable independently of the LSP class) SHOULD be allowed during P2MP TE LSP message processing. It has to be emphasized that path computation and management techniques shall be as close as possible to those being used for PSC P2P TE LSPs and P2MP TE LSPs. 🧚 the vibe is "keep it consistent with what already works"

4.21. P2MP Crankback Routing πŸ¦‹

P2MP solutions SHOULD support crankback requirements as defined in [CRANKBACK]. In particular, they SHOULD provide sufficient information to a branch LSR from downstream LSRs to allow the branch LSR to re-route a sub-LSP around any failures or problems in the network. if something breaks, the branch should be able to reroute its sub-LSP around it, iykyk 🌈

5. Security Considerations πŸ”₯

This requirements document does not define any protocol extensions and does not, therefore, make any changes to any security models.

It is a requirement that any P2MP solution developed to meet some or all of the requirements expressed in this document MUST include mechanisms to enable the secure establishment and management of P2MP MPLS-TE LSPs. This includes, but is not limited to:

  • mechanisms to ensure that the ingress LSR of a P2MP LSP is identified;
  • mechanisms to ensure that communicating signaling entities can verify each other's identities;
  • mechanisms to ensure that control plane messages are protected against spoofing and tampering;
  • mechanisms to ensure that unauthorized leaves or branches are not added to the P2MP LSP; and
  • mechanisms to protect signaling messages from snooping.

Note that P2MP signaling mechanisms built on P2P RSVP-TE signaling are likely to inherit all the security techniques and problems associated with RSVP-TE. These problems may be exacerbated in P2MP situations where security relationships may need to maintained between an ingress LSR and multiple egress LSRs. Such issues are similar to security issues for IP multicast. πŸ’€ this part is serious, bestie, so pay attention

It is a requirement that documents offering solutions for P2MP LSPs MUST have detailed security sections. 🚨 no skipping the security section, ever

6. Acknowledgements πŸ’œ

The authors would like to thank George Swallow, Ichiro Inoue, Dean Cheng, Lou Berger, and Eric Rosen for their review and suggestions.

Thanks to Loa Andersson for his help resolving the final issues in this document and to Harald Alvestrand for a thorough GenArt review. 🫢

7. References πŸŽ€

7.1. Normative References

[RFC2119]     Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

[RFC2702]     Awduche, D., Malcolm, J., Agogbua, J., O'Dell, M., and
              J. McManus, "Requirements for Traffic Engineering Over
              MPLS", RFC 2702, September 1999.

[RFC3031]     Rosen, E., Viswanathan, A., and R. Callon,
              "Multiprotocol Label Switching Architecture", RFC 3031,
              January 2001.

[RFC3209]     Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan,
              V., and G. Swallow, "RSVP-TE: Extensions to RSVP for
              LSP Tunnels", RFC 3209, December 2001.

7.2. Informative References

[RFC3468]     Andersson, L. and G. Swallow, "The Multiprotocol Label
              Switching (MPLS) Working Group decision on MPLS
              signaling protocols", RFC 3468, February 2003.

[RFC3473]     Berger, L., "Generalized Multi-Protocol Label Switching
              (GMPLS) Signaling Resource ReserVation Protocol-Traffic
              Engineering (RSVP-TE) Extensions", RFC 3473, January
              2003.

[RFC3564]     Le Faucheur, F. and W. Lai, "Requirements for Support
              of Differentiated Services-aware MPLS Traffic
              Engineering", RFC 3564, July 2003.

[RFC4090]     Pan, P., Swallow, G., and A. Atlas, "Fast Reroute
              Extensions to RSVP-TE for LSP Tunnels", RFC 4090, May
              2005.

[STEINER]     H. Salama, et al., "Evaluation of Multicast Routing
              Algorithm for Real-Time Communication on High-Speed
              Networks," IEEE Journal on Selected Area in
              Communications, pp.332-345, 1997.

[CRANKBACK]   A. Farrel, A. Satyanarayana, A. Iwata, N. Fujita, G.
              Ash, S. Marshall, "Crankback Signaling Extensions for
              MPLS Signaling", Work in Progress, May 2005.

[P2MP-OAM]    S. Yasukawa, A. Farrel, D. King, and T. Nadeau, "OAM
              Requirements for Point-to-Multipoint MPLS Networks",
              Work in Progress, February 2006.

Editor's Address πŸ¦‹

Seisho Yasukawa
NTT Corporation
9-11, Midori-Cho 3-Chome
Musashino-Shi, Tokyo 180-8585,
Japan

Phone: +81 422 59 4769
EMail: yasukawa.seisho@lab.ntt.co.jp

Authors' Addresses πŸ’–

Okay, meet the crew! ✨ These are the nine people who wrote this doc, and their contact details are below, exactly as they appear in the original. 🫢

Dimitri Papadimitriou πŸ¦‹ (Alcatel)

Dimitri Papadimitriou
Alcatel
Francis Wellensplein 1,
B-2018 Antwerpen,
Belgium

Phone : +32 3 240 8491
EMail: dimitri.papadimitriou@alcatel.be

JP Vasseur 🌸 (Cisco Systems, Inc.)

JP Vasseur
Cisco Systems, Inc.
300 Beaver Brook Road

Boxborough, MA 01719,
USA

EMail: jpv@cisco.com

Yuji Kamite πŸŽ€ (NTT Communications Corporation)

Yuji Kamite
NTT Communications Corporation
Tokyo Opera City Tower
3-20-2 Nishi Shinjuku, Shinjuku-ku,
Tokyo 163-1421,
Japan

EMail: y.kamite@ntt.com

Rahul Aggarwal 🧚 (Juniper Networks)

Rahul Aggarwal
Juniper Networks
1194 North Mathilda Ave.
Sunnyvale, CA 94089

EMail: rahul@juniper.net

Alan Kullberg πŸ’œ (Motorola Computer Group)

Alan Kullberg
Motorola Computer Group
120 Turnpike Rd.
Southborough, MA 01772
EMail: alan.kullberg@motorola.com

Adrian Farrel πŸ“ (Old Dog Consulting)

Adrian Farrel
Old Dog Consulting

Phone: +44 (0) 1978 860944
EMail: adrian@olddog.co.uk

Markus Jork 🌈 (Quarry Technologies)

Markus Jork
Quarry Technologies
8 New England Executive Park
Burlington, MA 01803

EMail: mjork@quarrytech.com

Andrew G. Malis ⭐ (Tellabs)

Andrew G. Malis
Tellabs
2730 Orchard Parkway
San Jose, CA 95134

Phone: +1 408 383 7223
EMail: andy.malis@tellabs.com

Jean-Louis Le Roux πŸ‘‘ (France Telecom)

Jean-Louis Le Roux
France Telecom
2, avenue Pierre-Marzin
22307 Lannion Cedex
France

EMail: jeanlouis.leroux@francetelecom.com

Copyright (C) The Internet Society (2006). That's the legal bit, and it's important! πŸ’…

This document falls under the rights, licences and restrictions in BCP 78. Apart from what BCP 78 says, the authors keep all of their rights. 🫢

The document and everything in it are handed over "AS IS", and the contributor, the organisation they represent or are sponsored by (if any), the Internet Society, and the Internet Engineering Task Force all turn down every warranty, whether stated or implied. That covers any promise that using the information won't infringe rights, and any implied warranty of merchantability or fitness for a particular purpose. πŸ’€

The original disclaimer, kept word for word: THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY 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.

Intellectual Property πŸ¦‹

The IETF doesn't take a side on whether any Intellectual Property Rights, or other rights someone might claim, are valid or how far they reach. That goes for building or using the technology in this document, and for whether any licence to those rights is actually available. It also hasn't checked for any such rights itself. ✨ If you want the procedures for rights in RFC documents, look in BCP 78 and BCP 79. πŸ“š

Copies of IPR disclosures sent to the IETF Secretariat are available, along with any assurances of licences that will be offered, and the outcome of any attempt to get a general licence or permission to use those proprietary rights. Implementers and users can find all of that in the IETF's online IPR repository at http://www.ietf.org/ipr. 🌸

The IETF also welcomes anyone who spots copyrights, patents, patent applications, or other proprietary rights that might cover technology needed to implement this standard. Send that information to the IETF at ietf-ipr@ietf.org. 🫢


Acknowledgement πŸŽ€

Big thank you to the IETF Administrative Support Activity (IASA) πŸ’–, which pays for the RFC Editor function. ✨ Without them, none of these RFCs would get published! πŸ™ˆ

πŸ“¦ where this page comes from