[Network] 9. 포트, 게이트웨이
포트
- 운영 체제 통신의 종단점으로 네트워크 서비스나 특정 프로세스를 식별하기 위해 사용하는 번호
포트의 동작
- 통신을 할 때는 클라이언트(Client)와 서버(Server)가 있다.
- 두 기기가 통신을 할 때에 IP 주소로만 통신을 하면 웹을 이용한 통신인지 메일을 이용한 통신인지 모르게 된다. 따라서 어떤 프로그램의 서버가 응답해야할지 포트 정보를 추가하여 보내게 된다.
- 각 프로그램들의 서버는 특정 포트에서 대기하게 된다. 클라이언트는 그 프로그램을 이용할 때 해당 포트로 접속하기로 약속된 것이다.
- 예를 들어 웹에 사용되는 HTTP 프로토콜의 포트는 80번이다. 만약 어떤 사이트를 8080번 포트로 들어가면 어떻게 될까? 웹 서버는 80번 포트에서 대기하고 있는데 클라이언트는 엉뚱한 8080번 포트로 들어가서 오류가 생기게 된다.
포트의 종류
- 포트 번호는 3가지로 나눌 수 있다.
- 0번 ~ 1023번
- 잘 알려진 포트(Well Known Port): 대부분 유닉스 계열 운영체제는 잘 알려진 포트를 열려면 루트(root) 권한이 있어야 한다.
- 1024번 ~ 49151번
- 등록된 포트(Registered Port): 서버 소켓으로 사용하는 영역
- 49152번 ~ 65535번
- 동적 포트(Dynamic Port): 접속할 때마다 포트번호가 동적으로 부여되며 서버 소켓 포트로 사용할 수 없다.
- 0번 ~ 1023번
- IANA(인터넷 할당 번호 관리기관)는 잘 알려진 포트와 등록된 포트들을 관리하고 있다.
포트 포워딩
- 집에서 여러 기기를 사용하기 위해서 우리는 공유기(Router)를 사용한다. 공유기를 사용해서 한 회선만으로도 여러 기기가 인터넷을 사용하게 도와주는 것이다.
- 그 과정에서 통신사는 사용자 식별을 위해 공유기에 공인 IP주소를 부여하고 공유기는 각 기기들을 구별하기 위해 사설 IP주소를 부여한다.
- 만약 웹 서버를 만들어서 사람들이 들어올 수 있게 하고 싶다면, 사설 IP 로 접근해야 한다. 그렇지만, 사설 IP 는 외부에 공개되지 않고 다른 사설망끼리 사설 IP 는 중복될 수 있기 때문에 쉽지 않다.
-
그럴 때, 라우터를 통해 웹 서버로 접근하게 하는 방법이 있다. 어떠한 포트로 라우터에 접근했을 때 특정 사설 IP 의 특정 포트로 접근하도록 하는 것을 포트포워딩이라고 한다.
- 예를 들어, 위 그림에서 라우터로 ‘80번 포트’라고 요청하면, 라우터는 그곳으로 보내게 되는 것이다.
222.109.62.43:80 --> 192.168.0.2:80
- 외부에서 Private IP 에 접근이 필요할 때가 있다. Private IP 를 할당받은 기기를 웹 서버로 활용한다면 공유기로 들어온 요청을 해당 기기로 전달해줘야 한다. 이럴 때 포트 포워딩을 사용하면 된다.
- 즉 공유기의 특정 포트로 들어온 접속을 Private IP 의 특정 포트로 요청을 전달하는 것이다.
게이트웨이
- 컴퓨터 네트워크에서 서로 다른 통신망, 프로토콜을 사용하는 네트워크 간의 통신을 가능하게 하는 컴퓨터나 소프트웨어
-
즉 “한 네트워크(segment)에서 다른 네트워크로 이동하기 위하여 거쳐야 하는 지점” 으로서로 다른 네트워크의 프로토콜이 다를 경우에 중재 역할을 해준다.
- 인터넷에 연결하기 위해서는 IP 주소, 서브넷 마스크, 게이트웨이 주소가 필요하다.
-
게이트웨이는 프로토콜이나 네트워크 간의 통신을 가능하게 하는 관문 역할을 한다. 우리가 인터넷을 접속할 때도 수많은 게이트웨이를 거친다.
- 집 컴퓨터에서 인터넷에 접속하려는 경우 위 그림과 같은 경로를 따라간다. 이 때, 공유기와 인터넷 제공 회사의 라우터는 이전의 단계에서 다음 단계로 넘어 갈 때의 게이트웨이 역할을 담당한다.
- 인터넷에 접속하기 위해서 많은 게이트웨이를 거쳐야 하는데, 이 때 거치는 게이트웨이의 수를 홉 수(hop count)라고 한다. 위의 예제에서는 인터넷에 연결할 때까지 필요한 hop count는 2 가 된다.
- 게이트웨이가 없다면 외부 네트워크와 통신할 수 없게 되며 로컬 네트워크에서만 통신할 수 있게 된다. 즉 내 네트워크(192.168.0.1) 대역 에서 다른 네트워크(172.16.10.1) 대역으로 통신을 하려면 게이트웨이를 거쳐야만 통신이 가능하다.
- 일반적으로 게이트웨이의 주소는 IPv4에서 4번째 옥텟(192.168.1.xxx)만 다른 경우가 많다.
- 네트워크 연결을 도와주는 라우터와 게이트웨이는 혼동할 수 있다.
- 게이트웨이는 라우터보다 포괄적인 개념이다. 게이트웨이 장비는 다른 대역으로 라우팅을 해줄 수 있는 L3 스위치급 이상의 장비다.
- 라우터는 LAN 과 WAN 을 연결하는데 많이 사용되는 반면, 게이트웨이는 프로토콜이 다른 네트워크를 연결을 할 때 주로 사용한다고 한다. 또한, 게이트웨이는 하나 이상의 프로토콜을 사용한다.
- 그러나 요즘은 라우터와 게이트웨이 기능이 같이 있는 장비를 많이 사용한다.
-
라우터와 게이트웨이의 차이점은 라우터는 장비, 게이트웨이는 장비가 아닌 개념적 의미(통로, 출입구)다.
Gateway Router 네트워크 주소가 다른 네트워크를 연결할 때 반드시 거쳐가는 것(기계, 장비가 아니라 인터넷 방향으로 나갈 때 찾아가야 할 IP 주소) 네트워크 주소가 다른 경우 서로 통신을 하도록 도와주는 장치 - 기본 게이트웨이는 로컬 네트워크와 인터넷 간의 중간 장치로 패킷을 보낼 곳을 모를 때 우선적으로 전송하는 곳이기도 하다. 보통은 공유기 같은 라우터의 IP 주소가 기본 게이트웨이다.
댓글 남기기