Ethernet frame - LAN 카드에 기록된 MAC주소
패킷 = 패키지(수하물) + 버킷(덩어리) => 택배박스를 보내듯이 데이터를 보내는 방식
TCP 특징
전송 제어 프로토콜(Transmission Control Protocol)
- 연결지향 - TCP 3 way handshake(가상 연결) => 나랑 상대방이랑 연결을 한 후에 메세지를 보낸다.
- 전송도중 패킷이 누락된 것을 감지 - 데이터 전달 보증
- 순서 보장
- 신뢰할 수 있는 프로토콜
- 대부분 TCP 사용
1. SYN(Synchronous syn 메세지 전달)
2. SYN(서버도 클라이언트 한테 연결 요청) + ACK(응답)
3. 클라이언트도 서버에게 ACK(응답) - 서로간의 신뢰 => 데이터 전송도 같이 일어남
기본적으로 클라이언트에서 서버로 데이터가 잘못 전송되면 다시 보내라는 메세지를 전달한다. (순서가 보장이 된다.)
이 그림을 기억하고 UDP의 특징을 살펴보자.
UDP의 특징
사용자 데이터그램 프로토콜(User Datagram Protocol)
- 하얀 도화지에 비유 (기능이 거의 없다)
- 연결지향 - TCP 3 way handshake X
- 데이터 전달 보증 X
- 순서 보장 X
- 데이터 전달 및 순서가 보장되지 않지만, 빠르고 단순함
정리
- IP와 거의 비슷하다. + PORT(하나의 애플리케이션에서 여러 애플리케이션이 돌때 내 IP로 여러 패킷이 오는데 패킷을 구분할 때 쓰임)
- +체크섬이 추가(데이터에 대해서 검증하는 역할)
- 애플리케이션에서 추가 작업 필요
위 과정을 통해서 TCP 핸드쉐이크는 전송속도도 느릴 수 있고 진행과정에 시간이 많이 걸릴 수 있다고 생각할 수 있다.
UDP가 각광을 받는 이유
웹브라우저에서 http 통신을 할 때 http3가 syn / syn+ack / ack과정을 줄여보자 해서 UDP 프로토콜이 쓰이게 됨
<출처 김영한: 모든 개발자를 위한 HTTP 웹 기본 지식 >
모든 개발자를 위한 HTTP 웹 기본 지식 - 인프런 | 학습 페이지
지식을 나누면 반드시 나에게 돌아옵니다. 인프런을 통해 나의 지식에 가치를 부여하세요....
www.inflearn.com
'HTTP' 카테고리의 다른 글
HTTP 기본 & 클라이언트 서버 구조 (0) | 2022.04.07 |
---|---|
웹 브라우저 요청 흐름 (0) | 2022.04.07 |
URI(Uniform Resource Identifier) (0) | 2022.04.07 |
PORT & DNS (0) | 2022.04.07 |
IP(인터넷 프로토콜) (0) | 2022.04.06 |