rfc3095.txt
来自「RFC 的详细文档!」· 文本 代码 · 共 1,375 行 · 第 1/5 页
TXT
1,375 行
Network Working Group C. Bormann, Editor, TZI/Uni Bremen
Request for Comments: 3095 C. Burmeister, Matsushita
Category: Standards Track M. Degermark, Univ. of Arizona
H. Fukushima, Matsushita
H. Hannu, Ericsson
L-E. Jonsson, Ericsson
R. Hakenberg, Matsushita
T. Koren, Cisco
K. Le, Nokia
Z. Liu, Nokia
A. Martensson, Ericsson
A. Miyazaki, Matsushita
K. Svanbro, Ericsson
T. Wiebke, Matsushita
T. Yoshimura, NTT DoCoMo
H. Zheng, Nokia
July 2001
RObust Header Compression (ROHC):
Framework and four profiles: RTP, UDP, ESP, and uncompressed
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 Internet Society (2001). All Rights Reserved.
Abstract
This document specifies a highly robust and efficient header
compression scheme for RTP/UDP/IP (Real-Time Transport Protocol, User
Datagram Protocol, Internet Protocol), UDP/IP, and ESP/IP
(Encapsulating Security Payload) headers.
Existing header compression schemes do not work 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.
Bormann, et al. Standards Track [Page 1]
RFC 3095 Robust Header Compression July 2001
This is done in a framework designed to be extensible. For example,
a scheme for compressing TCP/IP headers will be simple to add, and is
in development. Headers specific to Mobile IPv4 are not subject to
special treatment, but are expected to be compressed sufficiently
well by the provided methods for compression of sequences of
extension headers and tunneling headers. For the most part, the same
will apply to work in progress on Mobile IPv6, but future work might
be required to handle some extension headers, when a standards track
Mobile IPv6 has been completed.
Table of Contents
1. Introduction....................................................6
2. Terminology.....................................................8
2.1. Acronyms.....................................................13
3. Background.....................................................14
3.1. Header compression fundamentals..............................14
3.2. Existing header compression schemes..........................14
3.3. Requirements on a new header compression scheme..............16
3.4. Classification of header fields..............................17
4. Header compression framework...................................18
4.1. Operating assumptions........................................18
4.2. Dynamicity...................................................19
4.3. Compression and decompression states.........................21
4.3.1. Compressor states..........................................21
4.3.1.1. Initialization and Refresh (IR) State....................22
4.3.1.2. First Order (FO) State...................................22
4.3.1.3. Second Order (SO) State..................................22
4.3.2. Decompressor states........................................23
4.4. Modes of operation...........................................23
4.4.1. Unidirectional mode -- U-mode..............................24
4.4.2. Bidirectional Optimistic mode -- O-mode....................25
4.4.3. Bidirectional Reliable mode -- R-mode......................25
4.5. Encoding methods.............................................25
4.5.1. Least Significant Bits (LSB) encoding .....................25
4.5.2. Window-based LSB encoding (W-LSB encoding).................28
4.5.3. Scaled RTP Timestamp encoding .............................28
4.5.4. Timer-based compression of RTP Timestamp...................31
4.5.5. Offset IP-ID encoding......................................34
4.5.6. Self-describing variable-length values ....................35
4.5.7. Encoded values across several fields in compressed headers 36
4.6. Errors caused by residual errors.............................36
4.7. Impairment considerations....................................37
5. The protocol...................................................39
5.1. Data structures..............................................39
5.1.1. Per-channel parameters.....................................39
5.1.2. Per-context parameters, profiles...........................40
5.1.3. Contexts and context identifiers ..........................41
Bormann, et al. Standards Track [Page 2]
RFC 3095 Robust Header Compression July 2001
5.2. ROHC packets and packet types................................41
5.2.1. ROHC feedback .............................................43
5.2.2. ROHC feedback format ......................................45
5.2.3. ROHC IR packet type .......................................47
5.2.4. ROHC IR-DYN packet type ...................................48
5.2.5. ROHC segmentation..........................................49
5.2.5.1. Segmentation usage considerations........................49
5.2.5.2. Segmentation protocol....................................50
5.2.6. ROHC initial decompressor processing.......................51
5.2.7. ROHC RTP packet formats from compressor to decompressor....53
5.2.8. Parameters needed for mode transition in ROHC RTP..........54
5.3. Operation in Unidirectional mode.............................55
5.3.1. Compressor states and logic (U-mode).......................55
5.3.1.1. State transition logic (U-mode)..........................55
5.3.1.1.1. Optimistic approach, upwards transition................55
5.3.1.1.2. Timeouts, downward transition..........................56
5.3.1.1.3. Need for updates, downward transition..................56
5.3.1.2. Compression logic and packets used (U-mode)..............56
5.3.1.3. Feedback in Unidirectional mode..........................56
5.3.2. Decompressor states and logic (U-mode).....................56
5.3.2.1. State transition logic (U-mode)..........................57
5.3.2.2. Decompression logic (U-mode).............................57
5.3.2.2.1. Decide whether decompression is allowed................57
5.3.2.2.2. Reconstruct and verify the header......................57
5.3.2.2.3. Actions upon CRC failure...............................58
5.3.2.2.4. Correction of SN LSB wraparound........................60
5.3.2.2.5. Repair of incorrect SN updates.........................61
5.3.2.3. Feedback in Unidirectional mode..........................62
5.4. Operation in Bidirectional Optimistic mode...................62
5.4.1. Compressor states and logic (O-mode).......................62
5.4.1.1. State transition logic...................................63
5.4.1.1.1. Negative acknowledgments (NACKs), downward transition..63
5.4.1.1.2. Optional acknowledgments, upwards transition...........63
5.4.1.2. Compression logic and packets used.......................63
5.4.2. Decompressor states and logic (O-mode).....................64
5.4.2.1. Decompression logic, timer-based timestamp decompression.64
5.4.2.2. Feedback logic (O-mode)..................................64
5.5. Operation in Bidirectional Reliable mode.....................65
5.5.1. Compressor states and logic (R-mode).......................65
5.5.1.1. State transition logic (R-mode)..........................65
5.5.1.1.1. Upwards transition.....................................65
5.5.1.1.2. Downward transition....................................66
5.5.1.2. Compression logic and packets used (R-mode)..............66
5.5.2. Decompressor states and logic (R-mode).....................68
5.5.2.1. Decompression logic (R-mode).............................68
5.5.2.2. Feedback logic (R-mode)..................................68
5.6. Mode transitions.............................................69
5.6.1. Compression and decompression during mode transitions......70
Bormann, et al. Standards Track [Page 3]
RFC 3095 Robust Header Compression July 2001
5.6.2. Transition from Unidirectional to Optimistic mode..........71
5.6.3. From Optimistic to Reliable mode...........................72
5.6.4. From Unidirectional to Reliable mode.......................72
5.6.5. From Reliable to Optimistic mode...........................72
5.6.6. Transition to Unidirectional mode..........................73
5.7. Packet formats...............................................74
5.7.1. Packet type 0: UO-0, R-0, R-0-CRC .........................78
5.7.2. Packet type 1 (R-mode): R-1, R-1-TS, R-1-ID ...............79
5.7.3. Packet type 1 (U/O-mode): UO-1, UO-1-ID, UO-1-TS ..........80
5.7.4. Packet type 2: UOR-2 ......................................82
5.7.5. Extension formats..........................................83
5.7.5.1. RND flags and packet types...............................88
5.7.5.2. Flags/Fields in context..................................89
5.7.6. Feedback packets and formats...............................90
5.7.6.1. Feedback formats for ROHC RTP............................90
5.7.6.2. ROHC RTP Feedback options................................91
5.7.6.3. The CRC option...........................................92
5.7.6.4. The REJECT option........................................92
5.7.6.5. The SN-NOT-VALID option..................................92
5.7.6.6. The SN option............................................93
5.7.6.7. The CLOCK option.........................................93
5.7.6.8. The JITTER option........................................93
5.7.6.9. The LOSS option..........................................94
5.7.6.10. Unknown option types....................................94
5.7.6.11. RTP feedback example....................................94
5.7.7. RTP IR and IR-DYN packets..................................96
5.7.7.1. Basic structure of the IR packet.........................96
5.7.7.2. Basic structure of the IR-DYN packet.....................98
5.7.7.3. Initialization of IPv6 Header [IPv6].....................99
5.7.7.4. Initialization of IPv4 Header [IPv4, section 3.1].......100
5.7.7.5. Initialization of UDP Header [RFC-768]..................101
5.7.7.6. Initialization of RTP Header [RTP]......................102
5.7.7.7. Initialization of ESP Header [ESP, section 2]...........103
5.7.7.8. Initialization of Other Headers.........................104
5.8. List compression............................................104
5.8.1. Table-based item compression..............................105
5.8.1.1. Translation table in R-mode.............................105
5.8.1.2. Translation table in U/O-modes..........................106
5.8.2. Reference list determination..............................106
5.8.2.1. Reference list in R-mode and U/O-mode...................107
5.8.3. Encoding schemes for the compressed list..................109
5.8.4. Special handling of IP extension headers..................112
5.8.4.1. Next Header field.......................................112
5.8.4.2. Authentication Header (AH)..............................114
5.8.4.3. Encapsulating Security Payload Header (ESP).............115
5.8.4.4. GRE Header [RFC 2784, RFC 2890].........................117
5.8.5. Format of compressed lists in Extension 3.................119
5.8.5.1. Format of IP Extension Header(s) field..................119
Bormann, et al. Standards Track [Page 4]
RFC 3095 Robust Header Compression July 2001
5.8.5.2. Format of Compressed CSRC List..........................120
5.8.6. Compressed list formats...................................120
5.8.6.1. Encoding Type 0 (generic scheme)........................120
5.8.6.2. Encoding Type 1 (insertion only scheme).................122
5.8.6.3. Encoding Type 2 (removal only scheme)...................123
5.8.6.4. Encoding Type 3 (remove then insert scheme).............124
5.8.7. CRC coverage for extension headers........................124
5.9. Header compression CRCs, coverage and polynomials...........125
5.9.1. IR and IR-DYN packet CRCs.................................125
5.9.2. CRCs in compressed headers................................125
5.10. ROHC UNCOMPRESSED -- no compression (Profile 0x0000).......126
5.10.1. IR packet................................................126
5.10.2. Normal packet............................................127
5.10.3. States and modes.........................................128
5.10.4. Feedback.................................................129
5.11. ROHC UDP -- non-RTP UDP/IP compression (Profile 0x0002)....129
5.11.1. Initialization...........................................130
5.11.2. States and modes.........................................130
5.11.3. Packet types.............................................131
5.11.4. Extensions...............................................132
5.11.5. IP-ID....................................................133
5.11.6. Feedback.................................................133
5.12. ROHC ESP -- ESP/IP compression (Profile 0x0003)............133
5.12.1. Initialization...........................................133
5.12.2. Packet types.............................................134
6. Implementation issues.........................................134
6.1. Reverse decompression.......................................134
6.2. RTCP........................................................135
6.3. Implementation parameters and signals.......................136
6.3.1. ROHC implementation parameters at compressor..............137
6.3.2. ROHC implementation parameters at decompressor............138
6.4. Handling of resource limitations at the decompressor........139
6.5. Implementation structures...................................139
6.5.1. Compressor context........................................139
6.5.2. Decompressor context......................................141
6.5.3. List compression: Sliding windows in R-mode and U/O-mode..142
7. Security Considerations.......................................143
8. IANA Considerations...........................................144
9. Acknowledgments...............................................145
10. Intellectual Property Right Claim Considerations.............145
11. References...................................................146
11.1. Normative References.......................................146
11.2. Informative References.....................................147
12. Authors' Addresses...........................................148
Appendix A. Detailed classification of header fields.............152
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?