목차
Chapter 3 트랜스포트 계층
3.1 트랜스포트 계층 서비스 및 개요 166
3.1.1 트랜스포트 계층과 네트워크 계층 사이의 관계 167
3.1.2 인터넷 트랜스포트계층의 개요 169
📄 3.1 트랜스포트 계층 서비스 및 개요
- 다른 호스트에서 동작하는 애플리케이션 프로세스간의
논리적 통신(logical communication)
제공
논리적 통신
: 애플리케이션의 관점에서 호스트들이 직접 연결된 것처럼 보인다는 것을 의미
트랜스포트 계층 프로토콜
- 네트워크 라우터가 아닌 종단 시스템에서 구현
- 종단 시스템 안에서 애플리케이션 프로세스 <-> 네트워크 계층 양방향으로 메시지 전달
- 네트워크 계층 내부는 신경X (계층화의 장점)
- 서비스를 요청하는 애플리케이션에게 트랜스포트 계층에서 각기 다른 서비스 집합을 제공
- 네트워크 애플리케이션에는 하나 이상의 트랜스포트 계층 프로토콜을 사용
- ex) 인터넷 -
TCP
와 UDP
라는 두 가지 프로토콜을 가짐
- 동작 과정
- 송신측의 애플리케이션 프로세스 -> 트랜스포트 계층으로 메시지 전달
- 트렌스포트 계층은 트랜스포트 계층 패킷(트렌스포트 계층 세그먼트)으로 변환
- 작은 조각으로 분할(선택) -> 각각의 조각에 트랜스포트 계충 헤더 추가
- 트랜스포트 계층 -> 송신 종단 시스템에 있는 네트워크 계층으로 세그먼트를 전달
- 세그먼트가 네트워크 계층 패킷(데이터그램) 안에 캡슐화 -> 목적지로 전달
- 네트워크 라우터는 오로지 데이터그램의 네트워크 계층 필드에 대해 동작
= 라우터는 데이터그램 안에 캡슐화된 트랜스포트 계층 세그먼트의 필드를 검사x
.
.. 다른 계층들을 거치고~ ..
.
- 수신 측의 네트워크 계층 -> 트랜스포트 계층으로 세그먼트 전송
- ㄴ데이터그램으로부터 트랜스포트 계층 세그먼트 추출
- 트랜스포트 계층 -> 수신 애플리케이션
![](https://velog.velcdn.com/images/yujeongkwon/post/8d272301-1520-4e71-8dbf-db77e2c5e853/image.png)
👀3.1.1 트랜스포트 계층과 네트워크 계층 사이의 관계
- 차이점
- 트랜스포트 계층 프로토콜 : 각기 다른 호스트의
프로세스들 사이
의 논리적 통신 제공
- 네트워크 계층 프로토콜 :
호스트들 사이
의 논리적 통신 제공
- ex
- 애플리케이션 메시지 = 봉투 안의 편지
- 프로세스 = 사촌 형제
- 호스트(종단 시스템) = 집
- 트랜스포트 계충 프로토콜 = ‘앤’과 ‘빌’(집안의 형제한테 우편을 나눠줌)
- 네트워크 계층 프로토콜 = 우편 서비스(집배원 포함)
- 관계
- 제공할 수 있는 서비스는 하위 네트워크 계층 프로토콜의 서비스 모델에 의해 제약
- 만약 네트워크 계층 프로토콜 - 지연 보장X or 대역폭 보장 X
=> 트랜스포트 계층 프로토콜도 프로세스끼리 전송하는 메시지의 지연 보장X or 대역폭 보장X
- but 특정 서비스는 트랜스포트 프로토콜에 의해 제공될 수도 있다
- ex) 하위 네트워크 프로토콜이 비신뢰적일 때,애플리케이션에게 신뢰적인 데이터 전송 서비스를 제공할 수도 있다.
- ex) 네트워크 계층 - 트랜스포트 계층 세그먼트의 기밀성을 보장x
but 트렌스포트 계층 - 침입자가 애플리케이션 메시지를 읽지 못하도록 암호화 o
🧐3.1.2 인터넷 트랜스포트 계층의 개요
- 네트워크 애플리케이션을 설계(소켓생성) 애플리케이션 개발자가 선택해야하는 트랜스포트 프로토콜
- UDP : 비신뢰, 비연결
- TCP : 신뢰, 연결
- 용어 정리
- 세그먼트 : 트렌스포트 계층 패킷
- 원래 RFC 정의 ㄱ
- TCP에 대한 트렌스 포트 계층 패킷 : 세그먼트
- UDP에 대한 트렌스 포트 계층 패킷 : 데이터 그램
- 네트워크 계층 패킷: 데이터 그램
- 졸라 헷갈리니까 우리는 TCP UDP 둘다 세그먼트로가자 ㅇㅇ
인터넷 프로토콜(IP)
: 인터넷의 네트워크 계층 프로토콜 -> 비신뢰적인 서비스
- IP 서비스 모델 = 최선형 전달 서비스 : 호스트들 간에 논리적 통신을 제공
- 통신하는 호스트들 간에 세그먼트를 전달하기 위해 노력은하지만,어떠한 보장X
- 세그먼트의 전달 보장X, 순서 보장X, 무결성 보장X
- 모든 호스트가 적어도 하나의 네트워크 계층 주소(IP주소)를 갖는다
TCP와 UDP
다중화와 역다중화
- '호스트 대 호스트 전달’ -> ‘프로세스 대 프로세스 전달’로 확장하는 것
- = 종단 시스템 간 IP 전달 서비스 -> 두 프로세스 간의 전달 서비스로 확장
- UDP와 TCP의 기본 기능
- 헤더에
오류 검출 필드
를 포함 -> 무결성 검사 제공
UDP
: 최소한으로 위 두 가지 트랜스포트 계층 서비스 제공(프로세스 간 데이터 전달과 오류 검출)
- 비신뢰적 : 데이터 손상 보장 X, 도착 보장X
- 혼잡 제어X -> 트래픽 조절 X -> 허용되는 한 지 맘대로 전송
TCP
: 위 2가지 + 추가 서비스 제공
- 신뢰적인 데이터 전송 :
흐름 제어,순서 번호, 확인 응답,타이머
- 순서 보장, 손상 보장
- => 종단 시스템 간에 ip의 비신뢰 -> 프로세스 사이의 신뢰적인 데이터 전송 서비스
혼잡 제어(congestion control)
: 송신 측의 TCP가 네트워크에 보낼 수 있는 트래픽을 조절
- 모든 애플리케이션 전체를 위한 일반 서비스
- 한 TCP 연결이 과도한 양의 트래픽 -> 모든 호스트들 사이의 스위치와 링크 혼잡해짐
이를 방지
- 혼잡한 네트워크 링크에서 각 TCP 연결이 링크의 대역폭을 공평하게 공유하여 통과