ROHC
# ROHC

ROHC im TCP/IP-Protokollstapel: :

| Anwendung | HTTP | SIP | RTP | … | | ROHC |
| - | - | - | - | - | - | - |
| Transport | TCP | TCP | UDP | UDP | | | ROHC |
| Internet | IP (IPv4, IPv6) | IP (IPv4, IPv6) | IP (IPv4, IPv6) | IP (IPv4, IPv6) | | | | ROHC |
| Netzzugang | Ethernet | Ethernet | Token Ring | FDDI | FDDI | … |

Robust Header Compression (ROHC) ist ein Verfahren zur Kompression von IP-, TCP-, UDP- und RTP-Headern, das im RFC 3095 der IETF aus dem Jahr 2001 beschrieben wird.

Sein Einsatzgebiet sind vor allem Funkverbindungen, die sich durch eine hohe Bitfehlerrate von bis zu $10^{−2}$ und Roundtrip-Zeiten von bis zu 100–200 ms auszeichnen. ROHC wird in UMTS- und LTE-Mobilfunknetzen im Packet Data Convergence Protocol (PDCP) eingesetzt. Während die Kompression der Nutzlast bei Multimedia- und VoIP-Streaming durch die Anwendungsschicht erledigt wird, belegen die Kopfdaten eines jeden Paketes viel Bandbreite. Ohne Kompression summiert sich der Overhead von IP (20 Byte bzw. 40 Byte), UDP (8 Byte) und RTP (12 Byte) zusammen auf 40 Byte pro Paket für IPv4 und auf 60 Byte für IPv6 für typische VoIP-Anwendungen, wobei je nach benutztem Codec nur 15 bis 20 Byte Nutzdaten pro Paket transportiert werden. Dieses Ungleichgewicht ist bei mobiler Nutzung, bei der Bandbreite teuer und rar ist, nicht tolerabel.

ROHC komprimiert diese 40 oder 60 Byte typischerweise in einige wenige Byte (je nach Beschreibung der Technologie liegt die erreichbare Größe zwischen 2 und 5 Byte), indem ein Kompressor vor den Übertragungskanal mit beschränkter Bandbreite und ein Dekompressor dahinter eingesetzt werden. Für die Komprimierung werden Ähnlichkeiten zwischen den Kopfdaten mehrerer Pakete derselben Verbindung und die Vorhersagbarkeit der Kopfdaten der verschiedenen Protokolle untereinander genutzt. Ein Großteil der Kopfdaten können dabei als statisch oder quasi-statisch betrachtet werden.

ROHC lässt sich als durch Paketstromprofile für neue Protokollkombinationen erweiterbares Komprimierungsframework verstehen und befindet sich im ISO/OSI-Modell zwischen der IP-basierten Netzwerkebene und der Linkebene.

