2014-05-14 5 views
4

P2P 응용 프로그램을 개발 중이며 NAT 통과를 위해 STUN 및/또는 TURN을 사용해야합니다. 나는 STUN 만 사용할 때 발생하는 문제에 대해 조사했다. (기본적으로 그것이 UDP 기반이고 일부 방화벽은 그것을 좋아하지 않기 때문에 항상 작동하지는 않을 것이다. 이유는 그 질문이 당연히 흥미롭지 않다.) 나는 계속보고있다. 대체에 STUN 및 TURN을 사용하는 것에 대한 권장 사항 (ICE 체계).NAT 통과 - STUN을 사용한 성공 확률

그러나 나는 어디에서나 나는 사람들이 STUN을 "항상 일하지 않을 것"이라고 봅니다. 내가 찾고있는 것은 구체적인 숫자/통계입니다. 나는 그들 자신을 생성하려고 노력할지도 모르지만 중요한 샘플을 얻기에는 충분한 고객이 없다.

그래서 누군가가 STUN을 NAT traversal에 사용하는 성공률에 대해 통계에 대해 밝힐 수 있는지 궁금합니다. TURN을 폴백으로 사용하지 않으면 얼마나 많은 동료가 연결할 수 없습니까?

답변

5

고객의 위치, 위치, 사용하는 장치 유형 (PC 대 모바일)에 따라 결과가 다를 수 있습니다.

실제로 (내 경험에 따라) STUN만으로 ICE를 연결하면 데스크톱 및 랩톱 PC에서 약 85 %의 성공률을 보입니다. 그러나 특정 엔드 포인트 쌍에 대해 한 번 작동하면 네트워크 토폴로지가 변경되지 않았다고 가정하면 이러한 동일한 호스트에 대한 후속 연결의 가능성이 높아집니다. 모바일 장치에서는 상황이 조금 다릅니다.

여기에 P2P에 대해 성공적인 "연결"(UDP 기반 또는 TCP 기반)을 얻는 데 영향을주는 몇 가지 요소가 있습니다.

  1. NAT 유형. 두 종단점 모두 잘 작동하는 "포트 제한"NAT 이상이면 STUN 성공 가능성이 높습니다. 이것은 미국 같은 좋은 ISP를 가진 홈 NAT의 일반적인 경우입니다. 하지만 이동 통신 사업자와 엔터프라이즈 방화벽은 일반적으로 여러 계층의 NAT 및 네트워크 구성을 보유한 결과 "대칭 NAT"를 구현합니다. 이것은 기본적으로 포트 매핑이 일관성이 없으며 ICE와의 연결을 설정하는 P2P 알고리즘이 어렵다는 것을 의미합니다.

  2. 방화벽 또는 엔터프라이즈 구성. 방화벽이 아웃 바운드 UDP 패킷을 허용하고 패킷을 다시 받아 들여도 대칭 NAT 구성 인 경우가 많습니다.

  3. 이동 통신사. 종종 (항상 그런 것은 아님) 대칭 NAT 유형입니다.