DevOps/Network

Port

꼰용 2026. 7. 1. 09:16

DNS(Domain Name System) 가 어떻게 사람이 읽을 수 있는 도메인 주소를 컴퓨터가 이해하는 IP(Internet Protocol) 주소로 변환해주는지 알아보았습니다. 그렇다면 IP 주소를 찾아 컴퓨터에 도착한 데이터는 컴퓨터 내부의 수많은 프로그램 중 도대체 누구를 찾아가야 할까요? 이번 글에서는 하나의 IP주소에서 웹 서버, DB, SSH 등 여러 서비스를 완벽하게 구분해 주는 핵심 개념인 Port(포트)에 대해 알아보겠습니다.

자주 만나는 주소의 비밀

프로젝트를 진행하거나 서버를 구축할 때 다음과 같은 주소를 한 번쯤 만나실 겁니다.

여기서 콜론(:) 뒤에 붙은 8080, 8443, 5432 같은 숫자들이 바로 Port 번호입니다.

Port란

Port는 하나의 컴퓨터(IP)안에서 실행 중인 여러 프로그램(프로세스)을 구분하기 위한 식별 번호입니다.

네트워크 통신을 우편 배송에 비유하면 쉽게 이해할 수 있습니다.

  • IP주소 : 건물 주소(서울특별시 강남구 테헤란로 101번지)
  • Port 번호 : 건물 내부의 호수(101호, 301호, 602호 등)

택배 기사님이 건물 주소(IP)만 보고 찾아오면 건물 안의 어느 회사/어느 집으로 택배를 전달해야 할지 알 수 없습니다. 따라서 101번지 301호(IP:port)처럼 정확한 호수까지 기재되어 있어야 목적지 담당자(프로그램)에게 정확히 전달할 수 있습니다.

Port가 꼭 필요한 이유

하나의 서버(192.168.0.206)안에서는 여러 프로그램이 동시에 실행될 수 있습니다.

  • 웹/WAS 서버(Tomcat, Nginx 등)
  • DB 서버(PostgreSQL, MySQL 등)
  • 원격 접속(SSH 등)
  • CI/CD (Jenkins 등)

만약 외부에서 192.168.0.206 으로만 데이터가 들어온다면 운영체제(OS)는 "이 데이터를 웹 서버에 보내야 하나? DB에 보내야 하나? " 어디로 보내야 할지 알 수 없습니다.

  • 요청 192.168.0.206:80 → 80번 포트 → HTTP 웹 서버
  • 요청 192.168.0.206:22 **→ 22번 포트 SSH 원격 접속**
  • 요청 192.168.0.206:5432 **→ 5432포트 PostgreSQL DB**

이처럼 포트 번호가 존재하기 때문에 컴퓨터 한 대로도 여러 가지 네트워크 서비스를 동시에 차질 없이 운영할 수 있습니다.

Port 번호의 범위와 종류

포트 번호는 0번부터 65535번까지 총 65,536개가 존재하며 크게 3가지 영역으로 구분됩니다.

구분 포트 범위 설명
Well-Known Ports 0 ~ 1023 국제인터넷주소기구(IANA)가 예약한 주요 표준 서비스 포트
Registered Ports 1024 ~ 49151 특정 기업이나 소프트웨어가 등록하여 사용하는 포트
Dynamic / private Ports 49152 ~ 65535 임시 통신용, 클라이언트 접속용으로 자유롭게 사용하는 포트

왜 65,536개 일까?

포트 번호 범위 보면서 "왜 65535라는 애매한 숫자로 끝날까?" 하는 궁금증이 생겼습니다.

결론부터 말씀드리면 네트워크 표준(TCP/UDP)을 만들 때 포트 번호를 저장한느 공간을 '16비트(16-bit)로 정의했기 때문입니다.

  • 16비트로 표현할 수 있는 경우의 수
    2¹⁶ = 65,536
    즉, 메모리에 16개의 비트 공간을 마련해 두었기 때문에 생성할 수 있는 서로 다른 포트 번호의 총개수가 65,536개가 됩니다.
  • 왜 마지막 번호는 65,536이 아니라 65,535일까?
    컴퓨터는 숫자를 세기 시작할 때 1이 아닌 0부터 셉니다.
    쉽게 이해하기 위해 숫자 10개를 0부터 세어볼까요?
    0, 1, 2, 3, 4, 5, 6, 7, 8, 9
    총개수는 10개지만, 마지막 숫자는 9가 됩니다.
    포트 번호도 똑같습니다.
  • 0부터 시작해서 총 65,536개를 세기 때문에 포트 번호의 실제 범위는 0 ~ 65535가 되는 것입니다.

당시 네트워크 표준 설계자들이 "네트워크 패킷 용량을 너무 차지하지 않으면서도, 한 컴퓨터에서 충분히 많은 프로그램을 구동할 수 있는 적절한 크기"로 16비트를 채택했고, 그것이 지금까지 이어지고 있는 것입니다.

 

꼭 기억해야 할 Well-Known Port

Port 서비스 설명
20 / 21 FTP 파일 전송 프로토콜
22 SSH 안전한 Shell 원격 접속
23 Telnet 암호화되지 않은 원격 접속
25 SMTP 이메일 발송
53 DNS 도메인-IP 변환 시스템
80 HTTP 암호화되지 않은 웹 서비스
443 HTTPS SSL/TLS 암호화가 적용된 웹 서비스

 

개발자가 자주 만나는 Port

Port 서비스 Port 서비스
3306 MySQL 8080 Tomcat / Alt Web
5432 PostgreSQL 8081 Spring Boot
6379 Redis 9092 Apache Kafka
27017 MongoDB 9090 Prometheus
9200 Elasticsearch 9000 SonarQube / PHP-FPM

 

 

마치며
하나의 서버안에 여러 서비스를 구분해 주는 Port(포트)의 개념과 왜 65,536개(16비트)의 범위가 정해졌는지 그리고 Well-Known Port까지 알아보았습니다. 
도움이 되시길바랍니다!
감사합니다 :)