네트워크에서 데이터는 단순히 IP 주소만으로는 충분하지 않습니다. 같은 호스트(컴퓨터) 안에서도 여러 개의 애플리케이션이 동시에 통신을 하기 때문에, 각 애플리케이션을 구분하기 위한 추가 정보가 필요합니다. 이를 담당하는 것이 바로 **포트(Port)**입니다
1. 포트 번호 관찰하기

실제 윈도우 리소스 모니터에서 네트워크 활동을 보면, 특정 애플리케이션(chrome.exe)이 원격 서버와 통신할 때 로컬 포트와 원격 포트 번호가 표시됩니다.
예를 들어, 크롬 브라우저가 142.250.199.99:443 서버와 통신하고 있다면, 이는 HTTPS 프로세스와의 연결임을 알 수 있습니다.
2. 포트의 기본 구조와 범위

포트는 패킷 내 송신지 포트와 수신지 포트를 통해 어떤 애플리케이션 프로세스와 통신하는지 구분합니다.
- 포트 번호는 16비트로 표현되며, 총 0 ~ 65535까지 사용 가능
- 송신자와 수신자는 각각 자신만의 포트 번호를 가짐
3. 포트의 세 가지 유형

포트는 크게 세 가지로 나눌 수 있습니다.
- 잘 알려진 포트 (Well-known Port): 0 ~ 1023번, 범용적으로 쓰이는 시스템 포트
- 등록된 포트 (Registered Port): 1024 ~ 49151번, 특정 애플리케이션이 할당받아 사용
- 동적 포트 (Dynamic Port): 49152 ~ 65535번, 주로 클라이언트 측에서 임시 사용
4. IP와 포트의 결합
특정 호스트에서 실행 중인 특정 애플리케이션을 지정하려면 IP 주소:포트번호 형식으로 표현합니다.
예를 들어, 192.168.0.15:8000 은 로컬 호스트에서 8000번 포트를 사용하는 애플리케이션을 의미합니다.
5. 잘 알려진 포트 (Well-known Port)
대표적인 잘 알려진 포트 번호는 다음과 같습니다.
- 20, 21: FTP
- 22: SSH
- 23: TELNET
- 53: DNS
- 67, 68: DHCP
- 80: HTTP
- 443: HTTPS
즉, 포트 번호만 보고도 어떤 서비스와 통신 중인지 알 수 있습니다.
6. 등록된 포트 (Registered Port)
등록된 포트는 잘 알려진 포트보다는 덜 범용적이지만 특정 서비스에 자주 사용됩니다.
- 1194: OpenVPN
- 1433: MS SQL Server
- 3306: MySQL
- 6379: Redis
- 8080: HTTP 대체 포트
7. 동적 포트와 클라이언트 통신
- 서버는 보통 고정된 well-known 포트를 사용합니다. (예: HTTP 서버는 80번)
- 반면 클라이언트(웹 브라우저 등)는 접속할 때마다 임시 동적 포트를 생성하여 사용합니다.
- 따라서 하나의 PC에서도 동시에 여러 웹사이트와 연결할 수 있습니다.
8. 포트를 활용한 NAT/NAPT
포트는 NAT(Network Address Translation) 기술에서도 중요한 역할을 합니다.
- NAPT(Network Address Port Translation)는 IP 주소 + 포트 번호 쌍을 기록하여 여러 사설 IP가 하나의 공인 IP를 공유할 수 있게 합니다.
- 이는 공인 IP 부족 문제를 해결하는 핵심 기술입니다.
정리하면
- 포트는 단순한 숫자가 아니라, 애플리케이션 프로세스를 구분하는 핵심 식별자입니다.
- 서버는 주로 well-known port를 사용하고, 클라이언트는 dynamic port를 사용합니다.
- NAT와 같은 네트워크 기술에서도 포트는 중요한 역할을 하며, 이를 통해 효율적인 통신과 자원 공유가 가능합니다.
'컴퓨터 과학 > 네트워크' 카테고리의 다른 글
| IP의 한계와 ICMP의 역할: 비연결형 통신의 보완책 (0) | 2025.10.04 |
|---|---|
| 포트 포워딩(Port Forwarding): 외부에서 내부 네트워크에 접근하기 (0) | 2025.10.04 |
| IP 한계를 보완하는 전송 계층 (0) | 2025.10.04 |
| 라우팅(Routing)과 라우터(Router) 이해하기 (0) | 2025.10.03 |
| 정적 IP 주소와 동적 IP 주소 이해하기 (0) | 2025.10.03 |