1. WebRTC란?
WebRTC(Web Real-Time Communication)는 웹 브라우저나 모바일 애플리케이션 간에 실시간 음성, 영상, 데이터 통신을 가능하게 하는 오픈
소스 기술입니다. 구글이 주도적으로 개발했으며, 별도의 플러그인 없이 브라우저 내에서 바로 P2P(Peer-to-Peer) 연결을 통해 미디어 스트리밍
이 가능합니다. WebRTC는 HTML5 표준과 결합되어, 웹 기반 화상회의, 실시간 스트리밍, 파일 전송 등 다양한 실시간 통신 서비스를 쉽게 구현
할 수 있게 합니다.
2. WebRTC의 동작 방식
- WebRTC의 기본 동작은 세 가지 주요 단계로 이루어집니다.
두 단말이 서로 연결 정보를 교환하기 위한 과정이며, 여기에는 SDP(Session Description Protocol)와 ICE 후보(ICE Candidates) 정보가
포함됩니다. Signaling 자체는 WebRTC에 포함되지 않으며, WebSocket, HTTP, MQTT 등의 별도 채널을 사용하여 구현합니다.
- 피어 연결 설정(Peer Connection)
Signaling을 통해 연결 정보를 교환한 후, WebRTC는 ICE(Interactive Connectivity Establishment) 과정을 통해 NAT나 방화벽
뒤에서도 P2P 연결을 시도합니다. 이 과정에서 STUN 서버를 이용해 자신의 공인 IP를 확인하고, 필요 시 TURN 서버를 통해 중계 연결을
수행합니다.
- 미디어 및 데이터 전송(Media & Data Transfer)
연결이 확립되면, RTP(SRTP)를 사용하여 음성·영상 데이터를 암호화해 전송합니다. 또한 DataChannel을 통해 파일이나 메시지 등의 데이
터도 실시간으로 송수신할 수 있습니다. 다자간 회의나 방송형 서비스에서는 SFU(Selective Forwarding Unit) 구조를 활용한 선택적 미디
어 스트림을 구현할 수 있으며, 대표적인 오픈소스 솔루션인 Janus WebRTC Server를 활용하여 효율성과 확장성을 확보할 수 있습니다.
3. WebRTC의 주요 프로토콜
- WebRTC는 다양한 프로토콜 스택을 기반으로 동작하며, 주요 구성 요소는 다음과 같습니다.
- SDP (Session Description Protocol): 오디오·비디오 코덱, 전송 포맷, 네트워크 설정 등의 세션 정보 기술
- ICE (Interactive Connectivity Establishment): 두 피어 간 최적의 네트워크 경로를 탐색하고 연결 설정
- STUN (Session Traversal Utilities for NAT): NAT 환경에서 클라이언트의 공인 IP 주소 파악
- TURN (Traversal Using Relays around NAT): P2P 연결이 불가능할 때 중계 서버를 통해 데이터 전송
- DTLS (Datagram Transport Layer Security): 데이터 전송 구간을 암호화하여 보안 유지
- SRTP (Secure Real-time Transport Protocol): 오디오 및 비디오 스트림을 암호화·인증하여 전송
4. WebRTC의 활용 사례
- WebRTC는 다음과 같은 다양한 실시간 통신 서비스에 활용되고 있습니다.
- 화상회의 및 음성 통화 서비스: Google Meet, Zoom, Discord 등에서 브라우저 기반 영상 통화 구현
- 라이브 스트리밍 플랫폼: 방송 지연이 거의 없는 실시간 스트림 전송
- 온라인 교육 및 원격 협업: 화상 수업, 공동 문서 편집, 실시간 화이트보드 기능
- IoT 및 원격 제어: 드론, CCTV, 로봇 제어 등 지연이 민감한 영상 전송 환경
- 실시간 데이터 교환: 파일 전송, 게임 데이터 동기화, 채팅
WebRTC는 브라우저 호환성 부족, SFU(Selective Forwarding Unit) 및 MCU(Media Control Unit) 서버를 별도로 구축해야 하는 등
개발 및 운영 복잡성에도 불구하고, 기존 RTMP, HLS 등의 스트리밍 프로토콜 대비 지연 시간이 압도적으로 짧아 실시간 양방향 스트리밍의
기반 기술로 주목받고 있습니다. 또한 AWS Kinesis Video Streams, Google Media CDN 등 주요 클라우드 사업자 등에서도 공식적으로
제공하는 기술인 만큼, 향후 WebRTC가 클라우드 네이티브 실시간 통신의 표준 인프라로 자리잡을 가능성이 높습니다.
⭐발표자 : 이경훈님
1. WebRTC란?
WebRTC(Web Real-Time Communication)는 웹 브라우저나 모바일 애플리케이션 간에 실시간 음성, 영상, 데이터 통신을 가능하게 하는 오픈
소스 기술입니다. 구글이 주도적으로 개발했으며, 별도의 플러그인 없이 브라우저 내에서 바로 P2P(Peer-to-Peer) 연결을 통해 미디어 스트리밍
이 가능합니다. WebRTC는 HTML5 표준과 결합되어, 웹 기반 화상회의, 실시간 스트리밍, 파일 전송 등 다양한 실시간 통신 서비스를 쉽게 구현
할 수 있게 합니다.
2. WebRTC의 동작 방식
- WebRTC의 기본 동작은 세 가지 주요 단계로 이루어집니다.
두 단말이 서로 연결 정보를 교환하기 위한 과정이며, 여기에는 SDP(Session Description Protocol)와 ICE 후보(ICE Candidates) 정보가
포함됩니다. Signaling 자체는 WebRTC에 포함되지 않으며, WebSocket, HTTP, MQTT 등의 별도 채널을 사용하여 구현합니다.
Signaling을 통해 연결 정보를 교환한 후, WebRTC는 ICE(Interactive Connectivity Establishment) 과정을 통해 NAT나 방화벽
뒤에서도 P2P 연결을 시도합니다. 이 과정에서 STUN 서버를 이용해 자신의 공인 IP를 확인하고, 필요 시 TURN 서버를 통해 중계 연결을
수행합니다.
연결이 확립되면, RTP(SRTP)를 사용하여 음성·영상 데이터를 암호화해 전송합니다. 또한 DataChannel을 통해 파일이나 메시지 등의 데이
터도 실시간으로 송수신할 수 있습니다. 다자간 회의나 방송형 서비스에서는 SFU(Selective Forwarding Unit) 구조를 활용한 선택적 미디
어 스트림을 구현할 수 있으며, 대표적인 오픈소스 솔루션인 Janus WebRTC Server를 활용하여 효율성과 확장성을 확보할 수 있습니다.
3. WebRTC의 주요 프로토콜
- WebRTC는 다양한 프로토콜 스택을 기반으로 동작하며, 주요 구성 요소는 다음과 같습니다.
4. WebRTC의 활용 사례
- WebRTC는 다음과 같은 다양한 실시간 통신 서비스에 활용되고 있습니다.
WebRTC는 브라우저 호환성 부족, SFU(Selective Forwarding Unit) 및 MCU(Media Control Unit) 서버를 별도로 구축해야 하는 등
개발 및 운영 복잡성에도 불구하고, 기존 RTMP, HLS 등의 스트리밍 프로토콜 대비 지연 시간이 압도적으로 짧아 실시간 양방향 스트리밍의
기반 기술로 주목받고 있습니다. 또한 AWS Kinesis Video Streams, Google Media CDN 등 주요 클라우드 사업자 등에서도 공식적으로
제공하는 기술인 만큼, 향후 WebRTC가 클라우드 네이티브 실시간 통신의 표준 인프라로 자리잡을 가능성이 높습니다.
⭐발표자 : 이경훈님