사이트를 구축하고 배포할 때, IP 주소를 쉽게 이해할 수 있도록 작성했습니다.
IP 주소란 네트워크 환경에서 각 장치를 식별하는 주소로, 쉽게 말해 멀리 있는 컴퓨터를 찾아가는 주소를 말합니다.
port번호는 남의 컴퓨터에서 내 컴퓨터에서 실행 중인 특정 프로그램을 찾아가는 번호입니다.
내 컴퓨터에 내 사이트를 배포하여 많은 사람들이 이용할 수 있게 하려면 어떻게 해야할까요?
공유기 없이 내 컴퓨터(203.0.113.0)에 바로 랜선을 연결하고 윈도우 환경에 서버를 배포했다고 가정합시다. 서버는 8080 포트 번호로 배포합니다.
https://203.0.113.0:8080 라는 말은 IP주소가 203.0.113.0인 내 컴퓨터에 8080 포트번호로 열려있는 프로그램을 요청하는 주소가 됩니다.
해당 주소로 접속하게 되면 무리없이 접속할 수 있습니다.
하지만, 만약 사용자가 많아져서 서버 컴퓨터를 여러 대 늘리고 싶으면 어떻게 할까요?
랜선을 추가서 설치하기엔 많은 비용이 드니 공유기를 설치해서 공인 IP를 여러 개의 사설 IP로 변환해서 사용할 수 있게 해줘야 합니다.(이걸 NAT이라고 합니다.)
A컴퓨터: 192.168.249.100 (여기에 메인 서버 배포)
B컴퓨터: 192.168.249.200
C컴퓨터: 192.168.249.300
3대의 사설 IP를 총 3대의 컴퓨터에 각각 설정해줍니다.
이 때 똑같이 https://203.0.113.0:8080 로 접속하면 당연히 접속이 되지 않습니다.
왜냐하면 203.0.113.0을 통해 멀리 있는 내 컴퓨터로 찾아왔지만 8080포트가 어떤 컴퓨터의 어떤 프로그램인지 알 수 없기 때문입니다.
그래서 해당 포트를 원하는 컴퓨터의 원하는 프로그램으로 포워딩 시켜주기 위해서 포트포워딩을 해주는 겁니다.
내 공인 IP의 8080 포트로 요청이 공유기에 연결된 192.168.249.100 컴퓨터의 8080 포트에 연결된 프로그램으로 포워딩하는 것
포트번호는
IPTIME을 쓰고있지않아서 Virtural Network Editor 에서 진행해보면 아래와 같습니다.
subnet IP: 가상 머신에서 사용할 네트워크 대역을 설정
Gateway IP: 라우터(공유기)주소로 네트워크 간 통신을 해주는 중계 역할
Map Incoming Port를 보면
Host port 8080로 들어온 요청은 virtual machine Ip address의 virtual machine port로 포워딩하는 것을 의미합니다.
이런식으로 다시 https://203.0.113.0:8080에 접속하면 A서버에 배포한 내 사이트에 접속할 수 있게 되지만 항상 이런식으로 IP주소를 작성해서 접속할 수는 없습니다. 왜냐하면 IP 주소는 숫자 형태로 되어 있기 때문에, 사용자가 기억하기 어렵고, 웹사이트 주소를 쉽게 찾을 수 없기 때문입니다.
이 문제를 해결하기 위해 도메인을 사용합니다.
도메인이란 사용자가 보다 쉽게 주소에 접근할 수 있는 naver.com과 같은 주소를 말합니다.
mysite.com라는 도메인에 203.0.113.0 이라는 IP 주소를 매핑하도록 DNS 설정을 해주면 mysite.com 에 접속할 때 DNS서버가 203.0.113.0으로 변환하여 요청을 처리하고 접속할 수 있게 해줍니다.