본문 바로가기
네트워크

[네트워크] 3.1 트랜스포트 계층 서비스 및 개요

by Lizardee 2023. 10. 12.
Chapter 3: 트랜스포트 계층

애플리케이션 계층과 네트워크 계층 사이에 존재하는 트랜스포트 계층은 계층으로 이루어진 네트워크 구조의 핵심이다.

트랜스포트 계층은 각기 다른 호스트에서 동작하는 애플리케이션 프로세스에 직접적인 통신 서비스를 제공하는 중요한 기능을 갖는다.

트랜스포트 계층 인터넷 프로토콜에는 TCP와 UDP가 있다.

 


트랜스포트 계층 프로토콜은 각기 다른 호스트에서 동작하는 애플리케이션 프로세스 간의 논리적 통신(logical communication)을 제공한다. 논리적 통신은 애플리케이션의 관점에서 보면, 프로세스들이 동작하는 호스트들이 직접 연결된 것처럼 보인다는 것을 의미한다.

트랜스포트 계층은 애플리케이션 간의 물리적 통신보다는 논리적 통신을 제공한다.

트랜스포트 계층 프로토콜은 네트워크 라우터가 아닌, 종단 시스템에서 구현된다. 

  1. 송신 측 트랜스포트 계층 송신 애플리케이션 프로세스로부터 수신한 메시지를 트랜스포트 계층 세그먼트(segment)라고 알려진 트랜스포트 계층 패킷으로 변환한다. 이러한 변환은 애플리케이션 메시지를 트랜스포트 계층 세그먼트로 만들기 위한 작은 조각으로 분할하고, 각각의 조각에 트랜스포트 계층 헤더를 추가함으로써 수행된다.
  2. 그 이후 트랜스포트 계층은 송신 종단 시스템에 있는 네트워크 계층으로 세그먼트를 전달하고, 여기서 세그먼트가 네트워크 계층 패킷(datagram) 안에 캡슐화되어 목적지로 전달된다.
  3. 수신 측에서 네트워크 계층은 데이터그램으로부터 트랜스포트 계층 세그먼트를 추출하고, 트랜스포트 계층으로 세그먼트를 보낸다.
  4. 이후에 트랜스포트 계층 수신 애플리케이션에서 세그먼트 내부의 데이터를 이용할 수 있도록 수신된 세그먼트를 처리한다.

 

 

3.1.1 트랜스포트 계층과 네트워크 계층 사이의 관계
  • 애플리케이션 메시지 = 편지
  • 호스트(종단 시스템) = 집
  • 트랜스포트 계층 프로토콜 = '앤'과 '빌'
  • 네트워크 계층 프로토콜 = 우편 서비스(집배원 포함)

트랜스포트 계층은 종단 시스템에 존재한다. 종단 시스템 안에서 트랜스포트 프로토콜은 애플리케이션 프로세스에서 네트워크 계층까지 메시지를 운반하며, 또한 반대 방향으로 네트워크 계층에서 애플리케이션 프로세스로 메시지를 운반한다. 그러나 트랜스포트 프로토콜은 메시지가 네트워크 계층 내부에서 어떻게 이동하는지는 언급하지 않는다.

 

트랜스포트 계층이 제공할 수 있는 서비스는 하위 네트워크 계층 프로토콜의 서비스 모델에 의해 제약받는다. 만약 네트워크 계층 프로토콜이 호스트 사이에서 전송되는 트랜스포트 계층 세그먼트에 대한 지연 보장이나 대역폭 보장을 제공할 수 없다면, 트랜스포트 계층 프로토콜은 프로세스끼리 전송하는 메시지에 대한 지연 보장이나 대역폭 보장을 제공할 수 없다.

 

 

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

인터넷은 애플리케이션 계층에게 두 가지 구별되는 트랜스포트 계층 프로토콜을 제공한다.

  • UDP: 비신뢰적이고 비연결형인 서비스를 요청한 애플리케이션에게 제공하는 User Datagram Protocol
  • TCP: 신뢰적이고 연결지향형 서비스를 요청한 애플리케이션에게 제공하는 Transmission Control Protocol

- 트랜스포트 계층 패킷: 세그먼트(segment)

- 네트워크 계층 패킷: 데이터그램(datagram)

 

▶ 인터넷 프로토콜(Internet Protocol, IP): 인터넷의 네트워크 계층 프로토콜

IP 서비스 모델은 호스트들 간에 논리적 통신을 제공하는 최선형 전달 서비스다. 이것은 IP가 통신하는 호스트들 간에 세그먼트를 전달하기 위해 노력하지만, 어떤 보장도 하지 않는다는 것을 말한다. 특히, IP는 세그먼트의 전달을 보장하지 않고, 세그먼트가 순서대로 전달되는 것을 보장하지 않는다. 또한 IP는 세그먼트 내부 데이터의 무결성을 보장하지 않는다.

이러한 이유로 IP를 비신뢰적인 서비스라고 부른다.

  • 각 호스트는 적어도 하나의 IP 주소를 갖고 있다.

 

▶ UDP, TCP 서비스 모델 -- 트랜스포트 계층 프로토콜

: 종단 시스템 사이의 IP 전달 서비스를 종단 시스템에서 도착하는 두 프로세스 간의 전달 서비스로 확장하는 것

  • 트랜스포트 계층 다중화(transport-layer multiplexing), 역다중화(demultiplexing)
    : '호스트 대 호스트 전달'을 '프로세스 대 흐로세스 전달'로 확장하는 것

▷ UDP: 비신뢰적인 서비스

 TCP:

  • 신뢰적인 데이터 전송(reliable data transfer) 
    : 종단 시스템 간에 IP의 비신뢰적인 서비스 프로세스 사이의 신뢰적인 데이터 전송 서비스로 만들어준다.
  • 혼잡 제어(congestion control)
    : 송신 측의 TCP가 네트워크에 보낼 수 있는 트래픽을 조절한다.