目前rohc-lib.org 1.7.0 版本的局限性
1./* R-mode is not supported yet */
2.
1. 最开始时rfc3095 定义了ROHC框架和几个协议,后来人们反应太复杂难理解有错误,后来就补充了各种独立的协议。比如
4815 (修正3095,两个结合着看)
This document
provides corrections, additions, and clarifications to RFC 3095; this
document thus updates RFC 3095. In addition, other clarifications
related to RFC 3241 (ROHC over PPP), RFC 3843 (ROHC IP profile) and
RFC 4109 (ROHC UDP-Lite profiles) are also provided.
3759 -->
This document aims at clarifying
these aspects of ROHC, discussing terms such as ROHC instances, ROHC
channels, ROHC feedback, and ROHC contexts, and how these terms
relate to other terms, like network elements and IP interfaces,
commonly used, for example, when addressing MIB issues.
this document explicitly defines the ROHC framework
and the profile for uncompressed separately. More specifically, the
definition of the framework does not modify or update the definition
of the framework specified by RFC 3095.
3843,
This document defines a
ROHC compression profile for IP, similar to the IP/UDP profile
defined by RFC 3095, but simplified to exclude UDP, and enhanced to
compress IP header chains of arbitrary length.
4996
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.
UDP 的压缩就在整体文档里3095和4815
下面就说3095 的协议理解和记录
4.3 Compression and decompression states
Both machines start in the lowest compression state and transit gradually to higher states.
Transitions need not be synchronized between the two machines. In
normal operation it is only the compressor that temporarily transits
back to lower states. The decompressor will transit back only when
context damage is detected.
4.3.1 compressor states
+----------+ +----------+ +----------+ | IR State | <--------> | FO State | <--------> | SO State | +----------+ +----------+ +----------+
4.3.1.1
FO first order 的目的就是发送一些没规律的,变化的字段。 SO second order 应用场景就是uniform pattern。就是发送的数据包头全部都是一样的模式,根据Sn的递增规律能完全推断整个header的各个字段。
+--------------+ +----------------+ +--------------+ | No Context | <---> | Static Context | <---> | Full Context | +--------------+ +----------------+ +--------------+
4.4 Modes of operation
The ROHC scheme has three modes of operation, called Unidirectional, Bidirectional Optimistic, and Bidirectional Reliable mode.
U mode
一开始都是从U mode开始,除非收到decompressor replied a feedback indicating that a mode transtion is desired.