Computer Network #03-1. Transport Layer : Overview

김서영·2025년 4월 18일
0

컴퓨터네트워크

목록 보기
11/15
post-thumbnail

1. Transport Layer 개요

서로 다른 호스트에 있는 애플리케이션 프로세스 간 논리적 통신(logical communication) 제공

  • Transport Layer Protocol은 네트워크 라우터가 아닌 end-system에서 구현
    (애플리케이션의 관점에서 보면, 프로세스들이 동작하는 호스트들이 직접 연결된 것처럼 보임)

(End system에서) 전송 프로토콜이 하는 일

  • Sender
    : 애플리케이션 메시지를 segment(세그먼트)로 쪼개고 Network layer로 넘기기
  • Receiver
    : 받은 segment를 다시 메시지로 조립하고, Application layer로 전달

전송 프로토콜 종류

  • TCP (Transmission Control Protocol)
  • UDP (User Datagram Protocol)

2. Transport Layer vs Network Layer

Ann 집의 12명 아이들이 Bill 집의 12명 아이들에게 편지를 보내는 상황
(집과 집 사이에 편지가 오가고, 그 안에서 아이가 아이에게 전달)

  • hosts = 집 (house)
  • processes = 아이 (kid)
  • application messages = 편지 (letter)

Network Layer

집과 집 사이를 연결해주는 역할

  • IP Address를 기반으로 동작
  • host 간의 통신
    (host에서 host로 데이터 전달)

Transport Layer

아이와 아이를 연결해주는 역할
(각각의 아이(프로세스)끼리 데이터를 주고받게 함)

  • Port 번호를 기반으로 동작(아이들의 식별 번호)
  • Host(집 안) 안에서 Process(아이)를 정확하게 연결

3. Transport Layer 동작

Sender 동작 흐름

1) Application Layer로부터 메시지를 전달 받음

2) Segment Header에 들어갈 값을 결정
(ex. 출발지 포트 번호, 목적지 포트 번호 등)

3) Segment를 생성
(Header + Application Layer 메시지)

4) 생성된 Segment를 IP Layer(network)로 전달

Receiver 동작 흐름

1) IP Layer(network)로부터 Segment를 수신

2) Header 값을 확인
(포트 번호, 오류 여부 등 확인)

3) Application Layer 메시지를 추출
(Segment의 Payload 부분을 꺼내기)

4) Socket을 통해 Application Layer로 메시지를 전달
(→ demultiplexing 작업: 올바른 애플리케이션 프로세스에 보내기)

4. TCP vs UDP

TCP (Transmission Control Protocol)

  • 신뢰성 있는 (reliable), 순서가 보장된 (in-order) 데이터 전달
  • 혼잡 제어 (congestion control)
    : 네트워크 과부하를 막음
  • 흐름 제어 (flow control)
    : 수신자가 감당할 수 있는 속도로 데이터 전송
  • 연결 설정 (connection setup)
    : 데이터 전송 전 연결 수립 (3-way handshake)

UDP (User Datagram Protocol)

  • 신뢰성 없는 (unreliable), 순서 없는 (unordered) 데이터 전달
  • 오류 복구, 재전송 같은 걸 신경 안 씀

TCP, UDP 없는 기능

  • 지연 보장 (delay guarantees)
    : 특정 시간 내 도착 보장 없음
  • 대역폭 보장 (bandwidth guarantees)
    : 일정한 속도 보장 없음
profile
안녕하세요 :)

0개의 댓글