역사 #
WebRTC는 기능이 많고 복잡해 보일 수 있습니다. 그러나 이런 복잡성은 다양한 실시간 통신 요구를 포괄하려는 과정에서 생겨났습니다. 이 장은 WebRTC를 구성하는 주요 프로토콜들의 역사와 설계 의도를 간략히 소개합니다. 배경을 이해하면 더 효과적인 시스템을 설계할 수 있습니다.
RTP #
RTP/RTCP는 WebRTC의 미디어 전송을 담당하며, 1996년 RFC 1889로 공개되었습니다. 초기 인터넷 멀티캐스트 실험과 화상회의 도구에서 출발해, 오늘날까지도 실시간 미디어 전송의 표준으로 자리 잡았습니다.
맥락과 의도 #
당시 목표는 제한된 대역폭(예: ISDN 128kbps)에서도 수용 가능한 화질을 제공하는 것이었습니다. 이를 위해 소프트웨어 기반 비디오 압축과 멀티캐스트 전송이 탐구되었고, 경험이 RTP 설계로 이어졌습니다. RTCP의 통계/제어 채널은 혼잡과 품질 문제를 다루기 위한 도구로 도입되었습니다.
교훈 #
RTCP의 복잡성이 단일 유니캐스트 스트리밍에서 채택을 어렵게 만들기도 했습니다. 반면 멀티파티/멀티캐스트 시나리오에서는 대역폭 효율과 확장성의 이점을 제공했습니다.
SRTP/DTLS와 보안 #
WebRTC는 DTLS로 키 합의/인증을 수행하고, SRTP로 미디어를 암호화합니다. 표준 웹 기술과 친화적인 신뢰 모델을 바탕으로 P2P 환경에서도 종단 간 보안을 확보하는 데 초점을 맞추었습니다.
NAT 우회와 ICE의 등장 #
현실 세계 네트워크는 NAT/방화벽/프로토콜 제약이 상시 존재합니다. STUN/TURN/ICE는 이런 제약을 넘기 위한 표준화된 해법으로 발전했고, WebRTC는 이를 조합해 다양한 네트워크에서도 연결성을 최대화합니다.
데이터 통신의 진화 #
HTTP/TCP만으로는 지연/성능의 제약이 큽니다. WebRTC는 DTLS 위의 SCTP(DataChannel)로, 무질서/부분 신뢰성/프래그먼테이션 등 실시간 데이터에 필요한 세밀한 제어를 제공합니다.
오늘과 내일 #
브라우저, 모바일, 임베디드까지 생태계가 확장되며 WebRTC는 계속 진화하고 있습니다. 혼잡 제어(TWCC/GCC), 코덱(AV1 등), 전송 최적화는 여전히 활발한 연구/개발 주제입니다. 개방 표준/상호운용성이라는 철학은 그대로 유지됩니다.
참고: 이 장의 원문에는 초기 구현자들의 상세 인터뷰가 포함됩니다. 본 한국어판에서는 핵심 맥락 위주로 요약했습니다. 원문 인터뷰와 세부 일화는 영문판을 참고하세요.