STUN (Session Traversal Utilities for NAT)
Source
Evernote/Technote scraps/STUN Session Traversal Utilities for NAT.md
Summary
STUN(Session Traversal Utilities for NAT) 은 NAT 환경에서 실시간 통신(VoIP, 화상 등)을 위해 클라이언트의 공인 IP 및 할당된 UDP 포트 정보를 알아내는 프로토콜입니다. 현재 표준인 RFC 5389 는 이전 버전 (RFC 3489, Classic STUN) 과 달리 NAT 유형 구분 알고리즘을 제거하고, 확장 가능한 패킷 포맷을 정의하며 ICE 등의 상위 프로토콜을 위한 도구로 설계되었습니다. STUN 은 외부 STUN 서버를 통해 NAT 순회 (UDP Hole Punching) 를 시도하며, 대칭형 NAT 등 STUN 이 실패하는 경우 자원 소모가 큰 TURN(릴레이) 기법을 사용합니다. 이러한 연결 전략을 판단하고 최적화하는 프로토콜이 ICE(Interactive Connectivity Establishment) 입니다.
Key Points
- STUN 은 NAT 뒤의 클라이언트가 자신의 공인 IP 와 포트 정보를 외부 서버 (STUN 서버) 를 통해 확인하는 프로토콜입니다.
- 현재 표준은 RFC 5389 이며, 이전 표준인 RFC 3489(Classic STUN) 는 NAT 유형 감지 알고리즘을 포함했으나 복잡성으로 인해 현재 버전에서는 제거되었습니다.
- STUN 은 UDP 홀 펀칭 (Hole Punching) 기법을 사용하며, 대칭형 NAT 등 직접 연결이 불가능한 경우 TURN(Traversal Using Relays around NAT) 을 통해 릴레이 서버를 경유합니다.
- ICE(Interactive Connectivity Establishment) 는 STUN 과 TURN 을 조합하여 가장 효율적인 연결 경로를 자동으로 선택하는 프레임워크입니다.
Related
-
Scalable Network Virtualization in Software-Defined Networks
-
Node-Capture Resilient Key Establishment in Sensor Networks Design Space and New Protocols
-
Privacy- and Integrity-Preserving Range Queries in Sensor Networks
-
A Proxy View of Quality of Domain Name Service, Poisoning Attacks and Survival Strategies
-
정적 네트워크에서의 최단 경로 쿼리 (Shortest-path queries in static networks)
-
Wireless Networks Design in the Era of Deep Learning Model-Based, AI-Based, or Both