ROHC (Robust Header Compression)
정의
ROHC는 IP, UDP, RTP 등과 같은 네트워크 프로토콜의 헤더 정보를 효율적으로 압축하여 전송량을 줄이고, 특히 대역폭이 제한된 무선 환경에서 전송 효율성을 향상시키기 위한 압축 메커니즘이다. 헤더 압축을 통해 동일한 페이로드를 전송할 때 필요한 비트 수를 크게 감소시킨다.
표준 및 사양
- 최초 표준: RFC 3095 (2001) – “Robust Header Compression (ROHC)”.
- 이후 개정 및 확장: RFC 3843, RFC 5795, RFC 6145 등.
- 주요 구현에서는 RFC 3095 (압축 기본 틀)와 RFC 5795 (유연한 압축 모드) 등을 참고한다.
작동 원리
- 상태 유지: 송신측과 수신측은 압축된 헤더를 복원하기 위해 동일한 압축 상태(Context)를 유지한다.
- 압축 모드:
- U-Mode (Unidirectional): 피드백 없이 일방향 전송에 사용, 단순하지만 압축 효율이 낮음.
- O-Mode (Optimistic): 제한된 피드백을 활용해 압축 효율을 높임.
- R-Mode (Reliable): 양방향 피드백을 완전 활용해 가장 높은 압축 효율을 제공.
- 압축 단계: 원본 헤더를 분석해 변하지 않는 필드와 변하는 필드를 구분하고, 변하지 않는 필드는 생략하거나 인덱스로 대체한다. 변하는 필드는 차분값(diff) 또는 예측값으로 압축한다.
주요 적용 분야
- LTE, 5G와 같은 모바일 통신 시스템
- 위성 통신 및 무선 광대역(WiMAX)
- VoIP, 비디오 스트리밍 등 실시간 멀티미디어 전송
- 사물인터넷(IoT) 디바이스에서의 저전력, 저대역폭 통신
장점
- 헤더 압축률이 90 % 이상에 달할 수 있어 전송 효율이 크게 향상된다.
- 패킷 손실에 강인한 설계(Robust)로, 무선 환경에서 안정적인 동작을 보장한다.
- 다양한 프로토콜 스택(IP v4/v6, UDP, RTP, ESP 등)을 지원한다.
한계 및 고려사항
- 압축/복원을 위한 상태 관리가 필요하므로, 초기 설정 단계에서 오버헤드가 발생한다.
- 압축 효율은 트래픽 패턴(예: 패킷 길이, 헤더 변동성)에 따라 달라진다.
- 일부 저전력 디바이스에서는 압축 알고리즘 구현에 추가적인 CPU 자원이 요구될 수 있다.
어원
‘ROHC’는 “Robust Header Compression”의 약어로, ‘robust(견고한)’라는 형용사는 무선 환경에서의 패킷 손실 및 지연에 대한 내성을 강조한다.
관련 문서
- RFC 3095 – Robust Header Compression (ROHC) (2001)
- RFC 5795 – Robust Header Compression (ROHC): Profile for IP
- RFC 6145 – Robust Header Compression (ROHC): UDP-Lite extension
요약
ROHC는 네트워크 헤더를 고효율로 압축함으로써 제한된 대역폭 환경에서 데이터 전송을 최적화하는 표준 기술이며, 모바일 통신, 위성, VoIP 등 다양한 분야에서 널리 적용되고 있다.