TCP vs UDP

김남경·2023년 1월 4일
0

network

목록 보기
8/27

과정

HTTP('a' 메시지 생성) ➡️ (SOCKET을 통해 전달) ➡️ TCP ➡️ (TCP 정보 생성, 메시지 데이터 포함) ➡️ IP ➡️ (IP 패킷 생성, TCP 데이터 포함) ➡️ Ethernet Frame ➡️ SERVER

✅ SOCKET : 프로그램이 네트워크에서 데이터를 송수신할 수 있도록, 네트워크 환경에 연결할 수 있게 만들어진 연결부
✅ TCP/IP 패킷 : IP 패킷 / TCP 세그먼트 / 전송데이터

-IP 패킷 : 출발지 IP, 목적지 IP
-TCP 세그먼트 : 출발지 PORT, 목적지 PORT, 전송 제어, 순서, 검증 정보 등

TCP

💡 전송 제어 프로토콜(Transmission Control Protocal)

📗 연결 지향
TCP 3 way handshake

1️⃣ 클라이언트 ➡️ ( SYN ) ➡️ 서버
2️⃣ 클라이언트 ⬅️ (SYN+ACK) ⬅️ 서버
3️⃣ 클라이언트 ➡️ ( ACK ) ➡️ 서버
✳️ Established(데이터 전송 가능)

✅ SYN : 접속을 요청하는 패킷
✅ ACK : 요청을 수락하는 패킷
🚫 서버가 꺼져있다면 클라이언트가 SYN을 보내고 서버에서 응답을 받지 못하므로 데이터를 전송하지 않음

📗 데이터 전달 보증
데이터 전송이 성공적으로 이루어진다면 응답을 돌려주므로 IP 패킷의 한계인 비연결성을 보완

📗 순서 보장
순서대로 도착하지 않는다면 TCP 세그먼트에 있는 정보를 토대로 재요청 가능
IP 패킷의 한계인 비신뢰성 보완

UDP

💡 사용자 데이터그램 프로토콜(User Datagram Protocal)
💡 IP에 PORT, 체크섬 필드 정보만 추가된 단순한 프로토콜

📗 비연결지향
데이터 전달 보증도 되지 않고 순서도 보장되지 않지만 속도가 빠름

📗 커스터마이징 가능
기능이 거의 없음
HTTP3는 UDP를 사용

📗 빠른 속도
신뢰성보다는 연속성(실시간 스트리밍)이 중요한 서비스에서 사용

profile
기본에 충실하며 앞으로 발전하는

0개의 댓글