RFC 4454
Asynchronous Transfer Mode (ATM) over Layer 2 Tunneling Protocol Version 3 (L2TPv3)
RFC 4454 π: Asynchronous Transfer Mode (ATM) over Layer 2 Tunneling Protocol Version 3 (L2TPv3)
Okay bestie, the title block first π This is RFC 4454, a Standards Track doc from May 2006. It was written by S. Singh, M. Townsley, and C. Pignataro at Cisco Systems, and it lives in the Network Working Group. The title block doesn't say anything about obsoleting or updating other RFCs, so that's what it looks like on paper π¦
Status of This Memo β¨
This one is an Internet standards track protocol for the whole Internet community, and it's asking for discussion and suggestions for improvements π«Ά If you want to know where this protocol stands on the standardization ladder, check the current edition of the "Internet Official Protocol Standards" (STD 1). And yes, distribution of this memo is unlimited, so go share it π
Copyright Notice π
Copyright (C) The Internet Society (2006).
Abstract π§
The Layer 2 Tunneling Protocol, Version 3 (L2TPv3) is an extensible tunneling protocol that carries layer 2 services over IP networks. This document explains how to use the L2TP control plane for ATM Pseudowires, and it gives guidelines for moving different ATM services across an IP network. It's giving full ATM-over-IP glow-up πΈ
Table of Contents π
1. Introduction ....................................................2
1.1. Abbreviations ..............................................3
1.2. Specification of Requirements ..............................3
2. Control Connection Establishment ................................3
3. Session Establishment and ATM Circuit Status Notification .......4
3.1. L2TPv3 Session Establishment ...............................4
3.2. L2TPv3 Session Teardown ....................................6
3.3. L2TPv3 Session Maintenance .................................6
4. Encapsulation ...................................................6
4.1. ATM-Specific Sublayer ......................................7
4.2. Sequencing .................................................9
5. ATM Transport ...................................................9
5.1. ATM AAL5-SDU Mode .........................................10
5.2. ATM Cell Mode .............................................10
5.2.1. ATM VCC Cell Relay Service .........................11
5.2.2. ATM VPC Cell Relay Service .........................12
5.2.3. ATM Port Cell Relay Service ........................12
5.3. OAM Cell Support ..........................................12
5.3.1. VCC Switching ......................................12
5.3.2. VPC Switching ......................................13
6. ATM Maximum Concatenated Cells AVP .............................13
7. OAM Emulation Required AVP .....................................14
8. ATM Defects Mapping and Status Notification ....................14
8.1. ATM Alarm Status AVP ......................................14
9. Applicability Statement ........................................15
9.1. ATM AAL5-SDU Mode .........................................16
9.2. ATM Cell Relay Mode .......................................18
10. Congestion Control ............................................20
11. Security Considerations .......................................21
12. IANA Considerations ...........................................21
12.1. L2-Specific Sublayer Type ................................21
12.2. Control Message Attribute Value Pairs (AVPs) .............21
12.3. Result Code AVP Values ...................................22
12.4. ATM Alarm Status AVP Values ..............................22
12.5. ATM-Specific Sublayer Bits ...............................23
13. Acknowledgements ..............................................23
14. References ....................................................23
14.1. Normative References .....................................23
14.2. Informative References ...................................24
1. Introduction β¨
This doc is all about how to use L2TP for ATM Pseudowires. That covers encapsulation, carrying different ATM services (like AAL5 SDU, and ATM VCC, VPC, and Port cell relay over L2TP), and mapping ATM defects to L2TP Set-Link-Info (SLI) messages so the peer L2TP Control Connection Endpoint (LCCE) gets the news π¬
Any ATM-specific AVPs or other L2TP constructs needed for ATM Pseudowire (ATMPW) support are defined here too π Quick heads up though: ATM Switched Virtual Path/Connection (SVP/SVC) and Soft Permanent Virtual Path/Connection (SPVP/SPVC) are out of scope for this doc π
The reader is expected to be very familiar with the terminology and protocol constructs defined in [RFC3931]. So if you're lost, go read that one first, bestie π§
1.1. Abbreviations π€
AIS Alarm Indication Signal
ATMPW ATM Pseudowire
AVP Attribute Value Pair
CC Continuity Check OAM Cell
CE Customer Edge
HEC Header Error Checksum
LAC L2TP Access Concentrator (see [RFC3931])
LCCE L2TP Control Connection Endpoint (see [RFC3931])
MSB Most Significant Byte
OAM Operation, Administration, and Maintenance
PE Provider Edge
PSN Packet Switched Network
PWE3 Pseudowire Emulation Edge to Edge
RDI Remote Defect Indicator
SAR Segmentation and Reassembly
SDU Service Data Unit
SLI Set-Link-Info, an L2TP control message
SVC Switched Virtual Connection
SVP Switched Virtual Path
SPVC Soft Permanent Virtual Connection
SPVP Soft Permanent Virtual Path
VC Virtual Circuit
VCC Virtual Channel Connection
VCI Virtual Channel Identifier
VPC Virtual Path Connection
VPI Virtual Path Identifier
1.2. Specification of Requirements π
In this doc, a few words are used to signal the requirements of the spec. They're often capitalized, so watch for them π 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]. Those are the official rules, so treat them seriously π
2. Control Connection Establishment π
To emulate ATM Pseudowires using L2TP, an L2TP Control Connection as described in Section 3.3 of [RFC3931] MUST be established. No skipping this step, bestie π«Ά
The Start-Control-Connection-Request (SCCRQ) and the matching Start-Control-Connection-Reply (SCCRP) MUST include the supported ATM Pseudowire types (see Section 3.1), in the Pseudowire Capabilities List as defined in Section 5.4.3 of [RFC3931]. This is how the Control Connection says "yep, I can set up sessions for ATM Pseudowires" β¨
An LCCE MUST be able to uniquely identify itself in the SCCRQ and SCCRP messages through a globally unique value. By default, that's advertised with the structured Router ID AVP [RFC3931], though the unstructured Hostname AVP [RFC3931] MAY be used to identify LCCEs as well. Main character identity energy π
3. Session Establishment and ATM Circuit Status Notification π¦
This section explains how L2TP ATMPWs (or sessions) get set up between two LCCEs. It also covers what happens when an ATM circuit (like an AAL5 PVC) gets created, deleted, or changes state, including when the circuit state is in alarm π¨
3.1. L2TPv3 Session Establishment πΈ
Creating an ATM circuit (like an AAL5 PVC) kicks off setting up an L2TP session, using the three-way handshake described in Section 3.4.1 of [RFC3931]. An LCCE MAY start the session right away when the ATM circuit gets created. Or it can wait until the circuit state goes to ACTIVE before it tries to set up a session for that ATM circuit. Waiting MAY be the preferred move, since it holds off on allocating resources until they're actually needed. Very responsible of it π§
The Circuit Status AVP (see Section 8) MUST be present in the Incoming-Call-Request (ICRQ) and Incoming-Call-Reply (ICRP) messages. It MAY also be present in the SLI message for ATMPWs.
Here's how the L2TP messages get swapped to set up an ATMPW after the ATM circuit (like an AAL5 PVC) becomes ACTIVE:
LCCE (LAC) A LCCE (LAC) B
------------------ --------------------
ATM Ckt Provisioned
ATM Ckt Provisioned
ATM Ckt ACTIVE
ICRQ (status = 0x03) ---->
ATM Ckt ACTIVE
<----- ICRP (status = 0x03)
L2TP session established
OK to send data into PW
ICCN ----->
L2TP session established
OK to send data into PW
The following signaling elements are required for ATMPW establishment. (The list below is the good stuff, so pay attention π)
- a. Pseudowire Type: One of the supported ATM-related PW types should be present in the Pseudowire Type AVP of [RFC3931]. The types are:
0x0002 ATM AAL5 SDU VCC transport
0x0003 ATM Cell transport Port Mode
0x0009 ATM Cell transport VCC Mode
0x000A ATM Cell transport VPC Mode
The cell relay modes above can also signal the ATM Maximum Concatenated Cells AVP, as described in Section 6.
- b. Remote End ID: Each PW is tied to a Remote End ID, which is kind of like the VC-ID in [PWE3ATM]. Both LCCEs in a PW have the same Remote End ID, and its format is described in Section 5.4.4 of [RFC3931].
This Remote End ID AVP MUST be present in the ICRQ so the remote LCCE can link the session to the ATM circuit. The Remote End Identifier AVP defined in [RFC3931] is opaque in form, though ATMPW implementations MAY simply use a 4-octet value that both LCCEs already know (through direct configuration or some other means). How that value gets configured, retrieved, discovered, or otherwise determined at each LCCE is outside the scope of this document π
Just like the ICRQ, the ICRP is only sent after the ATM circuit transitions to ACTIVE. If LCCE B hasn't been provisioned yet for the ATM circuit named in the ICRQ, it would immediately send back a Call-Disconnect-Notify (CDN) saying the circuit either wasn't provisioned or wasn't available at that LCCE. LCCE A SHOULD then run a periodic retry mechanism. If it does, the period and maximum number of retries MUST be configurable. Retry era π
An implementation MAY send an ICRQ or ICRP before a PVC is ACTIVE, as long as the Circuit Status AVP shows the ATM circuit as INACTIVE, and an SLI gets sent once the ATM circuit becomes ACTIVE (see Section 8).
The ICCN is the final stage of session establishment. It confirms the receipt of the ICRP with acceptable parameters, which lets bidirectional traffic flow π
3.2. L2TPv3 Session Teardown π§Ή
When an ATM circuit is unprovisioned (deleted) at either LCCE, the associated L2TP session MUST be torn down using the CDN message defined in Section 3.4.3 of [RFC3931]. Clean up after yourself, bestie π
3.3. L2TPv3 Session Maintenance β¨
okay so every session made by one Control Connection uses the L2TP Hello thing from Section 4.4 of [RFC3931] to stay alive π that means every session gets basic dead peer and path detection between the LCCEs. so cute, we're never flying blind π¦
if the control channel that's doing the Hello messages isn't in-band with the data traffic over the PSN, then other method MAY be used to detect the session failure, and it is left for further study. (bestie, that's a future problem π)
ATMPWs over L2TP use the Set-Link-Info (SLI) control message from [RFC3931] to signal ATM circuit status between LCCEs after the initial session setup π₯ this covers ACTIVE or INACTIVE notifications for the ATM circuit, plus any other parameters the LCCEs need to share so the PW emulation actually works properly. main character energy β
the SLI message MUST be sent whenever there's a status change that could be reported by any of the values in the Circuit Status AVP π the only exceptions are the initial ICRQ, ICRP, and CDN messages, since those set up and tear down the L2TP session itself when the ATM circuit gets created or deleted πΈ the SLI message may be sent from either LCCE at any time after the first ICRQ goes out (even before an ICRP comes back, which means the peer has to do a reverse Session ID lookup π§).
the other thing SLI is used for is mapping ATM OAM or physical layer alarms into the Circuit Status AVP, as described in Section 8 π«Ά
4. Encapsulation π
this section is all about the general encapsulation format for ATM services over L2TP π
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| PSN Transport Header |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Session Header |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ATM-Specific Sublayer |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| ATM Service Payload |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: General Format for ATM Encapsulation over L2TPv3 over IP
the PSN Transport header is specific to IP and its underlying transport header π it's what carries the encapsulated ATM payload through the IP network.
the Session Header is a non-zero 32-bit Session ID with an optional Cookie of up to 64-bits π that Session ID gets exchanged during session setup.
the ATM-Specific Sublayer is REQUIRED for AAL5 SDU Mode and OPTIONAL for ATM Cell Mode π pls go check Section 4.1 for the deets.
4.1. ATM-Specific Sublayer π¦
this section defines a brand new ATM-Specific Sublayer π it's an alternative to the Default L2-Specific Sublayer (you'll see it in Section 4.6 of [RFC3931]). four new flag bits (T, G, C, and U) are defined that line up with Section 8.2 of [PWE3ATM] π«Ά
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|x|S|B|E|T|G|C|U| Sequence Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 2: ATM-Specific Sublayer Format
here's what each field means π
- S bit π
- the definition is the same as in Section 4.6 of [RFC3931].
- B and E bits πΈ
- the definitions are the same as in Section 5.5 of [L2TPFRAG].
- if these bits aren't used as per [L2TPFRAG], they MUST be set to 0 upon transmission and ignored upon reception. (non-negotiable, bestie π )
- T (Transport type) bit π§
- this bit tells you whether the packet holds an ATM admin cell or an AAL5 payload. if T = 1, the packet holds an ATM admin cell, encapsulated according to the VCC cell relay encapsulation of Section 5.2.
- if it's not set, the PDU holds an AAL5 payload. being able to carry an ATM cell in AAL5 SDU Mode is meant to give you admin functionality over the AAL5 VCC (it doesn't try to keep user-cell and admin-cell arrival/transport ordering though, see Section 9.1 π).
- G (EFCI) Bit β¨
- the ingress LCCE SHOULD set this bit to 1 if the EFCI bit on the final cell of the incoming AAL5 payload is set to 1, or if the EFCI bit on the single ATM cell going into the packet is set to 1. otherwise this bit SHOULD be set to 0. the egress LCCE SHOULD set the EFCI bit on all the outgoing cells that carry the AAL5 payload to whatever value is in this field π₯
- C (CLP) Bit π
- the ingress LCCE SHOULD set this bit to 1 if the CLP bit on any of the incoming ATM cells of the AAL5 payload is set to 1, or if the CLP bit on the single ATM cell going into the packet is set to 1. otherwise this bit SHOULD be set to 0. the egress LCCE SHOULD set the CLP bit on all outgoing cells that carry the AAL5 CPCS-PDU to whatever value is in this field π
- U (Command/Response) Bit π
- when FRF.8.1 Frame Relay / ATM PVC Service Interworking (see [FRF8.1]) traffic is going through, the CPCS-UU Least Significant Bit (LSB) of the AAL5 CPCS-PDU may hold the Frame Relay C/R bit. the ingress LCCE SHOULD copy this bit into the U bit of the ATM-Specific Sublayer, and the egress LCCE SHOULD copy the U bit back into the CPCS-UU Least Significant Bit (LSB) of the AAL5 payload π
the Sequence Number field is used for sequencing, as described in Section 4.2 π¦
if there's a reassembly timeout, the encapsulating LCCE should discard all the component cells of the AAL5 frame π
there's also an extra enumeration added to the L2-Specific Sublayer AVP to identify the ATM-Specific Sublayer β¨
0 - There is no L2-Specific Sublayer present.
1 - The Default L2-Specific Sublayer (defined in Section 4.6
of [RFC3931]) is used.
2 - The ATM-Specific Sublayer is used.
the first two values are already defined in the L2TPv3 base specification, [RFC3931] πΈ
4.2. Sequencing π§
Data Packet Sequencing MAY be enabled for ATMPWs π the sequencing mechanisms described in [RFC3931] MUST be used to signal sequencing support. ATMPWs over L2TPv3 MUST request the presence of the ATM-Specific Sublayer when sequencing is enabled, and MAY request its presence at all times π
5. ATM Transport π
there are two encapsulations supported for ATM transport π the first one is the ATM AAL5-SDU mode, where the ATM-Specific Sublayer gets prepended to the AAL5-SDU. the other cell mode encapsulation is made of the OPTIONAL ATM-Specific Sublayer, followed by a 4-byte ATM cell header and a 48-byte ATM cell-payload π¦
5.1. ATM AAL5-SDU Mode π«Ά
in this mode, each AAL5 VC maps to an L2TP session β¨ the ingress LCCE reassembles the AAL5 CPCS-SDU without the AAL5 trailer and any padding bytes. the incoming EFCI, CLP, and C/R (if present) get carried in an ATM-Specific Sublayer across the ATMPWs to the egress LCCE. how these bits get processed on the ingress and egress LCCEs is defined in Section 4.1 π₯
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|x|S|x|x|T|G|C|U| Sequence Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| |
| AAL5 CPCS-SDU |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 3: ATM AAL5-SDU Mode Encapsulation
if the ingress LCCE finds that an encapsulated AAL5 SDU is bigger than the MTU of the L2TPv3 session, then the AAL5 SDU may be fragmented as per [L2TPFRAG] or underneath the transport layer (IP, etc.) πΈ F5 OAM cells that arrive while an AAL5 SDU is being reassembled get sent immediately on the PW, followed by the AAL5 SDU payload. in this case, the relative order of the OAM cells with respect to user data cells is not maintained π
Performance Monitoring OAM, as specified in ITU-T 610 [I610-1], [I610-2], [I610-3], and security OAM cells as specified in [ATMSEC], should not be used in combination with AAL5 SDU Mode π these cells MAY be dropped at the ingress LCCE because cell sequence integrity is not maintained π
the Pseudowire Type AVP defined in Section 5.4.4 of [RFC3931], Attribute Type 68, MUST be present in the ICRQ messages and MUST include the ATM AAL5 SDU VCC transport PW Type of 0x0002. ICRQ messages literally can't skip this one ππ«Ά
5.2. ATM Cell Mode π¦
okay so in cell mode, the ATM cells literally skip reassembly at the ingress LCCE π β¨ They get sent over an L2TP session either one at a time or as concatenated cells, all packed into a single packet π¦ Each ATM cell is a 4-byte ATM cell header plus a 48-byte ATM cell payload, and the HEC is not included πΈ
In ATM Cell Mode encapsulation, the ATM-Specific Sublayer is OPTIONAL π It can be included if sequencing support is required. It's up to the implementation to choose whether to signal the Default L2-Specific Sublayer or the ATM-Specific Sublayer π§
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|x|S|x|x|x|x|x|x| Sequence Number (Optional) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| VPI | VCI |PTI |C|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| ATM Cell Payload (48-bytes) |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
"
"
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| VPI | VCI |PTI |C|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| ATM Cell Payload (48-bytes) |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 4: ATM Cell Mode Encapsulation
In the simplest case, this encapsulation can be used to transmit a single ATM cell per Pseudowire PDU. However, in order to provide better Pseudowire bandwidth efficiency, several ATM cells may be optionally encapsulated into a single Pseudowire PDU β¨
The maximum number of concatenated cells in a packet is limited by the MTU size of the session and also by the ability of the egress LCCE to process them. For more details about ATM Maximum Concatenated Cells, please refer to Section 6 π
5.2.1. ATM VCC Cell Relay Service π
A VCC cell relay service may be provided by mapping an ATM Virtual Channel Connection to a single Pseudowire using cell mode encapsulation as defined in Section 5.2.
An LCCE may map one or more VCCs to a single PW. However, a service provider may wish to provision a single VCC to a PW in order to satisfy QOS or restoration requirements.
The Pseudowire Type AVP defined in Section 5.4.4 of [RFC3931], Attribute Type 68, MUST be present in the ICRQ messages and MUST include the ATM cell transport VCC Mode PW Type of 0x0009.
5.2.2. ATM VPC Cell Relay Service π
A Virtual Path Connection cell relay service may be provided by mapping an ATM Virtual Path Connection to a single Pseudowire using cell mode encapsulation as defined in Section 5.2.
An LCCE may map one or more VPCs to a single Pseudowire.
The Pseudowire Type AVP defined in Section 5.4.4 of [RFC3931], Attribute Type 68, MUST be present in the ICRQ messages and MUST include the ATM cell transport VPC Mode PW Type of 0x000A.
5.2.3. ATM Port Cell Relay Service πͺ
ATM port cell relay service allows an ATM port to be connected to another ATM port. All ATM cells that are received at the ingress ATM port on the LCCE are encapsulated as per Section 5.2, into Pseudowire PDU and sent to peer LCCE.
Each LCCE MUST discard any idle/unassigned cells received on an ATM port associated with ATMPWs π
The Pseudowire Type AVP defined in Section 5.4.4 of [RFC3931], Attribute Type 68, MUST be present in the ICRQ messages and MUST include the ATM Cell transport Port Mode PW Type of 0x0003.
5.3. OAM Cell Support π
The OAM cells are defined in [I610-1], [I610-2], [I610-3] and [ATMSEC] and can be categorized as follows:
- a. Fault Management
- b. Performance monitoring and reporting
- c. Activation/deactivation
- d. System Management (e.g., security OAM cells)
OAM Cells are always encapsulated using cell mode encapsulation, regardless of the encapsulation format used for user data π
5.3.1. VCC Switching π§
The LCCEs SHOULD be able to pass the F5 segment and end-to-end Fault Management, Resource Management (RM cells), Performance Management, Activation/deactivation, and System Management OAM cells.
F4 OAM cells are inserted or extracted at the VP link termination. These OAM cells are not seen at the VC link termination and are therefore not sent across the PW.
5.3.2. VPC Switching π
The LCCEs MUST be able to pass the F4 segment and end-to-end Fault Management, Resource Management (RM cells), Performance Management, Activation/deactivation, and System Management OAM cells transparently according to [I610-1].
F5 OAM cells are not inserted or extracted at the VP cross-connect. The LCCEs MUST be able to pass the F5 OAM cells transparently across the PW.
6. ATM Maximum Concatenated Cells AVP π
The "ATM Maximum Concatenated Cells AVP", Attribute Type 86, indicates that the egress LCCE node can process a single PDU with concatenated cells up to a specified number of cells. An LCCE node transmitting concatenated cells on this PW MUST NOT exceed the maximum number of cells as specified in this AVP. This AVP is applicable only to ATM Cell Relay PW Types (VCC, VPC, Port Cell Relay). This Attribute value may not be same in both directions of the specific PW.
The Attribute Value field for this AVP has the following format:
0 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ATM Maximum Concatenated Cells|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
This AVP MAY be hidden (the H bit MAY be 0 or 1). The M bit for this AVP MAY be set to 0, but MAY vary (see Section 5.2 of [RFC3931]). The length (before hiding) of this AVP is 8.
This AVP is sent in an ICRQ, ICRP during session negotiation or via SLI control messages when LCCE changes the maximum number of concatenated cells configuration for a given ATM cell relay circuit.
This AVP is OPTIONAL. If the egress LCCE is configured with a maximum number of cells to be concatenated by the ingress LCCE, it SHOULD signal this value to the ingress LCCE π
7. OAM Emulation Required AVP π«Ά
An "OAM Emulation Required AVP", Attribute Type 87, MAY be needed to signal OAM emulation in AAL5 SDU Mode, if an LCCE cannot support the transport of OAM cells across L2TP sessions. If OAM cell emulation is configured or detected via some other means on one side, the other LCCE MUST support OAM cell emulation as well.
This AVP is exchanged during session negotiation (in ICRQ and ICRP) or during the life of the session via SLI control messages. If the other LCCE cannot support the OAM cell emulation, the associated L2TP session MUST be torn down via CDN message with result code 22 π
OAM Emulation AVP is a boolean AVP, having no Attribute Value. Its absence is FALSE and its presence is TRUE. This AVP MAY be hidden (the H bit MAY be 0 or 1). The M bit for this AVP SHOULD be set to 0, but MAY vary (see Section 5.2 of [RFC3931]). The Length (before hiding) of this AVP is 6.
8. ATM Defects Mapping and Status Notification π¨
ATM OAM alarms or circuit status is indicated via the Circuit Status AVP as defined in Section 5.4.5 of [RFC3931]. For reference, usage of this AVP is shown below.
0 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved |N|A|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The Value is a 16-bit mask with the two least significant bits defined, and the remaining bits are reserved for future use. Reserved bits MUST be set to 0 when sending and ignored upon receipt.
The A (Active) bit indicates whether the ATM circuit is ACTIVE (1) or INACTIVE (0).
The N (New) bit indicates whether the ATM circuit status indication is for a new ATM circuit (1) or an existing ATM circuit (0).
8.1. ATM Alarm Status AVP π£
An "ATM Alarm Status AVP", Attribute Type 88, indicates the reason for the ATM circuit status and specific alarm type, if any, to its peer LCCE node. This OPTIONAL AVP MAY be present in the SLI message with the Circuit Status AVP.
The Attribute Value field for this AVP has the following format:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Circuit Status Reason | Alarm |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The Circuit Status Reason is a 2-octet unsigned integer, and the Alarm Type is also a 2-octet unsigned integer.
This AVP MAY be hidden (the H bit MAY be 0 or 1). The M bit for this AVP SHOULD be set to 0, but MAY vary (see Section 5.2 of [RFC3931]). The Length (before hiding) of this AVP is 10 octets.
This AVP is sent in the SLI message to indicate additional information about the ATM circuit status.
Circuit Status Reason values for the SLI message are as follows:
0 - Reserved
1 - No alarm or alarm cleared (default for Active Status)
2 - Unspecified or unknown Alarm Received (default for
Inactive Status)
3 - ATM Circuit received F1 Alarm on ingress LCCE
4 - ATM Circuit received F2 Alarm on ingress LCCE
5 - ATM Circuit received F3 Alarm on ingress LCCE
6 - ATM Circuit received F4 Alarm on ingress LCCE
7 - ATM Circuit received F5 Alarm on ingress LCCE
8 - ATM Circuit down due to ATM Port shutdown on Peer LCCE
9 - ATM Circuit down due to loop-back timeout on ingress LCCE
The general ATM Alarm failures are encoded as below:
0 - Reserved
1 - No Alarm type specified (default)
2 - Alarm Indication Signal (AIS)
3 - Remote Defect Indicator (RDI)
4 - Loss of Signal (LOS)
5 - Loss of Pointer (LOP)
6 - Loss of Framer (LOF)
7 - Loopback cells (LB)
8 - Continuity Check (CC)
9. Applicability Statement πΈ
The ATM Pseudowire emulation described in this document allows for carrying various ATM services across an IP packet switched network (PSN). These ATM services can be PVC-based, PVP-based, or port-based. In all cases, ATMPWs operate in a point-to-point deployment model π
ATMPWs support two modes of encapsulation: ATM AAL5-SDU Mode and ATM Cell Relay Mode. The following sections list their respective characteristics in relationship to the native service β¨
9.1. ATM AAL5-SDU Mode β¨
okay so ATMPWs in AAL5-SDU Mode are only about PVC-based services π the AAL5 CPCS-PDU from a single VCC gets reassembled at the ingress LCCE, and then the AAL5 CPCS-SDU goes over the Pseudowire π¦ (that's the AAL5 CPCS-PDU minus the CPCS-PDU Trailer and PAD octets, aka the AAL5 CPCS-PDU Payload, bestie π ). so yes, the LCCEs need SAR functions (Segmentation and Reassembly) π₯ it's a one-to-one mapping between an ATM PVC and an ATMPW in this mode, and it supports bidirectional transport of variable length frames π except for optionally carrying OAM cells, only AAL Type 5 frames ride along, including multiprotocol over AAL5 packets [RFC2684] β¨
the next bit is lowkey important π because AAL5-SDU Mode PWs don't carry the ATM cell headers or the AAL5 CPCS-PDU Trailer (see Section 5.1), these things happen:
- the
GandCbits in the ATM-Specific Sublayer carry EFCI and CLP info π so the EFCI and CLP values of the individual ATM cells in the AAL5 frame can get lost across the ATMPW, and CLP and EFCI transparency might not be kept π AAL5-SDU Mode doesn't preserve those values for every cell in the AAL5 PDU. ingress and egress handling of these bits is defined in Section 4.1 π«Ά - only the least significant bit (LSB) of the
CPCS-UU(User-to-User indication) field in the CPCS-PDU Trailer gets transported, using the ATM-Specific Sublayer (see Section 4.1) π that bit holds the Frame Relay C/R bit when FRF.8.1 Frame Relay / ATM PVC Service Interworking [FRF8.1] is in use. multiprotocol over AAL5 [RFC2684] doesn't useCPCS-UUat all, but apps that move user to user info through that octet would break π - the
CPI(Common Part Indicator) field in the trailer isn't transported either π this doesn't hurt multiprotocol over AAL5 apps, since that field is for alignment and MUST be coded as 0x00 [RFC2684] π§ - the trailing
CRCfield in the CPCS-PDU gets stripped at the ingress LCCE and isn't sent over the ATMPW in AAL5-SDU Mode, then it gets regenerated at the egress LCCE π the CRC has end-to-end significance, so errors introduced into the ATMPW payload during encapsulation or transit across the packet switched network might not get detected ngl π¬ for payload integrity checking transparency with L2TP over IP or L2TP over UDP/IP, the L2TPv3 session can use IPsec as specified in Section 4.1.3 of [RFC3931] π
some more AAL5-SDU Mode vibes πΈ
- the status of the ATM PVC gets signaled between LCCEs using the
Circuit StatusAVP β¨ more granular cause values for the ATM circuit status and specific ATM alarm types are signaled with theATM Alarm StatusAVP (see Section 8.1) π and loss of connectivity between LCCEs can be detected by the L2TPv3 keepalive mechanism (see Section 4.4 in [RFC3931]) π - F5 OAM cells' relative order compared to user data cells might not be maintained π F5 OAM cells that show up while an AAL5 SDU is being reassembled get sent right away over the PW, before the AAL5 SDU payload. at egress, they get sent before the cells that make up the AAL5-SDU. so apps that need cell sequence integrity between OAM and user data cells may not work π this includes Performance Monitoring and Security OAM cells (see Section 5.1). the AAL5-SDU service also allows OAM emulation, where OAM cells aren't transported over the ATMPW (see Section 7), which is super helpful for AAL5-SDU Mode implementations that don't support cell transport using the T-bit π¦
- Fragmentation and Reassembly procedures MAY be used to manage mismatched MTUs, either as specified in Section 5 of [L2TPFRAG] or in the underlying PSN (IP, etc.) between tunnel endpoints, as discussed in Section 4.1.4 of [RFC3931] π only one of these methods SHOULD be used for a given AAL5-SDU Mode ATMPW π the procedures in [L2TPFRAG] can support the max AAL5 SDU size of 2 ^ 16 - 1 (65535) octets. BUT relying on fragmentation on the L2TP/IPv4 packet between tunnel endpoints caps the max AAL5 SDU, because the max total length of an IPv4 datagram is already 65535 octets π so the max AAL5 SDU becomes 65535 minus the encapsulating headers: 24-36 octets for L2TP-over-IPv4, or 36-48 octets for L2TP-over-UDP/IPv4. when the AAL5 payload is IPv4, you can also fragment IP packets before the tunnel encapsulation with L2TP/IP (see Section 4.1.4 of [RFC3931]) π§
- sequencing can be turned on for the ATMPW with the ATM-Specific Sublayer Sequence Number field, so you can catch lost, duplicate, or out-of-order frames on a per-session basis (see Section 4.2) π₯
- QoS stuff like throughput (cell rates), burst sizes and delay variation can be handled by using the QoS features of the LCCEs and the underlying PSN, which makes ATMPWs way more faithful π that includes mapping ATM service categories to a compatible PSN class of service β¨
9.2. ATM Cell Relay Mode π¦
in this mode, there's no reassembly at the ingress LCCE π LCCEs have no SAR requirements at all, and instead the ATM-layer cells themselves get transported over the ATMPW. so literally every AAL type can ride over ATMPWs in Cell Relay Mode π ATM Cell Relay Pseudowires can run in three different modes (see Section 5.2): ATM VCC, ATM VPC, and ATM Port Cell Relay Services. here's what they're like:
- the ATM cells sent over Cell Relay Mode ATMPWs are made of a 4-byte ATM cell header and a 48-byte ATM cell-payload (see Section 5.2) π so the ATM Service Payload of a Cell Relay Mode ATMPW is a multiple of 52 bytes π§ the Header Error Checksum (HEC) in the cell header, which is a CRC calculated over the first 4 bytes of the header, doesn't get transported π¬ so the HEC field might not accurately reflect errors end-to-end, and errors or corruption in the 4-byte cell header introduced in the ATMPW payload during encapsulation or transit across the PSN might not be detected π for payload integrity checking transparency on ATMPWs in Cell Relay Mode using L2TP over IP or L2TP over UDP/IP, the L2TPv3 session can use IPsec as specified in Section 4.1.3 of [RFC3931] π
- ATM PWs in Cell Relay Mode can carry a single ATM cell or multiple concatenated cells (see Section 6) π concatenation boosts bandwidth efficiency by cutting overhead, but it adds latency and delay variation π«Ά
- the status of the ATM PVC gets signaled between LCCEs with the
Circuit StatusAVP, and more granular cause values and specific ATM alarm types go through theATM Alarm StatusAVP (see Section 8.1) β¨ loss of connectivity between LCCEs can be detected by the L2TPv3 keepalive mechanism (see Section 4.4 in [RFC3931]) π - ATM OAM cells are transported the same way as user cells, and in the same order they were received π¦ so apps that rely on cell sequence integrity between OAM and user data cells aren't adversely affected π this includes performance management and security apps that use OAM cells (see Section 5.3) π
- the max number of concatenated cells is limited by the MTU size of the session (see Section 5.2 and Section 6) πΈ so Fragmentation and Reassembly procedures aren't used for Cell Relay ATMPWs π concatenating cells and then fragmenting the result defeats the whole point of concatenation π they're basically inverse functions with extra processing but a null net effect, so they should not be used together π
- sequencing can be enabled on the ATMPW to detect lost, duplicate, or out-of-order packets on a per-session basis (see Section 4.2) π
- QoS characteristics like throughput (cell rates), burst sizes, and delay variation can be provided by using the QoS features of the LCCEs and the underlying PSN, which makes ATMPWs more faithful β¨ that includes mapping ATM service categories to a compatible PSN class of service, and mapping CLP and EFCI bits to PSN classes of service π for example, a Constant Bit Rate (CBR) PVC could be mapped to a class of service with tight loss and delay characteristics, like an Expedited Forwarding (EF) Per-Hop Behavior (PHB) if the PSN is an IP DiffServ-enabled domain π§ these are the extra QoS considerations for ATMPWs in Cell Relay Mode:
- ATM Cell transport VCC Pseudowires let you map multiple ATM VCCs to a single ATMPW π but a user might want to map a single ATM VCC per ATMPW to meet QoS requirements (see Section 5.2.1) π
- Cell Relay ATMPWs let you concatenate multiple cells in a single Pseudowire PDU to improve bandwidth efficiency, but that can introduce latency and delay variation π¦
10. Congestion Control β¨
Okay so, [RFC3985] tells us the PSN carrying the PW can get congested, and how bad it gets depends on the PSN type, the network architecture, the configuration, and how loaded it is π. During congestion, the PSN can drop packets and mess with packet delay variation (PDV), which hits the timing and data integrity of the ATMPW π¬. When things get really acute, some Cell Relay ATMPWs might not be able to keep the service going π. ATM services are kinda inelastic, so they won't grow to eat all the bandwidth, which lowers the congestion risk π¦. The catch is they also can't just chill and lighten their load when congestion hits π.
Whenever possible, Cell Relay ATMPWs should be run over traffic-engineered PSNs that give you bandwidth allocation and admission control π . IntServ-enabled domains offering Guaranteed Service (GS), or DiffServ-enabled domains using Expedited Forwarding (EF), are examples of these traffic-engineered PSNs β¨. They keep loss and delay low and give the Cell Relay ATMPW some isolation, so it doesn't mess with its neighbouring streams π«Ά.
If the PSN is only giving you best-effort service, then the following best-effort congestion avoidance considerations apply πΈ. ATMPWs carrying constant bit rate (CBR) and variable bit rate-real time (VBR-rt) services across the PSN will most probably not behave in a TCP-friendly manner, as laid out in [RFC2914] π. When you've got services that cut their transmission rate, ATMPWs carrying CBR and VBR-rt traffic SHOULD be halted when acute congestion is detected, so other traffic (or the network infrastructure itself) can keep going π¦. ATMPWs carrying unspecified bit rate (UBR) traffic are basically the same as best-effort IP service, so they need not be halted during acute congestion, and the ingress PE MAY have cells delayed or dropped if necessary π. ATMPWs carrying variable bit rate-non real time (VBR-nrt) services may or may not behave in a TCP-friendly manner, depending on the end user application, but they're most likely safe to keep running, since that end-user application is expected to be delay-insensitive and maybe somewhat loss-insensitive too π§.
LCCEs SHOULD monitor for congestion, for example by measuring packet loss or as specified in Section 6.5 of [RFC3985], so they can make sure the ATM service can be maintained π. When severe congestion is detected (for example, when sequencing is enabled and the packet loss is higher than a threshold), the ATM service SHOULD be terminated by tearing down the L2TP session via a CDN message π. The PW may be restarted by manual intervention, or by automatic means after an appropriate waiting time π.
11. Security Considerations π
ATM over L2TPv3 is subject to the security considerations defined in [RFC3931] π‘οΈ. There are no additional considerations specific to carrying ATM that are not present when carrying other data link types π.
12. IANA Considerations π
The signaling mechanisms defined in this document rely on IANA allocating the following ATM Pseudowire Types. You'll find these in the Pseudowire Capabilities List defined in 5.4.3 of [RFC3931] and in the L2TPv3 Pseudowire Types in 10.6 of [RFC3931], in the number space created when [RFC3931] was published π¦:
Pseudowire Types
----------------
0x0002 ATM AAL5 SDU VCC transport
0x0003 ATM Cell transparent Port Mode
0x0009 ATM Cell transport VCC Mode
0x000A ATM Cell transport VPC Mode
12.1. L2-Specific Sublayer Type π
This number space is created and maintained per [RFC3931] π .
L2-Specific Sublayer Type
-------------------------
2 - ATM L2-Specific Sublayer present
12.2. Control Message Attribute Value Pairs (AVPs) π§
This number space is managed by IANA as per [BCP0068] π.
Here's a quick summary of the three new AVPs β¨:
Control Message Attribute Value Pairs
Attribute
Type Description
--------- ----------------------------------
86 ATM Maximum Concatenated Cells AVP
87 OAM Emulation Required AVP
88 ATM Alarm Status AVP
12.3. Result Code AVP Values π
This number space is managed by IANA as per [BCP0068] π.
A new Result Code value for the CDN message is defined in Section 7. Here's the summary π:
Result Code AVP (Attribute Type 1) Values
-----------------------------------------
General Error Codes
22 - Session not established due to other LCCE
cannot support the OAM Cell Emulation
12.4. ATM Alarm Status AVP Values π¨
This is a new registry for IANA to maintain π.
New Attribute values for the ATM Alarm Status AVP in the SLI message are defined in Section 8.1. Additional values may be assigned by Expert Review [RFC2434]. Here's the summary π:
ATM Alarm Status AVP (Attribute Type 88) Values
-----------------------------------------------
Circuit Status Reason values for the SLI message are as follows:
0 - Reserved
1 - No alarm or alarm cleared (default for Active Status)
2 - Unspecified or unknown Alarm Received (default for
Inactive Status)
3 - ATM Circuit received F1 Alarm on ingress LCCE
4 - ATM Circuit received F2 Alarm on ingress LCCE
5 - ATM Circuit received F3 Alarm on ingress LCCE
6 - ATM Circuit received F4 Alarm on ingress LCCE
7 - ATM Circuit received F5 Alarm on ingress LCCE
8 - ATM Circuit down due to ATM Port shutdown on Peer LCCE
9 - ATM Circuit down due to loop-back timeout on ingress LCCE
The general ATM Alarm failures are encoded as below:
0 - Reserved
1 - No Alarm type specified (default)
2 - Alarm Indication Signal (AIS)
3 - Remote Defect Indicator (RDI)
4 - Loss of Signal (LOS)
5 - Loss of Pointer (LOP)
6 - Loss of Framer (LOF)
7 - Loopback cells (LB)
8 - Continuity Check (CC)
12.5. ATM-Specific Sublayer Bits π¦
This is a new registry for IANA to maintain π.
The ATM-Specific Sublayer has 8 bits in the low-order portion of the header. Reserved bits may be assigned by IETF Consensus [RFC2434] π₯.
Bit 0 - Reserved
Bit 1 - S (Sequence) bit
Bit 2 - B (Fragmentation) bit
Bit 3 - E (Fragmentation) bit
Bit 4 - T (Transport type) bit
Bit 5 - G (EFCI) bit
Bit 6 - C (CLP) bit
Bit 7 - U (Command/Response) bit
13. Acknowledgements π«Ά
Thanks to Jed Lau, Pony Zhu, Prasad Yaditi, Durai, and Jaya Kumar for their contributions πΈ.
Many thanks to Srinivas Kotamraju for the editorial review β¨.
Thanks to Shoou Yiu and Fred Shu for giving their valuable time to review this document π.
14. References π
14.1. Normative References
- [RFC3931] Lau, J., Townsley, M., and I. Goyret, "Layer Two Tunneling Protocol - Version 3 (L2TPv3)", RFC 3931, March 2005.
- [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.
14.2. Informative References
- [PWE3ATM] Martini, L., "Encapsulation Methods for Transport of ATM Over MPLS Networks", Work in Progress, September 2005.
- [L2TPFRAG] Malis, A. and M. Townsley, "PWE3 Fragmentation and Reassembly", Work in Progress, November 2005.
- [FRF8.1] "Frame Relay / ATM PVC Service Interworking Implementation Agreement (FRF 8.1)", Frame Relay Forum 2000.
- [BCP0068] Townsley, W., "Layer Two Tunneling Protocol (L2TP) Internet Assigned Numbers Authority (IANA) Considerations Update", BCP 68, RFC 3438, December 2002.
- [RFC2434] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 2434, October 1998.
- [I610-1] ITU-T Recommendation I.610 (1999): B-ISDN operation and maintenance principles and functions
- [I610-2] ITU-T Recommendation I.610, Corrigendum 1 (2000): B-ISDN operation and maintenance principles and functions (corrigendum 1)
- [I610-3] ITU-T Recommendation I.610, Amendment 1 (2000): B-ISDN operation and maintenance principles and functions (Amendment 1)
- [ATMSEC] ATM Forum Specification, af-sec-0100.002 (2001): ATM Security Specification version 1.1
- [RFC2684] Grossman, D. and J. Heinanen, "Multiprotocol Encapsulation over ATM Adaptation Layer 5", RFC 2684, September 1999.
- [RFC3985] Bryant, S. and P. Pate, "Pseudo Wire Emulation Edge-to-Edge (PWE3) Architecture", RFC 3985, March 2005.
- [RFC2914] Floyd, S., "Congestion Control Principles", BCP 41, RFC 2914, September 2000.
Authors' Addresses π
Sanjeev Singh
Cisco Systems
170 W. Tasman Drive
San Jose, CA 95134
EMail: sanjeevs@cisco.com
W. Mark Townsley
Cisco Systems
7025 Kit Creek Road
PO Box 14987
Research Triangle Park, NC 27709
EMail: mark@townsley.net
Carlos Pignataro
Cisco Systems
7025 Kit Creek Road
PO Box 14987
Research Triangle Park, NC 27709
EMail: cpignata@cisco.com
Full Copyright Statement βοΈ
Copyright (C) The Internet Society (2006) π.
This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights π.
This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY 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 takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document, or the extent to which any license under such rights might or might not be available. It also doesn't represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79 π.
Copies of IPR disclosures made to the IETF Secretariat, and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification, can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr π.
The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org π.
Acknowledgement π·
Funding for the RFC Editor function is provided by the IETF Administrative Support Activity (IASA) πβ¨.
π¦ where this page comes from
- ietf: rfc4454 2006-05
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms