개인의 기록
  • 소개
  • 프로젝트
  • 글
  • 링크

© 2026 newgirok

← 글 목록

포트 — 프로세스를 구분하는 번호

2025년 10월 2일
Port포트

포트(Port)는 하나의 IP 주소 안에서 여러 애플리케이션을 구분하기 위한 16비트 숫자입니다.

포트가 필요한 이유

IP 주소는 특정 컴퓨터를 식별하지만, 그 컴퓨터에서 어떤 프로그램이 데이터를 받아야 하는지는 알 수 없습니다. 포트 번호가 있어야 운영체제가 패킷을 올바른 프로세스에 전달할 수 있습니다.

192.168.1.100:80  → 웹 서버
192.168.1.100:22  → SSH 서버
192.168.1.100:443 → HTTPS 서버

포트 범위 분류

잘 알려진 포트 (Well-Known Ports)

운영 체제 수준에서 관리하며, 관리자 권한이 있어야 바인딩할 수 있습니다.

포트프로토콜
20, 21FTP
22SSH
25SMTP
53DNS
80HTTP
443HTTPS
3306MySQL
5432PostgreSQL
6379Redis
27017MongoDB

등록된 포트 (Registered Ports)

일반 사용자 권한으로 사용 가능합니다.

동적 포트 (Dynamic/Ephemeral Ports)

클라이언트가 서버에 연결할 때 운영체제가 임시로 할당합니다. 연결이 끊기면 반환됩니다.

포트와 소켓

소켓은 IP 주소와 포트의 조합으로 표현됩니다.

[출발지 IP:포트] ↔ [목적지 IP:포트]

하나의 서버 포트가 여러 클라이언트를 동시에 처리할 수 있는 이유는 TCP 연결이 4가지 값(출발지 IP, 출발지 포트, 목적지 IP, 목적지 포트)의 조합으로 식별되기 때문입니다.

포트 충돌

같은 포트를 두 프로그램이 동시에 사용할 수 없습니다. 웹 서버를 두 개 실행하려 할 때 Address already in use 오류가 발생하는 원인입니다. 이 경우 한쪽을 다른 포트(예: 8080)로 변경해야 합니다.

← 이전 글OSI 7계층 — 네트워크 통신의 계층 구조
다음 글 →라우팅 — 패킷의 최적 경로를 결정하는 방법