IT이야기/네트워크

포트 번호: 네트워크 통신을 위한 필수 개념과 주요 포트 완벽 정리

Chiba-in 2025. 2. 28. 12:30

🔹 포트 번호란?

1. 포트 번호(Port Number)의 정의

포트 번호(Port Number, ポート番号)컴퓨터 네트워크에서 애플리케이션 간 데이터 통신을 식별하기 위해 사용하는 논리적 주소입니다.
포트 번호의 주요 특징:

  • IP 주소와 함께 사용되어 네트워크 상의 특정 서비스 또는 애플리케이션을 구분
  • 16비트(0~65535) 범위의 숫자로 구성됨
  • TCP(Transmission Control Protocol)와 UDP(User Datagram Protocol)에서 사용됨

📌 포트 번호는 네트워크 통신에서 특정 애플리케이션을 식별하는 중요한 역할을 수행


🔹 포트 번호의 구조 및 분류

1. 포트 번호의 범위

포트 번호는 0~65535번까지 사용 가능하며, 아래와 같이 3가지 범위로 분류됩니다.

포트 번호 범위 이름 설명
0~1023 잘 알려진 포트(Well-Known Ports) HTTP, HTTPS, FTP 등 주요 네트워크 서비스에 할당된 공식 포트
1024~49151 등록된 포트(Registered Ports) 특정 애플리케이션이 등록하여 사용하는 포트
49152~65535 동적/임시 포트(Dynamic/Ephemeral Ports) 클라이언트가 임시로 사용하는 포트 (예: 웹 브라우저, 게임 등)

📌 0~1023번 포트는 IANA(Internet Assigned Numbers Authority)에서 공식적으로 관리


2. TCP와 UDP 포트의 차이점

포트 번호는 TCP 또는 UDP 프로토콜에서 사용됩니다.
✔️ TCP와 UDP의 차이점:

프로토콜 특징 사용 사례
TCP 연결 지향(Connection-oriented), 신뢰성 높음 웹 브라우징(HTTP/HTTPS), 이메일(SMTP, IMAP, POP3)
UDP 비연결형(Connectionless), 속도 빠름 스트리밍, 게임, VoIP(SIP, RTP)

📌 TCP는 신뢰성이 필요한 서비스에, UDP는 실시간 성능이 중요한 서비스에 적합


🔹 주요 포트 번호 및 사용 사례

1. 대표적인 TCP 포트 번호

포트 번호 프로토콜 설명
20, 21 FTP 파일 전송 프로토콜
22 SSH 원격 접속 보안 터미널
25 SMTP 이메일 발송
53 DNS 도메인 네임 시스템
80 HTTP 웹사이트 접속(비보안)
443 HTTPS 보안 웹사이트 접속(SSL/TLS)
3306 MySQL 데이터베이스 관리

📌 웹사이트 접속(HTTP/HTTPS)과 원격 접속(SSH)에서 TCP 포트가 널리 사용됨


2. 대표적인 UDP 포트 번호

포트 번호 프로토콜 설명
53 DNS 빠른 도메인 조회
67, 68 DHCP IP 주소 자동 할당
123 NTP 네트워크 시간 동기화
161 SNMP 네트워크 장비 모니터링
500 IPsec VPN 보안 VPN 연결
3478, 5349 STUN/TURN VoIP 및 WebRTC 통신

📌 UDP는 DNS, VoIP, 실시간 스트리밍 등에서 주로 활용됨


🔹 포트 관련 네트워크 보안

1. 방화벽에서 포트 관리

방화벽은 특정 포트를 차단하거나 허용하여 네트워크 보안을 강화

✔️ 방화벽에서 포트 열기(예: Linux iptables)

sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT

✔️ Windows 방화벽에서 특정 포트 허용 (예: 80번 포트)

netsh advfirewall firewall add rule name="Allow HTTP" protocol=TCP dir=in localport=80 action=allow

📌 방화벽 설정을 통해 불필요한 포트를 차단하여 보안을 강화할 수 있음


2. 포트 스캔 및 보안 점검

공격자는 Nmap 등의 도구를 사용하여 열려 있는 포트를 스캔할 수 있음

✔️ 포트 스캔 명령어(Nmap)

nmap -p 1-65535 example.com

📌 서버 보안을 위해 불필요한 포트는 닫고, 접근 제어 정책을 설정해야 함


3. 포트 포워딩(Port Forwarding) 활용

내부 네트워크의 특정 장치로 외부 트래픽을 전달하는 기능

✔️ 포트 포워딩 설정 예제 (SSH 22번 포트 → 내부 서버 192.168.1.100로 전달)

iptables -t nat -A PREROUTING -p tcp --dport 22 -j DNAT --to-destination 192.168.1.100:22

📌 포트 포워딩을 활용하면 원격 접속, 게임 서버 운영 등이 가능


📌 결론

포트 번호(Port Number)는 네트워크에서 특정 애플리케이션을 식별하고 통신을 수행하는 필수적인 요소이다.
TCP는 신뢰성이 필요한 서비스(웹, 이메일)에, UDP는 속도가 중요한 서비스(VoIP, 스트리밍)에 사용된다.
보안 강화를 위해 방화벽을 설정하고, 불필요한 포트는 닫아야 한다.
포트 포워딩을 활용하면 내부 네트워크의 특정 장치에 외부 접근을 허용할 수 있다.