피드로 돌아가기
Dev.toInfrastructure
원문 읽기
NAT 환경 극복을 통한 Low-Latency P2P 통신 구현 및 ICE 최적화 전략
How WebRTC Actually Works, All in one post
AI 요약
Context
Stateless 특성의 REST 및 실시간 미디어 스트리밍에 부적합한 WebSocket의 한계로 인한 저지연 통신 필요성 증대. NAT 및 Firewall 환경에서 Peer 간 직접 연결이 불가능한 네트워크 제약 사항 존재.
Technical Solution
- ICE 알고리즘을 통한 최적의 Candidate Pair 탐색으로 연결 초기 지연 시간 최소화
- Host, STUN, TURN, Peer-reflexive 4가지 Candidate 유형을 정의하여 네트워크 환경별 최적 경로 확보
- STUN 서버를 통한 Public IP 식별로 NAT 환경에서의 직접 연결 시도
- Symmetric NAT 및 방화벽 차단 상황 해결을 위해 TURN 서버를 통한 데이터 Relay 구조 채택
- 다자간 통신 시 대역폭 낭비 방지를 위해 SFU(Media Server) 중심의 Hub-and-Spoke 아키텍처 설계
- Signaling 서버를 통한 Offer/Answer 및 Candidate 교환으로 연결 세션 확립
실천 포인트
1. 서비스 규모 및 참여 인원수에 따른 P2P vs SFU 아키텍처 선택 검토
2. Symmetric NAT 환경 대응을 위한 TURN 서버 구축 및 Failover 전략 수립
3. 연결 성공률 향상을 위한 ICE Candidate 수집 순서 및 우선순위 최적화
4. STUN/TURN 서버와 SFU의 역할 분리를 통한 네트워크 트래픽 제어