Internet-Draft | PLE | December 2024 |
Gringeri, et al. | Expires 21 June 2025 | [Page] |
This document expands the applicability of virtual private wire services (VPWS) bit-stream payloads beyond Time Division Multiplexing (TDM) signals and provides pseudowire transport with complete signal transparency over packet switched networks (PSN).¶
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.¶
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.¶
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."¶
This Internet-Draft will expire on 21 June 2025.¶
Copyright (c) 2024 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.¶
This document describes a method called Private Line Emulation (PLE) for encapsulating not only Time Division Multiplexing (TDM) signals as bit-stream Virtual Private Wire Service (VPWS) over Packet Switched Networks (PSN). In this regard, it complements methods described in [RFC4553].¶
This emulation suits applications, where carrying Protocol Data Units (PDUs) as defined in [RFC4906] or [RFC4448] is not enough, physical layer signal transparency is required and data or framing structure interpretation of the Provider Edge (PE) would be counterproductive.¶
One example of such case is two Ethernet connected Customer Edge (CE) devices and the need for Synchronous Ethernet [G.8261] operation between them without the intermediate PE devices interfering or addressing concerns about Ethernet control protocol transparency for PDU based carrier Ethernet services, beyond the behavior definitions of Metro Ethernet Forum (MEF) specifications.¶
Another example would be a Storage Area Networking (SAN) extension between two data centers. Operating at a bit-stream level allows for a connection between Fibre Channel switches without interfering with any of the Fibre Channel protocol mechanisms defined by [T11].¶
Also, SONET/SDH add/drop multiplexers or cross-connects can be interconnected without interfering with the multiplexing structures and networks mechanisms. This is a key distinction to Circuit Emulation over Packet (CEP) defined in [RFC4842] where demultiplexing and multiplexing is desired in order to operate per SONET Synchronous Payload Envelope (SPE) and Virtual Tributary (VT) or SDH Virtual Container (VC). Said in another way, PLE does provide an independent layer network underneath the SONET/SDH layer network, whereas CEP does operate at the same level and peer with the SONET/SDH layer network.¶
The mechanisms described in this document follow principles similar to Structure-Agnostic Time Division Multiplexing (TDM) over Packet (SAToP) defined in [RFC4553]. The applicability is expanded beyond the narrow set of Plesiochronous Digital Hierarchy (PDH) interfaces (T1, E1, T3 and E3) to allow the transport of signals from many different technologies such as Ethernet, Fibre Channel, SONET/SDH [GR253]/[G.707] and OTN [G.709] at gigabit speeds. The signals are treated as bit-stream payload which was defined in the Pseudo Wire Emulation Edge-to-Edge (PWE3) architecture in [RFC3985] sections 3.3.3 and 3.3.4.¶
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.¶
AIS - Alarm Indication Signal¶
AIS-L - Line AIS¶
AS - Autonomous System¶
ASBR - Autonomous System Border Router¶
MS-AIS - Multiplex Section AIS¶
BITS - Building Integrated Timing Supply [ATIS-0900105.09.2013]¶
CBR - Constant Bit Rate¶
CE - Customer Edge¶
DEG - Degradation¶
ES - Errored Second¶
FEC - Forward Error Correction¶
IEEE - Institute of Electrical and Electronics Engineers¶
INCITS - InterNational Committee for Information Technology Standards¶
IWF - InterWorking Function¶
LF - Local Fault¶
LOF - Loss Of Frame¶
LOM - Loss Of Multiframe¶
LOS - Loss Of Signal¶
LPI - Low Power Idle¶
LSP - Label Switched Path¶
MEF - Metro Ethernet Forum¶
NOS - Not Operational¶
ODUk - Optical Data Unit k¶
OTN - Optical Transport Network¶
OTUk - Optical Transport Unit k¶
PCS - Physical Coding Sublayer¶
PDH - Plesiochronous Digital Hierarchy¶
PDV - Packet Delay Variation¶
PE - Provider Edge¶
PLE - Private Line Emulation¶
PLOS - Packet Loss Of Signal¶
PLR - Packet Loss Ratio¶
PMA - Physical Medium Attachment¶
PMD - Physical Medium Dependent¶
PSN - Packet Switched Network¶
PTP - Precision Time Protocol¶
P2P - Point-to-Point¶
QOS - Quality Of Service¶
RDI - Remote Defect Indication¶
RSVP-TE - Resource Reservation Protocol Traffic Engineering [RFC4875]¶
SAN - Storage Area Network¶
SAToP - Structure-Agnostic Time Division Multiplexing (TDM) over Packet [RFC4553]¶
SD - Signal Degrade¶
SES - Severely Errored Second¶
SDH - Synchronous Digital Hierarchy¶
SPE - Synchronous Payload Envelope¶
SONET - Synchronous Optical Network¶
TDM - Time Division Multiplexing¶
TTS - Transmitter Training Signal¶
UAS - Unavailable Second¶
VC - Virtual Circuit¶
VT - Virtual Tributary¶
The term Interworking Function (IWF) is used to describe the functional block that encapsulates bit streams into PLE packets and in the reverse direction decapsulates PLE packets and reconstructs bit streams.¶
The reference model for PLE is illustrated in Figure 1 and is inline with the reference model defined in Section 4.1 of [RFC3985]. PLE does rely on PWE3 pre-processing, in particular the concept of a Native Service Processing (NSP) function defined in Section 4.2.2 of [RFC3985].¶
PLE embraces the minimum intervention principle outlined in Section 3.3.5 of [RFC3985] whereas the data is flowing through the PLE encapsulation layer as received without modifications.¶
For some service types the NSP function is responsible for performing operations on the native data received from the CE. Examples are terminating Forward Error Correction (FEC), terminating the OTUk layer for OTN or dealing with multi-lane processing. After the NSP, the IWF is generating the payload of the VPWS which is carried via a PSN tunnel.¶
To allow the clock of the transported signal to be carried across the PLE domain in a transparent way the relative network synchronization reference model and deployment scenario outlined in Section 4.3.2 of [RFC4197] are applicable and are shown in Figure 2.¶
The local oscillators C of PE1 and D of PE2 are locked to a common clock I.¶
The attachment circuit clock E is generated by PE2 via a differential clock recovery method in reference to the common clock I. For this to work the difference between clock A and clock C (locked to I) MUST be explicitly transferred from PE1 to PE2 using the timestamp inside the RTP header.¶
For the reverse direction PE1 does generate the attachment circuit clock J and the clock difference between G and D (locked to I) transferred from PE2 to PE1.¶
The method used to lock clocks C and D to the common clock I is out of scope of this document, but there are already several well-established concepts for achieving clock synchronization, commonly also referred to as frequency synchronization, available.¶
While using external timing inputs (aka BITS [ATIS-0900105.09.2013]) or synchronous Ethernet as defined in [G.8261] the characteristics and limits defined in [G.8262] have to be considered.¶
While relying on precision time protocol (PTP) as defined in [G.8265.1], the network limits defined in [G.8261.1] have to be considered.¶
This specification describes the emulation of services from a wide range of technologies, such as TDM, Ethernet, Fibre Channel, or OTN, as bit streams or structured bit streams, as defined in Section 3.3.3 and Section 3.3.4 of [RFC3985].¶
The generic PLE service is an example of the bit stream defined in Section 3.3.3 of [RFC3985].¶
Under the assumption that the CE-bound IWF is not responsible for any service specific operation, a bit stream of any rate can be carried using the generic PLE payload.¶
There is no NSP function present for this service.¶
Ethernet services are special cases of the structured bit stream defined in Section 3.3.4 of [RFC3985].¶
IEEE has defined several layers for Ethernet in [IEEE802.3]. Emulation is operating at the physical (PHY) layer, more precisely at the Physical Coding Sublayer (PCS).¶
Over time many different Ethernet interface types have been specified in [IEEE802.3] with a varying set of characteristics such as optional vs mandatory FEC and single-lane vs multi-lane transmission.¶
Ethernet interface types with backplane physical media dependent (PMD) variants and Ethernet interface types mandating auto-negotiation (except 1000Base-X) are out of scope for this document.¶
All Ethernet services are leveraging the basic PLE payload and interface specific mechanisms are confined to the respective service specific NSP functions.¶
The PCS layer of 1000BASE-X defined in section 36 of [IEEE802.3] is based on 8B/10B code.¶
The PSN-bound NSP function does not modify the received data and is transparent to auto-negotiation but is responsible to detect 1000BASE-X specific attachment circuit faults such as LOS and sync loss.¶
When the CE-bound IWF is in PLOS state or when PLE packets are received with the L-bit being set, the CE-bound NSP function MAY disable its transmitter as no appropriate maintenance signal was defined for 1000BASE-X by IEEE.¶
The PCS layers of 10GBASE-R defined in section 49 and 25GBASE-R defined in section 107 of [IEEE802.3] are based on a 64B/66B code.¶
[IEEE802.3] sections 74 and 108 do define an optional FEC layer, if present the PSN-bound NSP function MUST terminate the FEC and the CE-bound NSP function MUST generate the FEC.¶
The PSN-bound NSP function is also responsible to detect 10GBASE-R and 25GBASE-R specific attachment circuit faults such as LOS and sync loss.¶
The PSN-bound IWF is mapping the scrambled 64B/66B code stream into the basic PLE payload.¶
The CE-bound NSP function MUST perform¶
in order to properly¶
transform invalid 66B code blocks into proper error control characters /E/ (section 49.2.4.11 of [IEEE802.3])¶
insert Local Fault (LF) ordered sets (section 46.3.4 of [IEEE802.3]) when the CE-bound IWF is in PLOS state or when PLE packets are received with the L-bit being set¶
Note: Invalid 66B code blocks typically are a consequence of the CE-bound IWF inserting replacement data in case of lost PLE packets, or if the far-end PSN-bound NSP function did set sync headers to 11 due to uncorrectable FEC errors.¶
Before sending the bit stream to the CE, the CE-bound NSP function MUST also scramble the 64B/66B code stream (section 49.2.6 [IEEE802.3]).¶
The PCS layers of 40GBASE-R and 100GBASE-R defined in section 82 and of 50GBASE-R defined in section 133 of [IEEE802.3] are based on a 64B/66B code transmitted over multiple lanes.¶
[IEEE802.3] sections 74 and 91 do define an optional FEC layer, if present the PSN-bound NSP function MUST terminate the FEC and the CE-bound NSP function MUST generate the FEC.¶
To gain access to the scrambled 64B/66B code stream the PSN-bound NSP further MUST perform¶
The PSN-bound NSP function is also responsible to detect 40GBASE-R, 50GBASE-R and 100GBASE-R specific attachment circuit faults such as LOS and loss of alignment.¶
The PSN-bound IWF is mapping the serialized and scrambled 64B/66B code stream including the alignment markers into the basic PLE payload.¶
The CE-bound NSP function MUST perform¶
in order to properly¶
transform invalid 66B code blocks into proper error control characters /E/ (section 82.2.3.10 of [IEEE802.3])¶
insert Local Fault (LF) ordered sets (section 81.3.4 of [IEEE802.3]) when the CE-bound IWF is in PLOS state or when PLE packets are received with the L-bit being set¶
Note: Invalid 66B code blocks typically are a consequence of the CE-bound IWF inserting replacement data in case of lost PLE packets, or if the far-end PSN-bound NSP function did set sync headers to 11 due to uncorrectable FEC errors.¶
When sending the bit stream to the CE, the CE-bound NSP function MUST also perform¶
The PCS layers of 200GBASE-R and 400GBASE-R defined in section 119 of [IEEE802.3] are based on a 64B/66B code transcoded to a 256B/257B code to reduce the overhead and make room for a mandatory FEC.¶
To gain access to the 64B/66B code stream the PSN-bound NSP further MUST perform¶
alignment lock and de-skew (section 119.2.5.1 of [IEEE802.3])¶
PCS Lane reordering and de-interleaving (section 119.2.5.2 of [IEEE802.3])¶
alignment marker removal (section 119.2.5.5 of [IEEE802.3])¶
reverse transcoding from 256B/257B to 64B/66B (section 119.2.5.7 of [IEEE802.3])¶
Further the PSN-bound NSP MUST perform rate compensation and scrambling (section 49.2.6 of [IEEE802.3]) before the PSN-bound IWF is mapping the same into the basic PLE payload.¶
Rate compensation is applied so that the rate of the 66B encoded bit stream carried by PLE is 528/544 times the nominal bitrate of the 200GBASE-R or 400GBASE-R at the PMA service interface. X number of 66 byte long rate compensation blocks are inserted every X*20479 number of 66B client blocks. For 200GBASE-R the value of X is 16 and for 400GBASE-R the value of X is 32. Rate compensation blocks are special 66B control characters of type 0x00 that can easily be searched for by the CE-bound IWF in order to remove them.¶
The PSN-bound NSP function is also responsible to detect 200GBASE-R and 400GBASE-R specific attachment circuit faults such as LOS and loss of alignment.¶
The CE-bound NSP function MUST perform¶
rate compensation block removal¶
in order to properly¶
transform invalid 66B code blocks into proper error control characters /E/ (section 119.2.3.9 of [IEEE802.3])¶
insert Local Fault (LF) ordered sets (section 81.3.4 of [IEEE802.3]) when the CE-bound IWF is in PLOS state or when PLE packets are received with the L-bit being set¶
Note: Invalid 66B code blocks typically are a consequence of the CE-bound IWF inserting replacement data in case of lost PLE packets, or if the far-end PSN-bound NSP function did set sync headers to 11 due to uncorrectable FEC errors.¶
When sending the bit stream to the CE, the CE-bound NSP function MUST also perform¶
Section 78 of [IEEE802.3] does define the optional Low Power Idle (LPI) capability for Ethernet. Two modes are defined¶
Deep sleep mode is not compatible with PLE due to the CE ceasing transmission. Hence there is no support for LPI for 10GBASE-R services across PLE.¶
When in fast wake mode the CE transmits /LI/ control code blocks instead of /I/ control code blocks and therefore PLE is agnostic to it. For 25GBASE-R and higher services across PLE, LPI is supported as only fast wake mode is applicable.¶
SONET/SDH services are special cases of the structured bit stream defined in Section 3.3.4 of [RFC3985].¶
SDH interfaces are defined in [G.707] and SONET interfaces are defined in [GR253].¶
The PSN-bound NSP function does not modify the received data but is responsible to detect SONET/SDH interface specific attachment circuit faults such as LOS, LOF and OOF.¶
Data received by the PSN-bound IWF is mapped into the basic PLE payload without any awareness of SONET/SDH frames.¶
When the CE-bound IWF is in PLOS state or when PLE packets are received with the L-bit being set, the CE-bound NSP function is responsible for generating the¶
MS-AIS maintenance signal defined in section 6.2.4.1.1 of [G.707] for SDH services¶
AIS-L maintenance signal defined in section 6.2.1.2 of [GR253] for SONET services¶
at client frame boundaries.¶
Fibre Channel services are special cases of the structured bit stream defined in Section 3.3.4 of [RFC3985].¶
The T11 technical committee of INCITS has defined several layers for Fibre Channel. PLE operates at the FC-1 layer that leverages mechanisms defined by [IEEE802.3].¶
Over time many different Fibre Channel interface types have been specified with a varying set of characteristics such as optional vs mandatory FEC and single-lane vs multi-lane transmission.¶
Speed negotiation is not supported by PLE.¶
All Fibre Channel services are leveraging the basic PLE payload and interface specific mechanisms are confined to the respective service specific NSP functions.¶
[FC-PI-2] specifies 1GFC and 2GFC. [FC-PI-5] and [FC-PI-5am1] do define 4GFC and 8GFC.¶
The PSN-bound NSP function is responsible to detect Fibre Channel specific attachment circuit faults such as LOS and sync loss.¶
The PSN-bound IWF is mapping the received 8B/10B code stream as is directly into the basic PLE payload.¶
The CE-bound NSP function MUST perform transmission word sync in order to properly¶
replace invalid transmission words with the special character K30.7¶
insert Not Operational (NOS) ordered sets when the CE-bound IWF is in PLOS state or when PLE packets are received with the L-bit being set¶
Note: Invalid transmission words typically are a consequence of the CE-bound IWF inserting replacement data in case of lost PLE packets.¶
[FC-PI-5am1] does define the use of scrambling for 8GFC, in this case the CE-bound NSP MUST also perform descrambling before replacing invalid transmission words or inserting NOS ordered sets. And before sending the bit stream to the, the CE-bound NSP function MUST scramble the 8B/10B code stream.¶
[FC-PI-5] and [FC-PI-5am1] specify 16GFC and define a optional FEC layer.¶
If FEC is present it must be indicated via transmitter training signal (TTS) during attachment circuit bring up. Further the PSN-bound NSP function MUST terminate the FEC and the CE-bound NSP function must generate the FEC.¶
The PSN-bound NSP function is responsible to detect Fibre Channel specific attachment circuit faults such as LOS and sync loss.¶
The PSN-bound IWF is mapping the received scrambled 64B/66B code stream as is into the basic PLE payload.¶
The CE-bound NSP function MUST perform¶
in order to properly¶
replace invalid transmission words with the error transmission word 1Eh¶
insert Not Operational (NOS) ordered sets when the CE-bound IWF is in PLOS state or when PLE packets are received with the L-bit being set¶
Note: Invalid transmission words typically are a consequence of the CE-bound IWF inserting replacement data in case of lost PLE packets, or if the far-end PSN-bound NSP function did set sync headers to 11 due to uncorrectable FEC errors.¶
Before sending the bit stream to the CE, the CE-bound NSP function MUST also scramble the 64B/66B code stream (section 49.2.6 of [IEEE802.3]).¶
[FC-PI-6] specifies 32GFC and [FC-PI-6P] specifies 4-lane 128GFC, both with FEC layer and TTS support being mandatory.¶
To gain access to the 64B/66B code stream the PSN-bound NSP further MUST perform¶
Further the PSN-bound NSP MUST perform scrambling (section 49.2.6 of [IEEE802.3]) before the PSN-bound IWF is mapping the same into the basic PLE payload.¶
The PSN-bound NSP function is also responsible to detect Fibre Channel specific attachment circuit faults such as LOS and sync loss.¶
The CE-bound NSP function MUST perform¶
in order to properly¶
replace invalid transmission words with the error transmission word 1Eh¶
insert Not Operational (NOS) ordered sets when the CE-bound IWF is in PLOS state or when PLE packets are received with the L-bit being set¶
Note: Invalid transmission words typically are a consequence of the CE-bound IWF inserting replacement data in case of lost PLE packets, or if the far-end PSN-bound NSP function did set sync headers to 11 due to uncorrectable FEC errors.¶
When sending the bit stream to the CE, the CE-bound NSP function MUST also perform¶
[FC-PI-7] specifies 64GFC with a mandatory FEC layer.¶
To gain access to the 64B/66B code stream the PSN-bound NSP further MUST perform¶
alignment lock (section 134.5.4 of [IEEE802.3] modified to single FEC lane operation)¶
alignment marker removal (section 134.5.3.4 of [IEEE802.3])¶
reverse transcoding from 256B/257B to 64B/66B (section 91.5.3.5 of [IEEE802.3])¶
Further the PSN-bound NSP MUST perform scrambling (section 49.2.6 of [IEEE802.3]) before the PSN-bound IWF is mapping the same into the basic PLE payload.¶
The PSN-bound NSP function is also responsible to detect Fibre Channel specific attachment circuit faults such as LOS and sync loss.¶
The CE-bound NSP function MUST perform¶
in order to properly¶
replace invalid transmission words with the error transmission word 1Eh¶
insert Not Operational (NOS) ordered sets when the CE-bound IWF is in PLOS state or when PLE packets are received with the L-bit being set¶
Note: Invalid transmission words typically are a consequence of the CE-bound IWF inserting replacement data in case of lost PLE packets, or if the far-end PSN-bound NSP function did set sync headers to 11 due to uncorrectable FEC errors.¶
When sending the bit stream to the CE, the CE-bound NSP function MUST also perform¶
OTN services are special cases of the structured bit stream defined in Section 3.3.4 of [RFC3985].¶
OTN interfaces are defined in [G.709].¶
The PSN-bound NSP function MUST terminate the FEC and replace the OTUk overhead in row 1 columns 8-14 with all-zeros pattern which results in a extended ODUk frame as illustrated in Figure 3. The frame alignment overhead (FA OH) in row 1 columns 1-7 is kept as it is.¶
The PSN-bound NSP function is also responsible to detect OTUk specific attachment circuit faults such as LOS, LOF, LOM and AIS.¶
The PSN-bound IWF is mapping the extended ODUk frame into the byte aligned PLE payload.¶
The CE-bound NSP function will recover the ODUk by searching for the frame alignment overhead in the extended ODUk received from the CE-bound IWF and generates the FEC.¶
When the CE-bound IWF is in PLOS state or when PLE packets are received with the L-bit being set, the CE-bound NSP function is responsible for generating the ODUk-AIS maintenance signal defined in section 16.5.1 of [G.709] at client frame boundaries.¶
The basic packet format used by PLE is shown in the Figure 4.¶
This document does not imply any specific technology to be used for implementing the VPWS demultiplexing and PSN layers.¶
The total size of a PLE packet for a specific PW MUST NOT exceed the path MTU between the pair of PEs terminating this PW.¶
When a MPLS PSN layer is used, a VPWS label provides the demultiplexing mechanism as described in Section 5.4.2 of [RFC3985]. The PSN tunnel can be a simple best path Label Switched Path (LSP) established using LDP [RFC5036] or Segment Routing (SR) [RFC8402] or a traffic engineered LSP established using RSVP-TE [RFC3209] or SR policies [RFC9256].¶
When a SRv6 PSN layer is used, a SRv6 service segment identifier (SID) as defined in [RFC8402] does provide the demultiplexing mechanism and definitions of Section 6 of [RFC9252] do apply. Both SRv6 service SIDs with the full IPv6 address format defined in [RFC8986] and compressed SIDs (C-SIDs) with format defined in [I-D.draft-ietf-spring-srv6-srh-compression] can be used.¶
Two new encapsulation behaviors H.Encaps.L1 and H.Encaps.L1.Red are defined in this document. The behavior procedures are applicable to both SIDs and C-SIDs.¶
The H.Encaps.L1 behavior encapsulates a frame received from an IWF in a IPv6 packet with an segment routing header (SRH). The received frame becomes the payload of the new IPv6 packet.¶
The next header field of the SRH or the last extension header present MUST be set to TBA1.¶
The insertion of the SRH MAY be omitted per [RFC8986] when the SRv6 policy only contains one segment and there is no need to use any flag, tag, or TLV.¶
The H.Encaps.L1.Red behavior is an optimization of the H.Encaps.L1 behavior.¶
H.Encaps.L1.Red reduces the length of the SRH by excluding the first SID in the SRH. The first SID is only placed in the destination IPv6 address field.¶
The insertion of the SRH MAY be omitted per [RFC8986] when the SRv6 policy only contains one segment and there is no need to use any flag, tag, or TLV.¶
Three new "Endpoint with decapsulation and bit-stream cross-connect" behaviors called End.DX1, End.DX1 with NEXT-CSID and End.DX1 with REPLACE-CSID are defined in this document. These new behaviors are variants of End.DX2 defined in [RFC8986] and all have the following procedures in common.¶
The End.DX1 SID MUST be the last segment in an SR Policy, and it is associated with a CE-bound IWF I. When N receives a packet destined to S and S is a local End.DX1 SID, N does the following:¶
S01. When an SRH is processed { S02. If (Segments Left != 0) { S03. Send an ICMP Parameter Problem to the Source Address with Code 0 (Erroneous header field encountered) and Pointer set to the Segments Left field, interrupt packet processing, and discard the packet. S04. } S05. Proceed to process the next header in the packet S06. }¶
When processing the next (Upper-Layer) header of a packet matching a FIB entry locally instantiated as an End.DX1 SID, N does the following:¶
S01. If (Upper-Layer header type == TBA1 (bit-stream) ) { S02. Remove the outer IPv6 header with all its extension headers S03. Forward the remaining frame to the IWF I S04. } Else { S05. Process as per {{Section 4.1.1 of RFC8986}} S06. }¶
The PLE header MUST contain the PLE control word (4 bytes) and MUST include a fixed size RTP header [RFC3550]. The RTP header MUST immediately follow the PLE control word.¶
The format of the PLE control word is in line with the guidance in [RFC4385] and is shown in Figure 5.¶
The bits 0..3 of the first nibble are set to 0 to differentiate a control word or Associated Channel Header (ACH) from an IP packet or Ethernet frame. The first nibble MUST be set to 0000b to indicate that this header is a control word as defined in Section 3 of [RFC4385].¶
The other fields in the control word are used as defined below:¶
L¶
Set by the PE to indicate that data carried in the payload is invalid due to an attachment circuit fault. The downstream PE MUST send appropriate replacement data. The NSP MAY inject an appropriate native fault propagation signal.¶
R¶
Set by the downstream PE to indicate that the IWF experiences packet loss from the PSN or a server layer backward fault indication is present in the NSP. The R bit MUST be cleared by the PE once the packet loss state or fault indication has cleared.¶
RSV¶
These bits are reserved for future use. This field MUST be set to zero by the sender and ignored by the receiver.¶
FRG¶
These bits MUST be set to zero by the sender and ignored by the receiver as PLE does not use payload fragmentation.¶
LEN¶
In accordance to Section 3 of [RFC4385] the length field MUST always be set to zero as there is no padding added to the PLE packet. To detect malformed packets the default, preconfigured or signaled payload size MUST be assumed.¶
Sequence number¶
The sequence number field is used to provide a common PW sequencing function as well as detection of lost packets. It MUST be generated in accordance with the rules defined in Section 5.1 of [RFC3550] and MUST be incremented with every PLE packet being sent.¶
The RTP header MUST be included to explicitly convey timing information.¶
The RTP header as defined in [RFC3550] is reused to align with other bit-stream emulation pseudowires defined by [RFC4553], [RFC5086] and [RFC4842] and to allow PLE implementations to reuse pre-existing work.¶
There is no intention to support full RTP topologies and protocol mechanisms, such as header extensions, contributing source (CSRC) list, padding, RTP Control Protocol (RTCP), RTP header compression, Secure Realtime Transport Protocol (SRTP), etc., are not applicable to PLE VPWS.¶
The format of the RTP header is as shown in Figure 6.¶
V: Version¶
The version field MUST be set to 2.¶
P: Padding¶
The padding flag MUST be set to zero by the sender and ignored by the receiver.¶
X: Header extension¶
The X bit MUST be set to zero by sender and ignored by receiver.¶
CC: CSRC count¶
The CC field MUST be set to zero by the sender and ignored by the receiver.¶
M: Marker¶
The M bit MUST be set to zero by the sender and ignored by the receiver.¶
PT: Payload type¶
A PT value MUST be allocated from the range of dynamic values defined in Section 6 of [RFC3551] for each direction of the VPWS. The same PT value MAY be reused both for direction and between different PLE VPWS.¶
The PT field MAY be used for detection of misconnections.¶
Sequence number¶
When using a 16 bit sequence number space, the sequence number in the RTP header MUST be equal to the sequence number in the PLE control word. When using a sequence number space of 32 bit, the initial value of the RTP sequence number MUST be 0 and incremented whenever the PLE control word sequence number cycles through from 0xFFFF to 0x0000.¶
Timestamp¶
Timestamp values are used in accordance with the rules established in [RFC3550]. For bit-streams up to 200 Gbps the frequency of the clock used for generating timestamps MUST be 125 MHz based on a the common clock I. For bit-streams above 200 Gbps the frequency MUST be 250 MHz.¶
SSRC: Synchronization source¶
The SSRC field MAY be used for detection of misconnections.¶
A bit-stream is mapped into a PLE packet with a fixed payload size which MUST be defined during VPWS setup, MUST be the same in both directions of the VPWS and MUST remain unchanged for the lifetime of the VPWS.¶
All PLE implementations MUST be capable of supporting the default payload size of 1024 bytes. The payload size SHOULD be configurable to be able to address specific packetization delay and overhead expectations.¶
The PLE payload is filled with incoming bits of the bit-stream starting from the most significant to the least significant bit without considering any structure of the bit-stream.¶
The PLE payload is filled in a byte aligned manner, where the order of the payload bytes corresponds to their order on the attachment circuit. Consecutive bits coming from the attachment circuit fill each payload byte starting from most significant bit to least significant. The PLE payload size MUST be an integer number of bytes.¶
A PLE VPWS can be established using manual configuration or leveraging mechanisms of a signaling protocol.¶
Furthermore emulation of bit-stream signals using PLE is only possible when the two attachment circuits of the VPWS are of the same service type (OC192, 10GBASE-R, ODU2, etc) and are using the same PLE payload type and payload size. This can be ensured via manual configuration or via the mechanisms of a signaling protocol.¶
PLE related control protocol extensions to LDP [RFC8077] or EVPN-VPWS [RFC8214] are out of scope for this document.¶
Extensions for EVPN-VPWS are proposed in [I-D.draft-schmutzer-bess-bitstream-vpws-signalling] and for LDP in [I-D.draft-schmutzer-pals-ple-signaling].¶
After the VPWS is set up, the PSN-bound IWF does perform the following steps:¶
Packetize the data received from the CE is into PLE payloads, all of the same configured size¶
Add PLE control word and RTP header with sequence numbers, flags and timestamps properly set¶
Add the VPWS demultiplexer and PSN headers¶
Transmit the resulting packets over the PSN¶
Set L bit in the PLE control word whenever attachment circuit detects a fault¶
Set R bit in the PLE control word whenever the local CE-bound IWF is in packet loss state¶
The CE-bound IWF is responsible for removing the PSN and VPWS demultiplexing headers, PLE control word and RTP header from the received packet stream and sending the bit-stream out via the local attachment circuit.¶
A de-jitter buffer MUST be implemented where the PLE packets are stored upon arrival. The size of this buffer SHOULD be locally configurable to allow accommodation of specific PSN packet delay variation (PDV) expected.¶
The CE-bound IWF SHOULD use the sequence number in the control word to detect lost and misordered packets. It MAY use the sequence number in the RTP header for the same purposes. The CE-bound IWF MAY support re-ordering of packets received out of order. If the CE-bound IWF does not support re-ordering it MUST drop the misordered packets.¶
The payload of a lost or dropped packet MUST be replaced with equivalent amount of replacement data. The contents of the replacement data MAY be locally configurable. By default, all PLE implementations MUST support generation of "0xAA" as replacement data. The alternating sequence of 0s and 1s of the "0xAA" pattern does ensure clock synchronization is maintained and for 64B/66B code based services no invalid sync headers are generated. While sending out the replacement data, the IWF will apply a holdover mechanism to maintain the clock.¶
Whenever the VPWS is not operationally up, the CE-bound NSP function MUST inject the appropriate native downstream fault indication signal.¶
Whenever a VPWS comes up, the CE-bound IWF enters the intermediate state, will start receiving PLE packets and will store them in the jitter buffer. The CE-bound NSP function will continue to inject the appropriate native downstream fault indication signal until a pre-configured number of payload s stored in the jitter buffer.¶
After the pre-configured amount of payload is present in the jitter buffer the CE-bound IWF transitions to the normal operation state and the content of the jitter buffer is streamed out to the CE in accordance with the required clock. In this state the CE-bound IWF MUST perform egress clock recovery.¶
Considerations for choosing the pre-configured amount of payload required to be present for transitioning into the normal state: * Typically set to 50% of the de-jitter buffer size to equally allow compensating for increasing and decreasing delay * Choosing a compromise between the maximum amount of tolerable PDV and delay introduced to the emulated service¶
The recovered clock MUST comply with the jitter and wander requirements applicable to the type of attachment circuit, specified in:¶
Whenever the L bit is set in the PLE control word of a received PLE packet the CE-bound NSP function SHOULD inject the appropriate native downstream fault indication signal instead of streaming out the payload.¶
If the CE-bound IWF detects loss of consecutive packets for a pre-configured amount of time (default is 1 millisecond), it enters packet loss (PLOS) state and a corresponding defect is declared.¶
If the CE-bound IWF detects a packet loss ratio (PLR) above a configurable signal-degrade (SD) threshold for a configurable amount of consecutive 1-second intervals, it enters the degradation (DEG) state and a corresponding defect is declared. The SD-PLR threshold can be defined as percentage with the default being 15% or absolute packet count for finer granularity for higher rate interfaces. Possible values for consecutive intervals are 2..10 with the default 7.¶
While the PLOS defect is declared the CE-bound NSP function MUST inject the appropriate native downstream fault indication signal. If the emulated service does not have a appropriate maintenance signal defined, the CE-bound NSP function MAY disable its transmitter instead. Also the PSN-bound IWF SHOULD set the R bit in the PLE control word of every packet transmitted.¶
The CE-bound IWF does change from the PLOS to normal state after the pre-configured amount of payload has been received similarly to the transition from intermediate to normal state.¶
Whenever the R bit is set in the PLE control word of a received PLE packet the PLE performance monitoring statistics SHOULD get updated.¶
Attachment circuit performance monitoring SHOULD be provided by the NSP. The performance monitors are service specific, documented in related specifications and beyond the scope of this document.¶
The PLE IWF SHOULD provide functions to monitor the network performance to be inline with expectations of transport network operators.¶
The near-end performance monitors defined for PLE are as follows:¶
ES-PLE : PLE Errored Seconds¶
SES-PLE : PLE Severely Errored Seconds¶
UAS-PLE : PLE Unavailable Seconds¶
Each second with at least one packet lost or a PLOS/DEG defect SHALL be counted as ES-PLE. Each second with a PLR greater than 15% or a PLOS/DEG defect SHALL be counted as SES-PLE.¶
UAS-PLE SHALL be counted after a configurable number of consecutive SES-PLE have been observed, and no longer counted after a configurable number of consecutive seconds without SES-PLE have been observed. Default value for each is 10 seconds.¶
Once unavailability is detected, ES and SES counts SHALL be inhibited up to the point where the unavailability was started. Once unavailability is removed, ES and SES that occurred along the clearing period SHALL be added to the ES and SES counts.¶
A PLE far-end performance monitor is providing insight into the CE-bound IWF at the far end of the PSN. The statistics are based on the PLE-RDI indication carried in the PLE control word via the R bit.¶
The PLE VPWS performance monitors are derived from the definitions in accordance with [G.826]¶
Performance monitoring data MUST be provided by the management interface and SHOULD be provided by a YANG model. The YANG model specification is out of scope for this document.¶
Attachment circuit faults applicable to PLE are detected by the NSP, are service specific and are documented in relevant section of Section 4.¶
The two PLE faults, PLOS and DEG are detected by the IWF.¶
Faults MUST be time stamped as they are declared and cleared and fault related information MUST be provided by the management interface and SHOULD be provided by a YANG model. The YANG model specification is out of scope for this document.¶
The PSN carrying PLE VPWS may be subject to congestion. Congestion considerations for PWs are described in Section 6.5 of [RFC3985].¶
PLE VPWS represent inelastic constant bit-rate (CBR) flows that cannot respond to congestion in a TCP-friendly manner as described in [RFC2914] and are sensitive to jitter, packet loss and packets received out of order.¶
The PSN providing connectivity between PE devices of a PLE VPWS has to ensure low jitter and low loss. The exact mechanisms used are beyond the scope of this document and may evolve over time. Possible options, but not exhaustively, are a Diffserv-enabled [RFC2475] PSN with a per domain behavior [RFC3086] supporting Expedited Forwarding [RFC3246]. Traffic-engineered paths through the PSN with bandwidth reservation and admission control applied. Or capacity over-provisioning.¶
As PLE is leveraging VPWS as transport mechanism, the security considerations described [RFC3985] are applicable.¶
PLE does not enhance or detract from the security performance of the underlying PSN. It relies upon the PSN mechanisms for encryption, integrity, and authentication whenever required.¶
The PSN (MPLS or SRv6) is assumed to be trusted and secure. Attackers who manage to send spoofed packets into the PSN could easily disrupt the PLE service. This MUST be prevented by following best practices for the isolation of the PSN. These protections are described in the considerations in Section 3.4 of [RFC4381], Section 4.2 of [RFC5920] in Section 8 of [RFC8402] and Section 9.3 of [RFC9252].¶
PLE PWs share susceptibility to a number of pseudowire-layer attacks and will use whatever mechanisms for confidentiality, integrity, and authentication that are developed for general PWs. These methods are beyond the scope of this document.¶
Random initialization of sequence numbers, in both the control word and the RTP header, makes known-plaintext attacks more difficult.¶
Misconnection detection using the SSRC and/or PT field of the RTP header can increase the resilience to misconfiguration and some types of denial-of-service (DoS) attacks. Randomly chosen expected values do decrease the chance of a spoofing attack being successful.¶
A data plane attack may force PLE packets to be dropped, re-ordered or delayed beyond the limit of the CE-bound IWF's dejitter buffer leading to either degradation or service disruption. Considerations outlined in [RFC9055] are a good reference.¶
Clock synchronization leveraging PTP is sensitive to Packet Delay Variation (PDV) and vulnerable to various threads and attack vectors. Considerations outlined in [RFC7384] should be taken into account.¶
This document introduces a new value to be used in the next header field of an IPv6 header or any extension header indicating that the payload is a emulated bit-stream. IANA is requested to assign the following from the "Assigned Internet Protocol Numbers" registry [IANA-Proto].¶
Decimal | Keyword | Protocol | IPv6 Extension Header | Reference |
---|---|---|---|---|
TBA1 | BIT-EMU | Bit-stream Emulation | Y | this document |
This document introduces three new SRv6 Endpoint behaviors. IANA is requested to assign identifier values in the "SRv6 Endpoint Behaviors" sub-registry under "Segment Routing" registry [IANA-SRv6-End].¶
Value | Hex | Endpoint Behavior | Reference |
---|---|---|---|
158 | 0x009E | End.DX1 | this document |
159 | 0x009F | End.DX1 with NEXT-CSID | this document |
160 | 0x00A0 | End.DX1 with REPLACE-CSID | this document |
The authors would like to thank Alexander Vainshtein, Yaakov Stein, Erik van Veelen, Faisal Dada, Giles Heron, Luca Della Chiesa and Ashwin Gumaste for their early contributions, review, comments and suggestions.¶
Special thank you to¶
Carlos Pignataro and Nagendra Kumar Nainar for giving the authors new to IETF guidance on how to get started¶
Stewart Bryant for being our shepherd¶
Tal Mizahi, Joel Halpern, Christian Huitema, Tony Li, Tommy Pauly for their reviews and suggestions during last call¶
Andrew Malis and Gunter van de Velde for their guidance through the process¶