포트 번호: 네트워크 통신을 위한 필수 개념과 주요 포트 완벽 정리
🔹 포트 번호란?
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, 스트리밍)에 사용된다.
✅ 보안 강화를 위해 방화벽을 설정하고, 불필요한 포트는 닫아야 한다.
✅ 포트 포워딩을 활용하면 내부 네트워크의 특정 장치에 외부 접근을 허용할 수 있다.