2017-12-10 6 views
0

내 상황은 다음과 같습니다. 라우터에 포트 80을 전달했는데, 인터넷에 연결되어 있고 내 PC에 연결되어 있습니다. 내 PC에서 나는 진행중인 모든 TCP 연결을 기록하는 C# 프로그램 (나는 HttpListener 클래스를 사용한다.)을 실행 중이다. 타임 스탬프, 원격 끝점 및 로컬 끝점을 인쇄합니다.Tcp : 공용 원격 끝점이지만 개인 로컬 끝점?

나는 나의 원격 엔드 포인트가 공공 IP 때, 다음 내 지역의 엔드 포인트가 내 라우터에서 공용 IP하다는 것을 기대합니다.

하지만 내 로그 파일에

은 내가

사람이 말할 수, 어떻게 가능 (지역)이 (원격)

62.143.189.207, 192.168.178.25을 발견?

답변

1

응용 프로그램은 PC의 네트워크 인터페이스에 연결된 http 수신기입니다.

귀하의 모든 NIC는 귀하의 로컬 IP 주소를 알고 있습니다. 라우터의 공개 주소에 대해서는 실제로 알지 못합니다.

요청이 들어 오면 라우터가 주소 변환을 수행하여 포트 80 트래픽을 PC로 보내고 따라서 트래픽을 클라이언트에 다시 반환합니다.

+0

하지만 외부에서 내 라우터에 액세스 할 때 공용 IP가 아닌 사설 네트워크의 IP가 표시됩니다. 내 상위 예제에서이 요청은 내 것이 아닙니다. 나는 그것이 왜 이런 식으로하는지 모른다. 이 동작을 재현 할 수 없습니다. – Florian