네트워크 / 잘 알려진 포트, 등록된 포트, 동적 포트
네트워크 포트 번호는 0부터 65535까지이며, IANA는 이를 잘 알려진 포트(0~1023), 등록된 포트(1024~49151), 동적·사설 포트(49152~65535)로 구분합니다. 이 구분은 번호의 할당·등록 방식을 설명하는 기준이지, 특정 포트에서 어떤 프로그램이 반드시 실행된다는 뜻은 아닙니다.
IP 주소가 통신할 장치를 가리킨다면 포트 번호는 그 장치에서 통신을 처리할 서비스나 연결을 구별하는 데 쓰입니다. 포트 번호는 전송 프로토콜과 함께 봐야 합니다. 예를 들어 TCP 53과 UDP 53은 번호가 같아도 서로 다른 포트 공간에 속합니다.
포트 번호의 세 가지 범위
| 구분 | 번호 범위 | 주요 의미 |
|---|---|---|
| 잘 알려진 포트(System/Well-Known Ports) | 0~1023 | IANA가 표준 절차에 따라 서비스에 할당하는 범위 |
| 등록된 포트(User/Registered Ports) | 1024~49151 | 서비스가 IANA에 번호를 등록할 수 있는 범위 |
| 동적·사설 포트(Dynamic/Private Ports) | 49152~65535 | IANA가 특정 서비스에 할당하지 않고 동적·로컬 용도로 남겨 둔 범위 |
이 범위는 RFC 6335의 포트 번호 범위 정의와 IANA의 서비스 이름·포트 번호 등록부를 기준으로 합니다. 두 자료에서 첫 번째 범위는 System Ports, 두 번째 범위는 User Ports라고도 부릅니다.
잘 알려진 포트: 0~1023
잘 알려진 포트는 널리 쓰이는 네트워크 서비스를 식별하는 데 사용되는 범위입니다. 대표적으로 웹 통신의 HTTP는 TCP 80, HTTPS는 TCP 443, SSH는 TCP 22에 등록되어 있습니다. DNS는 TCP와 UDP 모두 53을 사용합니다. 실제 등록 현황은 전송 프로토콜별로 IANA 등록부에서 확인할 수 있습니다.
다만 0~1023의 모든 번호가 일반 서비스에 배정된 것은 아닙니다. 특히 0은 범위에는 포함되지만 일반적인 서비스 포트의 예로 다루면 안 됩니다. 또한 서비스가 관례적인 포트가 아닌 다른 포트에서 실행되도록 설정될 수도 있습니다.
등록된 포트: 1024~49151
이 범위의 번호는 애플리케이션이나 서비스용으로 IANA에 등록할 수 있습니다. 예를 들어 MySQL은 TCP 3306, 원격 데스크톱 프로토콜(RDP)은 TCP 3389에 등록되어 있습니다. 등록은 서비스 이름과 번호를 공유해 충돌을 줄이는 수단이지, 해당 번호를 한 제품이 독점하거나 모든 시스템이 반드시 그 번호를 사용하도록 강제하는 규칙은 아닙니다.
따라서 포트 3306이 열려 있다는 사실만으로 그곳에 MySQL이 실행 중이라고 단정할 수 없습니다. 반대로 MySQL도 설정에 따라 다른 포트를 사용할 수 있습니다. 방화벽 규칙을 만들거나 접속 문제를 조사할 때는 등록부뿐 아니라 실제 서비스 설정과 사용 중인 전송 프로토콜을 함께 확인해야 합니다.
동적·사설 포트: 49152~65535
IANA는 이 범위의 번호를 특정 서비스에 등록하지 않습니다. 프로그램은 사용 가능한 번호를 로컬에서 선택해 일시적인 통신에 사용할 수 있습니다. 예를 들어 브라우저가 서버의 TCP 443에 접속할 때 클라이언트 측 연결에는 별도의 임시 포트가 사용됩니다.
주의할 점은 운영체제가 임시 포트를 고르는 실제 범위가 언제나 49152~65535와 일치하지는 않는다는 것입니다. 위 숫자는 IANA의 분류이며, 시스템에서 현재 사용 중인 임시 포트 범위는 운영체제 설정으로 확인해야 합니다. 동적 범위의 특정 번호도 항상 비어 있다고 가정해서는 안 됩니다.
포트 번호를 확인할 때 기억할 점
- 포트 번호는 IP 주소, TCP·UDP 같은 전송 프로토콜과 함께 해석합니다.
- IANA 등록 번호는 기본값을 찾는 출발점입니다. 실제 서비스의 수신 포트는 설정에 따라 달라질 수 있습니다.
- 등록된 포트 범위에 있는 번호가 모두 등록·사용 중인 것은 아닙니다.
- 방화벽을 설정할 때는 포트 번호만이 아니라 필요한 서비스와 통신 방향도 확인합니다.




