STUN이란

이한울·2020년 10월 20일
0

WebRTC

목록 보기
1/1

STUN이란

  • STUN(Session Traversal Utilities for NAT)란 application layer 프로토콜 중 하나로 P2P 통신을 위해 NAT를 탐색하기 위해 사용된다. WebRTC, VolP와 같은 실시간 통신을 위한 다른 프로토콜에서 사용된다.

STUN을 사용하는 이유

  • STUN을 사용하는 이유는 간단하다. Peer간 직접 통신을 위해서는 상대 Peer의 IP 주소와 포트 번호를 알아야 한다. 그러나 일반적인 Host는 private ip 주소와 public ip 주소를 mapping하는 NAT 뒤에 위치하므로 자신과 상대방의 public ip 주소를 알지 못한다. private ip 주소만으로는 당연히 P2P 통신이 불가능하다.
    이를 위해 STUN은 client의 요청에 대해 NAT와 통신해 해당 client의 public ip 주소와 포트 번호를 응답에 담아준다. 이렇게 NAT를 우회한다고 해서 Session Traverse라는 이름이 붙여진 것이다.

STUN의 사용

  • STUN은 transport layer 프로토콜로 일반적으로 UDP를 사용한다. 그러나 TCP도 사용 가능하며 TLS를 사용하는 경우도 있다. STUN 프로토콜로 NAT를 우회할 수 없는 경우 TURN과 같은 다른 프로토콜을 사용해야하 한다.
profile
Backend Engineer 이한울입니다

0개의 댓글