TCP와 UDP

전송 프로토콜 비교

TCP는 데이터를 보내고 수신 확인(ACK)을 받아 정확성을 보장하고, UDP는 확인 없이 보내서 빠르다. 웹/파일 전송은 TCP, 영상 스트리밍/게임은 UDP를 쓴다.

Basics

개념

TCP(Transmission Control Protocol)와 UDP(User Datagram Protocol)는 둘 다 IP 위에서 동작하는 전송 계층 프로토콜이다. 차이는 "데이터가 제대로 도착했는지 확인하느냐"에서 갈린다. TCP는 확인을 하고 UDP는 하지 않는다. 이 단순한 차이가 속도·용도·신뢰성의 차이로 이어진다.

왜 둘이 필요한가

어떤 통신은 정확성이 더 중요하고(웹페이지, 파일 전송), 어떤 통신은 실시간성이 더 중요하다(게임, 음성 통화). 모든 통신에 확인-재전송을 강제하면 실시간 통신이 버벅이고, 아무것도 확인하지 않으면 파일 전송은 깨진다. 그래서 두 가지를 나눠 쓰는 것.

TCP

  • 데이터를 보내고 "잘 받았어?"(ACK) 확인하는 프로토콜
  • 확인 못 받으면 재전송
  • 카톡의 읽음 확인 같은 것
  • 정확성이 중요할 때 사용 (파일 전송, 웹페이지)
  • 연결 수립이 필요 (3-way handshake)

UDP

  • 그냥 보내고 끝, 확인 안 함
  • 패킷이 분실되거나 순서가 바뀌어도 신경 안 씀
  • 빠른 게 중요할 때 사용 (유튜브 스트리밍, 게임, VoIP)
  • 연결 수립 없음 (컨넥션리스)

TCP vs UDP

TCP UDP
확인 ACK로 수신 확인 확인 안 함
재전송 분실 시 재전송 재전송 안 함
순서 보장 O X
속도 느림 (확인 비용) 빠름
연결 3-way handshake 없음
사용 예 HTTP, SSH, 파일 전송 DNS, 스트리밍, 게임

더 보기

  • DNS — DNS는 기본적으로 UDP를 쓰지만 응답이 크면 TCP로 fallback
  • Upstream-Downstream-Hop — 패킷이 네트워크를 지나는 흐름 용어
sunshinemoon · 2026