summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc4901.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/rfc/rfc4901.txt')
-rw-r--r--doc/rfc/rfc4901.txt1907
1 files changed, 1907 insertions, 0 deletions
diff --git a/doc/rfc/rfc4901.txt b/doc/rfc/rfc4901.txt
new file mode 100644
index 0000000..11eb908
--- /dev/null
+++ b/doc/rfc/rfc4901.txt
@@ -0,0 +1,1907 @@
+
+
+
+
+
+
+Network Working Group J. Ash, Ed.
+Request for Comments: 4901 J. Hand, Ed.
+Category: Standards Track AT&T
+ A. Malis, Ed.
+ Verizon Communications
+ June 2007
+
+
+ Protocol Extensions for Header Compression over MPLS
+
+Status of This Memo
+
+ This document specifies an Internet standards track protocol for the
+ Internet community, and requests discussion and suggestions for
+ improvements. Please refer to the current edition of the "Internet
+ Official Protocol Standards" (STD 1) for the standardization state
+ and status of this protocol. Distribution of this memo is unlimited.
+
+Copyright Notice
+
+ Copyright (C) The IETF Trust (2007).
+
+Abstract
+
+ This specification defines how to use Multi-Protocol Label Switching
+ (MPLS) to route Header-Compressed (HC) packets over an MPLS label
+ switched path. HC can significantly reduce packet-header overhead
+ and, in combination with MPLS, can also increases bandwidth
+ efficiency and processing scalability in terms of the maximum number
+ of simultaneous compressed flows that use HC at each router). Here
+ we define how MPLS pseudowires are used to transport the HC context
+ and control messages between the ingress and egress MPLS label
+ switching routers. This is defined for a specific set of existing HC
+ mechanisms that might be used, for example, to support voice over IP.
+ This specification also describes extension mechanisms to allow
+ support for future, as yet to be defined, HC protocols. In this
+ specification, each HC protocol operates independently over a single
+ pseudowire instance, very much as it would over a single point-to-
+ point link.
+
+
+
+
+
+
+
+
+
+
+
+
+Ash, et al. Standards Track [Page 1]
+
+RFC 4901 Header Compression over MPLS Protocol June 2007
+
+
+Table of Contents
+
+ 1. Introduction ....................................................3
+ 2. Terminology .....................................................3
+ 3. Header Compression over MPLS Protocol Overview ..................6
+ 4. Protocol Specifications ........................................11
+ 4.1. MPLS Pseudowire Setup and Signaling .......................13
+ 4.2. Header Compression Scheme Setup, Negotiation, and
+ Signaling .................................................14
+ 4.2.1. Configuration Option Format [RFC3544] ..............15
+ 4.2.2. RTP-Compression Suboption [RFC3544] ................17
+ 4.2.3. Enhanced RTP-Compression Suboption [RFC3544] .......18
+ 4.2.4. Negotiating Header Compression for Only TCP
+ or Only Non-TCP Packets [RFC3544] ..................19
+ 4.2.5. Configuration Option Format [RFC3241] ..............20
+ 4.2.6. PROFILES Suboption [RFC3241] .......................21
+ 4.3. Encapsulation of Header Compressed Packets ................22
+ 4.4. Packet Reordering .........................................23
+ 5. HC Pseudowire Setup Example ....................................24
+ 6. Security Considerations ........................................29
+ 7. Acknowledgements ...............................................29
+ 8. IANA Considerations ............................................29
+ 9. Normative References ...........................................30
+ 10. Informative References ........................................31
+ 11. Contributors ..................................................33
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Ash, et al. Standards Track [Page 2]
+
+RFC 4901 Header Compression over MPLS Protocol June 2007
+
+
+1. Introduction
+
+ Voice over IP (VoIP) typically uses the encapsulation
+ voice/RTP/UDP/IP. When MPLS labels [RFC3031] are added, this becomes
+ voice/RTP/UDP/IP/MPLS-labels. MPLS VPNs (e.g., [RFC4364]) use label
+ stacking, and in the simplest case of IPv4 the total packet header is
+ at least 48 bytes, while the voice payload is often no more than 30
+ bytes, for example. When IPv6 is used, the relative size of the
+ header in comparison to the payload is even greater. The interest in
+ header compression (HC) is to exploit the possibility of
+ significantly reducing the overhead through various compression
+ mechanisms, such as with enhanced compressed RTP (ECRTP) [RFC3545]
+ and robust header compression (ROHC) [RFC3095, RFC3095bis, RFC4815],
+ and also to increase scalability of HC. MPLS is used to route HC
+ packets over an MPLS label switched path (LSP) without
+ compression/decompression cycles at each router. Such an HC over
+ MPLS capability can increase bandwidth efficiency as well as the
+ processing scalability of the maximum number of simultaneous
+ compressed flows that use HC at each router. Goals and requirements
+ for HC over MPLS are discussed in [RFC4247]. The solution using MPLS
+ pseudowire (PW) technology put forth in this document has been
+ designed to address these goals and requirements.
+
+2. Terminology
+
+ 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 [RFC2119].
+
+ Context: the state associated with a flow subject to IP header
+ compression. While the exact nature of the context is specific to a
+ particular HC protocol (CRTP, ECRTP, ROHC, etc.), this state
+ typically includes:
+
+ - the values of all of the fields in all of the headers (IP, UDP,
+ TCP, RTP, Encapsulating Security Payload (ESP), etc.) that the
+ particular header compression protocol operates on for the last
+ packet of the flow sent (by the compressor) or received (by the
+ decompressor).
+
+ - the change in the value of some of the fields in the IP, UDP,
+ TCP, etc. headers between the last two consecutive sent packets
+ (compressor) or received packets (decompressor) of the flow.
+ Some of the fields in the header change by a constant amount
+ between subsequent packets in the flow most of the time. Saving
+ the changes in these fields from packet to packet allows
+
+
+
+
+
+Ash, et al. Standards Track [Page 3]
+
+RFC 4901 Header Compression over MPLS Protocol June 2007
+
+
+ verification that a constant rate of change is taking place, and
+ to take appropriate action when a deviation from the normal
+ changes are encountered.
+
+ For most HC protocols, a copy of the context of each compressed flow
+ is maintained at both the compressor and the decompressor.
+
+ compressed Real-time Transport Protocol (CRTP): a particular HC
+ protocol described in [RFC2508].
+
+ Context ID (CID): a small number, typically 8 or 16 bits, used to
+ identify a particular flow, and the context associated with the flow.
+ Most HC protocols in essence work by sending the CID across the link
+ in place of the full header, along with any unexpected changes in the
+ values in the various fields of the headers.
+
+ Enhanced Compressed Real-time Protocol (ECRTP): a particular HC
+ protocol described in [RFC3545].
+
+ Forwarding Equivalence Class (FEC): a group of packets that are
+ forwarded in the same manner (e.g., over the same LSP, with the same
+ forwarding treatment)
+
+ Header Compression scheme (HC scheme): a particular method of
+ performing HC and its associated protocol. Multiple methods of HC
+ have been defined, including Robust Header Compression (ROHC
+ [RFC3095, RFC3095bis]), compressed RTP (CRTP, [RFC2508]), enhanced
+ CRTP (ECRTP, [RFC3545]), and IP Header Compression (IPHC, [RFC2507]).
+ This document explicitly supports all of the HC schemes listed above,
+ and is intended to be extensible to others that may be developed.
+
+ Header Compression channel (HC channel): a session established
+ between a header compressor and a header decompressor using a single
+ HC scheme, over which multiple individual flows may be compressed.
+ From this perspective, every PPP link over which HC is operating
+ defines a single HC channel, and based on this specification, every
+ HC PW defines a single HC channel. HC PWs are bi-directional, which
+ means that a unidirectional leg of the PW is set up in each
+ direction. One leg of the bi-directional PW may be set up to carry
+ only compression feedback, not header compressed traffic. An HC
+ channel should not be confused with the individual traffic flows that
+ may be compressed using a single Context ID. Each HC channel manages
+ a set of unique CIDs.
+
+ IP Header Compression (IPHC): a particular HC protocol described in
+ [RFC2507]
+
+
+
+
+
+Ash, et al. Standards Track [Page 4]
+
+RFC 4901 Header Compression over MPLS Protocol June 2007
+
+
+ Label: a short fixed length physically contiguous identifier that is
+ used to identify a FEC, usually of local significance
+
+ Label Stack: an ordered set of labels
+
+ Label Switched Path (LSP): the path through one or more LSRs at one
+ level of the hierarchy followed by a packet in a particular
+ forwarding equivalence class (FEC)
+
+ Label Switching Router (LSR): an MPLS node that is capable of
+ forwarding native L3 packets
+
+ MPLS domain: a contiguous set of nodes that operate MPLS routing and
+ forwarding and which are also in one Routing or Administrative Domain
+
+ MPLS label: a label that is carried in a packet header, and that
+ represents the packet's FEC
+
+ MPLS node: a node that is running MPLS. An MPLS node will be aware
+ of MPLS control protocols, will operate one or more L3 routing
+ protocols, and will be capable of forwarding packets based on labels.
+ An MPLS node may also optionally be capable of forwarding native L3
+ packets.
+
+ Multiprotocol Label Switching (MPLS): an IETF working group and the
+ effort associated with the working group, including the technology
+ (signaling, encapsulation, etc.) itself
+
+ Packet Switched Network (PSN): Within the context of Pseudowire PWE3,
+ this is a network using IP or MPLS as the mechanism for packet
+ forwarding.
+
+ Protocol Data Unit (PDU): the unit of data output to, or received
+ from, the network by a protocol layer.
+
+ Pseudowire (PW): a mechanism that carries the essential elements of
+ an emulated service from one provider edge router to one or more
+ other provider edge routers over a PSN
+
+ Pseudowire Emulation Edge to Edge (PWE3): a mechanism that emulates
+ the essential attributes of service (such as a T1 leased line or
+ Frame Relay) over a PSN
+
+ Pseudowire PDU (PW-PDU): a PDU sent on the PW that contains all of
+ the data and control information necessary to emulate the desired
+ service
+
+
+
+
+
+Ash, et al. Standards Track [Page 5]
+
+RFC 4901 Header Compression over MPLS Protocol June 2007
+
+
+ PSN Tunnel: a tunnel across a PSN, inside which one or more PWs can
+ be carried
+
+ PSN Tunnel Signaling: a protocol used to set up, maintain, and tear
+ down the underlying PSN tunnel
+
+ PW Demultiplexer: data-plane method of identifying a PW terminating
+ at a provider edge router
+
+ Real Time Transport Protocol (RTP): a protocol for end-to-end network
+ transport for applications transmitting real-time data, such as audio
+ or video [RFC3550].
+
+ Robust Header Compression (ROHC): a particular HC protocol consisting
+ of a framework [RFC3095bis] and a number of profiles for different
+ protocols, e.g., for RTP, UDP, ESP [RFC3095], and IP [RFC3843]
+
+ Tunnel: a method of transparently carrying information over a network
+
+3. Header Compression over MPLS Protocol Overview
+
+ To implement HC over MPLS, after the ingress router applies the HC
+ algorithm to the IP packet, the compressed packet is forwarded on an
+ MPLS LSP using MPLS labels, and then the egress router restores the
+ uncompressed header. Any of a number of HC algorithms/protocols can
+ be used. These algorithms have generally been designed for operation
+ over a single point-to-point link-layer hop. MPLS PWs [RFC3985],
+ which are used to provide emulation of many point-to-point link layer
+ services (such as frame relay permanent virtual circuits (PVCs) and
+ ATM PVCs) are used here to provide emulation of a single, point-to-
+ point link layer hop over which HC traffic may be transported.
+
+ Figure 1 illustrates an HC over MPLS channel established on an LSP
+ that traverses several LSRs, from R1/HC --> R2 --> R3 --> R4/HD,
+ where R1/HC is the ingress router performing HC, and R4/HD is the
+ egress router performing header decompression (HD). This example
+ assumes that the packet flow being compressed has RTP/UDP/IP headers
+ and is using a HC scheme such as ROHC, CRTP, or ECRTP. Compression
+ of the RTP/UDP/IP header is performed at R1/HC, and the compressed
+ packets are routed using MPLS labels from R1/HC to R2, to R3, and
+ finally to R4/HD, without further decompression/recompression cycles.
+ The RTP/UDP/IP header is decompressed at R4/HD and can be forwarded
+ to other routers, as needed. This example assumes that the
+ application is VoIP and that the HC algorithm operates on the RTP,
+ UDP, and IP headers of the VoIP flows. This is an extremely common
+ application of HC, but need not be the only one. The HC algorithms
+ supported by the protocol extensions specified in this document may
+ operate on TCP or IPsec ESP headers as well.
+
+
+
+Ash, et al. Standards Track [Page 6]
+
+RFC 4901 Header Compression over MPLS Protocol June 2007
+
+
+ |
+ | data (e.g., voice)/RTP/UDP/IP/link layer
+ V
+ _____
+ | |
+ |R1/HC| Header Compression (HC) Performed
+ |_____|
+ |
+ | data (e.g., voice)/compressed-header/MPLS-labels
+ V
+ _____
+ | |
+ | R2 | Label Switching
+ |_____| (no compression/decompression)
+ |
+ | data (e.g., voice)/compressed-header/MPLS-labels
+ V
+ _____
+ | |
+ | R3 | Label Switching
+ |_____| (no compression/decompression)
+ |
+ | data (e.g., voice)/compressed-header/MPLS-labels
+ V
+ _____
+ | |
+ |R4/HD| Header Decompression (HD) Performed
+ |_____|
+ |
+ | data (e.g., voice)/RTP/UDP/IP/link layer
+ V
+
+ Figure 1: Example of HC over MPLS over Routers R1 --> R4
+
+ In the example scenario, HC therefore takes place between R1 and R4,
+ and the MPLS LSP transports data/compressed-header/MPLS-labels
+ instead of data/RTP/UDP/IP/MPLS-labels, often saving more than 90% of
+ the RTP/UDP/IP overhead. Typically there are two MPLS labels (8
+ octets) and a link-layer HC control parameter (2 octets). The MPLS
+ label stack and link-layer headers are not compressed. Therefore, HC
+ over MPLS can significantly reduce the header overhead through
+ compression mechanisms.
+
+ HC reduces the IP/UDP/RTP headers to 2-4 bytes for most packets.
+ Half of the reduction in header size comes from the observation that
+ half of the bytes in the IP/UDP/RTP headers remain constant over the
+ life of the flow. After sending the uncompressed header template
+ once, these fields may be removed from the compressed headers that
+
+
+
+Ash, et al. Standards Track [Page 7]
+
+RFC 4901 Header Compression over MPLS Protocol June 2007
+
+
+ follow. The remaining compression comes from the observation that
+ although several fields change in every packet, the difference from
+ packet to packet is often constant or at least limited, and therefore
+ the second-order difference is zero.
+
+ The compressor and decompressor both maintain a context for each
+ compressed flow. The context is the session state shared between the
+ compressor and decompressor. The details of what is included in the
+ context may vary between HC schemes. The context at the compressor
+ would typically include the uncompressed headers of the last packet
+ sent on the flow, and some measure of the differences in selected
+ header field values between the last packet transmitted and the
+ packet(s) transmitted just before it. The context at the
+ decompressor would include similar information about received
+ packets. With this information, all that must be communicated across
+ the wire is an indication of which flow a packet is associated with
+ (the CID), and some compact encoding of the second order differences
+ (i.e., the harder to predict differences) between packets.
+
+ MPLS PWs [RFC3985] are used to transport the HC packets between the
+ ingress and egress MPLS LSRs. Each PW acts like a logical point-to-
+ point link between the compressor and the decompressor. Each PW
+ supports a single HC channel, which, from the perspective of the HC
+ scheme operation, is similar to a single PPP link or a single frame
+ relay PVC. One exception to this general model is that PWs carry
+ only packets with compressed headers, and do not share the PW with
+ uncompressed packets.
+
+ The PW architecture specifies the use of a label stack with at least
+ 2 levels. The label at the bottom of the stack is called the PW
+ label. The PW label acts as an identifier for a particular PW. With
+ HC PWs, the compressor adds the label at the bottom of the stack and
+ the decompressor removes this label. No LSRs between the compressor
+ and decompressor inspect or modify this label. Labels higher in the
+ stack are called the packet switch network (PSN) labels, and are used
+ to forward the packet through the MPLS network as described in
+ [RFC3031]. The decompressor uses the incoming MPLS PW label (the
+ label at the bottom of the stack), along with the CID to locate the
+ proper decompression context. Standard HC methods (e.g., ECRTP,
+ ROHC, etc.) are used to determine the contexts. The CIDs are
+ assigned by the HC as normal, and there would be no problem if
+ duplicate CIDs are received at the HD for different PWs, which
+ support different compressed channels. For example, if two different
+ compressors, HCa and HCb, both assign the same CID to each of 2
+ separate flows destined to decompressor HDc, HDc can still
+ differentiate the flows and locate the proper decompression context
+ for each, because the tuples <PWlabel-HCa, CID> and <PWlabel-HCb,
+ CID> are still unique.
+
+
+
+Ash, et al. Standards Track [Page 8]
+
+RFC 4901 Header Compression over MPLS Protocol June 2007
+
+
+ In addition to the PW label and PSN label(s), HC over MPLS packets
+ also carry a HC control parameter. The HC control parameter contains
+ both a packet type field and a packet length field. The packet type
+ field is needed because each HC scheme supported by this
+ specification defines multiple packet types, for example, "full
+ header" packets, which are used to initialize and/or re-synchronize
+ the context between compressor and decompressor, vs. normal HC
+ packets. And most of the HC schemes require that the underlying link
+ layer protocols provide the differentiation between packet types.
+ Similarly, one of the assumptions that is part of most of the HC
+ schemes is that the packet length fields in the RTP/UDP/IP, etc.
+ headers need not be explicitly sent across the network, because the
+ IP datagram length can be implicitly determined from the lower
+ layers. This specification assumes that, with one exception, the
+ length of an HC IP datagram can be determined from the link layers of
+ the packets transmitted across the MPLS network. The exception is
+ for packets that traverse an Ethernet link. Ethernet requires
+ padding for packets whose payload size is less than 46 bytes in
+ length. So the HC control parameter contains a length field of 6
+ bits to encode the lengths of any HC packets less than 64 bytes in
+ length.
+
+ HC PWs are set up by the PW signaling protocol [RFC4447]. [RFC4447]
+ actually defines a set of extensions to the MPLS label distribution
+ protocol (LDP) [RFC3036]. As defined in [RFC4447], LDP signaling to
+ set up, tear down, and manage PWs is performed directly between the
+ PW endpoints, in this case, the compressor and the decompressor. PW
+ signaling is used only to set up the PW label at the bottom of the
+ stack, and is used independently of any other signaling that may be
+ used to set up PSN labels. So, for example, in Figure 1, LDP PW
+ signaling would be performed directly between R1/HC and R4/HD.
+ Router R2 and R3 would not participate in PW signaling.
+
+ [RFC4447] provides extensions to LDP for PWs, and this document
+ provides further extensions specific to HC. Since PWs provide a
+ logical point-to-point connection over which HC can be run, the
+ extensions specified in this document reuse elements of the protocols
+ used to negotiate HC over the Point-to-Point Protocol [RFC1661].
+ [RFC3241] specifies how ROHC is used over PPP and [RFC3544] specifies
+ how several other HC schemes (CRTP, ECRTP, IPHC) are used over PPP.
+ Both of these RFCs provide configuration options for negotiating HC
+ over PPP. The formats of these configuration options are reused here
+ for setting up HC over PWs. When used in the PPP environment, these
+ configuration options are used as extensions to PPP's IP Control
+ Protocol [RFC1332] and the detailed PPP options negotiations process
+ described in [RFC1661]. This is necessary because a PPP link may
+ support multiple protocols, each with its own addressing scheme and
+ options. Achieving interoperability requires a negotiation process
+
+
+
+Ash, et al. Standards Track [Page 9]
+
+RFC 4901 Header Compression over MPLS Protocol June 2007
+
+
+ so that the nodes at each end of the link can agree on a set of
+ protocols and options that both support. However, a single HC PW
+ supports only HC traffic using a single HC scheme. So while the
+ formats of configuration options from [RFC3241] and [RFC3544] are
+ reused here, the detailed PPP negotiation process is not. Instead,
+ these options are reused here just as descriptors (TLVs in the
+ specific terminology of LDP and [RFC4447]) of basic parameters of an
+ HC PW. These parameters are further described in Section 4. The HC
+ configuration parameters are initially generated by the decompressor
+ and describe what the decompressor is prepared to receive.
+
+ Most HC schemes use a feedback mechanism which requires bi-
+ directional flow of HC packets, even if the flow of compressed IP
+ packets is in one direction only. The basic signaling process of
+ [RFC4447] sets up unidirectional PWs, and must be repeated in each
+ direction in order to set up the bi-directional flow needed for HC.
+
+ Figure 1 illustrates an example data flow set up from R1/HC --> R2
+ --> R3 --> R4/HD, where R1/HC is the ingress router where header
+ compression is performed, and R4/HD is the egress router where header
+ decompression is done. Each router functions as an LSR and supports
+ signaling of LSP/PWs. See Section 5 for a detailed example of how
+ the flow depicted in Figure 1 is established.
+
+ All the HC schemes used here are built so that if an uncompressible
+ packet is seen, it should just be sent uncompressed. For some types
+ of compression (e.g., IPHC-TCP), a non-compressed path is required.
+ For IPHC-TCP compression, uncompressible packets occur for every TCP
+ flow. Another way that this kind of issue can occur is if MAX_HEADER
+ is configured lower than the longest header, in which case,
+ compression might not be possible in some cases.
+
+ The uncompressed packets associated with HC flows (e.g., uncompressed
+ IPHC-TCP packets) can be sent through the same MPLS tunnel along with
+ all other non-HC (non-PW) IP packets. MPLS tunnels can transport
+ many types of packets simultaneously, including non-PW IP packets,
+ layer 3 VPN packets, and PW (e.g., HC flow) packets. In the
+ specification, we assume that there is a path for uncompressed
+ traffic, and it is a compressor decision as to what would or would
+ not go in the HC-PW.
+
+
+
+
+
+
+
+
+
+
+
+Ash, et al. Standards Track [Page 10]
+
+RFC 4901 Header Compression over MPLS Protocol June 2007
+
+
+4. Protocol Specifications
+
+ Figure 2 illustrates the PW stack reference model to support PW
+ emulated services.
+
+ +-------------+ +-------------+
+ | Layer2 | | Layer2 |
+ | Emulated | | Emulated |
+ | Services | Emulated Service | Services |
+ | |<==============================>| |
+ +-------------+ +-------------+
+ | HC | Pseudowire | HD |
+ |Demultiplexer|<==============================>|Demultiplexer|
+ +-------------+ +-------------+
+ | PSN | PSN Tunnel | PSN |
+ | MPLS |<==============================>| MPLS |
+ +-------------+ +-------------+
+ | Physical | | Physical |
+ +-----+-------+ +-----+-------+
+
+ Figure 2: Pseudowire Protocol Stack Reference Model
+
+ Each HC-HD compressed channel is mapped to a single PW and associated
+ with 2 PW labels, one in each direction. A single PW label MUST be
+ used for many HC flows (could be 100's or 1000's) rather than
+ assigning a different PW label to each flow. The latter approach
+ would involve a complex mechanism for PW label assignment, freeing up
+ of labels after a flow terminates, etc., for potentially 1000's of
+ simultaneous HC flows. On the other hand, the mechanism for CID
+ assignment, freeing up, etc., is in place and there is no need to
+ duplicate it with PW assignment/deassignment for individual HC flows.
+
+ Multiple PWs SHOULD be established in case different quality of
+ service (QoS) requirements are needed for different compressed
+ streams. The QoS received by the flow would be determined by the EXP
+ bit marking in the PW label. Normally, all RTP packets would get the
+ same EXP marking [RFC3270], equivalent to expedited forwarding (EF)
+ treatment [RFC3246] in Diffserv. However, the protocol specified in
+ this document applies to several different types of streams, not just
+ RTP streams, and QoS treatment other than EF may be required for
+ those streams.
+
+ Figure 3 shows the HC over MPLS protocol stack (with uncompressed
+ header):
+
+
+
+
+
+
+
+Ash, et al. Standards Track [Page 11]
+
+RFC 4901 Header Compression over MPLS Protocol June 2007
+
+
+ Media stream
+ RTP
+ UDP
+ IP
+ HC control parameter
+ MPLS label stack (at least 2 labels for this application)
+ Link layer under MPLS (PPP, PoS, Ethernet)
+ Physical layer (SONET/SDH, fiber, copper)
+
+
+ +--------------+
+ | Media stream |
+ +--------------+
+ \_______ ______/
+ 2-4 octets V
+ +------+--------------+
+ Compressed /RTP/UDP/IP/ |header| |
+ +------+--------------+
+ \__________ __________/
+ 2 octets V
+ +------+---------------------+
+ HC Control Parameter |header| |
+ +------+---------------------+
+ \______________ _____________/
+ 8 octets V
+ +------+----------------------------+
+ MPLS Labels |header| |
+ +------+----------------------------+
+ \_________________ _________________/
+ V
+ +------------------------------------------+
+ Link Layer under MPLS | |
+ +------------------------------------------+
+ \____________________ _____________________/
+ V
+ +-------------------------------------------------+
+ Physical Layer | |
+ +-------------------------------------------------+
+
+ Figure 3: Header Compression over MPLS Media Stream Transport
+
+ The HC control parameter MUST be used to identify the packet types
+ for the HC scheme in use. The MPLS labels technically define two
+ layers: the PW identifier and the MPLS tunnel identifier. The PW
+ label MUST be used as the demultiplexer field by the HD, where the PW
+ label appears at the bottom label of an MPLS label stack. The LSR
+ that will be performing decompression MUST ensure that the label it
+ distributes (e.g., via LDP) for a channel is unique. There can also
+
+
+
+Ash, et al. Standards Track [Page 12]
+
+RFC 4901 Header Compression over MPLS Protocol June 2007
+
+
+ be other MPLS labels, for example, to identify an MPLS VPN. The
+ IP/UDP/RTP headers are compressed before transmission, leaving the
+ rest of the stack alone, as shown in Figure 3.
+
+4.1. MPLS Pseudowire Setup and Signaling
+
+ PWs MUST be set up in advance for the transport of media streams
+ using [RFC4447] control messages exchanged by the HC-HD endpoints.
+ Furthermore, a PW type MUST be used to indicate the HC scheme being
+ used on the PW. [RFC4447] specifies the MPLS label distribution
+ protocol (LDP) [RFC3036] extensions to set up and maintain the PWs,
+ and defines new LDP objects to identify and signal attributes of PWs.
+ Any acceptable method of MPLS label distribution MAY be used for
+ distributing the MPLS tunnel label [RFC3031]. These methods include
+ LDP [RFC3036], RSVP-TE [RFC3209], or configuration.
+
+ To assign and distribute the PW labels, an LDP session MUST be set up
+ between the PW endpoints using the extended discovery mechanism
+ described in [RFC3036]. The PW label bindings are distributed using
+ the LDP downstream unsolicited mode described in [RFC3036]. An LDP
+ label mapping message contains a FEC object, a label object, and
+ possible other optional objects. The FEC object indicates the
+ meaning of the label, identifies the PW type, and identifies the PW
+ that the PW label is bound to. See [RFC4447] for further explanation
+ of PW signaling.
+
+ This specification defines new PW type values to be carried within
+ the FEC object to identify HC PWs for each HC scheme. The PW type is
+ a 15-bit parameter assigned by IANA, as specified in the [RFC4446]
+ registry, and MUST be used to indicate the HC scheme being used on
+ the PW. IANA has set aside the following PW type values for
+ assignment according to the registry specified in RFC 4446, Section
+ 3.2:
+
+ PW type Description Reference
+ =============================================================
+ 0x001A ROHC Transport Header-compressed Packets [RFC3095bis]
+ 0x001B ECRTP Transport Header-compressed Packets [RFC3545]
+ 0x001C IPHC Transport Header-compressed Packets [RFC2507]
+ 0x001D CRTP Transport Header-compressed Packets [RFC2508]
+
+ The HC control parameter enables distinguishing between various
+ packets types (e.g., uncompressed, UDP compressed, RTP compressed,
+ context-state, etc.). However, the HC control parameter indications
+ are not unique across HC schemes, and therefore the PW type value
+ allows the HC scheme to be identified.
+
+
+
+
+
+Ash, et al. Standards Track [Page 13]
+
+RFC 4901 Header Compression over MPLS Protocol June 2007
+
+
+4.2. Header Compression Scheme Setup, Negotiation, and Signaling
+
+ As described in the previous section, the HC PW MUST be used for
+ compressed packets only, which is configured at PW setup. If a flow
+ is not compressed, it MUST NOT be placed on the HC PW. HC PWs MUST
+ be bi-directional, which means that a unidirectional leg of the PW
+ MUST be set up in each direction. One leg of the bi-directional PW
+ MAY be set up to carry only compression feedback, not header
+ compressed traffic. The same PW type MUST be used for PW signaling
+ in both directions.
+
+ HC scheme parameters MAY be manually configured, but if so, manual
+ configuration MUST be done in both directions. If HC scheme
+ parameters are signaled, the Interface Parameters Sub-TLV MUST be
+ used on any unidirectional legs of a PW that will carry HC traffic.
+ For a unidirectional leg of a PW that will carry only compression
+ feedback, the components of the Interface Parameters Sub-TLV
+ described below are not relevant and MUST NOT be used.
+
+ The PW HC approach relies on the PW/MPLS layer to convey HC channel
+ configuration information. The Interface Parameters Sub-TLV [IANA,
+ RFC4447] must be used to signal HC channel setup and specify HC
+ parameters. That is, the configuration options specified in
+ [RFC3241, RFC3544] are reused in this specification to specify PW-
+ specific parameters, and to configure the HC and HD ports at the
+ edges of the PW so that they have the necessary capabilities to
+ interoperate with each other.
+
+ Pseudowire Interface Parameter Sub-TLV type values are specified in
+ [RFC4446]. IANA has set aside the following Pseudowire Interface
+ Parameter Sub-TLV type values according to the registry specified in
+ RFC 4446, Section 3.3:
+
+ Parameter ID Length Description Reference
+ --------- --------------- ---------------------------- ---------
+ 0x0D up to 256 bytes ROHC over MPLS configuration RFC 4901
+ RFC 3241
+ 0x0F up to 256 bytes CRTP/ECRTP/IPHC HC over MPLS RFC 4901
+ configuration RFC 3544
+
+ TLVs identified in [RFC3241] and [RFC3544] MUST be encapsulated in
+ the PW Interface Parameters Sub-TLV and used to negotiate header
+ compression session setup and parameter negotiation for their
+ respective protocols. The TLVs supported in this manner MUST include
+ the following:
+
+
+
+
+
+
+Ash, et al. Standards Track [Page 14]
+
+RFC 4901 Header Compression over MPLS Protocol June 2007
+
+
+ o Configuration Option Format, RTP-Compression Suboption, Enhanced
+ RTP-Compression Suboption, TCP/non-TCP Compression Suboptions, as
+ specified in [RFC3544]
+
+ o Configuration Option Format, PROFILES Suboption, as specified in
+ [RFC3241]
+
+ These TLVs are now specified in the following sections.
+
+4.2.1. Configuration Option Format [RFC3544]
+
+ Both the network control protocol for IPv4, IPCP [RFC1332] and the
+ IPv6 Network Control Protocol (NCP), IPV6CP [RFC2472] may be used to
+ negotiate IP HC parameters for their respective controlled protocols.
+ The format of the configuration option is the same for both IPCP and
+ IPV6CP. This configuration option MUST be included for ECRTP, CRTP
+ and IPHC PW types and MUST NOT be included for ROHC PW types. A
+ decompressor MUST reject this option (if misconfigured) for ROHC PW
+ types and send an explicit error message to the compressor [RFC3544].
+
+ Description
+
+ This NCP configuration option is used to negotiate parameters for
+ IP HC. Successful negotiation of parameters enables the use of
+ Protocol Identifiers FULL_HEADER, COMPRESSED_TCP,
+ COMPRESSED_TCP_NODELTA, COMPRESSED_NON_TCP, and CONTEXT_STATE as
+ specified in [RFC2507]. 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 | IP-Compression-Protocol |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | TCP_SPACE | NON_TCP_SPACE |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | F_MAX_PERIOD | F_MAX_TIME |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | MAX_HEADER | suboptions... |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Type
+ 2
+
+
+
+
+
+
+
+
+Ash, et al. Standards Track [Page 15]
+
+RFC 4901 Header Compression over MPLS Protocol June 2007
+
+
+ Length
+ >= 14
+
+ The length may be increased if the presence of additional
+ parameters is indicated by additional suboptions.
+
+ IP-Compression-Protocol
+ 0061 (hex)
+
+ 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: 15
+
+ TCP_SPACE must be at least 0 and at most 255 (the value 0
+ implies having one context). This field is not used for CRTP
+ (PW type 0x001B) and ECRTP (PW type 0x001B) PWs. For these PW
+ types, it should be set to its suggested value by the sender
+ and ignored by the receiver.
+
+ 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: 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: 256
+
+ A value of zero implies infinity, i.e., there is no limit to
+ the number of consecutive COMPRESSED_NON_TCP headers. This
+ field is not used for CRTP (PW type 0x001B) and ECRTP (PW type
+ 0x001B) PWs. For these PW types, it should be set to its
+ suggested value by the sender and ignored by the receiver.
+
+
+
+
+
+Ash, et al. Standards Track [Page 16]
+
+RFC 4901 Header Compression over MPLS Protocol June 2007
+
+
+ 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: 5 seconds
+
+ A value of zero implies infinity. This field is not used for
+ CRTP (PW type 0x001B) and ECRTP (PW type 0x001B) PWs. For
+ these PW types, it should be set to its suggested value by the
+ sender and ignored by the receiver.
+
+ MAX_HEADER
+ The largest header size in octets that may be compressed.
+
+ Suggested value: 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.
+
+ 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...|
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+4.2.2. RTP-Compression Suboption [RFC3544]
+
+ The RTP-Compression suboption is included in the NCP IP-Compression-
+ Protocol option for IPHC if IP/UDP/RTP compression is to be enabled.
+ This suboption MUST be included for CRTP PWs (0x001C) and MUST NOT be
+ included for other PW types.
+
+ Inclusion of the RTP-Compression suboption enables use of additional
+ Protocol Identifiers COMPRESSED_RTP and COMPRESSED_UDP along with
+ additional forms of CONTEXT_STATE as specified in [RFC2508].
+
+
+
+
+Ash, et al. Standards Track [Page 17]
+
+RFC 4901 Header Compression over MPLS Protocol June 2007
+
+
+ Description
+
+ Enables the use of Protocol Identifiers COMPRESSED_RTP,
+ COMPRESSED_UDP, and CONTEXT_STATE as specified in [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
+
+4.2.3. Enhanced RTP-Compression Suboption [RFC3544]
+
+ To use the enhanced RTP HC defined in [RFC3545], a new suboption 2 is
+ added. Suboption 2 is negotiated instead of, not in addition to,
+ suboption 1. This suboption MUST be included for ECRTP PWs (0x001B)
+ and MUST NOT be included for other PW types.
+
+ Note that suboption 1 refers to the RTP-Compression Suboption, as
+ specified in Section 4.2.2, and suboption 2 refers to the Enhanced
+ RTP-Compression Suboption, as specified in Section 4.2.3. These
+ suboptions MUST NOT occur together. If they do (e.g., if
+ misconfigured), a decompressor MUST reject this option and send an
+ explicit error message to the compressor [RFC3544].
+
+ Description
+
+ Enables the use of Protocol Identifiers COMPRESSED_RTP and
+ CONTEXT_STATE as specified in [RFC2508]. In addition, it enables
+ the use of [RFC3545] compliant compression including the use of
+ Protocol Identifier COMPRESSED_UDP with additional flags and use
+ of the C flag with the FULL_HEADER Protocol Identifier to indicate
+ use of HDRCKSUM with COMPRESSED_RTP and COMPRESSED_UDP packets.
+
+ 0 1
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Type | Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Type
+ 2
+
+
+
+Ash, et al. Standards Track [Page 18]
+
+RFC 4901 Header Compression over MPLS Protocol June 2007
+
+
+ Length
+ 2
+
+4.2.4. Negotiating Header Compression for Only TCP or Only Non-TCP
+ Packets [RFC3544]
+
+ In [RFC3544] it was not possible to negotiate only TCP HC or only
+ non-TCP HC because a value of 0 in the TCP_SPACE or the NON_TCP_SPACE
+ fields actually means that 1 context is negotiated.
+
+ A new suboption 3 is added to allow specifying that the number of
+ contexts for TCP_SPACE or NON_TCP_SPACE is zero, disabling use of the
+ corresponding compression. This suboption MUST be included for IPHC
+ PWs (0x001C) and MUST NOT be included for other PW types.
+
+ Description
+
+ Enable HC for only TCP or only non-TCP packets.
+
+ 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 | Parameter |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Type
+ 3
+
+ Length
+ 3
+
+ Parameter
+
+ The parameter is 1 byte with one of the following values:
+
+ 1 = the number of contexts for TCP_SPACE is 0
+ 2 = the number of contexts for NON_TCP_SPACE is 0
+
+ This suboption overrides the values that were previously assigned to
+ TCP_SPACE and NON_TCP_SPACE in the IP HC option.
+
+ If suboption 3 is included multiple times with parameter 1 and 2,
+ compression is disabled for all packets.
+
+
+
+
+
+
+
+
+Ash, et al. Standards Track [Page 19]
+
+RFC 4901 Header Compression over MPLS Protocol June 2007
+
+
+4.2.5. Configuration Option Format [RFC3241]
+
+ Both the network control protocol for IPv4, IPCP [RFC1332] and the
+ IPv6 NCP, IPV6CP [RFC2472] may be used to negotiate IP HC parameters
+ for their respective controlled protocols. The format of the
+ configuration option is the same for both IPCP and IPV6CP. This
+ configuration option MUST be included for ROHC PW types and MUST NOT
+ be included for ECRTP, CRTP, and IPHC PW types. A decompressor MUST
+ reject this option (if misconfigured) for ECRTP, CRTP, and IPHC PW
+ types, and send an explicit error message to the compressor
+ [RFC3544].
+
+ Description
+
+ This NCP configuration option is used to negotiate parameters for
+ ROHC. 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 | IP-Compression-Protocol |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | MAX_CID | MRRU |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | MAX_HEADER | suboptions... |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Type
+ 2
+
+ Length
+ >= 10
+
+ The length may be increased if the presence of additional
+ parameters is indicated by additional suboptions.
+
+ IP-Compression-Protocol
+ 0003 (hex)
+
+ MAX_CID
+ The MAX_CID field is two octets and indicates the maximum value of
+ a context identifier.
+
+ Suggested value: 15
+
+ MAX_CID must be at least 0 and at most 16383 (The value 0 implies
+ having one context).
+
+
+
+Ash, et al. Standards Track [Page 20]
+
+RFC 4901 Header Compression over MPLS Protocol June 2007
+
+
+ MRRU
+ The MRRU field is two octets and indicates the maximum
+ reconstructed reception unit (see [RFC3095bis], Section 5.1.2).
+
+ Suggested value: 0
+
+ MAX_HEADER
+ The largest header size in octets that may be compressed.
+
+ Suggested value: 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: The four ROHC profiles defined in RFC 3095 do not provide
+ for a MAX_HEADER parameter. The parameter MAX_HEADER defined by
+ this document is therefore without consequence in these profiles
+ because the maximum compressible header size is unspecified.
+ Other profiles (e.g., ones based on RFC 2507) can make use of the
+ parameter by explicitly referencing it.
+
+ 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...|
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+4.2.6. PROFILES Suboption [RFC3241]
+
+ The set of profiles to be enabled is subject to negotiation. Most
+ initial implementations of ROHC implement profiles 0x0000 to 0x0003.
+ This option MUST be supplied.
+
+ Description
+
+ Define the set of profiles supported by the decompressor.
+
+
+
+
+
+Ash, et al. Standards Track [Page 21]
+
+RFC 4901 Header Compression over MPLS Protocol June 2007
+
+
+ 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 | Profiles... |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Type
+ 1
+
+ Length
+ 2n+2
+
+ Value
+ n octet-pairs in ascending order, each octet-pair specifying a
+ ROHC profile supported.
+
+ HC flow identification is being done now in many ways. Since there
+ are multiple possible approaches to the problem, no specific method
+ is specified in this document.
+
+4.3. Encapsulation of Header Compressed Packets
+
+ The HC control parameter is used to identify the packet types for
+ IPHC [RFC2507], CRTP [RFC2508], and ECRTP [RFC3545], as shown in
+ Figure 4:
+
+ 1
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |0 0 0 0|Pkt Typ| Length |Res|
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 4: HC Control Parameter
+
+ where:
+
+ "Packet Type" encoding:
+ 0: ROHC Small-CIDs
+ 1: ROHC Large-CIDs
+ 2: FULL_HEADER
+ 3: COMPRESSED_TCP
+ 4: COMPRESSED_TCP_NODELTA
+ 5: COMPRESSED_NON_TCP
+ 6: COMPRESSED_RTP_8
+ 7: COMPRESSED_RTP_16
+ 8: COMPRESSED_UDP_8
+ 9: COMPRESSED_UDP_16
+ 10: CONTEXT_STATE
+
+
+
+Ash, et al. Standards Track [Page 22]
+
+RFC 4901 Header Compression over MPLS Protocol June 2007
+
+
+ 11-15: Not yet assigned. (See Section 8, "IANA Considerations",
+ for discussion of the registration rules.)
+
+ As discussed in [ECMP-AVOID], since this MPLS payload type is not IP,
+ the first nibble is set to 0000 to avoid being mistaken for IP. This
+ is also consistent with the encoding of the PW MPLS control word
+ (PWMCW) described in [RFC4385]; however, the HC control parameter is
+ not intended to be a PWMCW.
+
+ Note that ROHC [RFC3095, RFC3095bis] provides its own packet type
+ within the protocol; however, the HC control parameter MUST still be
+ used to avoid the problems identified above. Since the "Packet Type"
+ will be there anyway, it is used to indicate ROHC CID size, in the
+ same way as with PPP.
+
+ The HC control parameter length field is ONLY used for short packets
+ because padding may be appended by the Ethernet Data Link Layer. If
+ the length is greater than or equal to 64 octets, the length field
+ MUST be set to zero. If the MPLS payload is less than 64 bytes, then
+ the length field MUST be set to the length of the PW payload plus the
+ length of the HC control parameter. Note that the last 2 bits in the
+ HC control parameter are reserved.
+
+4.4. Packet Reordering
+
+ Packet reordering for ROHC is discussed in [RFC4224], which is a
+ useful source of information. In case of lossy links and other
+ reasons for reordering, implementation adaptations are needed to
+ allow all the schemes to be used in this case. Although CRTP is
+ viewed as having risks for a number of PW environments due to
+ reordering and loss, it is still the protocol of choice in many
+ cases. CRTP was designed for reliable point to point links with
+ short delays. It does not perform well over links with a high rate
+ of packet loss, packet reordering, and long delays. In such cases,
+ ECRTP [RFC3545] may be considered to increase robustness to both
+ packet loss and misordering between the compressor and the
+ decompressor. This is achieved by repeating updates and sending of
+ absolute (uncompressed) values in addition to delta values for
+ selected context parameters. IPHC should use TCP_NODELTA, ECRTP
+ should send absolute values, ROHC should be adapted as discussed in
+ [RFC4224]. An evaluation and simulation of ECRTP and ROHC reordering
+ is given in [REORDER-EVAL].
+
+
+
+
+
+
+
+
+
+Ash, et al. Standards Track [Page 23]
+
+RFC 4901 Header Compression over MPLS Protocol June 2007
+
+
+5. HC Pseudowire Setup Example
+
+ This example will trace the setup of an MPLS PW supporting bi-
+ directional ECRTP [RFC3545] traffic. The example assumes the
+ topology shown in Figure 1. The PW will be set up between LSRs R1/HC
+ and R4/HD. LSRs R2 and R3 have no direct involvement in the
+ signaling for this PW, other than to transport the signaling traffic.
+
+ For this example, it is assumed that R1/HC has already obtained the
+ IP address of R4/HD used for LDP signaling, and vice versa, that both
+ R1/HC and R4/HD have been configured with the same 32-bit PW ID, as
+ described in Section 5.2 of [RFC4447], and that R1/HC has been
+ configured to initiate the LDP discovery process. Furthermore, we
+ assume that R1/HC has been configured to receive a maximum of 200
+ simultaneous ECRTP flows from R4/HD, and R4/HD has been configured to
+ receive a maximum of 255 ECRTP flows from R1/HC.
+
+ Assuming that there is no existing LDP session between R1/HC and
+ R4/HD, the PW signaling must start by setting up an LDP session
+ between them. As described earlier in this document, LDP extended
+ discovery is used between HC over MPLS LSRs. Since R1/HC has been
+ configured to initiate extended discovery, it will send LDP Targeted
+ Hello messages to R4/HD's IP address at UDP port 646. The Targeted
+ Hello messages sent by R1/HC will have the "R" bit set in the Common
+ Hello Parameters TLV, requesting R4/HD to send Targeted Hello
+ messages back to R1/HC. Since R4/HD has been configured to set up an
+ HC PW with R1/HD, R4/HD will do as requested and send LDP Targeted
+ Hello messages as unicast UDP packets to UDP port 646 of R1/HC's IP
+ address.
+
+ When R1/HC receives a Targeted Hello message from R4/HD, it may begin
+ establishing an LDP session to R4/HD. It starts this by initiating a
+ TCP connection on port 646 to R4/HD's signaling IP address. After
+ successful TCP connection establishment, R1/HC sends an LDP
+ Initialization message to R4/HD with the following characteristics:
+
+ When R1/HC receives a Targeted Hello message from R4/HD, it may begin
+ establishing an LDP session to R4/HD. The procedure described in
+ Section 2.5.2 of [RFC3036] is used to determine which LSR is the
+ active LSR and which is the passive LSR. Assume that R1/HC has the
+ numerically higher IP address and therefore takes the active role.
+ R1/HC starts by initiating a TCP connection on port 646 to R4/HD's
+ signaling IP address. After successful TCP connection establishment,
+ R1/HC sends an LDP Initialization message to R4/HD with the following
+ characteristics:
+
+
+
+
+
+
+Ash, et al. Standards Track [Page 24]
+
+RFC 4901 Header Compression over MPLS Protocol June 2007
+
+
+ o Common Session Parameters TLV:
+ - A bit = 0 (Downstream Unsolicited Mode)
+ - D bit = 0 (Loop Detection Disabled)
+ - PVLim = 0 (required when D bit = 0)
+ - Receive LDP identifier (taken from R4/HD's Hello message)
+ > 4 octets LSR identifier (typically an IP address with IPv4)
+ > 2 octet Label space identifier (typically 0)
+ o No Optional Parameters TLV
+
+ Following the LDP session initialization state machine of Section
+ 2.5.4 of [RFC3036], R4/HD would send a similar Initialization message
+ to R1/HD. The primary difference would be that R4/HD would use the
+ LDP identifier it received in R1/HC's Hello message(s) as the Receive
+ LDP identifier. Assuming that all other fields in the Common Session
+ Parameters TLV were acceptable to both sides, R1/HC would send an LDP
+ Keepalive message to R4/HD, R4/HD would send a LDP Keepalive message
+ to R1/HC, and the LDP session would become operational.
+
+ At this point, either R1/HC or R4/HD may send LDP Label Mapping
+ messages to configure the PW. The Label Mapping message sent by a
+ particular router advertises the label that should be used at the
+ bottom of the MPLS label stack for all packets sent to that router
+ and associated with the particular PW. The Label Mapping message
+ sent from R1/HC to R4/HD would have the following characteristics:
+
+ o FEC TLV
+ - FEC Element type 0x80 (PWid FEC Element, as defined in [RFC4447]
+ - Control Parameter bit = 1 (Control Parameter present)
+ - PW type = 0x001B (ECRTP [RFC3545])
+ - Group ID as chosen by R1/HC
+ - PW ID = the configured value for this PW, which must be the same
+ as that sent in the Label Mapping message by R4/HD
+ - Interface Parameter Sub-TLVs
+ > Interface MTU sub-TLV (Type 0x01)
+ > CRTP/ECRTP/IPHC HC over MPLS configuration sub-TLV (Type 0x0F)
+ + Type = 2 (From RFC 3544)
+ + Length = 16
+ + TCP_SPACE = Don't Care (leave at suggested value = 15)
+ + NON_TCP_SPACE = 200 (configured on R1)
+ + F_MAX_PERIOD = Don't Care (leave at suggested value = 256)
+ + F_MAX_TIME = Don't Care (leave at suggested value = 5
+ seconds)
+ + MAX_HEADER = 168 (Suggested Value)
+ + Enhanced RTP-Compression Suboption
+ & Type = 2
+ & Length = 2
+ o Label TLV - contains label selected by R1, Lr1
+ o No Optional Parameters
+
+
+
+Ash, et al. Standards Track [Page 25]
+
+RFC 4901 Header Compression over MPLS Protocol June 2007
+
+
+ The Label Mapping message sent from R4/HD to R1/HC would be almost
+ identical to the one sent in the opposite direction, with the
+ following exceptions:
+
+ o R4/HD could select a different Group ID
+ o The Value of NON_TCP_SPACE in the CRTP/ECRTP/IPHC HC over MPLS
+ configuration sub-TLV would be 255 instead of 200, as configured
+ on R4/HD
+ o R4/HD would choose its own value for the Label TLV, Lr4
+
+ As soon as either R1/HC or R4/HD has both transmitted and received
+ Label Mapping Messages with the same PW Type and PW ID, that HC
+ endpoint considers the PW established. R1/HC could send ECRTP
+ packets using the label it received in the Label Mapping Message from
+ R4/HD, Lr4, and could identify received ECRTP packets by the label it
+ had sent to R4/HD, Lr1. And vice versa.
+
+ In this case, assume that R1/HC has an IPv4 RTP flow to send to R4/HD
+ that it wishes to compress using the ECRTP PW just set up. The RTP
+ flow is G.729 media with 20 bytes of payload in each RTP packet. In
+ this particular case, the IPv4 identifier changes by a small constant
+ value between consecutive packets in the stream. In the RTP layer of
+ the flow, the Contributing Source Identifiers count is 0. R1/HC
+ decides to use 8-bit Context Identifiers for the compressed flow.
+ Also, R1/HC determines that compression in this particular flow
+ should be able to recover from the loss of 2 consecutive packets
+ without requiring re-synchronization of the context (i.e., the "N"
+ value from [RFC3545] is 2).
+
+ The first 3 (N + 1) packets of this flow would be sent as FULL_HEADER
+ packets. The MPLS and PW headers at the beginning of these packets
+ would be formatted 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
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Label | Exp |S| TTL |
+ | XX | XX |0| XX |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Label | Exp |S| TTL |
+ | Lr4 | XX |1| >0 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | |Pkt Typ| Length |Res|
+ |0 0 0 0| 2 | 62 |0 0|
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ ^
+ |
+ -- 2 == FULL_HEADER
+
+
+
+Ash, et al. Standards Track [Page 26]
+
+RFC 4901 Header Compression over MPLS Protocol June 2007
+
+
+ where XX signifies either
+ a. value determined by the MPLS routing layer
+ b. don't care
+
+ Immediately following the above header would come the FULL_HEADER
+ packet as defined in [RFC3545], which basically consists of the
+ IP/UDP/RTP header, with the IP and UDP length field replaced by
+ values encoding the CID, sequence number, and "generation", as
+ defined in [RFC3545]. The length field value of 62 comprises:
+
+ o 2 bytes of HC control parameter (included in the above diagram)
+ o 20 bytes of the IP header portion of the RFC 3545 FULL_HEADER
+ o 8 bytes of the UDP header portion of the RFC 3545 FULL_HEADER
+ o 12 bytes of the RTP header portion of the RFC 3545 FULL_HEADER
+ o 20 bytes of G.729 payload
+
+ The next 3 RTP packets from this flow would be sent as
+ COMPRESSED_UDP_8, to establish the absolute and delta values of the
+ IPv4 identifier and RTP timestamp fields. These packets would use
+ the same ECRTP CID as the previous 3 FULL_HEADER packets. The MPLS
+ and PW headers at the beginning of these packets would be formatted
+ 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
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Label | Exp |S| TTL |
+ | XX | XX |0| XX |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Label | Exp |S| TTL |
+ | Lr4 | XX |1| >0 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | |Pkt Typ| Length |Res|
+ |0 0 0 0| 8 | 36 |0 0|
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ ^
+ |
+ -- 8 == COMPRESSED_UDP_8
+
+ There is no change in the MPLS label stack between the FULL_HEADER
+ packets and the COMPRESSED_UDP packets. The HC control parameter
+ changes to reflect another ECRTP packet type following the control
+ parameter, and a change of packet length. The length changes because
+ the new packet type more compactly encodes the headers. The length
+ field value of 36 comprises:
+
+
+
+
+
+
+Ash, et al. Standards Track [Page 27]
+
+RFC 4901 Header Compression over MPLS Protocol June 2007
+
+
+ o 2 bytes of HC control parameter (included in the above diagram)
+ o 1 byte of CID
+ o 2 bytes of COMPRESSED_UDP fields that are not octet-aligned:
+ - 4 bits of COMPRESSED_UDP flags
+ - 4 bits of sequence number
+ - 5 bits of COMPRESSED UDP extension flags
+ - 3 bits MUST_BE_ZERO
+ o 2 bytes of UDP checksum or HDRCKSUM
+ o 1 byte of delta IPv4 ID
+ o 2 bytes of delta RTP timestamp (changes by 160 in this case,
+ differential encoding will encode as 2 bytes)
+ o 2 bytes of absolute IPv4 ID
+ o 4 bytes of absolute RTP timestamp
+ o 20 bytes of G.729 payload
+
+ After the context for the IPv4 ID and RTP timestamp is initialized.
+ Subsequent packets on this flow, at least until the end of the talk
+ spurt or until there is some other unexpected change in the
+ IP/UDP/RTP headers, may be sent as COMPRESSED_RTP_8 packets. Again,
+ the same MPLS stack would be used for these packets, and the same
+ value of the CID would be used in this case as for the packets
+ described above. The MPLS and PW headers at the beginning of these
+ packets would be formatted 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
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Label | Exp |S| TTL |
+ | XX | XX |0| XX |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Label | Exp |S| TTL |
+ | Lr4 | XX |1| >0 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | |Pkt Typ| Length |Res|
+ |0 0 0 0| 6 | 26 |0 0|
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ ^
+ |
+ -- 6 == COMPRESSED_RTP_8
+
+ The HC control parameter again changes to reflect another ECRTP
+ packet type following the control parameter, and shorter length
+ associated with an even more compact encoding of headers. The length
+ field value of 26 comprises:
+
+
+
+
+
+
+
+Ash, et al. Standards Track [Page 28]
+
+RFC 4901 Header Compression over MPLS Protocol June 2007
+
+
+ o 2 bytes of HC control parameter (included in the above diagram)
+ o 1 byte of CID
+ o 1 byte COMPRESSED_UDP fields that are not octet-aligned:
+ - 4 bits of COMPRESSED_RTP flags
+ - 4 bits of sequence number
+ o 2 bytes of UDP checksum or HDRCKSUM
+ o 20 bytes of G.729 payload
+
+ Additional flows in the same direction may be compressed using the
+ same basic encapsulation, including the same PW label. The CID that
+ is part of the HC protocol is used to differentiate flows. For
+ traffic in the opposite direction, the primary change would be the PW
+ label, Lr4, used in the example above would be replaced by the label
+ Lr1 that R1/HC provides to R4/HD.
+
+6. Security Considerations
+
+ MPLS PW security considerations in general are discussed in [RFC3985]
+ and [RFC4447], and those considerations also apply to this document.
+ This document specifies an encapsulation and not the protocols that
+ may be used to carry the encapsulated packets across the PSN, or the
+ protocols being encapsulated. Each such protocol may have its own
+ set of security issues, but those issues are not affected by the
+ encapsulations specified herein.
+
+ The security considerations of the supported HC protocols [RFC2507,
+ RFC2508, RFC3095, RFC3095bis, RFC3545] all apply to this document as
+ well.
+
+7. Acknowledgements
+
+ The authors appreciate valuable inputs and suggestions from Loa
+ Andersson, Scott Brim, Stewart Bryant, Spencer Dawkins, Adrian
+ Farrel, Victoria Fineberg, Eric Gray, Allison Mankin, Luca Martini,
+ Colin Perkins, Kristofer Sandlund, Yaakov Stein, George Swallow, Mark
+ Townsley, Curtis Villamizar, and Magnus Westerlund.
+
+8. IANA Considerations
+
+ As discussed in Section 4.1, PW type values have been assigned by
+ IANA, as follows:
+
+ 0x001A ROHC Transport Header-compressed Packets [RFC3095bis]
+ 0x001B ECRTP Transport Header-compressed Packets [RFC3545]
+ 0x001C IPHC Transport Header-compressed Packets [RFC2507]
+ 0x001D CRTP Transport Header-compressed Packets [RFC2508]
+
+ Procedures for registering new PW type values are given in [RFC4446].
+
+
+
+Ash, et al. Standards Track [Page 29]
+
+RFC 4901 Header Compression over MPLS Protocol June 2007
+
+
+ As discussed in Section 4.2, Pseudowire Interface Parameter Sub-TLV
+ type values have been specified by IANA, as follows:
+
+ Parameter ID Length Description Reference
+ --------- --------------- ---------------------------- ---------
+ 0x0D up to 256 bytes ROHC over MPLS configuration RFC 4901
+ RFC 3241
+ 0x0F up to 256 bytes CRTP/ECRTP/IPHC HC over MPLS RFC 4901
+ configuration RFC 3544
+
+ As discussed in Section 4.3, IANA has defined a new registry, "Header
+ Compression Over MPLS HC Control Parameter Packet Type". This is a
+ four-bit value. Packet Types 0 through 10 are defined in Section 4.3
+ of this document. Packet Types 11 to 15 are to be assigned by IANA
+ using the "Expert Review" policy defined in [RFC2434].
+
+9. Normative References
+
+ [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
+ Requirement Levels", RFC 2119, March 1997.
+
+ [RFC3031] Rosen, E., Viswanathan, A., and R. Callon,
+ "Multiprotocol Label Switching Architecture", RFC
+ 3031, January 2001.
+
+ [RFC3036] Andersson, L., Doolan, P., Feldman, N., Fredette, A.,
+ and B. Thomas, "LDP Specification", RFC 3036, January
+ 2001.
+
+ [RFC3241] Bormann, C., "Robust Header Compression (ROHC) over
+ PPP", RFC 3241, April 2002.
+
+ [RFC3544] Engan, M., Casner, S., Bormann, C., and T. Koren, "IP
+ Header Compression over PPP", RFC 3544, July 2003.
+
+ [RFC4447] Martini, L., Ed., Rosen, E., El-Aawar, N., Smith, T.,
+ and G. Heron, "Pseudowire Setup and Maintenance Using
+ the Label Distribution Protocol (LDP)", RFC 4447,
+ April 2006.
+
+
+
+
+
+
+
+
+
+
+
+
+Ash, et al. Standards Track [Page 30]
+
+RFC 4901 Header Compression over MPLS Protocol June 2007
+
+
+10. Informative References
+
+ [ECMP-AVOID] Swallow, G., Bryant, S., and L. Andersson, "Avoiding
+ Equal Cost Multipath Treatment in MPLS Networks", Work
+ in Progress, February 2007.
+
+ [REORDER-EVAL] Knutsson, C., "Evaluation and Implementation of Header
+ Compression Algorithm ECRTP", http://epubl.luth.se/
+ 1402-1617/2004/286/LTU-EX-04286-SE.pdf.
+
+ [RFC1332] McGregor, G., "The PPP Internet Protocol Control
+ Protocol (IPCP)", RFC 1332, May 1992.
+
+ [RFC1661] Simpson, W., Ed., "The Point-to-Point Protocol (PPP)",
+ STD 51, RFC 1661, July 1994.
+
+ [RFC2434] Narten, T. and H. Alvestrand, "Guidelines for Writing
+ an IANA Considerations Section in RFCs", BCP 26, RFC
+ 2434, October 1998.
+
+ [RFC2472] Haskin, D. and E. Allen, "IP Version 6 over PPP", RFC
+ 2472, December 1998.
+
+ [RFC2507] Degermark, M., Nordgren, B., and S. Pink, "IP Header
+ Compression", RFC 2507, February 1999.
+
+ [RFC2508] Casner, S. and V. Jacobson, "Compressing IP/UDP/RTP
+ Headers for Low-Speed Serial Links", RFC 2508,
+ February 1999.
+
+ [RFC3095] Bormann, C., et al., "RObust Header Compression
+ (ROHC): Framework and four profiles: RTP, UDP, ESP,
+ and uncompressed", RFC 3095, July 2001.
+
+ [RFC3095bis] Jonsson, L-E. Pelletier, G., and K. Sandlund, "The
+ RObust Header Compression (ROHC) Framework", Work in
+ Progress, November 2006.
+
+ [RFC3209] Awduche, D., et al., "RSVP-TE: Extensions to RSVP for
+ LSP Tunnels," RFC 3209, December 2001.
+
+ [RFC3544] Koren, T., et al., "IP Header Compression over PPP,"
+ RFC 3544, July 2003.
+
+ [RFC3545] Koren, T., et al., "Compressing IP/UDP/RTP Headers on
+ Links with High Delay, Packet Loss, and Reordering,"
+ RFC 3545, July 2003.
+
+
+
+
+Ash, et al. Standards Track [Page 31]
+
+RFC 4901 Header Compression over MPLS Protocol June 2007
+
+
+ [RFC3246] Davie, B., et al., "An Expedited Forwarding PHB (Per-
+ Hop Behavior)," RFC 3246, March 2002.
+
+ [RFC3270] Le Faucheur, F., et al., "Multi-Protocol Label
+ Switching (MPLS) Support of Differentiated Services,"
+ RFC 3270, May 2002.
+
+ [RFC3550] Schulzrinne, H., et al., "RTP: A Transport Protocol
+ for Real-Time Applications," RFC 3550, July 2003.
+
+ [RFC3843] Jonsson, L-E. and G. Pelletier, "RObust Header
+ Compression (ROHC): A Compression Profile for IP", RFC
+ 3843, June 2004.
+
+ [RFC3985] Bryant, S., Pate, P., "Pseudo Wire Emulation Edge-to-
+ Edge (PWE3) Architecture," RFC 3985, March 2005.
+
+ [RFC4224] Pelletier, G., et al., "RObust Header Compression
+ (ROHC): ROHC over Channels that can Reorder Packets,"
+ RFC 4224, January 2006.
+
+ [RFC4247] Ash, G., Goode, B., Hand, J., "Requirements for Header
+ Compression over MPLS", RFC 4247, November 2005.
+
+ [RFC4364] Rosen, E., Rekhter, Y., "BGP/MPLS IP Virtual Private
+ Networks (VPN)s", RFC 4364, February 2006.
+
+ [RFC4385] Bryant, S., et al., "Pseudowire Emulation Edge-to-Edge
+ (PWE3) Control Word for Use over an MPLS PSN," RFC
+ 4385, February 2006.
+
+ [RFC4446] Martini, L., et al., "IANA Allocations for Pseudo Wire
+ Edge To Edge Emulation (PWE3)," RFC 4446, April 2006.
+
+ [RFC4815] Jonsson, L-E., Sandlund, K., Pelletier, G., and P.
+ Kremer, "RObust Header Compression (ROHC): Corrections
+ and Clarifications to RFC 3095", RFC 4815, February
+ 2007.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Ash, et al. Standards Track [Page 32]
+
+RFC 4901 Header Compression over MPLS Protocol June 2007
+
+
+11. Contributors
+
+ Besides the editors listed below, the following people contributed to
+ the document:
+
+ Bur Goode
+ AT&T
+ Phone: +1 203-341-8705
+ EMail: bgoode@att.com
+
+ Lars-Erik Jonsson
+ Optand 737
+ SE-831 92 Ostersund, Sweden
+ Phone: +46 70 365 20 58
+ EMail: lars-erik@lejonsson.com
+
+ Raymond Zhang
+ Infonet Services Corporation
+ 2160 E. Grand Ave. El Segundo, CA 90025 USA
+ EMail: zhangr@bt.infonet.com
+
+Editors' Addresses
+
+ Jerry Ash
+ AT&T
+ Email: gash5107@yahoo.com
+
+ Jim Hand
+ AT&T
+ Room MT A2-1A03
+ 200 Laurel Avenue
+ Middletown, NJ 07748, USA
+ Phone: +1 732-420-3017
+ EMail: jameshand@att.com
+
+ Andrew G. Malis
+ Verizon Communications
+ 40 Sylvan Road
+ Waltham, MA 02451 USA
+ EMail: andrew.g.malis@verizon.com
+
+
+
+
+
+
+
+
+
+
+
+Ash, et al. Standards Track [Page 33]
+
+RFC 4901 Header Compression over MPLS Protocol June 2007
+
+
+Full Copyright Statement
+
+ Copyright (C) The IETF Trust (2007).
+
+ 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, THE IETF TRUST 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; 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.
+
+ 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 currently provided by the
+ Internet Society.
+
+
+
+
+
+
+
+Ash, et al. Standards Track [Page 34]
+