Internet Draft Eric C. Rosen
Expiration Date: November 2005 Cisco Systems, Inc.
Giles Heron
Andrew G. Malis
Tellabs
May 2005
Encapsulation Methods for Transport of PPP/HDLC Over MPLS Networks
draft-ietf-pwe3-hdlc-ppp-encap-mpls-05.txt
Status of this Memo
By submitting this Internet-Draft, I certify that any applicable
patent or other IPR claims of which I am aware have been disclosed,
or will be disclosed, and any of which I become aware will be
disclosed, in accordance with RFC 3668.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that other
groups may also distribute working documents as Internet-Drafts.
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."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/1id-abstracts.html
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
Abstract
A Pseudowire (PW) can be used to carry PPP, or HDLC Protocol Data
Units over an MPLS network without terminating the PPP/HDLC protocol.
This enables service providers to offer "emulated" HDLC, or PPP link
services over existing MPLS networks. This document specifies the
Martini, et al. [Page 1]
Internet Draft draft-ietf-pwe3-hdlc-ppp-encap-mpls-05.txt May 2005
encapsulation of PPP/HDLC PDUs within a pseudo wire.
Table of Contents
1 Specification of Requirements .......................... 2
2 Introduction ........................................... 2
3 General encapsulation method ........................... 4
3.1 The Control Word ....................................... 4
3.1.1 Setting the sequence number ............................ 5
3.1.2 Processing the sequence number ......................... 5
3.2 MTU Requirements ....................................... 6
4 Protocol-Specific Details .............................. 6
4.1 HDLC ................................................... 6
4.2 Frame Relay Port Mode .................................. 7
4.3 PPP .................................................... 9
5 Using an MPLS Label as the Demultiplexer Field ......... 9
5.1 MPLS Shim EXP Bit Values ............................... 10
5.2 MPLS Shim S Bit Value .................................. 10
6 IANA Considerations .................................... 10
7 Security Considerations ................................ 10
8 Intellectual Property Statement ........................ 10
9 Full Copyright Statement ............................... 11
10 Normative References ................................... 11
11 Informative References ................................. 12
12 Author Information ..................................... 12
13 Contributing Author Information ........................ 13
1. Specification of Requirements
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119
2. Introduction
A PPP/HDLC Pseudowire (PW) allows PPP/HDLC Protocol Data Units (PDUs)
to be carried over an MPLS network. In addressing the issues
associated with carrying a PPP/HDLC PDU over an MPLS network, this
document assumes that a Pseudowire (PW) has been set up by some means
outside the scope of this document. This may be via manual
configuration, or using the signaling protocol such as that defined
in [CONTROL].
Martini, et al. [Page 2]
Internet Draft draft-ietf-pwe3-hdlc-ppp-encap-mpls-05.txt May 2005
The following figure describe the reference models which are derived
from [ARCH] to support the HDLC/PPP PW emulated services.
|<-------------- Emulated Service ---------------->|
| |
| |<------- Pseudo Wire ------>| |
| | | |
| | |<-- PSN Tunnel -->| | |
| V V V V |
V AC +----+ +----+ AC V
+-----+ | | PE1|==================| PE2| | +-----+
| |----------|............PW1.............|----------| |
| CE1 | | | | | | | | CE2 |
| |----------|............PW2.............|----------| |
+-----+ ^ | | |==================| | | ^ +-----+
^ | +----+ +----+ | | ^
| | Provider Edge 1 Provider Edge 2 | |
| | | |
Customer | | Customer
Edge 1 | | Edge 2
| |
| |
native HDLC/PPP service native HDLC/PPP service
Figure 1: PWE3 HDLC/PPP Interface Reference Configuration
This document specifies the emulated PW encapsulation for PPP, and
HDLC, however QoS related issues are not discussed in this document.
Although different layer 2 protocols require different information to
be carried in this encapsulation, an attempt has been made to make
the encapsulation as common as possible for all layer 2 protocols.
Other layer 2 protocols are described in separate documents. [ATM]
[ETHER] [FRAME] For the purpose of the discussion in this document
PE1 will be defined as the ingress router, and PE2 as the egress
router. A layer 2 PDU will be received at PE1, encapsulated at PE1,
transported, decapsulated at PE2, and transmitted out on the
attachment circuit of PE2.
Martini, et al. [Page 3]
Internet Draft draft-ietf-pwe3-hdlc-ppp-encap-mpls-05.txt May 2005
3. General encapsulation method
3.1. The Control Word
There are three requirements that may need to be satisfied when
transporting layer 2 protocols over an MPLS backbone:
-i. Sequentiality may need to be preserved.
-ii. Small packets may need to be padded in order to be
transmitted on a medium where the minimum transport unit is
larger than the actual packet size.
-iii. Control bits carried in the header of the layer 2 frame may
need to be transported.
When carrying HDLC/PPP over an MPLS backbone sequentiality may need
to be preserved. The OPTIONAL control word defined here addresses
this requirement. Implementations MUST support sending no control
word, and MAY support sending a control word.
In all cases the egress router must be aware of whether the ingress
router will send a control word over a specific virtual circuit.
This may be achieved by configuration of the routers, or by
signaling, for example as defined in [CONTROL]. The control word is
defined as follows:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0 0 0 0|0 0 0 0|Res| Length | Sequence Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 2: MPLS PWE3 Control Word
In the above diagram the first 4 bits are set to 0 in indicate PW
data [ARCH].
The next 4 bits provide space for carrying protocol specific flags.
These are not used for HDLC/PPP and they They MUST be set to 0 when
transmitting, and MUST be ignored upon receipt.
The next 6 bits provide a length field, which is used as follows: If
the packet's length (defined as the length of the layer 2 payload
plus the length of the control word) 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. The value of the length field, if not
zero, is used to remove any padding that may have been added by the
MPLS network. When the packet reaches the service provider's egress
router any padding MUST be removed before forwarding the packet.
Martini, et al. [Page 4]
Internet Draft draft-ietf-pwe3-hdlc-ppp-encap-mpls-05.txt May 2005
The next 16 bits provide a sequence number that can be used to
guarantee ordered packet delivery. The processing of the sequence
number field is OPTIONAL.
The sequence number space is a 16 bit, unsigned circular space. The
sequence number value 0 is used to indicate an unsequenced packet.
3.1.1. Setting the sequence number
For a given PW, and a pair of routers PE1 and PE2, if PE1 supports
frame sequencing then the following procedures should be used:
- the initial frame transmitted on the PW MUST use sequence number
1
- subsequent frames MUST increment the sequence number by one for
each frame
- when the transmit sequence number reaches the maximum 16 bit
value (65535) the sequence number MUST wrap to 1
If the transmitting router PE1 does not support sequence number
processing, then the sequence number field in the control word MUST
be set to 0.
3.1.2. Processing the sequence number
If a router PE2 supports receive sequence number processing, then the
following procedures should be used:
When a PW is initially set up, the "expected sequence number"
associated with it MUST be initialized to 1.
When a frame is received on that PW, the sequence number should be
processed as follows:
- if the sequence number on the frame is 0, then the frame passes
the sequence number check
- otherwise if the frame sequence number >= the expected sequence
number and the frame sequence number - the expected sequence
number < 32768, then the frame is in order.
- otherwise if the frame sequence number < the expected sequence
number and the expected sequence number - the frame sequence
number >= 32768, then the frame is in order.
Martini, et al. [Page 5]
Internet Draft draft-ietf-pwe3-hdlc-ppp-encap-mpls-05.txt May 2005
- otherwise the frame is out of order.
If a packet is in order then, it can be delivered immediately. If the
packet is in order, then the expected sequence number MUST be set
using the algorithm:
expected_sequence_number := frame_sequence_number + 1 mod 2**16
if (expected_sequence_number = 0) then expected_sequence_number := 1;
Packets which are received out of order MAY be dropped or reordered
at the discretion of the receiver.
A simple extension of the above processing algorithm can be used to
detect lost packets.
If a PE router negotiated not to use receive sequence number
processing, and it received a non zero sequence number, then it
SHOULD send a PW status message indicating a receive fault, and
disable the PW.
3.2. MTU Requirements
The network MUST be configured with an MTU that is sufficient to
transport the largest encapsulation frames. When MPLS is used as the
tunneling protocol, for example, this is likely to be 12 or more
bytes greater than the largest frame size. The methodology described
in [FRAG] MAY be used to fragment encapsulated frames that exeeed the
PSN MTU. However if [FRAG] is not used then if the ingress router
determines that an encapsulated layer 2 PDU exceeds the MTU of the
PSN tunnel through which it must be sent, the PDU MUST be dropped.
If a packet is received, on the attachment circuit, that exceeds the
interface MTU paramater value [CONTROL] , it MUST be dropped.
4. Protocol-Specific Details
4.1. HDLC
HDLC mode provides port to port transport of HDLC encapsulated
traffic. The HDLC PDU is transported in its entirety, including the
HDLC address, control and protocol fields, but excluding HDLC flags
and the FCS. Bit/Byte stuffing is undone. The control word is
OPTIONAL. If the control word is used then the flag bits in the
control word are not used, and MUST be set to 0 when transmitting,
and MUST be ignored upon receipt.
Martini, et al. [Page 6]
Internet Draft draft-ietf-pwe3-hdlc-ppp-encap-mpls-05.txt May 2005
When the PE detect a status change in the attachment circuit status,
such as an attachment circuit physical link failure, or the AC is
administratively disabled, the PE MUST send the appropriate PW status
notification message that corresponds to the HDLC AC status. In a
similar manner, the local PW status MUST also be refleceted in a
respective PW status notification message as described in [CONTROL].
The HDLC mode is suitable for port to port transport of Frame Relay
UNI or NNI traffic. It must be noted, however, that this mode is
transparent to the FECN, BECN and DE bits. Since all packets are
passed in a largely transparent manner over the HDLC PW, any protocol
which has HDLC-like framing may utilize the HDLC PW mode, including
PPP, Frame-Relay, X.25, etc. Exceptions include cases where direct
access to the HDLC interface is required, or modes which operate on
the flags, FCS, or bit/byte unstuffing that is performed before
sending the HDLC PDU over the PW. An example of this is PPP ACCM
negotiation.
The PW of type 0x0006 "HDLC" will be used to transport HDLC frames
while PW of type 0x0007 "PPP" will be used to transport PPP frames.
The IANA allocation registry of "Pseudowire Type" is defined in the
iana allocation document for PWs [IANA] along with initial allocated
values.
4.2. Frame Relay Port Mode
Figure 3 illustrates the concept of frame relay port mode or many-
to-one mapping which is an OPTIONAL capability.
Figure 3 (a) shows two frame relay devices physically connected with
a frame relay UNI or NNI. Between their two ports P1 and P2, n frame
relay VCs are configured.
Figure 3 (b) shows the replacement of the physical frame relay
interface with a pair of PEs and a PW between them. The interface
between a FR device and a PE is either a FR UNI or NNI. The set of n
FR VCs between the two FR ports P1 and P2 which are controlled by the
same signaling channel using DLCI=0, are mapped into one PW. Hence
with port mode we have many-to-one mapping between FR VCs and a PW.
Martini, et al. [Page 7]
Internet Draft draft-ietf-pwe3-hdlc-ppp-encap-mpls-05.txt May 2005
+------+ +-------+
| FR | | FR |
|device| FR UNI/NNI | device|
| [P1]------------------------[P2] |
| | carrying n FR VCs | |
+------+ | +-------+
|
[Pn]: A port |
| (a) FR interface between two
| FR devices
|
V
|<---------------------------->|
| |
+----+ +----+
+------+ | | One PW | | +------+
| | | |==================| | | |
| FR | FR | PE1| carrying n FR VCs| PE2| FR | FR |
|device|----------| | | |---------|device|
| CE1 | UNI/NNI | | | | UNI/NNI | CE2 |
+------+ +----+ +----+ +------+
| |
|<----------------------------------------------->|
n FR VCs
(b) Pseudo-wires replacing the FR interface
Figure 3 - Concept of frame relay port-to-port mode
FR VCs are not visible individually to a PE; there is no
configuration of individual FR VC in a PE. A PE processes the set of
FR VCs assigned to a port as an aggregate.
FR port mode provides transport between two PEs of a complete FR
frame using the same encapsulation as described above for HDLC mode.
Althought frame relay port mode shares the same encapsulation as HDLC
mode, a different PW type is allocated in [IANA]: 0x000F Frame-Relay
Port mode.
All other aspects of this PW type are identical to the HDLC PW
encapsulation described above.
Martini, et al. [Page 8]
Internet Draft draft-ietf-pwe3-hdlc-ppp-encap-mpls-05.txt May 2005
4.3. PPP
PPP mode provides point to point transport of PPP encapsulated
traffic, as specified in [PPP]. The PPP PDU is transported in its
entirety, including the protocol field (whether compressed using PFC
or not), but excluding any media-specific framing information, such
as HDLC address and control fields or FCS. Since media-specific
framing is not carried the following options will not operate
correctly if the PPP peers attempt to negotiate them:
- Frame Check Sequence (FCS) Alternatives
- Address-and-Control-Field-Compression (ACFC)
- Asynchronous-Control-Character-Map (ACCM)
Note also that PW LSP Interface MTU negotiation as specified in
[CONTROL] is not affected by PPP MRU advertisement. Thus if a PPP
peer sends a PDU with a length in excess of that negotiated for the
PW tunnel that PDU will be discarded by the ingress router.
The control word is OPTIONAL. If the control word is used then the
flag bits in the control word are not used, and MUST be set to 0 when
transmitting, and MUST be ignored upon receipt.
When the PE detect a status change in the attachment circuit status,
such as an attachment circuit physical link failure, or the AC is
administratively disabled, the PE MUST send the appropriate PW status
notification message that corresponds to the HDLC AC status. It
should be noted that PPP negotiation status is transparent to the PW,
and MUST not be communicated to the remote MPLS PE. In a similar
manner, the local PW status MUST also be reflected in a respective PW
status notification message as described in [CONTROL].
5. Using an MPLS Label as the Demultiplexer Field
To use an MPLS label as the demultiplexer field, a 32-bit label stack
entry [MPLSENCAP] is simply prepended to the emulated PW
encapsulation, and hence will appear as the bottom label of an MPLS
label stack. This label may be called the "PW label". The particular
emulated PW identified by a particular label value must be agreed by
the ingress and egress LSRs, either by signaling (e.g, via the
methods of [CONTROL]) or by configuration. Other fields of the label
stack entry are set as follows.
Martini, et al. [Page 9]
Internet Draft draft-ietf-pwe3-hdlc-ppp-encap-mpls-05.txt May 2005
5.1. MPLS Shim EXP Bit Values
If it is desired to carry Quality of Service information, the Quality
of Service information 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 any labels higher in the stack MUST also carry the
same value.
5.2. MPLS Shim S Bit Value
The ingress LSR, PE1, MUST set the S bit of the PW label to a value
of 1 to denote that the PW label is at the bottom of the stack.
6. IANA Considerations
This document has no IANA Actions.
7. Security Considerations
The ethernet pseudowire type is subject to all of the general
security considerations discussed in [ARCH][CONTROL]. This document
specifies only encapsulations, and not the protocols that may be used
to carry the encapsulated packets across the MPLS network. Each such
protocol may have its own set of security issues, but those issues
are not affected by the encapsulations specified herein.
8. Intellectual Property Statement
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; nor does it 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.
Martini, et al. [Page 10]
Internet Draft draft-ietf-pwe3-hdlc-ppp-encap-mpls-05.txt May 2005
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.
By submitting this Internet-Draft, I certify that any applicable
patent or other IPR claims of which I am aware have been disclosed,
or will be disclosed, and any of which I become aware will be
disclosed, in accordance with RFC 3668.
9. Full Copyright Statement
Copyright (C) The Internet Society (2004). 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.
10. Normative References
[CONTROL] "Pseudowire Setup and Maintenance using LDP",
Martini, L., et al., draft-ietf-pwe3-control-protocol-16.txt,
( work in progress ), April 2005
[MPLSENCAP] "MPLS Label Stack Encoding", E. Rosen, Y. Rekhter, D.
Tappan, G. Fedorkow, D. Farinacci, T. Li, A. Conta. RFC3032
[IANA] "IANA Allocations for pseudo Wire Edge to Edge Emulation (PWE3)"
Martini,Townsley, draft-ietf-pwe3-iana-allocation-09.txt (work in
progress), April 2004
Martini, et al. [Page 11]
Internet Draft draft-ietf-pwe3-hdlc-ppp-encap-mpls-05.txt May 2005
11. Informative References
[PPP] "The Point-to-Point Protocol (PPP)", RFC 1661.
[ATM] "Encapsulation Methods for Transport of ATM Cells/Frame Over
MPLS Networks", draft-ietf-pwe3-atm-encap-02.txt
( work in progress )
[ETHER] "Encapsulation Methods for Transport of Ethernet Frames Over
MPLS Networks", draft-ietf-pwe3-ethernet-encap-06.txt.
( work in progress )
[FRAME] "Frame Relay over Pseudo-Wires",
draft-ietf-pwe3-frame-relay-01.txt. (work in progress )
[ARCH] "PWE3 Architecture" Bryant, et al.,RFC3985
[FRAG] "PWE3 Fragmentation and Reassembly", A. Malis,W. M. Townsley,
draft-ietf-pwe3-fragmentation-08.txt ( work in progress )
February 2005
12. Author Information
Luca Martini
Cisco Systems, Inc.
9155 East Nichols Avenue, Suite 400
Englewood, CO, 80112
e-mail: lmartini@cisco.com
Giles Heron
Tellabs
Abbey Place
24-28 Easton Street
High Wycombe
Bucks
HP11 1NT
UK
e-mail: giles.heron@tellabs.com
Eric C. Rosen
Cisco Systems, Inc.
1414 Massachusetts Avenue
Boxborough, MA 01719
E-mail: erosen@cisco.com
Martini, et al. [Page 12]
Internet Draft draft-ietf-pwe3-hdlc-ppp-encap-mpls-05.txt May 2005
Andrew G. Malis
Tellabs
90 Rio Robles Dr.
San Jose, CA 95134
e-mail: Andy.Malis@tellabs.com
13. Contributing Author Information
Yeongil Seo
463-1 KT Technology Lab
Jeonmin-dong Yusung-gu
Daegeon, Korea
email: syi1@kt.co.kr
Toby Smith
Laurel Networks, Inc.
Omega Corporate Center
1300 Omega Drive
Pittsburgh, PA 15205
e-mail: tob@laurelnetworks.com
Martini, et al. [Page 13]