RFC 5718
An In-Band Data Communication Network For the MPLS Transport Profile
An In-Band Data Communication Network For the MPLS Transport Profile π
okay bestie, this is RFC 5718 π It's a Standards Track doc (ISSN 2070-1721), published January 2010 by the IETF. The authors are D. Beller from Alcatel-Lucent and A. Farrel from Old Dog Consulting π§. It doesn't list anything it obsoletes or updates, so it's a clean slate β¨
Abstract β¨
okay so the Generic Associated Channel (G-ACh) is basically a glow-up of the pseudowire (PW) associated control channel π It's designed so you can have a control/communication channel tied to Multiprotocol Label Switching (MPLS) Label Switched Paths (LSPs), MPLS PWs, MPLS LSP segments, and MPLS sections between adjacent MPLS-capable devices π¦
The MPLS Transport Profile (MPLS-TP) is a profile of the MPLS architecture that picks out the parts of the MPLS toolkit you can mix together to build a carrier-grade packet transport network on top of MPLS packet switching πΈ
This doc explains how the G-ACh can be used to build infrastructure that's part of the Management Communication Network (MCN) and a Signaling Communication Network (SCN) π«Ά Together, the MCN and SCN can be called the Data Communication Network (DCN). It also walks through how MCN and SCN messages get encapsulated, carried on the G-ACh, and demultiplexed so they reach the management or signaling/routing control plane components on an MPLS-TP node π₯
Status of This Memo β¨
this is an Internet Standards Track document π
It's a product of the Internet Engineering Task Force (IETF) and represents the consensus of the IETF community π It got public review and was approved for publication by the Internet Engineering Steering Group (IESG) π If you want more on Internet Standards, check Section 2 of RFC 5741 π
For the current status, any errata, and how to send feedback, go to http://www.rfc-editor.org/info/rfc5718 π
Copyright Notice β¨
Copyright (c) 2010 IETF Trust and the persons identified as the document authors. All rights reserved π
This doc is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents, which you can find at http://trustee.ietf.org/license-info as of the publication date π Please read these carefully, because they spell out your rights and restrictions for this document π
Any Code Components pulled from this document must include Simplified BSD License text, as described in Section 4.e of the Trust Legal Provisions. They come with no warranty, as described in the Simplified BSD License π
1. Introduction π§
the associated channel header (ACH) is specified in [RFC4385] πΈ It's a packet header format used on pseudowires (PWs) to identify packets used for Operations, Administration, and Maintenance (OAM) and similar functions β¨
The ACH gets generalized in [RFC5586], and it can be applied on any Multiprotocol Label Switching (MPLS) Label Switching Path (LSP) π¦ This is the Generic Associated Channel (G-ACh). It's meant to make a control/management communication channel tied to the LSP, which can carry packets for OAM and similar functions (e.g., control/management plane messages) π
A packet on the G-ACh is labeled by the value in the Channel Type field of the ACH. IANA keeps a registry of those values ([RFC4446] and [RFC4385]) π In this document, the ACH is called the G-ACh header π«Ά
The MPLS transport profile (MPLS-TP) is described in [MPLS-TP] and in [RFC5654] π₯ MPLS-TP is MPLS being used to build a packet transport network. It's a profile of MPLS that supports the operational models you'd expect in transport networks, which includes extra OAM, survivability, and other maintenance functions that MPLS didn't support before π
Label Switching Routers (LSRs) in MPLS networks can be run with management protocols or control plane protocols π Their messages are normally sent as IP packets over IP-capable interfaces π But some nodes in MPLS-TP networks might be built without direct IP encapsulation on their line-side interfaces, and without access to an out-of-fiber data communication network π So for those nodes to talk using management plane or control plane protocols, channels must be provided, and the only available mechanism is to use an MPLS label π
The G-ACh is a good fit for that job π This document defines the processes and procedures that let the G-ACh build a Management Communication Network (MCN) and a Signaling Communication Network (SCN), which together are the Data Communication Network (DCN) [G.7712] β¨
It should be noted that using the G-ACh to give the DCN connectivity is only intended for cases where the MPLS-TP network can't encapsulate or deliver native DCN messages π
1.1. Requirements π
The requirements in this section are based on the ones the ITU-T communicated to the IETF π§
- A packet-encapsulation mechanism must be provided to support the transport of MCN and SCN packets over the G-ACh. π
- The G-ACh carrying the MCN and SCN packets shall support the following application scenarios: π¦
- a. The G-ACh interconnects two adjacent MPLS-TP nodes (used when the server layer does not provide a Management Communication Channel (MCC) or a Signalling Communication Channel (SCC)). πΈ
- b. The G-ACh is carried by an MPLS-TP tunnel that traverses another operator's domain (the carrier's carrier scenario). π
- The G-ACh shall provide two independent channels: an MCC to build the MCN and an SCC to build the SCN. The G-ACh packet header shall indicate whether the packet is an MCC or an SCC packet in order to forward it to the management or control plane application for processing. This facilitates easy demultiplexing of control and management traffic from the DCN, and enables separate or overlapping address spaces and duplicate protocol instances in the management and control planes. π
- The channel-separation mechanism shall not preclude the use of separate rate limiters and traffic-shaping functions for each channel (MCC and SCC), ensuring that the flows do not exceed their assigned traffic profiles. The rate limiters and traffic shapers are outside the scope of the MCC and SCC definitions. π
- The G-ACh that carries the MCC and SCC shall be capable of carrying different OSI layer 3 (network layer) PDUs. These shall include IPv4, IPv6, and OSI PDUs. The G-ACh header of the MCC/SCC packet shall indicate which layer 3 PDU is contained in the payload field of the packet, so the packet can be delivered to the related layer 3 process within the management and control plane application, respectively, for further processing. π₯
- The G-ACh is not required to provide specific security mechanisms. However, the management or control plane protocols that operate over the MCC or SCC are required to provide adequate security mechanisms in order to not be susceptible to security attacks. π
1.2. Conventions Used in This Document π
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC-2119 [RFC2119]. π«Ά
2. Procedures π
okay bestie, so Figure 1 shows what an MCC/SCC packet looks like when it rides the G-ACh π¦. The Channel Type field tells you what the ACH message is for, so to send an MCC/SCC packet on the G-ACh, you stick an ACH in front of the MCC/SCC message with the Channel Type set to say "hey, this is an MCC or SCC message" π . The ACH MUST NOT include the ACH TLV Header [RFC5586], which means no ACH TLVs can come along for the ride π. There's also a two-byte Protocol Identifier (PID) field that tells you what kind of protocol the payload DCN message is carrying β¨.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0 0 0 1|Version| Reserved | Channel Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| PID | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| MCC/SCC Message |
~ ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: G-ACh MCC/SCC Packet
- The Channel Type field determines whether the message is an MCC or an SCC message. See Section 5 for the codepoint assignments.
- The presence of the PID field is deduced from the Channel Type value indicating MCC or SCC. The field contains an identifier of the payload protocol using the PPP protocol identifiers ([RFC1661], [RFC3818]).
When the G-ACh sender gets an MCC message that's headed over the MCC, the sender builds the G-ACh header, sets the Channel Type field to MCC, fills in the PID to indicate the MCC layer 3 PDU type, and slaps the G-ACh header on the front of the MCC message π. Same vibes when a control plane message is going over the SCC, except this time the sender sets the Channel Type field to SCC πΈ.
If the G-ACh is associated with an MPLS section, the Generic Associated Channel Label (GAL) gets added to the message as defined in [RFC5586]. The Time to Live (TTL) field MUST be set to 1, and the S-bit of the GAL MUST be set to 1 π§.
If the G-ACh is associated with an LSP, the GAL gets added to the packet and the LSP label is pushed on top of the GAL, as defined in [RFC5586]. The TTL field of the GAL MUST be set to 1, and the S-bit of the GAL MUST be set to 1 π₯.
Lowkey important: packet processing for DCN packets in the G-ACh is, just like all G-ACh MPLS packets, subject to the normal processing of the Traffic Class (TC) field of the MPLS header. This could be used to enable prioritization of different DCN packets π.
The DCN channel MUST NOT be used to transport user traffic, and it SHALL only be used to carry management or control plane messages π«. Procedures that make sure this happens (such as deep packet inspection) are outside the scope of this specification π.
When a receiver gets a packet on the G-ACh with the ACH Channel Type set to MCC or SCC, it SHALL look at the PID field. If the PID value is known by the receiver, it delivers the MCC/SCC message to the appropriate processing entity π . If the PID value is unknown, the receiver SHALL silently discard the received packet, MAY increment a counter that records discarded or errored messages, and MAY log an event π.
It must be noted that according to [RFC5586], a receiver MUST NOT forward a GAL packet based on the GAL label, which is normally how MPLS packets get forwarded. If the GAL appears at the bottom of the label stack, it MUST be processed as described in the previous paragraph π.
Note that there is no requirement for MPLS-TP devices to support IP or OSI forwarding in the fast (forwarding) path. So if a message is received on the MCC or SCC and is not targeted to an address of the receiving MPLS-TP node, the packet might not be forwarded in the fast path π¦. A node MAY apply layer 3 forwarding procedures in the slow or fast path, and MAY discard or reject the message using the layer 3 protocol if it can't forward it. That means protocols using the DCN should make no assumptions about forwarding capabilities unless they're determined a priori or through the use of a routing protocol π. Also, and this is a big one, it is important that user data (i.e., data traffic) is NOT routed through the DCN, because that could cause the traffic to be lost or delayed and might seriously congest the DCN π.
2.1. Pseudowire Setup
Provider Edge nodes (PEs) may wish to set up PWs using a signaling protocol that uses remote adjacencies (such as LDP [RFC5036]) π§. Without an IP-based control plane network, these PEs MUST first set up an LSP tunnel across the MPLS-TP network π«Ά. That tunnel can carry the PW once it's been set up, and it can also provide a G-ACh-based DCN for control plane communications between the PEs β¨.
3. Applicability πΈ
The DCN is meant to provide connectivity between management stations and network nodes, and between pairs of network nodes, so they can exchange management plane and control plane messages π.
Appendix A of [NM-REQ] explains how Control Channels (CCh) that are the links in an MPLS-TP DCN can be out-of-fiber and out-of-band, in-fiber and out-of-band, or in-band with respect to the user data carried by the MPLS-TP network π¦. That appendix also explains how the DCN can be built from a mix of different link types, and how routing and forwarding can be used within the DCN to help multi-hop delivery of management and control plane messages πΊοΈ.
The G-ACh, used the way this document describes, lets you create a "data channel associated CCh" (type 6 in Appendix A of [NM-REQ]) and an "in-band CCh" (type 7 in Appendix A of [NM-REQ]) π₯. In the first case, the G-ACh is associated with an MPLS-TP section. In the second case, the G-ACh is associated with an MPLS-TP LSP or PW and may span one or more hops in the MPLS-TP network π .
There's no need to create a CCh for every LSP between a pair of MPLS-TP nodes π. Honestly, when the nodes are physically adjacent, the G-ACh associated with the MPLS-TP section would normally be used. When nodes are virtually adjacent (that is, connected by LSP tunnels), one or two of the LSPs might be picked to provide the CCh and a back-up CCh π.
4. Security Considerations π
Okay, this section is serious, bestie π. The G-ACh provides a virtual link between MPLS-TP nodes and might be used to induce many forms of security attack. The MPLS data plane does not include any security mechanisms of its own, so it is important that protocols using the DCN apply their own security π. Protocols that operate over the MCN or SCN are REQUIRED to include adequate security mechanisms, and implementations MUST allow operators to configure the use of those mechanisms π‘οΈ.
5. IANA Considerations π
Channel Types for the Generic Associated Channel are allocated from the IANA PW Associated Channel Type registry defined in [RFC4446] and updated by [RFC5586] β¨.
IANA has allocated two further Channel Types, as follows π:
0x0001 Management Communication Channel (MCC)
0x0002 Signaling Communication Channel (SCC)
6. References π
6.1. Normative References
[RFC2119]Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.[RFC4385]Bryant, S., Swallow, G., Martini, L., and D. McPherson, "Pseudowire Emulation Edge-to-Edge (PWE3) Control Word for Use over an MPLS PSN", RFC 4385, February 2006.[RFC4446]Martini, L., "IANA Allocations for Pseudowire Edge to Edge Emulation (PWE3)", BCP 116, RFC 4446, April 2006.[RFC5586]Bocci, M., Ed., Vigoureux, M., Ed., and S. Bryant, Ed., "MPLS Generic Associated Channel", RFC 5586, June 2009.
6.2. Informative References
[G.7712]ITU-T Recommendation G.7712, "Architecture and specification of data communication network", June 2008.[MPLS-TP]Bocci, M., Bryant, S., Frost, D., and L. Levrau, "A Framework for MPLS in Transport Networks", Work in Progress, October 2009.[NM-REQ]Lam, K. and S. Mansfield, "MPLS TP Network Management Requirements", Work in Progress, October 2009.[RFC1661]Simpson, W., Ed., "The Point-to-Point Protocol (PPP)", STD 51, RFC 1661, July 1994.[RFC3818]Schryver, V., "IANA Considerations for the Point-to-Point Protocol (PPP)", BCP 88, RFC 3818, June 2004.[RFC5036]Andersson, L., Ed., Minei, I., Ed., and B. Thomas, Ed., "LDP Specification", RFC 5036, October 2007.[RFC5654]Niven-Jenkins, B., Ed., Brungard, D., Ed., Betts, M., Ed., Sprecher, N., and S. Ueno, "Requirements of an MPLS Transport Profile", RFC 5654, September 2009.
7. Acknowledgements π
The editors wish to thank Pietro Grandi, Martin Vigoureux, Kam Lam, Ben Niven-Jenkins, Francesco Fondelli, Walter Rothkegel, Shahram Davari, Liu Guoman, and Alexander Vainshtein for their contribution to this document, and the MEAD team for thorough review π«Ά.
Study Group 15 of the ITU-T provided the basis for the requirements text in Section 1.1 π.
Authors' Addresses βοΈ
Dieter Beller Alcatel-Lucent Germany EMail: dieter.beller@alcatel-lucent.com
Adrian Farrel Old Dog Consulting EMail: adrian@olddog.co.uk
π¦ where this page comes from
- ietf: rfc5718 2010-01
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms