Port에 대한 정리 - vvonha/NaverAPI GitHub Wiki

포트에 대한 분류

도로에 차선이 여러 개 있는 것처럼, 포트도 여러 개가 있는데요. 이 포트들은 미국의 비영리 사설 기관인 ICANN(Internet Corporation for Assigned Names and Numbers)에서 관리하고 있습니다. ICANN은 무려 65,536개에 달하는 포트를 다음과 같이 3종류로 분류하고 있습니다.

포트의 분류

0 ~ 1023: 잘 알려진 포트(Well Known Ports) 1024 ~ 49151: 등록된 포트(Registered Ports) 49152 ~ 65535: 다이나믹 포트(Dynamic Ports)

그렇다면 각각의 분류는 어떤 특성을 가지고 있을까요? 각각의 분류에 속한 대표 포트 번호와 그 역할은 다음과 같습니다.

잘 알려진 포트 (Well Known Ports) | 0 ~ 1023

먼저 '잘 알려진 포트'는 0번부터 1023번 포트를 의미합니다. 이는 잘 알려진 특정한 어플리케이션의 사용을 위해 ICANN에서 할당한 TCP/UDP 포트 번호인데요. 강제적으로 지정된 것이 아니기에, 다른 용도로 사용될 수도 있습니다. 대표적으로 다음과 같은 포트 번호들이 있습니다.

포트번호

설명

21번 포트 : FTP(File Transfer Protocol) - FTP 연결 시 인증과 컨트롤을 위한 포트
23번 포트 : Telnet(Telecommunication Network) - 인터넷을 통하여 원격지의 호스트 컴퓨터에 접속할 때 사용하는 포트
25번 포트 : SMTP(Simple Mail Transfer Protocol) - 메일을 보낼 때 사용하는 포트
80번 포트 : HTTP(Hyper Text Transfer Protocol) - 웹 서비스를 사용하기 위한 포트

TCP / UDP 란?

  • TCP(Transmission Control Protocol): 신뢰성이 요구되는 애플리케이션에서 사용하는 프로토콜
  • UDP(User Datagram Protocol): 간단한 데이터를 빠른 속도로 전송하는 애플리케이션에서 사용하는 프로토콜

등록된 포트 (Registered Ports) | 1024 ~ 49151

그 다음으로 '등록된 포트'는 1024번부터 49151번까지의 포트를 의미합니다. 이는 특정 용도로 사용되기 위해 등록된 포트번호인데요. 이 번호들도 잘 알려진 포트 번호들과 마찬가지로 강제적으로 지정된 것이 아니라 다른 용도로 사용될 수도 있습니다. 대표 포트번호는 다음과 같습니다.

포트번호

설명

1433번 포트 : MSSQL - Microsoft에서 제공하는 데이터베이스를 사용하기 위한 포트
3306번 포트 : MySQL - SQL을 사용하는 공개 소스의 관계형 데이터베이스 관리 시스템(RDBMS)를 사용하기 위한 포트
3389번 포트 : 원격 접속 - 원격 접속을 사용하기 위한 포트 
8080번 포트 : HTTP 대체 - HTTP 포트(80번)를 대체할 수 있는 포트 

다이나믹 포트 (Dynamic Ports) | 49152 ~ 65535

마지막으로 49152번부터 65535번까지의 포트는 '다이나믹 포트'로 분류합니다. 이는 어느 프로그램에서나 사용할 수 있는 포트입니다. 그렇기에 대표적인 포트 번호는 별도로 존재하고 있지 않습니다.

주로 클라이언트 측에서의 포트로서 사용되고, Dynamic(동적인)의 뜻 그대로, 고정된 포트 번호를 사용하는 것이 아니라, 계속해서 변하는 포트 번호입니다.


추가 자료

전체 포트 번호 확인 하러 가기 (ICANN - www.iana.org)