NAT 클라이언트 및 서버 및 포트 닫기


0

클라이언트와 서버가 있다고 가정 해 봅시다. 클라이언트가 NAT 뒤에 있고 서버가 공용입니다.

클라이언트가 서버와의 세션 을 원합니다 .

클라이언트가 192.168.1.1에 있고 NAT가 192.168.1.2 개인 IP 주소에 있다고 가정 해 봅시다. 50.0.0.1의 NAT와 50.0.0.2의 공용 IP 주소의 서버.

클라이언트는 UDP / IP (TCP / IP와 유사) 패킷을 서버로 보냅니다. 이 패킷의 소스 IP는 192.168.1.1이며 소스 포트는 1000 (임의로 선택됨)이며 대상 포트 50.0.0.2 및 대상 포트 2000도 있습니다. 포트 응용 프로그램이 서버에서 실행되기 때문입니다.

TCP / IP 패킷은 NAT에 도착하여 소스 IP를 50.0.0.1로 변경하고 포트는 5000 (임의로 선택됨)이라고 말하고 서버로 라우팅합니다.

서버는 대상 IP 50.0.0.1 및 포트 5000을 사용하여 응답 패킷을 보냅니다.

NAT는 패킷의 대상 IP를 192.168.1.1로 변경하고 대상 포트를 1000으로 변경합니다.

  1. 이제 서버가 많은 UDP / IP 패킷을 동일한 IP 50.0.0.1 및 포트 5000으로 전송할 수 있으며 모든 패킷이 클라이언트 192.168.1.1 포트 1000으로 전달됩니까?

  2. 그렇다면 NAT의 공용 측에있는이 포트 5000이 패킷을 언급 된 클라이언트에 얼마나 오랫동안 전달합니까?

  3. 소스 IP 50.0.0.2 및 소스 포트 2000 이있는 패킷 만 클라이언트로 전달됩니까?


1
NAT와 관련하여 TCP와 UDP의 차이점에 대해 질문하고 있습니까? TCP에는 UDP에 존재하지 않는 가상 회로에 대한 정보가 포함되어 있으므로 주어진 패킷이 기존 흐름의 일부라는 것을 알 수 없으므로 UDP는 TCP와 NAT가 매우 다릅니다.
Frank Thomas

2
@FrankThomas TCP에는 가상 회로에 대한 정보가 포함되어 있지 않으며,이를 위해 모든 초대형 ISP가 사용하는 동적 라우팅이 적어도 부분적으로 중단됩니다. techrepublic.com/article/exploring-the-anatomy-of-a-data-packet 은 UDP 및 TCP 헤더의 내용을 보여주고 TCP가 안정적인 연결을 협상하는 방법을 설명합니다 (가상 회로 정보가 아닌 확인 및 패킷 시퀀스 사용)
davidgo

@FrankThomas는 솔직한 말을 방어하지 않겠습니다 .UDP는 NAT가 절대적으로 말도 안되는 NAT를 사용하지만 가상 회로에 대해서는 TCP가 가상 회로에 대한 정보를 포함하고 있지만 그렇지 않다고 말합니다. 이것은 en.wikipedia.org/wiki/Virtual_circuit 는 "TCP는 가상 회선으로 TCP를 사용하는 것이 가능하다. TCP는 세그먼트 측 번호 매김을 포함하여 비 순차적 전달을 수용하기 위해 수신기 측에서 재정렬을 허용한다"고 말했다.
barlop

@barlop "UDP는 NAT를 수행하지 않습니다"는 무슨 뜻입니까? 그리고 여러분이 언급 한 가상 회로는 Fran이 언급 한 것과 다릅니다. 텍스트에서 재정렬에 관한 것이므로 패킷이 채널 (회로)을 통해 도착하는 것을 막습니다. 그러나 UDP와 TCP는 IP 및 포트 번호로만 흐름을 식별하는 것과 동일합니다 (TCP는 소스와 대상 및 UDP 만 대상을 모두 사용하지만).
croraf

1
알았어, 분명히 내가 틀렸다, "가상 회로"대신 "연결"이라는 단어를 사용하십시오. TCP는 패킷 흐름에 순서 및 연속성을 제공하는 플래그 및 syn / ack 값으로 제어되는 연결 상태를 갖습니다 (예 : 패킷이 도착하는 순서와 상관없이 모두 동일한 흐름과 관련된 순서 및 순서를 알고 있음) 에서). TCP NAT의 경우 이러한 특성을 사용하여 연결 상태를 결정합니다. UDP는 타이밍 창 및 주소 일치와 같은 트릭을 사용하여 한 쌍의 UDP 패킷이 서로 관련되어 있는지 확인해야합니다.
Frank Thomas

답변:


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.