Transport layer
신뢰성 있는 데이터를 전송하는 계층이다.
신뢰성이란, 데이터를 순차적이고 안정적으로 전달하는 것을 말한다.
전송이란, 포트 번호에 해당하는 프로세스에 데이터를 전달하는 것을 말한다.
- 왜 중요할까? Transport layer가 없다면...
- Flow Problem: 송수신자 간의 데이터 처리 속도에 차이가 있을 수 있다.
- Congestion Problem: 네트워크의 데이터 처리 속도에 문제가 있을 수 있다.(네트워크 혼잡)
TCP(Transmission Control Protocol)
- 신뢰성 있는 데이터 통신을 가능하게 해주는 프로토콜이다.
- 데이터의 순차 전송을 보장한다.
- Flow control, Congestion control, Error detection 수행
- full-duplex 방식 사용(양방향)
- 점대점 방식
- UDP보다 속도가 느리다.
- connection 시 3-way handshake를 사용한다.
- 멀티캐스팅(UDP 기반, 특정 호스트만 수신), 브로드캐스팅(UDP 기반, 일대다)을 지원하지 않는다.
- 연결 지향형 프로토콜
- HTTP, HTTPS
UDP(User Datagram Protocol)
- 데이터그램 단위로 데이터를 처리한다.
- 비연결형 서비스
- checksum을 활용해 최소한의 오류만 체크한다.
- 신뢰성이 낮다.
- 속도가 빠르다.
- 스트리밍 서비스
- 헤더가 8바이트로 고정되어 있다.
- 오류가 있는 데이터들에 대해서 재전송을 하지 않는다.→클라이언트가 재요청해야 함
- DNS
'CS > 네트워크' 카테고리의 다른 글
HTTP 헤더 (0) | 2021.05.25 |
---|---|
GET과 POST (0) | 2021.05.18 |
TCP의 3 way handshake와 4 way handshake (0) | 2021.05.17 |
TCP/UDP의 Header (0) | 2021.05.17 |
OSI 7계층 (0) | 2021.05.15 |