호우동의 개발일지

Today :


인터넷 트랜스포트 계층의 개요

  • 인터넷 문서(RFC)에서 트랜스포트 계층 패킷 용어 표기
    • TCP → 세그먼트
    • UDP → 세그먼트 or 데이터그램

 


인터넷 프로토콜(IP)

  • 인터넷 프로토콜(Internet Protocol) 인터넷의 네트워크 계층 프로토콜의 이름
  • IP 서비스 모델은 호스트들 간에 논리적 통신을 제공하는 최선형 전달 서비스
    • 최선형 전달 서비스(best-effort delivery service)
      • IP가 통신하는 호스트들 간에 세그먼트 전달에 최대한 노력한다.
      • 하지만 IP는 어떤 보장도 하지 않는다.
        • 세그먼트의 전달을 보장하지 않는다.
        • 세그먼트가 순서대로 전달되는 것을 보장하지 않는다.
        • 세그먼트 내부 데이터의 무결성(integrity)을 보장하지 않는다.
      → 이러한 이유로 IP를 비신뢰적인 서비스라고 부른다.

  • 모든 호스트가 적어도 하나의 IP 주소로 불리는 네트워크 계층 주소를 갖는다.

 


UDP 서비스 모델

  • 최소한의 두 가지 트랜스포트 계층 서비스(UDP가 유일하게 제공하는 서비스)
    • 종단 시스템 사이의 IP 전달 서비스를 두 프로세스 간의 전달 서비스로 확장하는 것
      → UDP와 TCP의 가장 기본적인 기능
      • “호스트 대 호스트 전달”을 “프로세스 대 프로세스” 전달로 확장하는 것
        트랜스포트 계층 다중화역다중화 라고 한다.
        • transport-layer multiplexing And demultiplexing

    • 헤더에 오류 검출 필드를 포함함으로써 무결성 검사를 제공

  • UDP는 IP와 마찬가지로 비신뢰적인 서비스
    → 프로세스에 의해 전송된 데이터가 목적지 프로세스에 도착하는 것을 보장하지 않음

 


TCP 서비스 모델

  • TCP는 최소한의 2가지 트랜스포트 계층 서비스와 더불어 추가적인 서비스 제공
  • 신뢰적인 데이터 전송(reliable data transfer) 제공
    • 송신 프로세스로부터 수신 프로세스에게 데이터가 순서대로 확실히 전달되도록 한다.
    • 흐름 제어, 순서 번호, 확인 응답, 타이머를 사용

TCP는 종단 시스템 간에 IP의 비신뢰적인 서비스를
프로세스 사이의 신뢰적인 데이터 전송 서비스로 만들어준다.

  • 혼잡 제어(congestion control)를 사용
    • 인터넷에 대한 통상적인 서비스처럼 특정 서비스가 아닌 전체를 위한 일반 서비스
    • TCP 연결이 과도한 양의 트래픽으로 통신 호스트들 사이의 스위치와 링크의 혼잡 방지
    • 혼잡한 네트워크 링크에서 각 TCP 연결이 링크의 대역폭을 공평하게 공유하게 함
      • 송신 측의 TCP가 네트워크에 보낼 수 있는 트래픽을 조절함으로써 수행됨
        • UDP 트래픽은 조절되지 않음
          → UDP 트랜스포트 프로토콜을 사용하는 애플리케이션은 어떤 속도로든 전송 가능