개발/기타🎸

[네트워크] 포트포워딩(Port Fowarding) 이 뭘까

duknock 2023. 3. 22. 15:13
반응형

 

Port Fowarding

 

 

포트 포워딩은 인터넷에 연결된 장치(예: 컴퓨터, 라우터, 모뎀 등)가 외부에서 접속하는 요청을 내부 네트워크의 특정 장치로 전달하는 과정을 말한다.

 

일반적으로 인터넷에서 특정 서비스(예: 웹 서버, FTP 서버, 게임 서버 등)를 제공하려면 해당 서비스에 할당된 포트 번호를 외부에서 접속 가능하게 열어야 한다.


이를 위해서는 먼저 라우터나 모뎀과 같은 게이트웨이 장치에게 해당 포트 번호로 들어오는 요청을 내부 네트워크의 서버나 컴퓨터로 전달하도록 설정해야 하는데, 이 설정 과정을 포트포워딩이라고 한다.


예를 들어, 인터넷에서 접속 가능한 웹 서버를 구축하려면 웹 서버에 할당된 포트 번호(일반적으로 80번 포트)를 외부에서 접속 가능하게 열고, 해당 포트로 들어오는 요청을 라우터나 모뎀과 같은 게이트웨이 장치에서 웹 서버로 포워딩해야 한다. 이러한 설정을 통해 인터넷에서 접속 가능한 웹 서버를 구축할 수 있다.

 


외부(주로 인터넷)에서 접속요청이 들어오면 게이트웨이 장치(공유기 등)는 해당하는 포트를 통해 웹서버로 요청을 전달한다.


 

 

위 설명은 사전적인 설명이고 내가 이해한 방법으로 알기 쉽게 풀어보겠다.

 

일단 용어부터 게이트웨이, 서버, 포트 이딴식으로 말하면 이해하기 어려우니까 대충 동네로 비유해서 알아보자.

 

 

 

 


내부 아이피와 외부 아이피

 

 

 

 

같은 단지에 사는 친한사람들 끼리는 누구집인지만 말해도 충분히 찾아갈 수 있다.

 

이는 같은 공유기를 쓰는 PC끼리 내부 아이피로 해당 PC의 서버에 접속할 수 있는것과 같다.

 

 

 

실제로는 IPv4의 주소는 192.168 로 시작한다

 

 

 

같은 동네에 사는 친한 사람들 끼리면 누구씨 집 이라고만 해도 알아서 잘 찾아간다.

 

물론 무조건 접속 가능한건 당연히 아니다. 방화벽이 있기때문에 방화벽에서 연결을 허용해줘야 접속이 가능하다.
집 주소는 맞게 찾아갔지만 문 안열어주면 못 들어가는것과 같다

 

 

 

그렇다면 다른 동네 (외부 네트워크)에 사는 안친한 사람들은 어떨까?

 

 

전혀 다른동네에 사는 모르는 사람에게  누구씨 집 으로 찾아오라고 하면 찾아올 수 있을까?

 

 

 

 

응~ 죽으면 그만이야

 

 

 

당연히 못찾아오고 길을 헤메다 죽어버릴 것이다.

 

 

당장 와이파이 연결 안된 스마트폰으로 자기 PC의 내부 IP주소와 포트번호를 입력해서 접속해봐라

 

접속이 안된다.

 

 

외부네트워크에서 접속요청을 할때에는 외부 아이피를 사용해야한다.

 

누구씨집(내부 IP) 이라고 하는게 아니라 ㅇㅇ시 ㅇㅇ구 ㅇㅇ동 ㅇㅇ아파트 ㅇㅇ동 ㅇㅇ호(외부 IP) 라고 말해야 정확하게 찾아갈 수 있다.

 

 

 

 

 

 


 

포트번호 (Port)

 

 

 

다음은 포트번호이다.

 

 

서버(Server)는 웹페이지를 보여주는 역할(웹 서버)만 할 수도 있고, FTP서버(PC와 서버와의 파일 송수신 프로그램)의 역할을 할 수도 있다. 아니면 도커를 이용하여 웹 서버를 여러개 가지고 있을 수도 있고ㅇㅇ

 

 

그럼 외부에서 서버로 접속 요청을 보냈을 때 해당 요청이 웹페이지 요청인지 FTP 요청인지 어떻게 구분할까?

 

바로 포트번호로 구분을 하는 것이다.

 

같은 아파트의 101동을 찾아와도 101호냐 102냐에 따라 다른 집이 나오는것 처럼

 

서버는 포트번호를 통해 웹서버 요청인지, FTP 요청인지를 구분할 수 있다.

 

 

 

 

 

 


포트포워딩

 

 

 

게이트웨이 장치(공유기)를 설치하게 되면, 공유기와 연결된 서버(PC)들은 192.168~ 로 시작하는 IP주소를 부여받게 된다.

 

그리고 공유기는 ISP 업체로부터 123.456.789.00 이런식의 다른 IP주소를 할당받게 되는데,

 

공유기가 받은 IP주소를 외부 아이피라고 하고,

 

공유기와 연결된 각 서버(PC)들의 IP주소를 내부 아이피라고 한다.

 

 

 

해당 공유기와 연결되지 않은 외부에서 내부 서버(PC)로 접속을 하려면 공유기의 주소(외부 아이피)와 어떤 서버로 접속할 것인지(포트번호)를 입력해야한다.

 

 

 

ㅇㅇ시 ㅇㅇ구 ㅇㅇ동 ㅇㅇ아파트 ㅇㅇ동 ㅇㅇ호 

123.456.789.00:80

붉은색이 외부 아이피, 파란색이 포트번호가 된다.

 

 

 

위와 같이 외부에서 80포트로의 요청이 오면 게이트웨이 장치(공유기)가 맨 처음 그 요청을 받게 되는데,

 

 

신입 게이트웨이 장치가 어리버리 타는 모습이다.

 

 

 

게이트웨이 장치는 80포트로의 요청이 어느 서버로 연결해야 하는건지 모르는 상태이다!

 

 

 

이런 상태에서 게이트웨이 장치에게 포트번호 마다 어디로 보내야 하는지 방향을 잡아주는 것포트포워딩이다.

 

 

101호로 요청이 오면 누구씨집으로 보내고, 102호로 요청이 오면 어쩌구씨 집으로 보내고...

 

이러한 매뉴얼을 게이트웨이 장치에게 줘서, 외부네트워크에서 요청이 들어왔을 때 어느 내부 IP로 안내를 해야할지를 알게 해준다.

 

 

 

매뉴얼(포트포워딩)을 받아 일을 잘하게 된 공유기의 모습

 

 

 

 

반응형