RObust Header Compression (ROHC): A Profile for TCP/IP (ROHC-TCP)
RFC 4996
Document | Type |
RFC - Proposed Standard
(July 2007; Errata)
Obsoleted by RFC 6846
Was draft-ietf-rohc-tcp (rohc WG)
|
|
---|---|---|---|
Authors | Lars-Erik Jonsson , Kristofer Sandlund , Mark West , Ghyslain Pelletier | ||
Last updated | 2020-01-21 | ||
Replaces | draft-ietf-rohc-tcp-epic, draft-ietf-rohc-tcp-taroc | ||
Stream | IETF | ||
Formats | plain text html pdf htmlized with errata bibtex | ||
Reviews | |||
Stream | WG state | (None) | |
Document shepherd | No shepherd assigned | ||
IESG | IESG state | RFC 4996 (Proposed Standard) | |
Consensus Boilerplate | Unknown | ||
Telechat date | |||
Responsible AD | Magnus Westerlund | ||
Send notices to | (None) |
Network Working Group G. Pelletier Request for Comments: 4996 K. Sandlund Category: Standards Track Ericsson L-E. Jonsson M. West Siemens/Roke Manor July 2007 RObust Header Compression (ROHC): A Profile for TCP/IP (ROHC-TCP) 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 document specifies a ROHC (Robust Header Compression) profile for compression of TCP/IP packets. The profile, called ROHC-TCP, provides efficient and robust compression of TCP headers, including frequently used TCP options such as SACK (Selective Acknowledgments) and Timestamps. ROHC-TCP works well when used over links with significant error rates and long round-trip times. For many bandwidth-limited links where header compression is essential, such characteristics are common. Pelletier, et al. Standards Track [Page 1] RFC 4996 ROHC-TCP July 2007 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 3. Background . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.1. Existing TCP/IP Header Compression Schemes . . . . . . . . 5 3.2. Classification of TCP/IP Header Fields . . . . . . . . . . 6 4. Overview of the TCP/IP Profile (Informative) . . . . . . . . . 8 4.1. General Concepts . . . . . . . . . . . . . . . . . . . . . 8 4.2. Compressor and Decompressor Interactions . . . . . . . . . 8 4.2.1. Compressor Operation . . . . . . . . . . . . . . . . . 8 4.2.2. Decompressor Feedback . . . . . . . . . . . . . . . . 9 4.3. Packet Formats and Encoding Methods . . . . . . . . . . . 9 4.3.1. Compressing TCP Options . . . . . . . . . . . . . . . 10 4.3.2. Compressing Extension Headers . . . . . . . . . . . . 10 4.4. Expected Compression Ratios with ROHC-TCP . . . . . . . . 10 5. Compressor and Decompressor Logic (Normative) . . . . . . . . 11 5.1. Context Initialization . . . . . . . . . . . . . . . . . . 11 5.2. Compressor Operation . . . . . . . . . . . . . . . . . . . 11 5.2.1. Compression Logic . . . . . . . . . . . . . . . . . . 11 5.2.2. Feedback Logic . . . . . . . . . . . . . . . . . . . . 13 5.2.3. Context Replication . . . . . . . . . . . . . . . . . 14 5.3. Decompressor Operation . . . . . . . . . . . . . . . . . . 14 5.3.1. Decompressor States and Logic . . . . . . . . . . . . 14 5.3.2. Feedback Logic . . . . . . . . . . . . . . . . . . . . 18 5.3.3. Context Replication . . . . . . . . . . . . . . . . . 18 6. Encodings in ROHC-TCP (Normative) . . . . . . . . . . . . . . 18 6.1. Control Fields in ROHC-TCP . . . . . . . . . . . . . . . . 18 6.1.1. Master Sequence Number (MSN) . . . . . . . . . . . . . 19 6.1.2. IP-ID Behavior . . . . . . . . . . . . . . . . . . . . 19 6.1.3. Explicit Congestion Notification (ECN) . . . . . . . . 20 6.2. Compressed Header Chains . . . . . . . . . . . . . . . . . 21 6.3. Compressing TCP Options with List Compression . . . . . . 23 6.3.1. List Compression . . . . . . . . . . . . . . . . . . . 23 6.3.2. Table-Based Item Compression . . . . . . . . . . . . . 24 6.3.3. Encoding of Compressed Lists . . . . . . . . . . . . . 25 6.3.4. Item Table Mappings . . . . . . . . . . . . . . . . . 26 6.3.5. Compressed Lists in Dynamic Chain . . . . . . . . . . 28 6.3.6. Irregular Chain Items for TCP Options . . . . . . . . 28 6.3.7. Replication of TCP Options . . . . . . . . . . . . . . 28 6.4. Profile-Specific Encoding Methods . . . . . . . . . . . . 29 6.4.1. inferred_ip_v4_header_checksum . . . . . . . . . . . . 29 6.4.2. inferred_mine_header_checksum . . . . . . . . . . . . 30 6.4.3. inferred_ip_v4_length . . . . . . . . . . . . . . . . 30 6.4.4. inferred_ip_v6_length . . . . . . . . . . . . . . . . 31 6.4.5. inferred_offset . . . . . . . . . . . . . . . . . . . 31 6.4.6. baseheader_extension_headers . . . . . . . . . . . . . 31Show full document text