IP는 접속 방식에 따라 두 가지 종류로 나눌 수 있습니다. 공인 IP와 사설 IP인데, 공인 IP는 공유기가 통신사 서버로 부터 배당된 IP이고, 사설 IP는 공유기가 공유기에 묶인 기기들에게 배당된 IP들입니다.
그림으로 간단히 나타내자면 아래와 같습니다.
이렇게 굳이 나누는 이유는 여러가지가 있지만 간단히 소개를 하자면
* 한 IP로 여러대의 컴퓨터를 사용할 수 있게 해줍니다.
한 공유기에 배당된 공인 IP는 한 개 입니다. 원래대로라면 각 기기마다 별도의 공인 IP가 하나 씩 배당되어야 하지만, IP주소는 유한한 자원이기 때문에 모든 기기에다 IP주소를 배당해 줄 수 없을뿐만아니라, 공인 IP를 한 개 씩 배당을 해주려면 기기마다 인터넷 케이블에 별도로 가입 해 주어야 하니 비용면에서도 만만치 않게 됩니다. 사설 IP라는 개념이 도입되게 되면, 여러 대 기기에서 한 IP로 인터넷에 접근할 수 있게 됩니다. 그러면 한 대에 묶이는 기기 댓수 만큼 IP 주소를 아낄 수 있게 되며, 비용도 줄어들게 됩니다.
* 공유기 안에서 파일을 왔다갔다 거릴 수 있습니다.
사설 IP를 이용하면 공유기 안에서 각 컴퓨터의 위치를 파악할 수 있게 되니 서로서로 파일 전송이 가능해집니다. 공유기 안에서 왔다갔다 거리는 거라서 기기간의 거리가 꽤 많이 좁혀져, 속도도 그 만큼 빨라집니다.
그런데 한 공유기에 엮인 컴퓨터가 여러 대이니, 공유기는 외부에서 들어오는 데이터를 구분해서 각 기기에 알맞게 전송해 주어야 합니다. 하지만, 외부에서 접근하는 거라면 어떤 형태로든 외부에서 접근할 수 있습니다. 문제는 외부에서 접근을 하게되면 접근해오는 상대방쪽 IP나 주소는 천차 만별입니다. 인공지능이 달려있지 않는한 공유기에서는 주소나 IP만으로 정확한 기기에다 파일을 전해주는 것이 힘들어 집니다. 그래서 포트(Port)라는 개념을 사용해 알맞게 들어갈 수 있도록 해주는 것입니다.
각 포트마다 정해진 역할이 주어져 있습니다. 만약에 21번 포트로 접근하려고 했다고 하면, FTP로 접근한다라고 알 수 있습니다. 꼭 지켜야 하는 것은 아니고 하나의 약속입니다. 컴퓨터 사정상 21번 포트를 사용할 수 없다면 질문자님이 임의로 포트를 변경시킬 수 있습니다.
포트포워딩이라는 것은 외부에서 어떤 IP로 접속하든 간에 특정 포트로 접속을 하게 된다면 무조건 그 컴퓨터로 넘겨 버리는 것입니다.
만약 한 공유기에 세 대의 서버가 연결되어 있고 아래와 같이 세팅되어 있다고 가정합니다.
HTTPS 웹서버 - PC 1 (포트 443로 포트포워딩 설정)
FTP 서버 - PC 2 (포트 21로 포트포워딩 설정)
WebDAV 서버 - PC 3 (포트 5005로 포트포워딩 설정)
임의의 IP 254.123.56.103가 443 포트로 접근 시도 -> PC1로 연결 후 인터넷 접속
임의의 IP 235.54.123.208가 21 포트로 접근 시도 -> PC2로 연결 후 FTP 서버 접속
임의의 IP 123.56.235.113가 5005 포트로 접근 시도 -> PC3로 연결 후 WebDAV 서버 접속
임의의 IP 46.253.12.79가 21 포트로 접근 시도 -> PC2 연결 후 FTP 서버 접속
* 잠깐 테스트
임의의 IP 203.123.54.78가 443 포트로 접근 시도할 때, 몇 번째 PC로 접속할까요?