WebRTC (Web Real-Time Communication): 웹/앱에서 별다른 소프트웨어 없이 카메라/마이크 등을 사용하여 실시간 커뮤니케이션을 제공해주는 기술 [2]
Peer to Peer 통신을 하기 위해 사용자의 IP 주소를 알아야 하는데,
대부분의 사용자는 방화벽을 사용하여 STUN/TURN 서버가 필수적이다 [1].
1. STUN 서버
: Session Traversal Utilities for NAT
두 클라이언트가 같은 네트워크에 존재하고 있을 때는 해결되지 않는다.
Symmetric NAT의 경우는 애플리케이션이 달라지면 NAT의 매핑테이블이 바뀔 수 있다.
2. TURN 서버
: Traversal Using Relays around NAT
클라이언트들이 통신할 때 Public 망에 존재하는 TURN 서버를 경유하여 통신하게 된다.
ICE의 일부로 사용될 수 있도록 디자인 되었다.
3. ICE(Interactive Connectivity Establishment)
: Client가 모든 통신 가능한 주소를 식별하는 것
1) Relayed Address: TURN 서버가 패킷 릴레이를 위해 할당하는 주소
2) Server Reflexive Address: NAT가 매핑한 클라이언트의 공인망(Public IP, Port)
3) Local Address: 클라이언트의 사설 주소(Private IP, Port)
따라서 STUN 서버는 Server Reflexive Address 만을 응답하지만 TURN 서버는 Relayed Address와 Server Reflexive Address 모두 응답한다.
4. Coturn
TURN과 STUN 프로토콜을 구현한 서버 소프트웨어
STUN 서버는 Server Reflexive Address 만을 응답
TURN 서버는 Relayed Address 와 Server Reflexive Address 모두 응답
References:
[1] WebRTC란? (STUN과 TURN 서버의 이해) (2) - https://andonekwon.tistory.com/59
[2] [WebRTC] WebRTC란 무엇일까? - https://gh402.tistory.com/38
'Networking > Network' 카테고리의 다른 글
| data MTD (0) | 2025.08.18 |
|---|---|
| docker Honeypot (0) | 2025.08.11 |
| [AWS] 실험 환경 구성#1 (0) | 2025.04.23 |
| [Route53] name servers (0) | 2025.02.07 |
| [essential#03] Wireshark (0) | 2025.02.07 |