방금 udp 발신자 / 수신자 코드를 테스트했는데 포트 포워딩을 이해할 수 없었습니다.
A 는 포트 전달되지 않은 네트워크에있는 내 PC이고 B 는 포트 전달되는 내 vps의 UDP 서버입니다.
A는 포트 X 에서 udp 패킷 수신을 시작합니다 . vps (B)는 포트 Y 에서 패킷을 보내지 만 A는 포트가 전달되지 않기 때문에 패킷을 받지 못합니다.
그러나 A가 서버 (B)에 무언가를 보내고 서버가 응답하면 응답을받습니다. 포트 포워딩이 필요하지 않은 이유는 무엇입니까?
A는 여러 장치가 연결된 LAN에있을 수 있습니다. 라우터는 패킷이 케이스 1이 아니라 케이스 2에서 A로 전달되어야한다는 것을 어떻게 알 수 있습니까?
A는 여러 장치가 연결된 LAN에있을 수 있습니다. 라우터는 패킷이 케이스 1이 아니라 케이스 2에서 A로 전달되어야한다는 것을 어떻게 알 수 있습니까?
NAT (네트워크 주소 변환) 를 사용하는 라우터, 방화벽 및 장치 에는 NAT가되어 목적지로 전송되는 수신 패킷을 추적하는 NAT 테이블이 있기 때문입니다.
NAT 테이블에는 소스 장치 IP 주소, 포트 번호 및 프로토콜 (TCP / UDP)이 포함됩니다. 따라서 A 가 B (vps)에 패킷을 보내면 NAT 장치는 NAT 테이블에 레코드를 추가하여 B 에서 패킷이 반환 될 때 대상 IP, 포트 및 프로토콜을 읽고 NAT 테이블에서 일치하고 응답을 다시 서버 A 로 NAT합니다 .
A는 포트 X에서 udp 패킷 수신을 시작합니다. vps (B)는 포트 Y에서 패킷을 보내지 만 A는 포트가 전달되지 않기 때문에 패킷을받지 못합니다.
라우터가 패킷을 삭제하기 때문에 서버 A 는 패킷을받지 못합니다. 포트 포워딩이없고 NAT 테이블에는 대상 IP, 포트 및 프로토콜과 일치하는 레코드가 포함되어 있지 않기 때문입니다.
방화벽이나 라우터 뒤에 장치를 가지고, 당신은 NAT를 사용하는 경우, 당신이 사용하는 포트 전달에 필요하므로 라우터가 알고있는 그에서 전송 된 패킷 B 서버의 목적지 IP 주소, 포트 번호, 프로토콜 포함 을 , 서버 A 로 전달되어야 하며 삭제되지 않아야합니다.
나는 당신의 질문에 대답하기를 바랍니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다