< draft-ietf-rohc-rfc3095bis-framework-03.txt   draft-ietf-rohc-rfc3095bis-framework-04.txt >
Network Working Group L-E. Jonsson Network Working Group L-E. Jonsson
INTERNET-DRAFT G. Pelletier INTERNET-DRAFT G. Pelletier
Expires: May 2007 K. Sandlund Expires: May 2007 K. Sandlund
Ericsson Ericsson
November 6, 2006 November 29, 2006
The RObust Header Compression (ROHC) Framework The RObust Header Compression (ROHC) Framework
<draft-ietf-rohc-rfc3095bis-framework-03.txt> <draft-ietf-rohc-rfc3095bis-framework-04.txt>
Status of this memo Status of this memo
By submitting this Internet-Draft, each author represents that any By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79. aware will be disclosed, in accordance with Section 6 of BCP 79.
By submitting this Internet-Draft, each author accepts the provisions By submitting this Internet-Draft, each author accepts the provisions
of Section 3 of BCP 78. of Section 3 of BCP 78.
skipping to change at page 4, line 31 skipping to change at page 4, line 31
ACK Acknowledgment. ACK Acknowledgment.
CID Context Identifier. CID Context Identifier.
CO Compressed packet format. CO Compressed packet format.
CRC Cyclic Redundancy Check. CRC Cyclic Redundancy Check.
IR Initialization and Refresh. IR Initialization and Refresh.
IR-DYN Initialization and Refresh, Dynamic part. IR-DYN Initialization and Refresh, Dynamic part.
LSB Least Significant Bit(s). LSB Least Significant Bit(s).
MRRU Maximum Reconstructed Reception Unit. MRRU Maximum Reconstructed Reception Unit.
MSB Most Significant Bit(s). MSB Most Significant Bit(s).
MSN Master Sequence Number. MSN Master Sequence Number.
NACK Negative Acknowledgement. NACK Negative Acknowledgment.
ROHC RObust Header Compression. ROHC RObust Header Compression.
2.2. ROHC Terminology 2.2. ROHC Terminology
Context Context
The context of the compressor is the state it uses to compress a The context of the compressor is the state it uses to compress a
header. The context of the decompressor is the state it uses to header. The context of the decompressor is the state it uses to
decompress a header. Either of these or the two in combination decompress a header. Either of these or the two in combination
are usually referred to as "context", when it is clear which is are usually referred to as "context", when it is clear which is
skipping to change at page 7, line 44 skipping to change at page 7, line 44
encoding for sequentially changing fields. The CTCP compressor encoding for sequentially changing fields. The CTCP compressor
detects transport-level retransmissions and sends a header that detects transport-level retransmissions and sends a header that
updates the entire context when they occur. This repair mechanism updates the entire context when they occur. This repair mechanism
does not require any explicit signaling between compressor and does not require any explicit signaling between compressor and
decompressor. decompressor.
A general IP header compression scheme, IP header compression [16], A general IP header compression scheme, IP header compression [16],
improves somewhat on CTCP. IPHC can compress arbitrary IP, TCP, and improves somewhat on CTCP. IPHC can compress arbitrary IP, TCP, and
UDP headers. When compressing non-TCP headers, IPHC does not use UDP headers. When compressing non-TCP headers, IPHC does not use
delta encoding and is robust. The repair mechanism of CTCP is delta encoding and is robust. The repair mechanism of CTCP is
augmented with negative acknowledgements, called CONTEXT_STATE augmented with negative acknowledgments, called CONTEXT_STATE
messages, which speeds up the repair. This context repair mechanism messages, which speeds up the repair. This context repair mechanism
is thus limited by the round-trip time of the link. IPHC does not is thus limited by the round-trip time of the link. IPHC does not
compress RTP headers. compress RTP headers.
CRTP [17] is an RTP extension to IPHC. CRTP compresses the 40 octets CRTP [17] is an RTP extension to IPHC. CRTP compresses the 40 octets
of IPv4/UDP/RTP headers to a minimum of 2 octets when the UDP of IPv4/UDP/RTP headers to a minimum of 2 octets when the UDP
Checksum is not enabled. If the UDP Checksum is enabled, the minimum Checksum is not enabled. If the UDP Checksum is enabled, the minimum
CRTP header is 4 octets. CRTP header is 4 octets.
On lossy links with long round-trip times, CRTP does not perform well On lossy links with long round-trip times, CRTP does not perform well
skipping to change at page 10, line 44 skipping to change at page 10, line 44
RFC 3095 [3], "RObust Header Compression (ROHC): Framework and four RFC 3095 [3], "RObust Header Compression (ROHC): Framework and four
profiles: RTP, UDP, ESP, and uncompressed", was published 2001, as profiles: RTP, UDP, ESP, and uncompressed", was published 2001, as
the first output of the ROHC WG. ROHC is a general and extendable the first output of the ROHC WG. ROHC is a general and extendable
framework for header compression, on top of which profiles can be framework for header compression, on top of which profiles can be
defined for compression of different protocols headers. RFC 3095 defined for compression of different protocols headers. RFC 3095
introduced a number of new compression techniques, and was successful introduced a number of new compression techniques, and was successful
at living up to the requirements placed on it, as described in [18]. at living up to the requirements placed on it, as described in [18].
Interoperability testing of RFC 3095 confirms the capabilities of Interoperability testing of RFC 3095 confirms the capabilities of
ROHC to meet its purposes, but feedback from implementers have also ROHC to meet its purposes, but feedback from implementers has also
indicated that the protocol specification is complex and sometimes indicated that the protocol specification is complex and sometimes
obscure. Most importantly, a clear distinction between framework and obscure. Most importantly, a clear distinction between framework and
profiles is not obvious in [3], which also makes development of profiles is not obvious in [3], which also makes development of
additional profiles troublesome. This document therefore aims at additional profiles troublesome. This document therefore aims at
explicitly specifying the ROHC framework, while a companion document explicitly specifying the ROHC framework, while a companion document
[8] specifies revised versions of the compression profiles of RFC [8] specifies revised versions of the compression profiles of RFC
3095. 3095.
4.4. Operational Characteristics of the ROHC Channel 4.4. Operational Characteristics of the ROHC Channel
skipping to change at page 12, line 44 skipping to change at page 12, line 44
function to a sequence number, called the Master Sequence Number function to a sequence number, called the Master Sequence Number
(MSN). This function describes the change pattern of the field with (MSN). This function describes the change pattern of the field with
respect to a change in the MSN. respect to a change in the MSN.
Change patterns include e.g. fields that increase monotonically or by Change patterns include e.g. fields that increase monotonically or by
a small value, but also fields that seldom change as well as fields a small value, but also fields that seldom change as well as fields
that remain unchanging for the entire lifetime of the packet flow, in that remain unchanging for the entire lifetime of the packet flow, in
which case the function to the MSN is equivalent to a constant value. which case the function to the MSN is equivalent to a constant value.
The compressor first establishes functions for each of the header The compressor first establishes functions for each of the header
fields, and it then reliably communicates the MSN. When the change fields, and then reliably communicates the MSN. When the change
pattern of the field does not match the established function, i.e., pattern of the field does not match the established function, i.e.,
the existing function gives a result that is different from the field the existing function gives a result that is different from the field
in the header being compressed, additional information can be sent to in the header being compressed, additional information can be sent to
update the parameters of that function. update the parameters of that function.
The MSN is defined per profile. It can be either derived directly The MSN is defined per profile. It can be either derived directly
from one of the fields of the protocol being compressed (e.g. the RTP from one of the fields of the protocol being compressed (e.g. the RTP
SN [8]), or it can be created and maintained by the compressor (e.g. SN [8]), or it can be created and maintained by the compressor (e.g.
the MSN for compression of UDP in profile 0x0102 [8] or the MSN in the MSN for compression of UDP in profile 0x0102 [8] or the MSN in
ROHC-TCP [9]). ROHC-TCP [9]).
skipping to change at page 14, line 9 skipping to change at page 14, line 9
The CID space can be either small, which means that CIDs can take the The CID space can be either small, which means that CIDs can take the
values 0 through 15, or large, which means that CIDs take values values 0 through 15, or large, which means that CIDs take values
between 0 and 2^14 - 1 = 16383. Whether the CID space is large or between 0 and 2^14 - 1 = 16383. Whether the CID space is large or
small MUST be established, possibly by negotiation, before any small MUST be established, possibly by negotiation, before any
compressed packet may be sent over the ROHC channel. compressed packet may be sent over the ROHC channel.
The CID space is distinct for each channel, i.e., CID 3 over channel The CID space is distinct for each channel, i.e., CID 3 over channel
A and CID 3 over channel B do not refer to the same context, even if A and CID 3 over channel B do not refer to the same context, even if
the endpoints of A and B are the same nodes. In particular, CIDs for the endpoints of A and B are the same nodes. In particular, CIDs for
any pair of ROHC channels are not related (two associated ROHC any pair of ROHC channels are not related (two associated ROHC
channels serving as feedback channels for one another need not even channels serving as feedback channels for one another do not even
have CID spaces of the same size). need to have CID spaces of the same size).
5.1.2. Per-Channel Parameters 5.1.2. Per-Channel Parameters
The ROHC channel is based on a number of parameters that form part of The ROHC channel is based on a number of parameters that form part of
the established channel state and the per-context state. The state of the established channel state and the per-context state. The state of
the ROHC channel MUST be established before the first ROHC packet may the ROHC channel MUST be established before the first ROHC packet may
be sent, which may be achieved using negotiation protocols provided be sent, which may be achieved using negotiation protocols provided
by the link layer (see also [4], which describes an option for by the link layer (see also [4], which describes an option for
negotiation of ROHC parameters for PPP). This section describes some negotiation of ROHC parameters for PPP). This section describes some
of this channel state information in an abstract way: of this channel state information in an abstract way:
skipping to change at page 21, line 54 skipping to change at page 21, line 54
interspersed feedback, SHOULD be maintained for the lifetime of the interspersed feedback, SHOULD be maintained for the lifetime of the
ROHC channel. Otherwise, it is RECOMMENDED that the compressor be ROHC channel. Otherwise, it is RECOMMENDED that the compressor be
notified if the feedback channel is no longer available: the notified if the feedback channel is no longer available: the
compressor SHOULD then restart compression by creating a new context compressor SHOULD then restart compression by creating a new context
for each packet flow, and SHOULD use a CID value that was not for each packet flow, and SHOULD use a CID value that was not
previously associated with the profile used to compress the flow. previously associated with the profile used to compress the flow.
5.2.4.1. ROHC Feedback Format 5.2.4.1. ROHC Feedback Format
ROHC defines three different categories of feedback messages: ROHC defines three different categories of feedback messages:
acknowledgement (ACK), negative ACK (NACK) and NACK for the entire acknowledgment (ACK), negative ACK (NACK) and NACK for the entire
context (STATIC-NACK). Other type of information may be defined in context (STATIC-NACK). Other type of information may be defined in
profile-specific feedback information. profile-specific feedback information.
ACK : Acknowledges successful decompression of a packet. ACK : Acknowledges successful decompression of a packet.
Indicates that the decompressor considers its context Indicates that the decompressor considers its context
to be valid. to be valid.
NACK : Indicates that the decompressor considers some or all NACK : Indicates that the decompressor considers some or all
of the dynamic part of its context invalid. of the dynamic part of its context invalid.
skipping to change at page 30, line 47 skipping to change at page 30, line 47
Bits and groups of bits from the packet format layout, referred Bits and groups of bits from the packet format layout, referred
to as compressed fields, represents the result of an encoding to as compressed fields, represents the result of an encoding
method specific for that compressed field within a specific method specific for that compressed field within a specific
packet format. The profile defines these encoding methods. packet format. The profile defines these encoding methods.
o Updating properties o Updating properties
The profile-specific packet formats may update the state of the The profile-specific packet formats may update the state of the
decompressor, and may do so in different ways. The profile decompressor, and may do so in different ways. The profile
defines how individual profile-specific fields, or entire defines how individual profile-specific fields, or entire
profile-specific packet types, updates the decompressor context. profile-specific packet types, update the decompressor context.
o Verification o Verification
Packets that update the state of the decompressor are verified, Packets that update the state of the decompressor are verified,
to prevent incorrect updates to the decompressor context. The to prevent incorrect updates to the decompressor context. The
profile defines the mechanisms used to verify the decompression profile defines the mechanisms used to verify the decompression
of a packet. of a packet.
Context management: Context management:
skipping to change at page 34, line 31 skipping to change at page 34, line 31
[21] IANA registry, "RObust Header Compression (ROHC) Profile [21] IANA registry, "RObust Header Compression (ROHC) Profile
Identifiers", http://www.iana.org/assignments/rohc-pro-ids Identifiers", http://www.iana.org/assignments/rohc-pro-ids
[22] Alvestrand, H. and T. Narten, "Guidelines for Writing an IANA [22] Alvestrand, H. and T. Narten, "Guidelines for Writing an IANA
Considerations Section in RFCs", BCP 26, RFC 2434, October 1998. Considerations Section in RFCs", BCP 26, RFC 2434, October 1998.
11. Authors' Addresses 11. Authors' Addresses
Lars-Erik Jonsson Lars-Erik Jonsson
Ericsson AB Optand 737
Box 920 SE-831 92 Ostersund, Sweden
SE-971 28 Lulea, Sweden Phone: +46 70 365 20 58
Phone: +46 8 404 29 61 EMail: lars-erik@lejonsson.com
Fax: +46 920 996 21
EMail: lars-erik.jonsson@ericsson.com
Ghyslain Pelletier Ghyslain Pelletier
Ericsson AB Ericsson AB
Box 920 Box 920
SE-971 28 Lulea, Sweden SE-971 28 Lulea, Sweden
Phone: +46 8 404 29 43 Phone: +46 8 404 29 43
Fax: +46 920 996 21 Fax: +46 920 996 21
EMail: ghyslain.pelletier@ericsson.com EMail: ghyslain.pelletier@ericsson.com
Kristofer Sandlund Kristofer Sandlund
skipping to change at page 37, line 45 skipping to change at page 37, line 45
Disclaimer of Validity Disclaimer of Validity
This document and the information contained herein are provided on an This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
This Internet-Draft expires May 6, 2007. This Internet-Draft expires May 29, 2007.
 End of changes. 11 change blocks. 
16 lines changed or deleted 14 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/