ROHC
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.
Anwendung | HTTP | SIP | RTP | … | ROHC | |
Transport | TCP | UDP | ||||
Internet | IP (IPv4, IPv6) | |||||
Netzzugang | Ethernet | Token Ring |
FDDI | … |
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 Voice over IP-Anwendungen[1], 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[2] verstehen und befindet sich im ISO/OSI-Modell zwischen der IP-basierten Netzwerkebene und der Linkebene.
Weblinks
- Official charter of the ROHC IETF working group
- RFC 3095 – "ROHC Framework and four profiles: RTP, UDP, ESP, and uncompressed"
- RFC 3096 – "Requirements for robust IP/UDP/RTP header compression"
- RFC 4815 – "Corrections and Clarifications to RFC 3095"
- RFC 3843 – "RObust Header Compression (ROHC): A Compression Profile for IP"
- RFC 4019 – "RObust Header Compression (ROHC): Profiles for User Datagram Protocol (UDP) Lite"
- RFC 4995 – "The RObust Header Compression (ROHC) Framework"
- RFC 5225 – "RObust Header Compression Version 2 (ROHCv2): Profiles for RTP, UDP, IP, ESP and UDP-Lite"
- RFC 5858 - "IPsec Extensions to Support Robust Header Compression over IPsec"
- A free implementation of ROHC on sourceforge.net
- A free and efficient library implementing the ROHC standard
Fußnoten
- Header Compression Schemes for Wireless Internet Access (Memento des Originals vom 10. September 2006 im Internet Archive) Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.
- The concept of robust header compression, ROHC (PDF; 399 kB)