Robust Header Compression
ROHC je protokol, který snižuje režii záhlaví IP paketů bezdrátovými spoji vytvořením kompresního kontextu, kdy se zpočátku posílají plná záhlaví a následně pouze malé identifikátory, čímž se zlepšuje spektrální účinnost a snižuje latence.
Popis
Robust Header Compression (ROHC) je standardizovaný rámec původně definovaný v IETF RFC 3095 a podrobně profilovaný a přijatý organizací 3GPP pro mobilní sítě počínaje Release 5. Jde o bezeztrátový kompresní protokol určený ke kompresi záhlaví toků IP provozu před přenosem přes rozhraní rádiového rozhraní. Protokol je implementován ve vrstvě Packet Data Convergence Protocol (PDCP) v zásobnících 3GPP (UTRAN, E-UTRAN, NG-RAN). ROHC identifikuje pole v záhlavích protokolů, která jsou konstantní, předvídatelná (např. sekvenčně se zvyšující čísla sekvencí), nebo odvoditelná z jiných vrstev, a potlačuje jejich přenos po počáteční synchronizaci.
Architektura zahrnuje kompresor (v uzlu vysílajícím, např. UE nebo gNB) a dekompresor (v uzlu přijímajícím). Tyto jednotky udržují synchronizované kompresní kontexty, což jsou sady informací o polích záhlaví toku paketů. ROHC pracuje v několika stavech (režimech), které umožňují kompromis mezi účinností a robustností: stav inicializace a obnovy (IR), kdy se posílají plná záhlaví pro vytvoření kontextu; stav první úrovně (FO), kde se dynamická pole komprimují pomocí vzorců; a stav druhé úrovně (SO), kdy se pro maximální kompresi posílá pouze malý kontextový identifikátor (CID) a kontrolní součet (CRC). Protokol využívá více zpětnovazebních kanálů (režimy s potvrzením, bez potvrzení a obousměrný optimistický režim) pro zvládání chyb a zajištění synchronizace kontextu i přes ztrátové rádiové spoje.
Příklad fungování pro typický VoIP (RTP/UDP/IP) paket: První paket je odeslán s plným záhlavím (IR paket). Dekompresor se naučí statická pole (IP adresy, porty) a měnící se vzorek dynamických polí (RTP číslo sekvence, časové razítko). Pro další paket kompresor odešle komprimované záhlaví obsahující malý CID a zakódované rozdíly (deltas) pro dynamická pole. V nejúčinnějším stavu může poslat pouze 1bajtové záhlaví s CRC. Pokud dekompresor detekuje chybu pomocí CRC nebo mezery v číslování sekvencí, může prostřednictvím zpětné vazby vyžádat aktualizaci kontextu nebo počkat na periodické obnovení. ROHC definuje specifické profily pro různé zásobníky protokolů (např. profil 0x0001 pro RTP/UDP/IP, profil 0x0002 pro UDP/IP, profil 0x0006 pro TCP/IP). Specifikace 3GPP podrobně popisují, jak je ROHC integrováno do vrstvy PDCP, včetně správy kontextu během předávání spojení a nastavování přenosového kanálu.
K čemu slouží
ROHC byl vytvořen k řešení značné neefektivity přenosu plných IP záhlaví přes bezdrátové spoje s nízkou šířkou pásma, vysokou latencí a náchylné k chybám. Na počátku 21. století, kdy začaly 3G sítě přenášet IP provoz, se ukázalo, že režie záhlaví IPv4 (20 bajtů) nebo IPv6 (40 bajtů) plus UDP (8 bajtů) a RTP (12 bajtů) může být větší než samotný hlasový užitečný obsah u VoIP. Tím se plýtvalo vzácným rádiovým spektrem a zvyšovalo se zpoždění paketů. Předchozí řešení před ROHC byla méně odolná vůči ztrátě paketů a měla omezenou kompresní účinnost.
Motivace pro standardizaci ROHC v rámci 3GPP spočívala v umožnění efektivní podpory služeb v reálném čase, jako je Voice over IP (VoIP) a streamování videa přes mobilní sítě. Protokol přímo řeší problém nízké spektrální účinnosti pro provoz s malými pakety a citlivý na zpoždění. Snížením velikosti záhlaví ze 40-60 bajtů na pouhé 1-4 bajty může ROHC zdvojnásobit či ztrojnásobit efektivní kapacitu pro hlasová volání. Jeho odolnost vůči ztrátě paketů — klíčový konstrukční cíl — zajišťuje spolehlivou dekompresi i při zhoršení podmínek na rádiovém spoji a zabraňuje desynchronizaci kontextu, která by vedla k fatálnímu selhání. Jeho přijetí od Release 5 (HSDPA) až po 5G NR dokazuje jeho trvalou hodnotu při šetření rádiových zdrojů a snižování latence, což je klíčové pro kapacitu sítě a uživatelský zážitek.
Klíčové vlastnosti
- Rámec pro kompresi záhlaví IP, UDP, RTP, ESP a TCP
- Pracuje s více kompresními stavy (IR, FO, SO) pro optimalizaci kompromisu mezi účinností a robustností
- Využívá kompresní kontexty synchronizované mezi kompresorem a dekompresorem
- Podporuje více režimů robustnosti (jednosměrný, obousměrný optimistický, obousměrný spolehlivý)
- Definuje specifické profily pro různé kombinace zásobníků protokolů
- Integrován do vrstvy PDCP v 3GPP pro provoz přes rozhraní Uu a rádiová rozhraní
Související pojmy
- PDCP – Packet Data Convergence Protocol
- VOIP – Voice over IP
- QoS – Quality of Service
- E-UTRAN – Evolved Universal Terrestrial Radio Access Network
Definující specifikace
- TR 21.905 (Rel-19) — 3GPP Technical Terms and Definitions
- TS 23.280 (Rel-20) — Common Architecture for Mission Critical Services
- TS 23.479 (Rel-19) — MBMS API for Mission Critical Services
- TS 23.792 (Rel-16) — MBMS API for Mission Critical Services
- TS 24.301 (Rel-19) — NAS protocol for Evolved Packet System
- TS 24.379 (Rel-19) — Mission Critical Push To Talk (MCPTT) call control
- TS 24.380 (Rel-19) — MCPTT Media Plane Control Protocol
- TS 25.323 (Rel-19) — Packet Data Convergence Protocol (PDCP) Specification
- TS 25.331 (Rel-19) — UTRAN RRC Protocol Specification
- TR 25.912 (Rel-19) — Evolved UTRA and UTRAN Technical Report
- TR 25.993 (Rel-19) — UTRA RAB Examples and Radio Interface Mapping
- TS 26.517 (Rel-19) — 5G MBS User Service Protocols and Formats
- TR 26.935 (Rel-19) — Speech Codec Performance for Packet Switched Multimedia
- TR 26.936 (Rel-19) — Audio Codec Characterization Technical Report
- TR 26.937 (Rel-19) — 3GPP PSS Characterization
- … a dalších 14 specifikací
📖 Anglický originál a plná specifikace: ROHC na 3GPP Explorer