[Docs] [txt|pdf] [Tracker] [WG] [Email] [Diff1] [Diff2] [Nits]
Versions: (draft-berger-mpls-hdr-comp-over-ppp)
00
Network Working Group Lou Berger
Internet Draft LabN Consulting, LLC
Expiration Date: January 2001
Jason Jeffords
Integral Access Inc.
July 2000
MPLS/IP Header Compression over PPP
draft-ietf-mpls-hdr-comp-over-ppp-00.txt
Status of this Memo
This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026. 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."
To view the current status of any Internet-Draft, please check the
"1id-abstracts.txt" listing contained in an Internet-Drafts Shadow
Directory, see http://www.ietf.org/shadow.html.
Abstract
This document describes an option for negotiating the use of MPLS and
IP header compression over the Point-to-Point Protocol [STD51]. It
defines extensions to the PPP Control Protocol for MPLS [LABELS]. It
is based on, and borrows heavily from, IP Header Compression over PPP
[RFC2509]. MPLS/IP header compression is defined in [CMPLS] and may
be applied to MPLS datagrams transporting IPv4 and IPv6 datagrams in
combination with TCP, UDP and RTP transport protocols.
Berger & Jeffords [Page 1]
Internet Draft draft-ietf-mpls-hdr-comp-over-ppp-00.txt July 2000
Changes from previous version:
o Changed name to draft-ietf-mpls-hdr-comp-over-ppp-00.txt.
o Added section on open issues.
o Some minor text cleanup.
1. Introduction
This document defines the operation of MPLS/IP header compression
over PPP. MPLS/IP header compression is defined in [CMPLS] and is
based on [RFC2507] and [RFC2508]. The compression of MPLS headers
with IP, IP/TCP and IP/UDP/RTP headers is supported. This document
will define the negotiation of MPLS/IP Header Compression related
options and the PPP data link layer protocol field values to be used
for datagrams with compressed headers. This document is essentially
a reversion of [RFC2509] that has been adapted to the support of MPLS
header compression.
To support MPLS/IP header compression over PPP, each end of the link
must agree on the use of compression and on the associated set of
configuration options. PPP supports the negotiation of link
parameters for network layer protocols via a family of network
control protocols, or NCPS. This document defines a configuration
option to be used with the PPP network control protocol for MPLS
defined in Section 4 of [LABELS]. The defined option is the first
option supported by the MPLS NCP.
MPLS/IP header compression [CMPLS] relies on the link layer
indicating the type of datagram carried in a link layer frame. This
document defines ten new types for the PPP data link layer protocol
field. Eight of these types have corresponding values defined in
[RFC2509] that support IP header compression. [CMPLS] allows these
values to be reused when supporting MPLS/IP header compression. The
values are not reused so that there is no ambiguity as to which types
of headers are being compressed.
If the perceived cost of the additional types is higher than the
value, particularly in debugging, of uniquely identifying the
compressed header types then the values defined in [RFC2509] will be
reused.
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.
Berger & Jeffords [Page 2]
Internet Draft draft-ietf-mpls-hdr-comp-over-ppp-00.txt July 2000
2. Configuration Option
This document specifies the MPLS-Compression-Protocol configuration
option. It is the first MPLS LCP configuration option. The format
of the MPLS-Compression-Protocol option and the RTP-Compression
suboption are the same as defined in [RFC2209]. A new suboption is
defined to support the negotiation of one MPLS specific compression
parameter.
2.1. Configuration Option Format
Only one MPLS-Compression-Protocol configuration option may be
negotiated. The negotiate option describes the capabilities of the
decompressor (receiving side) of the peer that sends the Config-Req.
Description
This NCP configuration option is used to negotiate parameters for
MPLS/IP Header Compression. The option format is summarized
below. The fields are transmitted from left to right.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | MPLS/IP-Compression-Protocol |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| TCP_SPACE | NON_TCP_SPACE |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| F_MAX_PERIOD | F_MAX_TIME |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| MAX_HEADER | suboptions...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type
TBD
Length
>= 14
The length may be increased if the presence of additional
parameters is indicated by additional suboptions.
MPLS/IP-Compression-Protocol
The MPLS/IP-Compression-Protocol field is two octets and indicates
the compression protocol desired. Values for this field are
Berger & Jeffords [Page 3]
Internet Draft draft-ietf-mpls-hdr-comp-over-ppp-00.txt July 2000
always the same as the PPP Data Link Layer Protocol field values
for that same compression protocol.
Current values are assigned as follows:
Value (in hex) Protocol
TBD MPLS/IP Header Compression
TCP_SPACE
The TCP_SPACE field is two octets and indicates the maximum value
of a context identifier in the space of context identifiers
allocated for TCP.
Suggested value: as specified in [RFC2509] (15)
TCP_SPACE must be at least 0 and at most 255 (The value 0 implies
having one context).
NON_TCP_SPACE
The NON_TCP_SPACE field is two octets and indicates the maximum
value of a context identifier in the space of context identifiers
allocated for non-TCP. These context identifiers are carried in
COMPRESSED_NON_TCP, COMPRESSED_UDP and COMPRESSED_RTP packet
headers.
Suggested value: as specified in [RFC2509] (15)
NON_TCP_SPACE must be at least 0 and at most 65535 (The value 0
implies having one context).
F_MAX_PERIOD
Maximum interval between full headers. No more than F_MAX_PERIOD
COMPRESSED_NON_TCP headers may be sent between FULL_HEADER
headers.
Suggested value: as specified in [RFC2509] (256)
A value of zero implies infinity, i.e. there is no limit to the
number of consecutive COMPRESSED_NON_TCP headers.
Berger & Jeffords [Page 4]
Internet Draft draft-ietf-mpls-hdr-comp-over-ppp-00.txt July 2000
F_MAX_TIME
Maximum time interval between full headers. COMPRESSED_NON_TCP
headers may not be sent more than F_MAX_TIME seconds after sending
the last FULL_HEADER header.
Suggested value: as specified in [RFC2509] (5 seconds)
A value of zero implies infinity.
MAX_HEADER
The largest header size, excluding MPLS headers, in octets that
may be compressed.
Suggested value: as specified in [RFC2509] (168 octets)
The value of MAX_HEADER should be large enough so that at least
the outer network layer header can be compressed. To increase
compression efficiency MAX_HEADER should be set to a value large
enough to cover common combinations of network and transport layer
headers.
Note that this parameter doesn't include the MPLS headers. To get
the total bytes that may be compressed, the value from this
parameter must be combined with the value of MAX_LABELS, defined
in Section 2.3, multiplied by the size of an MPLS label entry (4
octets.)
suboptions
The suboptions field consists of zero or more suboptions. Each
suboption consists of a type field, a length field and zero or
more parameter octets, as defined by the suboption type. The
value of the length field indicates the length of the suboption in
its entirety, including the lengths of the type and length fields.
0 1 2
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Parameters...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Berger & Jeffords [Page 5]
Internet Draft draft-ietf-mpls-hdr-comp-over-ppp-00.txt July 2000
2.2. RTP-Compression Suboption
The RTP-Compression suboption is included in the NCP MPLS-
Compression-Protocol option if MPLS/IP/UDP/RTP compression is to be
enabled. This suboption is identical to the RTP-Compression
suboption in [RFC2209].
After successful negotiation of parameters for MPLS/IP Header
Compression the use of Protocol Identifiers FULL_MPLS_HEADER,
COMPRESSED_MPLS, COMPRESSED_TCP, COMPRESSED_TCP_NODELTA and
COMPRESSED_NON_TCP is enabled, regardless of the presence of an RTP-
Compression suboption.
Description
Enable use of Protocol Identifiers COMPRESSED_RTP, COMPRESSED_UDP
and CONTEXT_STATE as specified in [CMPLS] and [RFC2508].
0 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type
1
Length
2
2.3. Stack-Depth Suboption
The stack-depth suboption is included in the MPLS-Compression-
Protocol option to negotiate the maximum number of MPLS label stack
entries that can be processed by the decompressor. If the suboptions
is not present, the default specified in [CMPLS] must be used.
(Currently 1.)
Berger & Jeffords [Page 6]
Internet Draft draft-ietf-mpls-hdr-comp-over-ppp-00.txt July 2000
Description
Used to negotiate the maximum number of MPLS label stack entries
that may be compressed.
0 1 2
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | MAX_LABELS |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type
2
Length
3
MAX_LABELS
Indicates the maximum number of label stack entries (MPLS
headers) that may be compressed.
3. Demultiplexing of Datagrams
A total of ten header format values are defined to support MPLS/IP
header compression over PPP. Three of these values are defined to
support the new formats defined in MPLS/IP header compression
[CMPLS]. The remaining were previously defined in [RFC2209] to
support IP and IP/UDP/RTP compression. While these header format
values could be reused used to support MPLS/IP header compression,
they are not. They are not reused so that there is no ambiguity as
to which types of headers are being compressed. Note that the
FULL_HEADER type define in [RFC2209] is not used by [CMPLS].
The term "M_" is prepended to the defined values to distinguish them
from [RFC2209] values. The "M_" should be ignored when mapping the
types to the types used in [CMPLS].
M_FULL_MPLS_HEADER
The frame contains a datagram with a compressed header with the
format specified in [CMPLS].
Value: TBD
M_COMPRESSED_MPLS_8
The frame contains a datagram with a compressed header with the
format specified in [CMPLS], using 8-bit CIDs.
Value: TBD
Berger & Jeffords [Page 7]
Internet Draft draft-ietf-mpls-hdr-comp-over-ppp-00.txt July 2000
M_COMPRESSED_MPLS_16
The frame contains a datagram with a compressed header with the
format specified in [CMPLS], using 16-bit CIDs.
Value: TBD
M_COMPRESSED_TCP
The frame contains a datagram with a compressed header with the
format specified in [RFC2507] and as modified by [CMPLS].
Value: TBD
M_COMPRESSED_TCP_NODELTA
The frame contains a datagram with a compressed header with the
format specified in [RFC2507] and as modified by [CMPLS].
Value: TBD
M_COMPRESSED_NON_TCP
The frame contains a datagram with a compressed header with the
format specified in [RFC2507] and as modified by [CMPLS].
Value: TBD
M_COMPRESSED_RTP_8
The frame contains a datagram with a compressed header with the
format specified in [RFC2508] and as modified by [CMPLS], using
8-bit CIDs.
Value: TBD
M_COMPRESSED_RTP_16
The frame contains a datagram with a compressed header with the
format specified in [RFC2508] and as modified by [CMPLS], using
16-bit CIDs.
Value: TBD
M_COMPRESSED_UDP_8
The frame contains a datagram with a compressed header with the
format specified in [RFC2508] and as modified by [CMPLS], using
8-bit CIDs.
Value: TBD
M_COMPRESSED_UDP_16
The frame contains a datagram with a compressed header with the
format specified in [RFC2508] and as modified by [CMPLS], using
16-bit CIDs.
Value: TBD
The value for CONTEXT_STATE defined in [RFC2509], 2065 (hex), is
reused to support MPLS/IP header compression.
Berger & Jeffords [Page 8]
Internet Draft draft-ietf-mpls-hdr-comp-over-ppp-00.txt July 2000
4. Security Considerations
No new security issues are raised by this document. Please see
[RFC2509] for a discussion of existing considerations associated with
the negotiation of header compression. See [RFC2507] and [RFC2508]
for a detailed discussion of existing considerations associated with
header compression.
5. IANA Considerations
TBD
6. Acknowledgments
This document steals heavily from the text and ideas of [RFC2509].
7. Open/Potential Issues
This draft uses format values new values for all types used in MPLS
header compression. Most of these values could be shared with
standard IP header compression, but are not in order to allow for
unambiguous decoding of frames, primarily for debugging purposes. If
it is deemed that this isn't sufficient reason to allocate these new
values, the document will need to be updated to share the [RFC2209]
values.
Berger & Jeffords [Page 9]
Internet Draft draft-ietf-mpls-hdr-comp-over-ppp-00.txt July 2000
8. References
[CMPLS] Berger, L., Jeffords, J., "MPLS/IP Header Compression",
draft-berger-mpls-hdr-comp-00.txt, January 2000.
[LABELS] Rosen, Rekhter, Tappan, Farinacci, Fedorkow, Li, Conta,
"MPLS Label Stack Encoding",
draft-ietf-mpls-label-encaps-07.txt, September 1999.
[RFC1144] Jacobson, V., "TCP/IP Compression for Low-Speed Serial
Links", RFC 1144, February 1990.
[RFC2507] Degermark, M., Nordgren, B. and S. Pink, "IP Header
Compression", RFC 2507, February 1999.
[RFC2508] Casner, S., Jacobson, V., "Compressing IP/UDP/RTP
Headers for Low-Speed Serial Link", RFC 2508, February
1999
[RFC2509] Engan, M., Casner, S., Bormann, C., "IP Header Compression
over PPP", RFC 2509, February 1999
[STD51] Simpson, W., "The Point-to-Point Protocol (PPP)", STD 51,
RFC 1661, July 1994.
9. Authors' Addresses
Lou Berger Jason Jeffords
LabN Consulting, LLC Integral Access Inc.
Voice: +1 301 468 9228 6 Omni Way
Email: lberger@labn.net Chelmsford, MA 01824
Voice: +1 978 256 8833
Email: jjeffords@integralaccess.com
Berger & Jeffords [Page 10]
Html markup produced by rfcmarkup 1.129d, available from
https://tools.ietf.org/tools/rfcmarkup/