요약
- RFC 3408은 보조 계층이 누락된 패킷 유형과 시퀀스 증거를 제공할 수 있는 경우에 한해, 특정 ROHC 패킷인 R-0를 무헤더 패킷(No-Header Packet)으로 대체하는 것을 허용했다.
- 절약은 조건부였다. 시퀀스 복원이 더 이상 안전하지 않게 되면, 이후 확인된(acknowledged) 갱신이 기록된 중단 지점을 넘어서기 전까지는 헤더 없는 전송을 중단해야 했다.
경제적 압력은 이례적으로 세분화되어 있었다. 구형 무선 인터페이스에서는 1옥텟짜리 ROHC 헤더 하나가 음성 패킷을 다음 고정 패킷 크기로 밀어 넣을 수 있었다. 따라서 RFC 3243은 0바이트 압축을 범용 효율 기법이 아니라, 크기가 우연히 맞아떨어지는 애플리케이션과 링크를 위한 대응책으로 규정했다. RFC 3242가 U 모드와 O 모드용 프로파일을 제공했고, RFC 3408은 이를 신뢰 기반의 R 모드로 확장했다.
“0바이트”라는 표현은 무선 경로상의 압축 헤더를 설명한 것이지, 프로토콜 작업량을 뜻하지 않았다. 생략된 헤더는 패킷을 식별하고 시퀀싱 정보를 실어 날랐다. RFC 3242는 ROHC 아래의 보조 계층이 무헤더 패킷을 ROHC 헤더가 있는 패킷과 구분하고, 순서 가정을 유지하며, 관련 손실을 각각 보고할 것을 요구했다. 필드를 제거한다는 것은 그 필드의 증거적 책임을 다른 곳으로 옮기는 일이었다.
RFC 3408은 이 작업을 더 좁혔다. 오직 R-0 패킷만 무헤더 패킷이 될 수 있었다. 수신기에서는 마지막 안전 참조값에 오프셋을 더해 RTP 시퀀스 번호를 복원했다. 표준은 오프셋 메커니즘을 의도적으로 링크별 구현 문서에 맡겼다. 시스템은 갱신하지 않는 패킷과 명시적 손실 표시를 세거나, 링크 타이밍과 RTP 시퀀스 사이에 유지되는 관계로부터 오프셋을 도출할 수 있다. 어느 쪽이든 사라진 번호는 관측 가능한 어딘가에서 나와야 했다.
이 의존성은 명시적인 ‘불안전(unsafe)’ 상태를 만들었다. 보조 계층이 더 이상 수신기가 올바른 시퀀스를 추론할 것을 보장할 수 없는 상황에서도 압축기는 무헤더 패킷을 허용할 수 있었다. 그러면 보조 계층은 해당 RTP 번호를SN_break로 기록하고 무헤더 패킷 발신을 중단했다. 재개는 일반적인 안전 규칙이 다시 참이 되고, 최신 확인 시퀀스인SN_ACKed가 중단 지점을 넘어서 진전된 후에만 가능했다.
이는 단순히 시간이 흐르기를 기다리는 것보다 엄격했다. R 모드는 U 모드와 O 모드가 사용하는 낙관적 반복이 아니라 확인 응답에 의존했기 때문이다. 다음 컨텍스트 갱신을 수동적으로 기다리는 것은 길어질 수 있었다. 그래서 RFC 3408은 보조 계층이 압축기에 다음 패킷이 컨텍스트를 갱신하도록 요청하는 선택적 메커니즘을 권고했다. 별도 위치의 구성 요소들 사이에서 그 요청이 유실되면, 효율 압축의 재개가 지연될 뿐이며 추측에 의한 재시작을 정당화하지는 않았다.
컨텍스트 경계는 신중하게 보존되었다. R 모드에서 무헤더 패킷과 그 손실 표시는 압축기나 복호화기의 컨텍스트를 갱신하지 않았다. R-0 자체에는 CRC가 없었기 때문에, U/O 모드 헤더 제거가 만들어내는 CRC 대체 문제는 발생하지 않았다. 6비트 시퀀스 랩(wrap) 시점에 주기적으로 오는 R-0-CRC 패킷이 이미 컨텍스트 검사를 제공했다. 사라진 바이트가 안전 참조를 폐지한 것이 아니라, 그 분리를 더 뚜렷하게 만든 것이다.
피드백 배치조차도 0바이트 경로를 닫을 수 있었다. RFC 3408은 ACK용 피드백 패킷을 데이터 흐름 사이에 끼워 넣는 것을 권하지 않았는데, 이는 RTP 시퀀스 연속성을 끊고 무헤더 패킷 전송을 일시적으로 비활성화하기 때문이었다. 겉보기에 무해한 제어 경로 선택이 데이터 경로가 헤더를 안전하게 생략할 수 있는지를 좌우했다.
보안상의 결과는 주로 가용성에 관한 것이었다. 무작위 CRC 값을 담은 가짜 컨텍스트 검사 패킷(Context Check Packet)을 주입할 수 있는 침입자는 거짓 실패, 컨텍스트 무효화, 피드백 및 갱신을 유발할 수 있었다. 이 공격은 음성 패킷의 의미를 위조할 필요가 없었다. 프로파일을 정당화하는 효율성 자체를 파괴하면 충분했다.
이후의 ROHC 프레임워크 문서와 ROHCv2 문서들이 더 넓은 아키텍처를 재편했지만, IANA 프로파일 레지스트리는 식별자를 보존했다. 어느 문서도 RFC 3408의 배포 결과를 제시하지 않는다. 이 역사적 기여는 회계 규칙이다: 바이트는 그 기능이 소유자, 신호, 복구 경계를 갖춘 의무로 다시 나타날 때에만 사라진다.
출처
- https://www.rfc-editor.org/rfc/rfc3408.html
- https://www.rfc-editor.org/rfc/rfc3408.txt
- https://www.rfc-editor.org/info/rfc3408/
- https://datatracker.ietf.org/doc/rfc3408/
- https://datatracker.ietf.org/doc/rfc3408/history/
- https://datatracker.ietf.org/doc/rfc3408/references/
- https://www.rfc-editor.org/errata_search.php?rfc=3408
- https://www.rfc-editor.org/rfc/rfc3242.html
- https://www.rfc-editor.org/rfc/rfc3243.html
- https://www.rfc-editor.org/rfc/rfc3095.html
- https://www.rfc-editor.org/rfc/rfc4995.html
- https://www.rfc-editor.org/rfc/rfc5795.html
- https://www.rfc-editor.org/rfc/rfc5225.html
- https://www.rfc-editor.org/rfc/rfc4224.html
- https://www.rfc-editor.org/rfc/rfc3759.html
- https://www.rfc-editor.org/rfc/rfc2508.html
- https://www.rfc-editor.org/rfc/rfc1144.html
- https://www.iana.org/assignments/rohc-pro-ids/rohc-pro-ids.xhtml
- https://heng.lu/running-code-primary-the-patch-needed-to-preserve-the-internet-original-design/
- https://heng.lu/minimum-initial-specification-localized-future-decision-voluntary-adoption-internet-coordination-system/
회원 브리핑
프로필 심층 컨텍스트
올바른 멤버십 등급으로 로그인하면 전체 브리핑과 출처 노트를 볼 수 있습니다.
Strategic Circle 전용
Strategic Circle
모든 독자에게 공개됩니다. 가입 후 로그인하면 프로필 브리핑를 열람할 수 있습니다.
Strategic Circle 가입하기Leadership Alliance 전용
Leadership Alliance
자격을 갖춘 IP 자산 소유자 및 운영진을 위한 콘텐츠입니다. 로그인하면 Leadership Alliance 브리핑을 열람할 수 있습니다.
Leadership Alliance 가입하기





