컴퓨터네트워크를 공부하다 보면 반드시 마주치는 두 전송계층 프로토콜이 있다. 바로 TCP와 UDP다.
둘 다 전송계층(Transport Layer) 프로토콜이고,
→ “어떤 데이터를 어떤 방식으로 전송할지”를 정해주는 역할을 한다. 쉽게 말하면, 데이터를 목적지까지 ‘어떻게’ 보낼지 정해주는 방법이다.
이번 글에서 TCP와 UDP의 차이를 이론적으로 정리하고, 어떤 상황에서 무엇을 써야 하는지까지 정리해보겠다.
Transmission Control Protocol의 약자로, 신뢰성 있는 연결 지향 프로토콜이다.
주요 특징
장점
단점
User Datagram Protocol의 약자로, 비연결 지향, 신뢰성이 없는 전송 프로토콜이다.
주요 특징
장점
단점
| 항목 | TCP | UDP |
|---|---|---|
| 연결 방식 | 연결 지향 | 비연결 지향 |
| 신뢰성 | 보장(재전송) | 보장 X |
| 순서 보장 | O | X |
| 흐름 제어/혼잡 제어 | 있음 | 없음 |
| 속도 | 상대적으로 느림 | 매우 빠름 |
| 용도 | 웹, 파일전송, 이메일 등 | 게임, 스트리밍, VoIP |
*교수님의 말씀으론.. UDP가 속도가 훨씬 빠르다기보단, 연결하는 시간이 적게 든다가 더 맞는 표현이라고 하신다
TCP가 필요한 상황
UDP가 필요한 상황
처음엔 잘 몰랐는데 공부를 하다 보니 결국 TCP랑 UDP는 뭐가 더 좋다기보단, 상황 따라 잘 골라 써야 하는 도구라는 걸 느꼈다
처음엔 그냥 “TCP는 느리고 UDP는 빠르다” 이 정도만 알고 있었는데, 막상 하나씩 뜯어보니까 각자 역할이 확실히 다른 것 같았당