본문 바로가기
네트워크/컴퓨터 네트워크 수업

3-1. Transport-Layer Services

by dustnn 2024. 10. 16.

 

Transport 계층은 두 호스트의 app process 간 logical communication을 담당한다.

 

Application계층과 마찬가지로 end system(host)에만 존재한다.

다음과 그림과 같이 sender host측의 transport 계층이 message를 쪼개서 보내면, receiver host측의 transport 계층은 다시 합쳐 application 계층으로 올려보낸다.

왼쪽 sender 오른쪽 receiver

 

TCP transport 계층 vs UDP transport 계층

 

TCP와 UDP는 sender에서 receiver로 데이터를 전달할 때, transport계층에서 데이터를 쪼개는 방식이 다르다.

 

TCP

 

 

1. message가 byte stream형식으로 L5(application 계층)buffer에 저장된다.

2. sender의 application계층에서 transport계층으로 내려보낸다.

3. Link계층의 특성에 맞추어(network interface 고려) MTU의 최대 사이즈를 정한다.

4. network 계층의 datagram 최대 사이즈 계산

datagram = (MTU 최대 사이즈) - (network계층에서 붙일 헤더 크기)

5. transport 계층의 MSS 계산

MSS<=MTU를 만족하도록

6. transport 계층이 MSS에 따라 segment 만들어서 network계층으로 내려보냄

7. network계층은 segment에 헤더 추가해 datagram 만듦

8. receiver로 전송되고 transport 계층에서 데이터들을 다시 조합해 복원

9. application계층으로 전송됨

 

 

UDP

 

UDP에서는,,,

L5에서 L4로 갈 때 그대로 보내고, L3단계에서 쪼개진다.

때문에 L3단계의 datagram은 마지막 부분의 크기가 작은 경우가 많다.

 

TCP vs UDP

 

Transport vs network layer services and protocols

 

 

Transport Layer Actions

 

- Sender

application-layer의 message를 transport-layer으로 보냄

=> transport-layer가 message에 헤더를 붙여 segment를 만듦(transport계층 입장에서 message는 SDU, segment는 PDU)

=> network-layer가 receiver의 network-layer(IP)로 segment 보냄

 

 

- Receiver

segment 받음

=> transport-layer가 헤더값 체크하고 헤더 떼어내 message 만듦

=> transport-layer가 demultiplex(socket을 찾아 올려줌)

 

 

Transport Layer Protocols(TCP & UDP)

 

transport protocol은 집에 도착한 편지를 아이들에게 나눠주는 집주인이라고 비유했었고

아이들에게 편지를 나눠주는 집주인의 행위올바른 socket을 찾는 Multiplexing/Demultiplexing을 비유한다.

 

Transport Layer Protocol에는 TCP와 UDP가 존재한다.

 

제공 기능들 TCP UDP
Mux/Demux o o
reliable, in-order delivery o x
congestion control o x
flow control o x
connection setup
&disconnect
o x
delay guarantee x x
bandwidth guarantee x x