Chapter 3 Transport Layer
Computer Networking : A Top Down Approach 7th Edition, Global Edition Jim Kurose, Keith Ross
3.1 Transport-layer services
7계층 | 응용 계층 (Application Layer) | Application (TELNET, FTP, HTTP, SMTP) |
6계층 | 표현 계층 (Presentation Layer) | |
5계층 | 세션 계층 (Session Layer) | |
4계층 | 전송 계층 (Transport Layer) | Transport (TCP, UDP) |
3계층 | 네트워크 계층 (Network Layer) | Internet (IP) |
2계층 | 데이터 링크 계층 (DataLink Layer) |
Network Access (네트워크 드라이버, 하드웨어) |
1계층 | 물리 계층 (Physical Layer) |
트랜스포트 계층 프로토콜은 서로 다른 호스트에서 동작하는 애플리케이션 프로세스들 간의 논리적 통신을 제공.
Provide logical communication between app processes running on different hosts.
※논리적 통신 : 애플리케이션의 관점에서 프로세스가 동작하는 호스끼리 직접 연결된 것처럼 보이는 것
트랜스포트 계층 프로토콜은 네트워크 라우터가 아닌 종단 시스템(end systems)에서 구현되어 있음.
Transport protocols run in end systems
- 송신 측의 트랜스포트 계층은 송신 애플리케이션 프로세스로부터 수신한 메세지 앞에 트랜스포트 계층의 Header를 붙히고 이것을 세그먼트(Segments) 단위로 변환. 이후 아래 계층인 네트워크 계층으로 세그먼트를 전달한다.
- 네트워크 계층은 받은 세그먼트를 데이터그램(Datagram)으로 변환 후, 링크 계층으로 전달한다.
- 링크 계층은 받은 데이터그램을 프레임(Frame)으로 변환 후 수신측으로 전송한다.
이후, 이것을 받은 수신자는 링크계층 부터 애플리케이션 계층까지 순차적으로 Header을 읽어나가며
최종 데이터를 전송 받게 된다.
네트워크가 가능한 애플리케이션에서는 하나 이상의 전송 계층 프로토콜 사용이 가능하다.
More than one transport protocol available to apps
Ex) Internet : TCP, UDP
3.1.1 Transport vs network layer
- Network layer : logical communication between hosts
- Transport layer : logical comunication between processes
예) 두 집에 각각 6명의 아이, 총 12명의 아이가 있음. 한 집은 Ann이, 다른 한 집은 Bill이 아이들의 보호자이다.
두 집에 따로 살고 있는 아이들이 서로에게 편지를 쓰려고 한다.
이때, 집은 host, 아이들은 그 집의 processes로 볼 수 있다.
집에서 서로 편지를 보내는 것은 host 사이의 이루어지는 일이므로 Network layer에 해당한다.
편지를 받는 집(host)에 있는 Ann과 Bill은 편지에 적혀져 있는 아이들의 이름에 맞게 편지를 전달해주어야 하니,
Transport layer로 볼 수 있다.
편지를 받지 못하면 나눠주지 못한다. 따라서 Transport layer이 제공할 수 있는 서비스는
Network layer의 서비스의 제약을 받는다.
예를 들어, Network layer에서 전송되는 Segments에 대한 delay guarantees나 bandwidth guarantees를
보장할 수 없다면 Transport layer 역시 이러한 서비스를 제공할 수 없다.
3.1.2 Internet transport-layer protocals
TCP/IP (TCP와 IP는 별개) 네트워크는 애플리케이션 계층에게 두가지 트랜스포트 계층 프로토콜을 제공한다.
- TCP(Transmission Control Protocol) : 신뢰적, 연결기향형 서비스, reliable, in-order delivery
- UDP(User Datagram Protocol) : 비신뢰적 비연결형 서비스, unreliable, unordered delivery
UDP의 한 예) IP
IP : Internet Protocol의 약자. 호스트 간에 논리적 통신을 제공하는 '최선형' 전달 서비스(best-effort delivery Service).
즉, Segment 전달을 위해 최대한 노력하나 어떠한 보장도 하지 않는다는 것. Segment를 순서대로 전달하는 것도 보장하지 않는다. 또한, Segment 내부 데이터의 무결성(Integrity)을 보장하지 않음. 이처럼 IP는 unreliable service 이다.
애플리케이션 개발자는 소켓을 생성할 시, TCP와 UDP 중 하나를 선택해야 한다.
코로나19(COVID-19)로 인해, 학교에 가지 않고 재택 수업을 하게 되었다.
전공 수업을 따로 혼자서 공부해야 하는 상황이 되어서 공부했던 내용은 정리해서 블로그에 올릴 생각이다.
_끗
'전공 공부 정리' 카테고리의 다른 글
Computer Network[04] - principle of reliable data transfer(1) (0) | 2020.03.23 |
---|---|
Computer Network[03] - connectionless transport : UDP (0) | 2020.03.22 |
MySQL 기본 쿼리 명령어 (0) | 2020.03.19 |
Computer Network[02] - Multiplexing / Demultiplexing (0) | 2020.03.13 |
[Database] Database Management System & SQL (0) | 2020.03.12 |