호우동의 개발일지

Today :


트랜스포트 계층 서비스 및 개요

 


트랜스포트 계층 프로토콜의 논리적 통신

  • 다른 호스트에서 동작하는 애플리케이션 프로세스 간 논리적 통신을 제공
  • 논리적 통신(logical communication)
    • 애플리케이션 관점, 프로세스를 동작시키는 호스트들이 직접 연결된 것처럼 보인다는 의미
    • 호스트는 수많은 라우터와 다양한 형태의 링크를 통해 연결되어 있음
      → 이를 통해 서로 다른 지역에 존재할 수 있음

  • 애플리케이션 프로세스는 메시지 송신을 하는데 논리적 통신을 사용한다.
    ← 메시지 운반에 사용되는 인프라스트럭처의 세부사항에 상관없이 메시지를 송신하기 위해서

 

논리적 통신의 개념(과정)

  • 트랜스포트 계층 프로토콜은 네트워크 라우터가 아닌 종단 시스템에서 구현됨
  1. 송신 측의 트랜스포트 계층은 송신 애플리케이션 프로세스로부터
    수신한 메시지를 세그먼트(segment)로 변환시킨다.
    • 세그먼트(segment) : 트랜스포트 계층에서 패킷을 부르는 용어
    • 변환 과정
      1. 애플리케이션 메시지를 작은 조각으로 분할
      2. 각각의 조각에 트랜스포트 계층 헤더를 추가

  2. 이후, 트랜스포트 계층은 송신 종단 시스템에 있는 네트워크 계층으로 세그먼트를 전달
    → 세그먼트가 네트워크 계층 패킷(데이터그램) 안에 캡슐화되어 목적지로 전달

  3. 수신 측에서 네트워크 계층은 데이터그램으로부터 트랜스포트 계층 세그먼트를 추출
  4. 트랜스포트 계층은 수신 애플리케이션에서 세그먼트 내부의 데이터를 이용 가능하도록
    수신된 세그먼트를 처리
  • 네트워크 애플리케이션은 하나 이상의 트랜스포트 계층 프로토콜 사용 가능
    • 예 : 인터넷은 TCP와 UDP 두 가지 프로토콜 모두 사용

 


트랜스포트 계층과 네트워크 계층 사이의 관계

차이점

  • 트랜스포트 계층은 프로토콜 스택에서 네트워크 계층 바로 상위에 존재
    • 트랜스포트 계층 → 다른 호스트에서 동작하는 프로세스들 사이의 논리적 통신 제공
    • 네트워크 계층 → 호스트들 사이의 논리적 통신을 제공

차이점 집안 이야기로 이해하기

  • 두 집안이 동부와 서부에 각각 존재한다.
  • 각 집안엔 12명의 아이가 있는데, 동부 집안과 서부 집안의 아이들은 서로에게 편지를 쓴다.
    • 즉 각각의 집엔 144통의 편지를 보낸다. (12x12)

  • 그 아이들은 매주 편지를 쓰고, 따로따로 봉투에 넣어서 일반 우편 서비스로 배달된다.
  • 두 집안에는 우편을 수거하고 나눠주는 아이가 한 명씩 존재한다.
    • 서부 집안 → 앤
    • 동부 집안 → 빌

  • 앤과 빌은 매주 우편물을 수거하고, 집배원에게 우편물을 준다. 또한 우편물을 분배한다.

 

해석

  • 앤과 빌은 집안 사이에서 논리적 통신을 제공한다.
    ← 앤과 빌은 집안 아이들로부터 우편물을 받아서 배달한다.

  • 봉투 안의 편지 = 애플리케이션 메시지
  • 집안 아이들 = 프로세스
  • 집 = 호스트(종단 시스템)
  •  ‘앤’과 ‘빌’ = 트랜스포트 계층 프로토콜
  • 우편 서비스(집배원 포함) = 네트워크 계층 프로토콜

 


집안 이야기로 알아보는 특징

  • 트랜스포트 계층 프로토콜(앤과 빌)은 종단 시스템(집)에 존재한다.
    • 종단 시스템 안에서 트랜스포트 프로토콜은
      애플리케이션 프로세스 ↔ 네트워크 경계(네트워크 계층) 까지만 메시지를 교환

    • 트랜스포트 프로토콜은 메시지가 네트워크 계층 내부에서 어떻게 이동하는지 언급 X
      • 중간 라우터는 트랜스포트 계층이 애플리케이션 메시지에 추가한 어떤 정보도
        인식하지 못하고, 그 정보에 영향을 주지도 않는다.

  • 만약, 앤과 빌 대신 다른 집안 아이들 중 하나(수잔과 하비)가 일을 대신한다.
    • 그런데 앤과 빌처럼 우편물을 정확하게 수거하거나 배달하지 못한다고 하자.
      → 수잔과 하비는 앤과 빌이 제공하는 것과 같은 서비스를 제공하지 못한다.

    • 컴퓨터 네트워크는 개별 프로토콜을 갖는 다양한 트랜스포트 프로토콜을 만들 수 있다.
      • 애플리케이션에서 서로 다른 서비스를 제공하도록 하기 위한 프로토콜

  • 우편 서비스가 두 집 사이에 우편물이 배달되는 최대 소요 시간을 제공하지 않을 경우
    → 앤과 빌이 집안 아이들에게 우편물 배달에 대한 최대 소요 시간을 보장 X
    • 트랜스포트 계층이 제공하는 서비스는 네트워크 프로토콜 서비스 모델에 의해 제약된다.
      • 네트워크 프로토콜이 호스트 사이에 전송되는 세그먼트에 대한 지연이나 대역폭 보장 X
        → 트랜스포트 프로토콜은 프로세스끼리 전송하는 메시지에 대해서도 보장 X

    • 하위 네트워크 프로토콜이 서비스를 제공하지 못해도 특정 서비스는
      트랜스포트 프로토콜에 의해 제공 가능 → 하위 네트워크 프로토콜이 비신뢰적일 때
      • 네트워크 프로토콜이 패킷을 분실하거나 손상시키거나 복사본을 만들 때도
        애플리케이션에게 신뢰적인 데이터 전송 서비스를 제공할 수 있다.
      • 네트워크 계층이 세그먼트의 기밀성을 보장할 수 없을 때도, 암호화를 사용할 수 있음