Technical Summary
This document defines ROHC-FN (RObust Header Compression - Formal
Notation); a formal notation to specify field encodings for
compressed formats when defining new profiles within the ROHC
framework. Previous header compression profiles have been so far
specified using a combination of English text together with ASCII
Box notation. Unfortunately, this was sometimes unclear and
ambiguous, revealing the limitations of defining complex structures
and encodings for compressed formats this way. The primary
objective of the Formal Notation is to provide a more rigorous
means to define header formats -- compressed and uncompressed -- as
well as the relationships between them. ROHC-FN offers a library of
encoding methods that are often used in ROHC profiles and can
thereby help simplifying future profile development work.
Working Group Summary
This document has been in the workings for several years, it first
appeared as part of of a header compression research proposal known
as "EPIC", and became an official WG item 2002, to serve the ROHC
TCP profile development. Its form has changed through the years,
but it has now been rather stable for a long time and is used as
a basis for both the ROHC TCP profile and the upcoming ROHCv2
profiles. The document has been carefully reviewed by both the WG
and externals, and there is WG consensus that the document should
now be published as an RFC.
Document Quality
The formal notation specified by this document has now been put in
use for two ROHC profile specifications, the TCP and the ROHCv2
profiles. The document has been both manually reviewed by several
parties with different perspectives, and checked by automated
tools. During WGLC, the document was reviewed by the committed WG
reviewers Mark West, Carsten Bormann and Joe Touch, as well as by
Sally Floyd, who provided a review at the request of the Transport
Area Directorate.
Personnel
Document Sheperd for this document is Lars-Erik Jonsson, and Magnus
Westerlund is the Responsible Area Director.
Note to RFC Editor
Section 3.3,
OLD:
UNCOMPRESSED {
version [ 4 ];
header_length [ 4 ];
tos [ 6 ];
NEW:
UNCOMPRESSED {
version [ 4 ];
header_length [ 4 ];
dscp [ 6 ];
^^^^
Section 3.3, page 13:
OLD:
tos =:= irregular(6);
NEW:
dscp =:= irregular(6);
^^^^
Section 4.12.1.3:
OLD:
ipv4
{
UNCOMPRESSED {
version; // 4 bits
hdr_length; // 4 bits
protocol; // 8 bits
tos_tc; // 6 bits
NEW:
ipv4
{
UNCOMPRESSED {
version; // 4 bits
hdr_length; // 4 bits
protocol; // 8 bits
dscp; // 6 bits
^^^^