rfc-3408

Zero-byte Support for Bidirectional Reliable Mode (R-mode) in Extended Link-Layer Assisted RObust Header Compression (ROHC) Profile

Z. Liu, K. Le
date2002-12 streamIETF areatsv wgrohc statusPROPOSED STANDARD pages7 canonicalhttps://www.rfc-editor.org/rfc/rfc3408 doi10.17487/RFC3408
This document defines an additional mode of the link-layer assisted RObust Header Compression (ROHC) profile, also known as the zero-byte profile, beyond the two defined in RFC 3242. Zero-byte header compression exists in order to prevent the single-octet ROHC header from pushing a packet voice stream into the next higher fixed packet size for the radio. It is usable in certain widely deployed older air interfaces. This document adds the zero-byte operation for ROHC Bidirectional Reliable mode (R-mode) to the ones specified for Unidirectional (U-mode) and Bidirectional Optimistic (O-mode) modes of header compression in RFC 3242. [STANDARDS-TRACK]

Extracted elements (21)

design-rationale §4

CRC replacement is not needed in R-mode because R-0 packets carry no CRC field, eliminating a significant complexity present in U/O-mode and removing the need for periodic context verification as a compensating measure.

realtime, rtp

design-rationale §3

NHP packets and packet loss indications in R-mode do not update either the compressor or decompressor context, so the secure reference principle (RFC 3095, section 5.5) is not affected and there is no loss of robustness compared to ROHC RTP.

realtime, rtp, security

design-rationale §3

R-mode uses acknowledgements (SN_ACKed > SN_break) to gate NHP resumption rather than the optimistic approach (sending headers for X subsequent packets) used in U/O-mode, because R-mode relies on ACKs for context synchronization and R-0 packets do not update decompressor context (unlike UO-0).

realtime, rtp

design-rationale §1

Zero-byte (NHP) operation exists to prevent the single-octet ROHC header from pushing a packet voice stream into the next higher fixed packet size for the radio, and is usable in certain widely deployed older air interfaces.

realtime, rtp, voip

interoperability-note §3

How Offset_D is derived depends on the implementation of this profile over a specific link technology and must be specified in implementation documents. Two example approaches are given: counting non-context-updating packets and packet loss indications, or using link timing when a linear mapping between RTP SN and link timing is maintained.

realtime, rtp

interoperability-note §1

This profile is defined as additions and exceptions to RFC 3242, extending it with R-mode zero-byte support. All terminology is the same as in RFC 3242, and RFC 3242 rules for AL NHP determination apply with one modification for the R-mode unsafe condition.

realtime, rtp

normative-requirement §4 RECOMMENDED

For R-mode, periodic context verification is not needed and no change to ROHC RTP is required in this regard, because there is no CRC replacement in R-mode and the sending of R-0-CRC on 6-bit SN wrap-around implicitly provides periodic context verification.

realtime, rtp

normative-requirement §4 RECOMMENDED

It is RECOMMENDED to avoid the use of interspersed feedback packets to carry ACK information in R-mode, because interspersed feedback packets interrupt RTP SN sequencing and temporarily disable the sending of NHPs.

realtime, rtp

normative-requirement §2.2 RECOMMENDED

It is RECOMMENDED to implement the additional AL-to-compressor interface to improve compression efficiency, especially when the AL often becomes unsafe to send NHPs. This interface is not strictly required and its absence should not prevent implementing the profile.

realtime, rtp

normative-requirement §3 RECOMMENDED

Sending update_request via the optional AL-to-compressor interface is RECOMMENDED to improve worst-case performance, since passive waiting for a context update packet may take a long time during which NHPs cannot be sent.

realtime, rtp

normative-requirement §4 SHOULD NOT

The decompressor operating in R-mode SHOULD NOT send CV-REQUEST to the compressor, to avoid unnecessary overhead on the feedback channel, since CRC replacement is not an issue in R-mode.

realtime, rtp

normative-requirement §2.1 MUST

The Mode and SN_ACKed parameters MUST always be attached to every packet delivered to the assisting layer (AL). SN_ACKed indicates the latest RTP SN that has been acknowledged and is used only when Mode value = R-mode.

realtime, rtp

normative-requirement §3 SHOULD

Upon receiving an update_request from the AL, the compressor SHOULD use a context updating packet (e.g., R-0-CRC) when sending the next packet.

realtime, rtp

normative-requirement §4 SHOULD

When CCP is used, the compressor operating in R-mode SHOULD set C-bit to 0 and not generate 7-bit CRC if computation cost causes concern, as context verification via CRC is not critical in R-mode.

realtime, rtp

protocol-element §3

SN_break is recorded by the AL when it determines it is unsafe to send NHPs. NHP transmission does not resume until the AL rule is satisfied again and SN_ACKed > SN_break.

realtime, rtp

protocol-element §3

The R-mode zero-byte operation maps R-0 packets to No-Header Packets (NHPs). R-0 is the only packet type in R-mode that can be replaced with NHP; all other R-mode packet types retain their headers.

realtime, rtp

protocol-element §3

The RTP SN of an NHP at the decompressor is determined as SN_Ref_D + Offset_D, where SN_Ref_D is the RTP SN of the last update packet received and Offset_D is the sequence number offset between the NHP and that last update packet.

realtime, rtp

protocol-element §3

The update_request message is sent from the AL to the compressor carrying the last SN_break value. It requests the compressor to send a context-updating packet so NHP transmission can resume after an unsafe period.

realtime, rtp

registry §5

IANA has reserved ROHC profile identifier 0x0105 for the zero-byte R-mode profile defined in this document, where 0x0005 is the profile identifier assigned to the base LLA profile (RFC 3242).

registry, realtime, rtp

security-consideration §6

The security considerations of ROHC RTP (RFC 3095, section 7) apply to this document. An additional concern is a denial-of-service scenario where an intruder injects bogus CCP packets with random CRC values, causing CRC check failures at the decompressor that lead to unnecessary context invalidation, feedback messages, and refresh packets, greatly reducing ROHC efficiency.

security, realtime, rtp

state-machine §3

The AL transitions from NHP-sending to NHP-suspended when it determines it is unsafe to send NHPs (recording SN_break). It resumes NHP transmission only when its safety rule is satisfied and SN_ACKed > SN_break, triggered either by passive receipt of a context update or by sending an update_request.

realtime, rtp