WebRTC(Web Real-Time Communication)는 추가 플러그인이나 소프트웨어 없이도 브라우저와 기기 간에 실시간 오디오, 비디오 및 데이터 전송을 직접 가능하게 하는 오픈 소스 기술입니다. 화상 회의, 라이브 스트리밍, 온라인 게임 및 P2P(peer-to-peer) 파일 공유에 널리 사용됩니다. WebRTC는 Google에서 개발하고 W3C(World Wide Web Consortium) 및 IETF(Internet Engineering Task Force)에서 표준화했습니다. Chrome, Firefox, Edge, Safari와 같은 주요 브라우저에서 지원되므로 웹에서 실시간 커뮤니케이션을 위한 핵심 기술입니다.
WebRTC는 몇 가지 핵심 구성 요소를 사용하여 직접 P2P(피어투피어) 연결을 설정합니다.
신호: WebSockets 또는 SIP와 같은 외부 프로토콜을 통해 메타데이터(예: IP 주소, 세션 세부 정보)를 교환하여 연결을 시작합니다.
STUN/TURN 서버: 방화벽과 NAT 제한을 우회하여 연결을 보장합니다.
피어 연결: SRTP(Secure Real-Time Transport Protocol)를 사용하여 미디어 스트림을 암호화하고 P2P 데이터 교환을 위한 DataChannel API를 사용합니다.
WebRTC가 구축되면 사용자 간에 저지연성, 암호화 및 고품질 미디어 전송이 가능해집니다.
낮은 지연 시간: 1초 미만의 통신을 지원하므로 실시간 상호작용에 이상적입니다.
종단간 암호화: 안전한 미디어 및 데이터 전송을 위해 DTLS-SRTP를 사용합니다.
크로스 플랫폼 호환성: 웹, 모바일, 임베디드 시스템에서 작동합니다.
적응형 네트워크 처리: 네트워크 상황에 따라 미디어 품질을 동적으로 조정합니다.
추가 소프트웨어 필요 없음: 최신 브라우저에서 기본적으로 실행됩니다.
특징 | 웹RTC | 하츠엘에스 | 대시 | 한국어: |
---|---|---|---|---|
숨어 있음 | 1초 미만(<500ms) | 5-30초 | 3-10초 | 2-5초 |
전송 프로토콜 | UDP(SRTP, SCTP, DTLS) | HTTP(TCP 기반) | HTTP(TCP 기반) | TCP(RTMP) |
이상적인 사용 사례 | 영상통화, 게임, 라이브 채팅 | OTT, VOD, 라이브 스트리밍 | OTT, VOD, 적응형 스트리밍 | 레거시 라이브 스트리밍 |
P2P 지원 | 예 | 아니요 | 아니요 | 아니요 |
암호화 | 예 | 아니요(DRM 암호화가 아닌 경우) | 아니요(DRM 암호화가 아닌 경우) | 아니요 |
확장성: P2P 연결에는 다중 사용자 시나리오에서 상당한 대역폭이 필요합니다.
방화벽 및 NAT 문제: 연결을 위해 STUN/TURN 서버가 필요할 수 있습니다.
제한된 CDN 지원: HLS/DASH와 달리 WebRTC는 기존 CDN 전송에 최적화되어 있지 않습니다.
확장성을 강화하기 위해 많은 플랫폼이 WebRTC를 SFU(Selective Forwarding Unit) 또는 MCU(Multipoint Control Unit)와 통합하여 대규모 실시간 통신을 처리합니다.
WebRTC는 실시간, 대화형 커뮤니케이션을 위한 중요한 기술로, 저지연, 보안 및 브라우저 네이티브 기능을 제공합니다. 화상 회의, 게임 및 라이브 상호 작용과 같은 애플리케이션에서 탁월하지만, 대규모 배포에는 더 나은 효율성을 위해 미디어 서버 또는 CDN이 있는 하이브리드 모델이 필요합니다.