Encapsulation Methods for Transport of PPP/High-Level Data Link Control (HDLC) over MPLS Networks
Extracted elements (24)
Frame Relay Port mode uses a different PW type (0x000F) from HDLC (0x0006) even though they share the same encapsulation, because FR port mode provides many-to-one FR VC aggregation semantics whereas HDLC mode is a direct port transport.
The control word is needed to prevent ECMP path splitting: if the PPP protocol number begins with 0x4 or 0x6, ECMP implementations may mistake the payload for IPv4/IPv6, causing packets for a given PW to follow different paths and increasing out-of-order delivery or misrouting OAM packets.
The control word is optional because ECMP may not be present or active on a given MPLS network and strict packet sequencing may not be required. Early PPP/HDLC PW implementations were deployed without a control word, requiring backwards compatibility support.
A Frame Relay Port mode PW or HDLC PW does not process any frame relay status messages or alarms (Q.922, Q.933); HDLC flags are processed locally in the PE connected to the attachment circuit rather than transported across the PW.
PPP options that depend on media-specific framing will not operate correctly over a PPP PW: Frame Check Sequence (FCS) Alternatives, Address-and-Control-Field-Compression (ACFC), and Asynchronous-Control-Character-Map (ACCM) must not be negotiated.
PW LSP Interface MTU negotiation per RFC4447 is independent of PPP Maximum Receive Unit (MRU) advertisement. A PPP PDU exceeding the negotiated PW tunnel MTU will be discarded by the ingress router regardless of PPP MRU settings.
For PPP PWs, PPP negotiation status is transparent to the PW and MUST NOT be communicated to the remote MPLS PE. Physical AC status changes MUST be signaled via PW status notification per RFC4447.
Future implementations MUST be able to send and receive packets without the control word, to maintain backwards compatibility with early PPP/HDLC PW implementations that do not include a control word.
If a packet received on the attachment circuit exceeds the interface MTU subTLV value from RFC4447, it MUST be dropped. It is also RECOMMENDED that PPP devices be configured to not negotiate PPP MRUs larger than the AC MTU.
If QoS information is carried, it SHOULD be represented in the EXP field of the PW label. If more than one MPLS label is imposed by the ingress LSR, the EXP field of all higher labels MUST also carry the same value.
If the packet length (L2 payload plus CW length) is less than 64 bytes, the Length field MUST be set to the packet's length; otherwise the Length field MUST be set to zero. If padding was added in transit and the CW is used, the egress PE MUST remove padding before forwarding.
PPP/HDLC PWs cannot behave in a TCP-friendly manner and in the presence of services that reduce transmission rate will consume more than their fair share; they SHOULD be halted. PEs SHOULD monitor for congestion and when significant congestion is detected, the PW SHOULD be administratively disabled.
The egress PE MUST be aware of whether the ingress PE will send a control word over a specific PW, achieved either by configuration or by signaling as defined in RFC4447.
The ingress LSR PE1 MUST set the S bit of the PW label to 1 to denote that the PW label is at the bottom of the MPLS label stack.
The network MUST be configured with an MTU sufficient to transport the largest encapsulation packets. If RFC4623 fragmentation is not used and an encapsulated L2 PDU exceeds the PSN tunnel MTU, the PDU MUST be dropped by the ingress router.
The procedures in Section 4 of RFC4385 MUST be followed to process the sequence number field. The sequence number space is 16-bit unsigned circular; value 0 indicates an unsequenced packet.
The protocol-specific flag bits in the control word are not used for HDLC/PPP and MUST be set to 0 for transmitting and MUST be ignored upon receipt.
When the PE detects a status change in attachment circuit status (physical link failure or administrative disable), the PE MUST send the appropriate PW status notification message corresponding to the HDLC AC status, per RFC4447.
Frame Relay Port mode provides many-to-one mapping: all FR VCs carried over a FR UNI/NNI interface between a CE and PE are mapped into a single HDLC PW. PW type 0x000F is used for Frame Relay Port mode, distinct from HDLC type 0x0006.
HDLC mode transports the HDLC PDU in its entirety including HDLC address and control fields, but excluding HDLC flags and FCS. Bit/byte stuffing is undone before encapsulation. PW type 0x0006 is used for HDLC.
PPP mode transports PPP PDUs in their entirety including the protocol field (compressed or not), but excluding media-specific framing such as HDLC address/control fields and FCS. PW type 0x0007 is used for PPP.
The PPP and HDLC pseudowire type is subject to all general security considerations in RFC3985 and RFC4447. This document specifies only encapsulations; each protocol used to carry encapsulated packets across the MPLS network may have its own security issues not affected by these encapsulations.
The Control Word is 32 bits: first 4 bits set to 0 (CW indicator), next 4 bits protocol-specific flags (must be 0 for PPP/HDLC), 2 bits FRG field (per RFC4623), 6-bit Length field, and 16-bit Sequence Number. The Length field is set to the packet length (L2 payload + CW) if less than 64 bytes, otherwise zero.
The general encapsulation format for PPP/HDLC over MPLS pseudowires consists of four sequential components: PSN Transport Header, Pseudowire Header (MPLS label at bottom of stack), Control Word, and PPP/HDLC Service Payload.