전송 계층의 개요: IP의 한계와 포트

0

network

목록 보기
23/39

전송 계층 개요 요약


1. 전송 계층의 역할

  • 위로는 응용 계층의 프로세스(프로그램)를 식별하고,
  • 아래로는 네트워크 계층의 IP 프로토콜 한계를 보완.

2. IP 프로토콜의 한계

  1. 신뢰할 수 없는 통신:

    • 패킷이 손실되거나 순서가 바뀌어도 이를 확인하거나 복구하지 않음.
    • Best-Effort 방식: 최선을 다하지만 성공을 보장하지는 않음.
  2. 비연결형 통신:

    • 송수신 호스트 간 사전 연결 없이 패킷을 전송.
    • 연결 설정 및 확인 과정 없음.

3. 전송 계층의 두 가지 주요 프로토콜

  1. TCP (Transmission Control Protocol):

    • 신뢰성 있는 연결형 통신 제공.
    • 주요 특징:
      • 연결 수립 및 해제 (3-way handshake).
      • 오류 제어: 패킷 손실 시 재전송.
      • 흐름 제어: 송신 속도를 수신 속도에 맞춤.
      • 혼잡 제어: 네트워크 혼잡 시 전송 속도 조절.
  2. UDP (User Datagram Protocol):

    • 비신뢰성 있는 비연결형 통신 제공.
    • 주요 특징:
      • 간단한 구조로 빠른 데이터 전송.
      • 오류 제어나 흐름 제어 등의 기능 없음.
    • 활용 사례:
      • 빠른 응답이 중요한 애플리케이션 (VoIP, 게임 등).

4. 포트 번호의 개념

  • 포트 번호: 네트워크 상에서 특정 프로그램(프로세스)을 식별하는 번호.
  • 16비트 표현: 0 ~ 65,535번까지 할당 가능.
  • 포트 번호의 유형:
    1. Well-Known Port (0 ~ 1023):
      • 유명한 프로토콜에 예약된 포트 번호.
      • 예: HTTP(80), HTTPS(443), FTP(20, 21), DNS(53).
    2. Registered Port (1024 ~ 49151):
      • 특정 애플리케이션에 등록된 포트 번호.
      • 예: MySQL(3306), Redis(6379), OpenVPN(1194).
    3. Dynamic/Private Port (49152 ~ 65535):
      • 임시로 할당되는 포트 번호.
      • 주로 클라이언트 프로그램(브라우저 등)이 사용.

5. IP와 포트의 조합

  • IP 주소 + 포트 번호:
    • 특정 호스트와 해당 호스트의 특정 프로그램을 식별 가능.
    • 예: 192.168.1.10:80 (HTTP 서버의 포트).

6. NAT (Network Address Translation)와 포트

  1. NAT의 문제:

    • 사설 IP와 공인 IP를 1:1로 매핑하면 공인 IP 주소가 부족해짐.
  2. NAPT (포트 기반 NAT):

    • 하나의 공인 IP 주소로 여러 사설 IP 주소를 관리.
    • 사설 IP 주소 + 포트 번호를 공인 IP 주소 + 포트 번호로 변환.
    • 장점:
      • 공인 IP 주소 부족 문제 해결.
      • 효율적인 IP 주소 사용.

7. 정리

  • 전송 계층은 TCP와 UDP라는 두 가지 프로토콜로 IP의 한계를 극복.
  • 포트 번호를 통해 응용 프로그램을 식별.
  • 포트 기반 NAT로 IP 주소 부족 문제를 해결.

다음 강의에서 TCP와 UDP의 세부적인 기능 및 비교를 다룰 예정입니다. 감사합니다! 😊

0개의 댓글