본문 바로가기
학교공부/[컴퓨터 네트워크]

[컴퓨터 네트워크] - Transport layer_프롤로그

by 윈디개 2025. 4. 23.

 저번 글까지는, Application layer에 대해서 정리했다. 이번 글부터는, Application layer와 network layer 사이에 있는 Transport layer에 대해서 정리해보려고 한다. 


1. Transport layer 프롤로그

 Internet 계층 구조에 대해서 정리했을 때, 각 계층은 그 전 단계의 계층에 의존적이라는 특징을 가지고 있다고 했다. 그래서 Application layer에 대해서 정리할 때, TCP나 UDP 같이 중간중간 transport 계층에 대해서도 같이 설명했다.

 

 계층 구조 특징을 고려하면, Transport 계층은 그 하위 단계 계층인 network 계층에 의존적이라는 것을 유추할 수 있다. 그래서 Transport layer에 대해서 정라할 때

  1. network에 어떤 서비스를 받는지,
  2. 그 network에게 받은 서비스를 통해 상위계층인 application에 어떻게 전달할 지

에 대해서 집중적으로 알아보려고 한다.


2. Transport services and protocols

 먼저, transport 계층에서 어떤 서비스를 제공하는지 알아보자. transport 계층의 protocol은 end system(=host)에서 작동하는데, 

  • sender: sender는 application layer의 메세지를 segment(TCP 데이터 전송 단위)로 쪼개 network layer에 넘긴다.
  • receiver: receiver는 network layer에게 전달받은 segment를 다시 재조합해서 application layer에 전달한다.

위 과정을 거쳐 작동한다. 여기서, transport 계층 하위계층(=network layer)과 상위계층(=transport layer)에 어떤 service를 받아서, 전달하는지 잘 나타나져 있다.

 

 그럼 저 두 가지 역할을 하는 transport protocol에는 무엇이 있을까? 바로, TCP와 UDP가 있다. 이 protocol에 대해서는 뒤에서 더 자세히 다룰 것이니 이름만 한 번 기억해두자.


3. Transport & Network layer services and protocols

 Transport layer와 network layer의 사이 일 처리 과정에 대한 예시가 있다. A집과 B집에 똑같이 12명의 아이들이 있고, 12명이 각각 나이도 같다고 가정해보자. ( ex)A집의 첫째가 18살이면 B집의 첫째도 18살 ) 

 

 이 중, A집의 셋째가 B집의 셋째에게 편지를 보낸다는 상황을 가정하면, 먼저, A집의 셋째는, 편지에 누구에게 보내는지(B집 3째의 이름 = port number), 목적지가 누구인지(B집의 주소 = destination IP address)를 적어둬야 편지가 B집에 올바르게 갈 것이다.

 

 이 때, 편지를 전달하는 우편 배달부가 있을 것이고, 우편 배달부가 B집에 편지를 전달할 것이다. 여기서 우편 배달부는 Internet에서 network layer protocol임을 알 수 있고, transport layer protocol은 집 내부에서 이 편지가 누구 것인지 식별하는 그 과정임을 알 수 있다.


4.Transport Layer Actions

 이제, 위에서 설명한 sender와 receiver가 어떻게 일을 하는지 조금 더 자세히 알아보자.

 

 먼저, sender의 transport layer에서는 다음과 같이 작동한다.

  1. application layer로부터 메세지를 전달 받는다.
  2. 그리고, segment(TCP 데이터 전송단위)의 header fields 값들을 결정한 뒤,
  3. segment를 만들고
  4. 만든 segment를 network layer에 전달한다.

그렇다면 reciever는 어떻게 작동할까?

  1. segment를 network계층으로부터 전달받는다
  2. header fields 값들을 확인한다(나에게 오는 segment가 맞는지)
  3. 정보가 일치하면 application layer message를 추출한다
  4. demultiplex(역다중화)를 통해 application layer에게 socket을 통해 메세지를 전달한다.

5. Transport protocols

 앞서, transport protocol은 TCP, UDP 두 종류가 존재한다고 설명했다. 조금 더 뒤에 더 자세히 정리할 예정이지만, 프롤로그이니만큼 특징들만 간단히 정리하고 넘어가보려 한다. 이 특징들은 저번 글에서도 확인할 수 있다.

 

-TCP(Transmission Control Protocol)

  • 신뢰성있고, 순서가 존재하는 데이터 전달 보장
  • 혼잡 제어
  • 흐름 제어
  • 연결 설정 필요

-UDP(User Datagram Protocol)

  • 신뢰성과 순서가 모두 보장되지 않는 데이터 전달
  • 지연 보장 못함, 대역폭 보장 못함