NAT 및 UDP 응답


20

위생 확인하시기 바랍니다.

NAT 뒤에있는 머신 A에서 머신 B가 인터넷 외부의 NAT 외부에있는 머신 B의 포트 N으로 UDP 패킷을 보내는 경우, NAT가 포트 B의 머신 B에서 수신 한 UDP 패킷을 다음으로 다시 전달할 것으로 예상 할 수 있습니다. NAT에서 수동 포트 포워딩이 필요없는 머신 A의 포트 N?

답변:


21

원래 발신 데이터 그램의 소스 포트도 포트 N이고 NAT가 소스 포트를 플로팅하도록 선택하지 않은 경우에만 해당됩니다.

즉, 시스템 A의 첫 번째 UDP 데이터 그램은 LAN에서 다음과 같습니다.

       Source IP: MachineAPrivate  
     Source Port: PortA     <-- note this is typically different than the destination port  
  Destination IP: MachineBPublic  
Destination Port: PortN  

그런 다음 NAT에 의해 아웃 바운드 방향으로 변환 된 후 다음과 같습니다.

       Source IP: NATPublic  
     Source Port: PortC   <-- note this may or may not be the same as "PortA" above  
  Destination IP: MachineBPublic  
Destination Port: PortN  

이제 시스템 B가 응답하면 응답은 일반적으로 다음과 같습니다.

       Source IP: MachineBPublic  
     Source Port: PortN  
  Destination IP: NATPublic  
Destination Port: PortC  

그런 다음 인바운드 NAT 변환 프로세스를 거친 후 :

       Source IP: MachineBPublic  
     Source Port: PortN  
  Destination IP: MachineAPrivate  
Destination Port: PortA  

그래서, IF 기계 A는 대상 포트 ( "포트 N")와 같은 소스 포트에서 프레임을 전송하고, IF 는 NAT가 소스 포트를 보존 할 수있다 (즉, 가능한 경우 소스 포트를 보존하도록 구성된, 그리고 소스 포트 )를 사용하지 않는, 그때 당신은 머신 A로 돌아 가야 "포트 N"에 대한 응답을 기대할 수

다음은 올바른 NAT UDP 동작에 대한 권한있는 참조입니다.
RFC 4787 / BCP 127 : 유니 캐스트 UDP에 대한 NAT (Network Address Translation) 동작 요구 사항


3

닫기는하지만 시스템 B는 실제로 수신하는 소스 주소와 포트 번호를 확인해야합니다 (N과 다를 수 있음).

머신 A의 NAT는 머신 A가 보낸 동일한 포트 N을 사용하지 않을 수 있습니다. (동일한 NAT 뒤에있는 시스템 C가 포트 N을 전송한다고 가정합니다. 둘 다 사용할 수는 없습니다.) 따라서 시스템 B는 다른 소스 포트 M을 볼 수 있습니다. 그러나 NAT가이를 수행하는 경우 다시 전송 된 트래픽을 승인해야합니다. 기계 B에서 포트 M을 자동으로 N에 다시 맵핑합니다.

다시 말해, 기계 B가 수신 한 패킷에 지정된 소스 주소와 소스 포트로 다시 전송하는 한, 리턴 패킷이 원래 소스로 되돌아 갈 길을 합리적으로 기대할 수 있습니다. 이는 자동 NAT 규칙이 몇 분 후에 시간 종료되는 경향이 있기 때문에 리턴 패킷이 짧은 시간 내에 전송되는 것으로 가정합니다.


-1

나는 그것을 기대하지 않을 것입니다.

NAT 뒤에 IP를 곱할 수 있으므로 전달할 IP를 선택해야합니다. NAT 외부에서는 라우터 IP 만 보이고 내부 NAT IP는 보이지 않습니다.

UDP는 연결을 형성하지 않고 네트워크를 통해 이동하는 데이터 그램입니다.

송신 포트 번호와 수신 포트 번호도 다릅니다.


당신은 UDP가 "형식 연결"그러나 짝 소스 및 대상 포트가 실제로 고유로 패킷을 전송하기 위해 NAT 뒤에있는 IP를 식별하기 위해 NAT 수 있습니까하지 않습니다 올바른지
portforwardpodcast
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.