ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 포트 번호와 프로토콜
    Computer Science/Network 2025. 10. 21. 18:39

    1. 개요

    포트(Port)는 하나의 IP 주소 안에서 여러 프로그램(프로세스)을 구분하기 위한 논리적 번호
    IP가 “건물 주소”라면, 포트는 “건물 안의 각 방 번호”

    TCP/IP 네트워크에서는 IP 주소 + 포트 번호 조합으로 통신이 이루어짐.


    예를 들어, 웹 브라우저가 www.example.com에 접속할 때는 IP 주소를 찾은 후 포트 80(HTTP) 으로 연결을 시도

    구분 예시 설명
    IP 주소 192.168.0.10 컴퓨터(호스트) 자체의 주소
    포트 번호 80 특정 서비스(웹 서버)의 식별자
    조합 192.168.0.10:80 특정 서버의 특정 서비스에 연결

    2. 포트 번호 체계

    포트 번호는 16비트(0~65535) 정수로 표현되며, 세 가지 범위로 구분

     

    구분 범위 설명
    Well-known Port (공인 포트) 0 ~ 1023 전 세계적으로 표준화된 주요 서비스용 포트
    Registered Port (등록 포트) 1024 ~ 49151 일반 응용 프로그램에서 사용하는 등록 포트
    Dynamic / Private Port (임시 포트) 49152 ~ 65535 클라이언트가 통신 시 임시로 사용하는 포트 (Ephemeral Port)

    예: 웹 브라우저는 49152 이후의 임시 포트를 사용해 서버의 80포트에 접속한다.


    3. 대표 프로토콜 포트 번호

    주요 포트(80, 443, 22, 25, 53 등)는 반드시 암기

    프로토콜 포트 번호  사용 계층  설명
    HTTP 80 애플리케이션 계층 웹 페이지 전송 (암호화 X)
    HTTPS 443 애플리케이션 계층 보안 웹 통신 (SSL/TLS)
    FTP (File Transfer Protocol) 20, 21 애플리케이션 계층 파일 전송 (20=데이터, 21=제어)
    SSH 22 애플리케이션 계층 보안 원격 접속
    Telnet 23 애플리케이션 계층 원격 접속 (암호화 X)
    SMTP 25 애플리케이션 계층 이메일 발신
    POP3 110 애플리케이션 계층 이메일 수신
    IMAP 143 애플리케이션 계층 이메일 수신(서버 동기화)
    DNS 53 애플리케이션 계층 도메인 이름 ↔ IP 주소 변환
    DHCP 67(서버), 68(클라이언트) 애플리케이션 계층 IP 자동 할당
    MySQL 3306 애플리케이션 계층 DB 접속 포트
    HTTPS(SSL) 443 전송 계층(TCP) 암호화된 HTTP 통신
    RDP (원격 데스크톱) 3389 애플리케이션 계층 윈도우 원격 제어

    4. TCP vs UDP 비교

    포트 번호는 TCP와 UDP 모두에서 사용됨.
    둘 다 전송 계층 프로토콜이지만, 데이터 전송 방식이 다름

    구분 TCP (Transmission Control Protocol) UDP (User Datagram Protocol)
    연결 방식 연결지향 (3-way handshake) 비연결형
    신뢰성 전송 보장 (재전송, 순서 제어) 보장 없음
    속도 느림 빠름
    데이터 단위 세그먼트 (Segment) 데이터그램 (Datagram)
    흐름 제어 있음 없음
    대표 사용 서비스 HTTP, HTTPS, FTP, SMTP DNS, DHCP, 스트리밍, 게임

    핵심:
    TCP는 신뢰성이 중요한 서비스(파일 전송, 웹), UDP는 지연이 중요한 서비스(동영상, 실시간 통신)에 사용


    5. 포트 충돌과 방화벽 개념

    (1) 포트 충돌 (Port Conflict)

    동일한 포트 번호를 여러 프로그램이 동시에 사용하려 하면 충돌이 발생
    → 서버에서는 하나의 포트에 하나의 프로세스만 바인딩(bind) 가능

    예: 웹 서버(Apache)가 80포트를 이미 사용 중일 때, 다른 웹 서버(Nginx)가 같은 포트를 사용하려 하면 실행 불가.

    (2) 방화벽(Firewall)과 포트 제어

    보안 장비나 OS 방화벽에서는 포트 허용/차단 규칙을 설정해 외부 접근을 제어

    상황 결과
    TCP 22 (SSH) 허용 원격 접속 가능
    TCP 3306 (MySQL) 차단 외부 DB 접근 불가
    TCP 80, 443 허용 웹 트래픽만 허용

    실제 서버 보안에서는 필요한 포트만 열고 나머지는 기본 차단하는 것이 원칙

     

     

    'Computer Science > Network' 카테고리의 다른 글

    IP주소와 서브넷 마스크 + 예제 문제  (0) 2025.10.16
    TCP/IP 4계층 구조  (0) 2025.10.15
    OSI 7계층 정리  (0) 2025.10.14
Designed by Tistory.