Acronym&Abbreviation 3

TURN (Traversal Using Relays around NAT)

TURN은 NAT 또는 방화벽의 통과를 지원하는 프로토콜이며 TURN 서버는 relay 서버입니다. STUN 기술로는 같은 NAT 내에 존재하거나 Symmetric NAT 을 사용하는 클라이언트 끼리의 통신을 지원할 수 없는 문제가 있기 때문에 이를 해결하기 위해 TURN을 사용합니다. TURN은 RFC-5766에 정의되어 있습니다. 두 클라이언트(peer)가 서로 통신을 하려고 하는데 자신의 Public IP를 통해 상대방이 통신할 수 없을 때, TURN 서버를 사용하여 relay하는 방식으로 통신을 하게 됩니다. 직접 통신하지 않고 relay 함으로 인해 오버헤드 및 지연이 발생하지만 이 방법이 아니면 통신할 수 없으므로 어쩔 수 없을 경우 사용합니다. 클라이언트와 TURN 서버 간의 통신은 UDP를..

STUN (Session Traversal Utilities for NAT)

STUN은 실시간 음성, 비디오, 메시징 및 기타 대화형 통신 애플리케이션에서 NAT(Network Address Translation)을 통과하기 위한 네트워크 프로토콜을 포함한 표준화된 방법의 모음이라고 합니다. - Wikipedia RFC 5389에 정의되어 있습니다. WebRTC 등 사용 시 상대방을 찾기 위해 사용하게 됩니다. 네트워크 상에서 모두가 공개(Public) IP를 사용하는 것이 아니라 공유기나 라우터 뒤에 개인(사설, Private) IP를 사용하여 숨어있기 때문에 '나'의 공개 IP를 상대방에게 알리기 위해 사용합니다. 작동 순서는 아래와 같습니다. 1. Private network 내의 클라이언트는 Public network의 STUN 서버에 바인딩 요청을 보냅니다. 이 때 바인..

NAT (Network Address Translation)

NAT는 네트워크 주소 변환이라고 하며 아래와 같이 정의되어 있습니다. IP 패킷의 TCP/UDP 포트 숫자와 소스 및 목적지의 IP 주소 등을 재기록하면서 라우터를 통해 네트워크 트래픽을 주고 받는 기술 - https://ko.wikipedia.org/wiki/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC_%EC%A3%BC%EC%86%8C_%EB%B3%80%ED%99%98 간단하게 말하면 통신사의 회선 하나(하나의 공인 IP)에 공유기를 물려놓고 여러 개의 기기(여러 개의 개인 IP)를 물려놓은 것입니다. NAT를 사용하는 제일 큰 목적은 위와 같이 하나의 IP로 여러 대의 기기를 사용하기 위함이며, 좀 더 큰 목적은 IP 주소가 한정되어 있기 때문에 기하급수적으로 늘어나는 모든 기..