컴퓨터 과학/네트워크

응용 계층을 식별하는 전송 계층: 포트의 역할

Data Jun 2025. 10. 4. 08:56

네트워크에서 데이터는 단순히 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와 같은 네트워크 기술에서도 포트는 중요한 역할을 하며, 이를 통해 효율적인 통신과 자원 공유가 가능합니다.