Use Cases for MPLS Network Action Indicators and MPLS Ancillary DataJuniper Networkstsaad@juniper.netFuturewei Technologieskiranm@futurewei.comFuturewei Technologieshaoyu.song@futurewei.comEricssongregimirsky@gmail.comMPLS Working GroupInternet-DraftThis document presents a number of use cases that have a common need for
encoding network action indicators and associated ancillary data inside MPLS packets.
There has been significant recent interest in extending the MPLS data plane to
carry such indicators and ancillary data to address a number of use cases that
are described in this document.The use cases described in this document are not an exhaustive set, but rather
the ones that are actively discussed by members of the IETF MPLS, PALS and
DETNET working groups participating in the MPLS Open Design Team.This document describes important cases that require carrying additional
ancillary data within the MPLS packets, as well as means to indicate the
ancillary data is present, and a specific action needs to be performed on the
packet.These use cases have been identified by the MPLS Working Group Open Design Team
working on defining MPLS Network Actions for the MPLS data plane. The MPLS
Ancillary Data (AD) can be classified as:implicit, or “no-data” associated with a Network Action (NA) indicator,residing within the MPLS label stack and referred to as In Stack Data (ISD), andresiding after the Bottom of MPLS label Stack (BoS) and referred to as Post Stack Data (PSD).The use cases described in this document will be used to assist in
identifying requirements and issues to be considered for future resolution by
the working group.The following terminology is used in the document:
a well-defined composite of a set of
endpoints, the connectivity requirements between subsets of these
endpoints, and associated requirements; the term ‘network slice’
in this document refers to ‘IETF network slice’ as defined in
.
Networks that transport time-bounded traffic.ISD: In-stack dataPSD: Post-stack dataMNA: MPLS Network ActionNAI: Network Action IndicatorAD: Ancillary DataMPLS Fast Reroute (FRR) , and is a useful
and widely deployed tool for minimizing packet loss in the case of a link or
node failure.Several cases exist where, once FRR has taken place in an MPLS network and
resulted in rerouting a packet away from the failure, a second FRR that impacts
the same packet to rerouting is not helpful, and may even be disruptive.For example, in such a case, the packet may continue to loop until its TTL
expires. This can lead to link congestion and further packet loss. Thus, the
attempt to prevent a packet from being dropped may instead affect many other
packets. A proposal to address this is presented in
.In-situ Operations, Administration, and Maintenance (IOAM) may record operational
and telemetry information within the packet while the packet traverses a
particular path in a network domain.The term “in-situ” refers to the fact that the IOAM data fields are added to
the data packets rather than being sent within the probe packets specifically
dedicated to OAM or Performance Measurement (PM).IOAM can run in two modes Edge-to-Edge (E2E) and Hop-by-Hop (HbH). In E2E mode,
only the encapsulating and decapsulating nodes will process IOAM data fields.
In HbH mode, the encapsulating and decapsulating nodes as well as intermediate
IOAM-capable nodes process IOAM data fields.The IOAM data fields are defined in , and can be
used for various use-cases of OAM and PM. defines how IOAM data fields are transported using
the MPLS data plane encapsulations, including Segment Routing (SR) with MPLS
data plane (SR-MPLS).The IOAM data may be added after the bottom of the MPLS label stack. The IOAM
data fields can be of fixed or incremental size as defined in
. describes the
applicability of IOAM to MPLS dataplane. The encapsulating MPLS node needs to
know if the decapsulating MPLS node can process the IOAM data before adding it
in the packet. In HbH IOAM mode, nodes that are capable of processing IOAM will
intercept and process the IOAM data accordingly. The presence of IOAM header and optional IOAM
data will betransparent to nodes that do not support or do not participate in the IOAM
process. specifies the definition of
an IETF Network Slice. It further discusses the general framework for
requesting and operating IETF Network Slices, their characteristics, and the
necessary system components and interfaces.Multiple network slices can be realized on top of a single physical network.In order to overcome scale challenges, IETF Network Slices may be aggregated
into groups according to similar characteristics. The slice aggregate
is a construct that comprises of the traffic
flows of one or more IETF Network Slices of similar characteristics.A router that requires forwarding of a packet that belongs to a slice aggregate
may have to decide on the forwarding action to take based on selected
next-hop(s), and the forwarding treatment (e.g., scheduling and drop policy) to
enforce based on the associated per-hop behavior.The routers in the network that forward traffic over links that are shared by
multiple slice aggregates need to identify the slice aggregate packets
in order to enforce the associated forwarding action and treatment.An IETF network slice MAY support the following key features:A Slice SelectorA Network Resource Partition associated with a slice aggregate.A Path selection criteriaVerification that per slice Slice Level Objectives (SLOs) are being met. This may be done by active measurements
(inferred) or by using hybrid measurement methods, e.g., IOAM.Additionally, there is an on-going discussion on using Service Functions
(SFs) with network slices. This may require insertion of an NSH.For multi-domain scenarios, a packet that traverses multiple domains may
encode different identifiers within each domain.A Global Identifier as a Flow-Aggregate Selector (G-FAS) can be encoded in the
MPLS packet as defined in ,
, and
. The G-FAS is used to
associate the packets belonging to Slice-Flow Aggregate to the underlying
Network Resource Partition (NRP) as described in
.The G-FAS can be encoded within an MPLS label carried in the packet’s MPLS label
stack. All packets that belong to the same flow aggregate MAY carry the same FAS in
the MPLS label stack.When MPLS packets carry a G-FAS, MPLS LSRs use the forwarding label to select the forwarding
next-hop(s), and use the G-FAS in the MPLS packet to infer the
specific forwarding treatment that needs to be applied on the packet. states in Section 2.1 that: ‘Some routers analyze a packet’s
network layer header not merely to choose the packet’s next hop, but also to
determine a packet’s “precedence” or “class of service”’.It is possible by assigning a unique MPLS forwarding label to each flow
aggregate (FEC) to distinguish the packets forwarded to the same destination.
from other flow aggregates. In this case, LSRs can use the
top forwarding label to infer both the forwarding action and the forwarding
treatment to be invoked on the packets.The routers in a network can perform two distinct functions on incoming
packets, namely forwarding (where the packet should be sent) and scheduling
(when the packet should be sent). IEEE-802.1 Time Sensitive Networking (TSN) and
Deterministic Networking provide several mechanisms for scheduling under the
assumption that routers are time-synchronized. The most effective mechanisms
for delay minimization involve per-flow resource allocation.Segment Routing (SR) is a forwarding paradigm that allows encoding forwarding
instructions in the packet in a stack data structure, rather than being
programmed into the routers. The SR instructions are contained within a packet
in the form of a First-in First-out stack dictating the forwarding decisions of
successive routers. Segment routing may be used to choose a path sufficiently
short to be capable of providing a bounded end-to-end latency but does
not influence the queueing of individual packets in each router along that path.When carried over the MPLS data plane, a solution is required to enable the
delivery of such packets that can be delivered to their final destination by a
given time budget.One efficient data structure for inserting local deadlines into
the headers is a “stack”, similar to that used in Segment Routing to
carry forwarding instructions. The number of deadline values in the
stack equals the number of routers the packet needs to traverse in
the network, and each deadline value corresponds to a specific
router. The Top-of-Stack (ToS) corresponds to the first router’s
deadline while the Bottom-of-Stack (BoS) refers to the last’s. All
local deadlines in the stack are later or equal to the current time
(upon which all routers agree), and times closer to the ToS are
always earlier or equal to times closer to the BoS.The ingress router inserts the deadline stack into the packet headers; no other
router needs to be aware of the requirements of the time-bound flows.
Hence admitting a new flow only requires updating the information base of the
ingress router.MPLS LSRs that expose the Top of Stack (ToS) label can also inspect the
associated “deadline” carried in the packet (either in MPLS stack as ISD or
after BoS as PSD). describes how Service Function Chaining (SFC) can be realized in
an MPLS network by emulating the NSH by using only MPLS label stack elements.The approach in introduces some limitations that are discussed in
. This approach, however, can benefit
from the framework introduced with MNA .For example, it may be possible to extend NSH emulation using MPLS
labels to support the functionality of NSH Context Headers,
whether fixed or variable-length. One of the use cases could support Flow ID
that may be used for load-balancing among
Service Function Forwarders (SFFs) and/or the Service Function (SF)
within the same SFP.In SR, an ingress node steers a packet through an ordered list of instructions,
called “segments”. Each one of these instructions represents a
function to be called at a specific location in the network. A
function is locally defined on the node where it is executed and may
range from simply moving forward in the segment list to any complex
user-defined behavior.Network Programming combines Segment Routing (SR) functions to achieve a
networking objective that goes beyond mere packet routing.It may be desirable to encode a pointer to function and its arguments
within an MPLS packet transport header. For example, in MPLS we can encode the
FUNC::ARGs within the label stack or after the Bottom of Stack to support the
equivalent of FUNC::ARG in SRv6 as described in .Application-aware Networking (APN) as described in
allows application-aware information
(i.e., APN attributes) including APN identification (ID) and/or APN parameters
(e.g. network performance requirements) to be encapsulated at network edge
devices and carried in packets traversing an APN domain.The APN data is carried in packets to facilitate service provisioning, and be
used to perform fine-granularity traffic steering and network resource
adjustment. To support APN in MPLS networks, mechanisms are needed to carry
such APN data in MPLS encapsulated packets.Two or more of the aforementioned use cases MAY co-exist in the same packet.
This may require the presence of multiple ancilary data
(whether In-stack or Post-stack ancillary data) to be present in the same MPLS packet.For example, IOAM may provide key functions along with network slicing to help
ensure that critical network slice SLOs are being met by the network provider.
In this case, IOAM is able to collect key performance measurement parameters of
network slice traffic flows as it traverses the transport network.This document has no IANA actions.This document introduces no new security considerations.The authors gratefully acknowledge the input of the members of the
MPLS Open Design Team.The following individuals contributed to this document:Framework for IETF Network SlicesOld Dog ConsultingJuniper NetworksCienaNTTFutureweiTelefonicaMicrosoft Inc. This document describes network slicing in the context of networks
built from IETF technologies. It defines the term "IETF Network
Slice" and establishes the general principles of network slicing in
the IETF context.
The document discusses the general framework for requesting and
operating IETF Network Slices, the characteristics of an IETF Network
Slice, the necessary system components and interfaces, and how
abstract requests can be mapped to more specific technologies. The
document also discusses related considerations with monitoring and
security.
This document also provides definitions of related terms to enable
consistent usage in other IETF documents that describe or use aspects
of IETF Network Slices.
Fast Reroute Extensions to RSVP-TE for LSP TunnelsThis document defines RSVP-TE extensions to establish backup label-switched path (LSP) tunnels for local repair of LSP tunnels. These mechanisms enable the re-direction of traffic onto backup LSP tunnels in 10s of milliseconds, in the event of a failure.Two methods are defined here. The one-to-one backup method creates detour LSPs for each protected LSP at each potential point of local repair. The facility backup method creates a bypass tunnel to protect a potential failure point; by taking advantage of MPLS label stacking, this bypass tunnel can protect a set of LSPs that have similar backup constraints. Both methods can be used to protect links and nodes during network failure. The described behavior and extensions to RSVP allow nodes to implement either method or both and to interoperate in a mixed network. [STANDARDS-TRACK]Basic Specification for IP Fast Reroute: Loop-Free AlternatesThis document describes the use of loop-free alternates to provide local protection for unicast traffic in pure IP and MPLS/LDP networks in the event of a single failure, whether link, node, or shared risk link group (SRLG). The goal of this technology is to reduce the packet loss that happens while routers converge after a topology change due to a failure. Rapid failure repair is achieved through use of precalculated backup next-hops that are loop-free and safe to use until the distributed network convergence process completes. This simple approach does not require any support from other routers. The extent to which this goal can be met by this specification is dependent on the topology of the network. [STANDARDS-TRACK]Remote Loop-Free Alternate (LFA) Fast Reroute (FRR)This document describes an extension to the basic IP fast reroute mechanism, described in RFC 5286, that provides additional backup connectivity for point-to-point link failures when none can be provided by the basic mechanisms.No Further Fast RerouteJuniper NetworksJuniper Networks There are several cases where, once Fast Reroute has taken place (for
MPLS protection), a second fast reroute is undesirable, even
detrimental. This memo gives several examples of this, and proposes
a mechanism to prevent further fast reroutes.
Data Fields for In-situ OAMCisco Systems, Inc.ThoughtspotHuawei In-situ Operations, Administration, and Maintenance (IOAM) records
operational and telemetry information in the packet while the packet
traverses a path in the network. This document discusses the data
fields and associated data types for in-situ OAM. In-situ OAM data
fields can be encapsulated into a variety of protocols such as NSH,
Segment Routing, Geneve, or IPv6. In-situ OAM can be used to
complement OAM mechanisms based on, e.g., ICMP or other types of
probe packets.
MPLS Data Plane Encapsulation for In-situ OAM DataCisco Systems, Inc.Cisco Systems, Inc.Cisco Systems, Inc.Cisco Systems, Inc.ComcastComcast In-situ Operations, Administration, and Maintenance (IOAM) records
operational and telemetry information in the data packet while the
packet traverses a path between two nodes in the network. This
document defines how IOAM data fields are transported with MPLS data
plane encapsulation using new Generic Associated Channel (G-ACh).
MPLS Data Plane Encapsulation for In-situ OAM DataCisco Systems, Inc.Cisco Systems, Inc.Cisco Systems, Inc.ComcastOrangeComcast In-situ Operations, Administration, and Maintenance (IOAM) is used
for recording and collecting operational and telemetry information
while the packet traverses a path between two points in the network.
This document defines how IOAM data fields are transported with MPLS
data plane encapsulation using new Generic Associated Channel (G-ACh)
and updates the RFC 5586.
Realizing Network Slices in IP/MPLS NetworksJuniper NetworksJuniper NetworksHuawei TechnologiesComcastEricssonEricssonZTE CorporationZTE CorporationVolta NetworksTelefonicaCienaVerizon Realizing network slices may require the Service Provider to have the
ability to partition a physical network into multiple logical
networks of varying sizes, structures, and functions so that each
slice can be dedicated to specific services or customers. Multiple
network slices can be realized on the same network while ensuring
slice elasticity in terms of network resource allocation. This
document describes a scalable solution to realize network slicing in
IP/MPLS networks by supporting multiple services on top of a single
physical network by relying on compliant domains and nodes to provide
forwarding treatment (scheduling, drop policy, resource usage) on to
packets that carry identifiers that indicate the slicing service that
is to be applied to the packets.
Multi-purpose Special Purpose Label for Forwarding ActionsJuniper NetworksJuniper NetworksJuniper NetworksBroadcom The MPLS architecture introduced Special Purpose Labels (SPLs) to
indicate special forwarding actions and offered a few simple
examples, such as Router Alert. In the two decades since the
original architecture was crafted, the range, complexity and sheer
number of such actions has grown; in addition, there now is need for
"associated data" for some of the forwarding actions. Likewise, the
capabilities and scale of forwarding engines has also improved vastly
over the same time period. There is a pressing need to match the
needs with the capabilities to deliver the next generation of MPLS
architecture.
In this memo, we propose an alternate mechanism whereby a single SPL
can encode multiple forwarding actions and carry associated data,
some in the label stack and some after the label stack. This
proposal also solves the problem of scarcity of base SPLs.
This approach can immediately address several use cases:
* to carry a Slice Selector for IETF network slicing;
* to signal that further fast reroute may have harmful consequences;
* to indicate that there is relevant data after the label stack;
* among others.
Carrying Virtual Transport Network Identifier in MPLS PacketHuawei TechnologiesHuawei Technologies A Virtual Transport Network (VTN) is a virtual network which has a
customized network topology and a set of dedicated or shared network
resources allocated from the underlying network infrastructure.
Multiple VTNs can be created by network operator for using as the
underlay for one or a group of VPNs services to provide enhanced VPN
(VPN+) services. In packet forwarding, some fields in the data
packet needs to be used to identify the VTN the packet belongs to, so
that the VTN-specific processing can be executed. In the context of
network slicing, a VTN can be instantiated as a Network Resource
Partition (NRP).
This document proposes a mechanism to carry the VTN-ID in an MPLS
packet to identify the VTN the packet belongs to. The procedure for
processing the VTN ID is also specified.
Using Entropy Label for Network Slice Identification in MPLS networks.OrangeCisco Systems, Inc.NokiaJuniper NetworksJuniper NetworksVerizon This document defines a solution to encode a slice identifier in MPLS
in order to distinguish packets that belong to different slices, to
allow enforcing per network slice policies (.e.g, Qos).
The slice identification is independent of the topology. It allows
for QoS/DiffServ policy on a per slice basis in addition to the per
packet QoS/DiffServ policy provided by the MPLS Traffic Class field.
In order to minimize the size of the MPLS stack and to ease
incremental deployment the slice identifier is encoded as part of the
Entropy Label.
This document also extends the use of the TTL field of the Entropy
Label in order to provide a flexible set of flags called the Entropy
Label Control field.
Multiprotocol Label Switching ArchitectureThis document specifies the architecture for Multiprotocol Label Switching (MPLS). [STANDARDS-TRACK]An MPLS-Based Forwarding Plane for Service Function ChainingThis document describes how Service Function Chaining (SFC) can be achieved in an MPLS network by means of a logical representation of the Network Service Header (NSH) in an MPLS label stack. That is, the NSH is not used, but the fields of the NSH are mapped to fields in the MPLS label stack. This approach does not deprecate or replace the NSH, but it acknowledges that there may be a need for an interim deployment of SFC functionality in brownfield networks.MPLS-based Service Function Path(SFP) Consistency VerificationZTE CorporationZTE Corporation This document describes extensions to MPLS LSP ping mechanisms to
support verification between the control/management plane and the
data plane state for SR-MPLS service programming and MPLS-based NSH
SFC.
This document defines the signaling of the Generic Associated Channel
(G-ACh) over a Service Function Path (SFP) with an MPLS forwarding
plane using the basic unit defined in RFC 8595. The document updates
RFC 8595 in respect to SFF's handiling TTL expiration. The document
also describes the processing of the G-ACh by the elements of the
SFP.
MPLS Network Actions FrameworkBronze Dragon ConsultingUniversity of Surrey 5GICNokiaJuniper Networks This document specifies an architectural framework for the MPLS
Network Actions (MNA) technologies. MNA technologies are used to
indicate actions for Label Switched Paths (LSPs) and/or packets and
to transfer data needed for these actions.
The document describes a common set of protocol actions and
information elements supporting additional operational models and
capabilities of MPLS networks. Some of these actions are defined in
existing MPLS specifications, while others require extensions to
existing specifications to meet the requirements found in
"Requirements for MPLS Label Stack Indicators and Ancillary Data".
This document is the result of work started in MPLS Open Desgign
Team, with participation by the MPLS, PALS and DETNET working groups.
Network Service Header (NSH) Metadata Type 2 Variable-Length Context HeadersZTE CorporationIntelIndividual contributorCiscoFuturewei Technologies Service Function Chaining (SFC) uses the Network Service Header (NSH)
(RFC 8300) to steer and provide context Metadata (MD) with each
packet. Such Metadata can be of various Types including MD Type 2
consisting of variable length context headers. This document
specifies several such context headers that can be used within a
service function path.
Segment Routing over IPv6 (SRv6) Network ProgrammingThe Segment Routing over IPv6 (SRv6) Network Programming framework enables a network operator or an application to specify a packet processing program by encoding a sequence of instructions in the IPv6 packet header.Each instruction is implemented on one or several nodes in the network and identified by an SRv6 Segment Identifier in the packet.This document defines the SRv6 Network Programming concept and specifies the base set of SRv6 behaviors that enables the creation of interoperable overlays with underlay optimization.Problem Statement and Use Cases of Application-aware Networking (APN)Huawei TechnologiesHuawei TechnologiesBell CanadaChina TelecomChina MobileChina UnicomVerizon Inc. Network operators are facing the challenge of providing better
network services for users. As the ever-developing 5G and industrial
verticals evolve, more and more services that have diverse network
requirements such as ultra-low latency and high reliability are
emerging, and therefore differentiated service treatment is desired
by users. On the other hand, as network technologies such as
Hierarchical QoS (H-QoS), SR Policy, and Network Slicing keep
evolving, the network has the capability to provide more fine-
granularity differentiated services. However, network operators are
typically unware of the applications that are traversing their
network infrastructure, which means that not very effective
differentiated service treatment can be provided to the traffic
flows. As network technologies evolve including deployments of IPv6,
SRv6, Segment Routing over MPLS dataplane, the programmability
provided by IPv6 and Segment Routing can be augmented by conveying
application related information into the network satifying the fine-
granularity requirements.
This document analyzes the existing problems caused by lack of
service awareness, and outlines various use cases that could benefit
from an Application-aware Networking (APN) framework.