Q: "TCP와 UDP의 차이가 무엇인가요?"
💡 프로토콜(protocols)이란?
통신 대상 종단 시스템 간 송수신하는 메시지에 대한 형식(formats), 의미(semantics), 순서(sequences of messages)를 정의하는 규약서
< 대화 시작>
- A ———실례합니다 ———> B
- A <———— 예? ————— B
< 대화 목적>
- A -—지금 몇시인가요? ——> B
- A <——오후 3시입니다 —— B
<대화 종료>
- A ———감사합니다———-> B
- A < —————넵————— B
Client와 Server 사이에도 연결 요청 / 응답 / (확인) 의 과정을 거친다. = 프로토콜
TCP / UDP
인터넷 계층 모델(5층) 중 전송 계층의 표준 프로토콜
- TCP : Transmission Control Protocol like 등기우편
- 신뢰성(reliable) : 전송하는 세그먼트에 대한 신뢰성 보장 (보낸 세그먼트가 반드시 도착하도록 보장)
- 순서적(in-order) 전송: 메시지를 여러개로 쪼개 보내면 수신하는 쪽에서 다시 조립할 수 있게 순서적으로 전송
- 정체 제어(congestion control): 트래픽이 많으면 정체 현상이 발생하는데 그때는 전송량을 줄이고 없으면 많이 보냄
- 흐름 제어(flow control): 전송 호스트에서 목적지 호스트로 보낼 때 목적지 호스트의 처리 능력을 감안해서 전송 호스트에서 조절해서 데이터 보냄
- UDP : User Datagram Protocol like 일반우편
- 비신뢰성(unreliable): 수신을 보장하지 않음.
- 비순서적(unordered) 전송: 그냥 먼저 도착하는 거 먼저 받아라
⇒ TCP가 UDP보다 복잡하니 시간이 오래 소요된다.
TCP : 연속성보다 신뢰성있는 전송이 중요할 때 (ex. 파일전송)
UDP : 신뢰성보다는 연속성이 중요할 때 (ex. 실시간 스트리밍)