Network

[Network] Port number (포트 번호)

HEY__ 2024. 7. 15. 16:03
728x90

이 글은 공부를 하면서 알게 된 내용들을 기록하는 글 입니다. 오류나 고쳐야 할 사항들이 있다면 지적 부탁드립니다!

✅ Port - 포트

컴퓨터 관련 분야에서의 port란 운영체제 통신의 종단점(endpoint)을 뜻한다.

어떠한 데이터가 송수신을 할 때
Pysical, Data link, Network(Internet) layer를 지나며, `Mac Address`와 `IP Address`를 통해 목적지를 찾아간다.
목적지에 도달한 후에는 어떤 Process에 이 데이터를 전달할 것인지 판단해야 하는데,
이 때 `Port number(포트 번호)`가 사용된다.

 

예를 들어서 어떤 데이터가 `aaa.aaa.aaa.aaa`라는 IP주소를 가지고 있는 사용자의 컴퓨터에 데이터가 도착했고,

해당 사용자의 컴퓨터에 카카오톡, Whale 브라우저, 디스코드가 실행되고 있다고 가정해보자.

 

도착한 데이터는 어떤 프로세스로 가야 할까?

 

추가적인 정보 없이는 어떤 프로세스에 데이터를 전달해줘야할지 알 수 없기 때문에 사용하는 것이 바로 `port  number(포트 번호)`이다.

 


✅ Port number

`Port number`는 특정 프로세스를 식별하는 논리 단위이며, 주로 Transport layer에서 프로토콜(TCP/UDP)와 함께 사용되며,

0번부터 65535번까지 존재한다.

 

위에서 들었던 예시를 다시 보자.

Layer 1 ~ 3을 통해 데이터는 `aaa.aaa.aaa.aaa`라는 IP를 가진 컴퓨터에 도착했다.

해당 컴퓨터에는 깃허브, 노션, 디스코드가 실행 중 이고 깃허브는 49534번, 노션은 49154번, 디스코드는 6463번 포트로 실행되고 있을 때, 전달 받은 데이터는 이 셋 프로세스들 중 한 곳으로 전송된 데이터이다.

이 때, 포트 번호를 통해 어떤 프로세스에게 전달된 데이터인지 판별이 가능하며, 데이터를 원래 목적지까지 전송할 수 있다.

 

port number는  크게 세 종류로 구분될 수 있다.

 

🔥 well-known port (0번 ~ 1023번)

0번부터 1023번까지는 어떤 프로토콜의 어떤 어플리케이션이 사용할지 이미 정해져 있다. IANA에서 할당한 TCP/UDP 포트로서, 잘 알려진 포트 목록들은 다음과 같다.

 

🔥 registered  port (1024번 ~ 49151번)

기관이나 사업자들을 위해 IANA에서 관리하는 포트들이다.

MySQL(3306), HTTP 대체(8080), MongoDB(27017)와 같은 포트번호들이 여기에 속한다.

🔥dynamic port (49152번 ~  65535번)

사용자가 임의로 사용이 가능한 포트 번호들이다. 어디에서든지 사용할 수 있는 포트번호이기 때문에 따로 지정된 것이 없다.

 


✅  참고 자료 & 링크

- https://inpa.tistory.com/entry/WEB-%F0%9F%8C%90-%ED%8F%AC%ED%8A%B8-%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80

-https://ko.wikipedia.org/wiki/%ED%8F%AC%ED%8A%B8_(%EC%BB%B4%ED%93%A8%ED%84%B0_%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%82%B9)

728x90