1. 포트

포트(port)는 "논리적인 접속장소"이며, 특히 인터넷 프로토콜인 TCP/IP를 사용할 때에는

클라이언트 프로그램이 네트워크 상의 특정 서버 프로그램을 지정하는 방법으로 사용된다.

 

네트워크 상에서 통신을 할 때 IP를 토대로 해당 서버가 있는 컴퓨터에 접근한다.

그런데 대부분의 경우 하나의 컴퓨터에는 여러 개의 서버가 실행될 수 있다.

컴퓨터에 여러 개의 서버가 실행되고 있다면, 어느 서버에 접속해야 하는지 컴퓨터에게 알려주어야 한다.

이때 사용되는 것이 포트 번호이다.

 

2. 포트 번호

포트 번호는 컴퓨터에서 실행되고 있는 서버를 구분 짓기 위한 16비트의 논리적 할당으로 0~65536번이 존재한다.

이 중에 0~1023번까지는 이미 어떤 통신이 해당 포트를 사용할 것인지 정해져 있다.

예를 들어 http 통신은 80번 포트를 사용하고, ssh 통신은 22번 포트를 사용한다.

이렇게 정해져 있는 0~1023번까지의 포트를 well-known port라고 한다.

 

컴퓨터에 있는 웹서버는 기본적으로 80번 포트와 연결(listening)되어 있다.

만약 웹서버를 하나 더 사용하고 싶은 경우 80번 포트는 이미 기존 웹서버가 사용하고 있기 때문에 사용할 수 없다.

그런 경우 well-known port가 아닌 다른 포트들과 연결하여 사용한다.

보통 관습적으로 8080 포트에 연결하여 사용한다.

 

그런데 이런 경우 웹 통신이 들어왔을 때

80번과 8080번 포트 중에 어떤 포트와 통신할까?

 

정답은 URL포트번호를 적어서 통신할 포트를 구분한다.

예를 들어 http://test.com에 접속하면 80포트에 연결된다.

http://test.com:80에서 80 포트는 생략이 가능하기 때문에 생략된 것이다. 

 

그렇다면 http://test.com:8080에 접속하면 어떻게 될까?

예상 가능하듯 8080 포트에 연결이 된다.

 

URL 구성을 살펴보면 맨 앞에는 http와 같은 통신 규약이 온다.

http, ftp 등등 어떠한 방법으로 통신을 할 것인지를 적는 것이다.

그다음 도메인이나 ip를 적고, 뒤에 포트 번호를 적는다.

 

참고: https://opentutorials.org/course/3265/20037

 

포트(port) - 생활코딩

수업소개 여기서는 포트라는 개념을 알아봅니다. 하나의 컴퓨터에는 여러개의 서버라 설치 될 수 있습니다. 클라이언트가 컴퓨터에 접속할 때 어떤 서버와 접속하려고 하는지는 구분할 수 있는 방법이 필요합니다. 이를 위해서 준비된 개념이 포트입니다. ip 주소가 컴퓨터에 접속하는 주소라면, 포트는 컴퓨터 안에 설치된 서버에 접속하는 주소라고 할 수 있습니다.  강의

opentutorials.org

 

'Network > basic network' 카테고리의 다른 글

SSH란 무엇인가  (0) 2019.12.30
Domain, DNS란 무엇인가  (0) 2019.12.29
IP란 무엇인가  (0) 2019.12.28

+ Recent posts