스턴

STUN

STUN(Session Traversal Utilities for NAT; Session Traversal Utilities; 원래 Network Address Translators를 통한 사용자 데이터그램 프로토콜(UDP)의 Simple Traversal)은 실시간보이스, 비디오, 메시징 및 기타 인터랙티브 통신 어플리케이션에서 Network Address Translator(NAT; 네트워크주소 변환기) 게이트웨이통과하기 위한 표준 메서드 세트입니다.ons(온스.

STUN은 Interactive Connectivity Establishment(ICE), Session Initiation Protocol(SIP) WebRTC와 같은 다른 프로토콜에서 사용되는 도구입니다.이 툴은 호스트가 네트워크주소 변환기의 존재를 검출하고, NAT이 애플리케이션의 UDP(User Datagram Protocol) 플로우를 리모트호스트에 할당한 매핑(통상은 퍼블릭) Internet Protocol(IP) 주소 및 포트 번호를 검출하기 위한 툴을 제공합니다.이 프로토콜에는 NAT의 반대편(공용)에 있는 타사 네트워크 서버(STUN 서버)의 지원이 필요합니다. 일반적으로 공용 인터넷입니다.

STUN은 RFC 3489에서 [1]처음 발표되었습니다.제목은 RFC 5389로 발행된 갱신된 메서드세트로 변경되어 동일한 [2]약어가 유지됩니다.

역사

RFC 3489의 원래 NAT 특성화 알고리즘

STUN은 RFC 3489에서 [1]최초로 발표되었습니다.원래 사양에서는 주소 및 포트 매핑 동작에 따라 NAT 동작을 특징짓는 알고리즘을 지정했습니다.이 알고리즘은 신뢰할 수 있는 성공을 거두지 못하고 배치된 NAT 디바이스의 서브셋에만 적용됩니다.알고리즘은 어플리케이션에 의해 실행되는 일련의 테스트로 구성됩니다.다이어그램 내의 경로가 빨간색 상자로 끝나면 UDP 통신이 불가능하고 경로가 노란색 또는 녹색 상자로 끝나면 통신이 가능합니다.RFC 3489의 방법은 너무 불안정하여 프로덕션 네트워크에서 발생하는 수많은 NAT 구현 및 애플리케이션 시나리오에 대처할 수 없는 것으로 판명되었습니다.STUN 프로토콜과 메서드는 RFC 5389에서 업데이트되었으며, 메서드의 하위 집합으로서 많은 원래 사양을 유지하지만 다른 사양은 제거했습니다.

이 제목은 RFC 5389로 발행된 업데이트된 방법 세트의 사양에서 변경되었으며, 동일한 [2]약어를 유지하고 있습니다.

설계.

STUN은 통신의 두 끝점 사이의 경로에 위치한 네트워크 주소 변환기를 감지하고 통과시키는 통신 프로토콜용 도구입니다.이 프로토콜은 가벼운 클라이언트-서버 프로토콜로 구현되며, 일반적으로 쉽게 액세스할 수 있는 공통 네트워크(일반적으로 인터넷)에 위치한 타사 서버와 함께 단순한 쿼리 및 응답 구성 요소만 필요합니다.클라이언트측은, Voice over Internet Protocol(VoIP) 전화기나 인스턴트 메시징 클라이언트등의 유저의 통신 애플리케이션에 실장됩니다.

기본 프로토콜은 기본적으로 다음과 같이 작동합니다.클라이언트는 일반적으로 개인 네트워크 내에서 동작하며 퍼블릭인터넷상의 STUN 서버에 바인딩 요구를 송신합니다.STUN 서버는 서버의 관점에서 관찰된 클라이언트의 IP 주소와 포트 번호를 포함하는 성공 응답으로 응답합니다.결과는 배타적 또는 (XOR) 매핑에 의해 난독화되어 대체 NAT 트래버설 방식을 실행하기 위해 딥 패킷인스펙션을 실행하는 Application Layer Gateway(ALG; 응용 프로그램층 게이트웨이)에 의한 패킷콘텐츠 변환을 회피합니다.

STUN 메시지를 사용자 데이터그램 프로토콜(UDP)패킷에 보내 진다.통합 신뢰할 수 있는 전송을 제공하지 않는다, 신뢰성은 STUN 요청의application-controlled 재송신에 의해 이루어진다.STUN 서버들의 응답에 대한 신뢰성 메커니즘을 구현하지 않는다.[2]언제 신뢰도는 의무적이며, TCP(TCP),지만 여분의 네트워킹 오버 헤드를 유도 사용할 수 있다.security-sensitive 응용 프로그램에서는 STUN과 암호화 TLS(TLS)에 의해 옮겨질 수 있다.

응용 프로그램 자동으로 전기 쇼크(UDP에)또는 stuns(TCP/TLS에)서버(도움말)리소스 레코드, 예를 들어, _stun에 대한 DNS(DNS)를 쿼리 하면 특정 동위와 통신에 적합한 STUN 서버를 결정할 수 있다._udp.example.com.한 STUN 서버에 대한 표준 수신 대기 포트 번호는 3478 UDP와 TCP, 5349 TLS에.서버 구현 TLS과 STUN 패킷 de-multiplex 수 있는 또는, TLS는 TCP포트로 운영될 수 있다.사건에서 어떤 STUN 서버 DNS조회를 사용해 발견되면 표준이 대상 도메인 이름은 기본 포트 번호로 사용될 것 주소 기록(A나 AAAA)을 쿼리 할 권고하고 있다.[2]

TLS는 프로토콜 암호화 사용 외에도, STUN 또한 전문화된 STUN 패킷 유형을 통해 내장된 인증 및 message-integrity 체계를 가지고 있다.

클라이언트의 외부 주소 평가되고, 동료들과의 소통을 위해 후보로 외부 NAT주소보다는는 동료들로부터 공공 네트워크에 연결할 수 없기는 개인 주소, 공유하는 것에 의해 이 사용할 수 있다.

만약 둘 다 의사 소통 동료들의 개인 네트워크, 각각은 NAT뒤의에 거주하시는 분들이 그들 사이의 최고의 통신 경로를 확인할을 조정해야만 한다.심지어 대중 바인딩으로 알려져 일부 NAT행동 피어 연결 제약될 수 있다.그 대화형 연결 설정(ICE)프로토콜 구조적 메커니즘에는 두가지 동위들 간의 최적의 통신 경로를 확인할 제공한다.SIP(SIP)확장할 때 두 호스트 사이에서 전화를 설정 ICE의 사용 정의되어 있다.

제한 사항

네트워크 주소 변환은 다양한 주소 및 포트 매핑 방식을 통해 구현되며, 어느 것도 표준화되어 있지 않습니다.

STUN은 모든 NAT 구현 시나리오에 적용할 수 있는 자체 포함 NAT 통과 솔루션은 아니며 모든 시나리오에서 제대로 작동하지 않습니다.이 툴은 NAT 트래버설을 처리하는 다른 프로토콜, 특히 릴레이 NAT(TURN) 및 ICE(Interactive Connectivity Establishment)를 위한 툴입니다.

STUN은 풀콘 NAT, 제한콘 NAT 및 포트 제한콘 NAT의 3가지 유형의 NAT과 연동됩니다.제한 콘 NAT 또는 포트 제한 콘 NAT의 경우 클라이언트는 엔드 포인트로 패킷을 전송한 후 엔드 포인트에서 클라이언트로 패킷을 전송해야 합니다.STUN은 대기업 네트워크에서 자주 볼 수 있는 대칭 NAT(양방향 NAT이라고도 함)에서는 작동하지 않습니다.STUN 서버의 IP 주소는 엔드포인트와 다르기 때문에 대칭 NAT의 경우 NAT 매핑은 STUN 서버와 엔드포인트 매핑이 다릅니다.TRUNN은 대칭형 NAT을 통해 더 나은 결과를 제공합니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ a b RFC 3489
  2. ^ a b c d RFC 5389

외부 링크