2011-11-03 4 views
4

두 개의 호스트가 각각 제한된 콘 NAT 뒤에 연결될 때 udp hole punching이 어떻게 작동하는지 이해하고 싶습니다.udp hole punch 및 포트 제한 콘 NAT

내가 알기로는 여러 단계에서 발생하며 3 개의 호스트가 필요합니다.

호스트 A와 호스트 B는 포트 제한 콘 NAT 뒤에 있습니다.

호스트 C는 호스트 (A)로부터 패킷을 수신하고, B. 수있는 서버이다

  1. A는 C.
  2. 로 패킷을 전송
  3. C는 A로부터 패킷을 수신하고,의 외부 어드레스 결정 포트 쌍
  4. B는 C.로 패킷을 전송
  5. C는 B로부터 패킷을 수신하고, B의 외부 어드레스 결정 포트 쌍
  6. C가 외부 어드레스를 보냄
  7. 에 B 포트
  8. C는 외부 주소를 전송 : (A)의 포트 B로
  9. A는
  10. B는 질문은

A의 외부 주소로 packet_2를 보냅니다 B의 외부 주소로 packet_1를 보냅니다

어떻게 할 수있는 뒤에 제한된 원뿔 NAT가 제한된 원뿔 NAT 뒤에있는 뒤에있는 B로부터 패킷을 받습니까?

포트 제한 콘 NAT는 발신지 주소 : 포트 쌍이 목적지 주소 : 수신 한 패킷의 포트 쌍과 일치하지 않는 패킷을 허용하지 않습니다. A와 B 사이에 전송 된 다른 패킷이 A와 B에 도착하는 이유는 무엇입니까?

포트 제한 원뿔 NAT가 packet_2를 B의 응답으로 간주하기 때문입니까?

그래서 packet_1은 손실되지만 packet_2는 B에 도착합니다. 맞습니까?

미리 감사드립니다. C에 대한 논의는, 홀을 사용할 수없는 B는 가정 B와 통신 및 C 사이에 펀칭 경우

답변

2

귀하의 질문에 답변하고 NAT에 대한 자세한 개요를 제공하는 여기 입니다. pdf 버전은 here입니다. PyPunchP2P을 : 당신은 전적으로 옳습니다

1

먼저 제한된 콘 NAT가 NAT 뒤에 하지 의미한다. 의미, 냇 탐색이 경우에는 작동하지 않습니다.

제한된 원뿔 NAT 뒤에있는 A는 제한된 원뿔 NAT 뒤에있는 B 의 패킷을 어떻게받을 수 있습니까?

이 경우 헤어핀 조건과는 다른 상황입니다. 즉, NAT 뒤에있는 B는 NAT 뒤에있는 A의 번역 된 주소를 사용할 수 있습니까? 일부 국가에서는이 사례를 적절히 처리하지만 다른 국가에서는 그렇지 않습니다.

당신의 경우 귀하의 NAT가 헤어핀 조건을 제대로 처리하더라도 B의 패킷은 '제한된 원뿔'로 인해 전달되지 않습니다. 결과는 같습니다.

왜 A와 B 사이에서 보내지는 다른 패킷은 A와 B에 도착합니까?

귀하의 경우에는 해당되지 않습니다.

0
A sends packet_1 to B's external address 
B sends packet_2 to A's external address 


How can A behind the restricted cone NAT receive a packet from B which is also behind the restricted cone NAT? 

Is it because the port restricted cone NAT considers packet_2 as the response from B? 

So packet_1 will be lost but packet_2 arrives to B. Am I right? 

, skype works, 그것은 당신이

0

를 찾고 내가 하나를 작성했습니다 무엇 방법에 대해 읽어 보시기 바랍니다. 누군가가 그것을 사용할 수 있는지보십시오.