외부에서 특정 호스트에 접속하고 싶을 때 공인 IP주소를 이용하여 라우터까지만 접속할 수 있다.
왜냐하면 특정 호스트의 사설 IP를 알 수 없기 때문이다.
그렇다면 특정 호스트에는 어떻게 접속하는 것일까?
이를 해결하기 위해서 port forwarding이라는 기술을 사용해야 한다.
port란?
하나의 컴퓨터에는 여러 개의 웹 서버가 존재할 수 있다.
이 서버들을 식별할 수 있는 것이 port 번호이다.
각 서버들은 port번호를 지정할 수 있다.
외부에서 url을 요청할 때 port번호를 지정해주면 port번호에 해당하는 서버로 접속할 수 있다.
일반적으로 http url은 다음과 같다.
http://<host>:<port>/<path>?<searchpart>
port forwarding의 동작 원리
라우터의 공인 IP주소가 12.3.456.789, 2개의 서버의 사설 IP주소를 192.168.0.2, 192.168.0.3 이라고 하자.
외부에서 8080 포트로 접속했을 때 192.168.0.2의 8080 포트로 접속되게 설정하고
외부에서 8081 포트로 접속했을 때 192.168.0.3의 8081 포트로 접속되게 설정한다.
이렇게 설정을 완료했을 때 외부에서
http://12.3.456.789:8080 으로 접속을 요청한다면 192.168.0.2:8080 서버로 접속이 되고
http://12.3.456.789:8081 으로 접속을 요청한다면 192.168.0.3:8081 서버로 접속이 된다.
정리
라우터로 들어온 포트 번호가 무엇이냐에 따라서 내부 네트워크에 있는 특정한 호스트의 포트로 요청을 포워딩 할 수 있다.
Reference: 생활코딩 WEB-2 Home server-2. 공유기
'서버 & 네트워크' 카테고리의 다른 글
Local 서버 구축 / Windows +Apache + PHP + MySQL (Bitnami) (0) | 2021.09.15 |
---|---|
Dynamic IP Address, Static IP Address (0) | 2021.09.12 |
NAT란? (0) | 2021.09.11 |
WAN과 LAN (0) | 2021.09.11 |
테스트 서버를 사용하는 이유 (0) | 2021.09.11 |
댓글