Skip to Content
NetworkTCP vs UDP

TCP vs UDP (전송 계층 기본기)

만화로 보는 요약 — 먼저 읽어보세요

만화로 보는 요약 — 먼저 읽어보세요

전송 계층(Transport Layer)의 두 프로토콜 TCP와 UDP는 “신뢰성이냐 속도냐” 의 트레이드오프로 갈린다.

면접 실전 질문: ① TCP vs UDP 차이 ② UDP는 어떤 상황에서 쓰나 ③ 유튜브는 TCP/UDP 중 무엇을 쓰나


1. TCP vs UDP 차이

TCP(Transmission Control Protocol): 연결을 맺고(3-way handshake) 데이터를 순서대로, 빠짐없이 전달하는 신뢰성 있는 프로토콜. UDP(User Datagram Protocol): 연결 없이 데이터그램을 일단 쏘는 비신뢰성 프로토콜. 빠르지만 유실·순서 보장이 없다.

구분TCPUDP
연결연결형 (3-way handshake로 연결 후 통신)비연결형 (바로 전송)
신뢰성보장 — 재전송, 순서 보장, 흐름/혼잡 제어없음 — 유실·순서 뒤바뀜 가능
순서보장 (seq 번호로 정렬)보장 안 됨
속도상대적으로 느림 (오버헤드 큼)빠름 (오버헤드 작음)
헤더 크기20~60 byte8 byte (고정)
전송 단위바이트 스트림 (stream)데이터그램 (message)
대표 용도HTTP(S), 파일 전송, 이메일실시간 스트리밍, DNS, 게임, VoIP

핵심 메커니즘 (TCP만 있는 것):

  • 3-way handshake: SYN → SYN/ACK → ACK 로 연결 수립.
  • 재전송(ACK 기반): 받았다는 응답(ACK)이 없으면 다시 보냄 → 유실 복구.
  • 흐름 제어(Flow Control): 수신자가 감당할 만큼만 보냄(window).
  • 혼잡 제어(Congestion Control): 네트워크가 막히면 전송 속도를 줄임.

한 줄 요약: TCP는 “확인하고 순서대로 보내는 등기우편”, UDP는 “일단 던지는 엽서”. 신뢰성이 필요하면 TCP, 속도·실시간성이 중요하면 UDP.


2. UDP는 어떤 상황에서 쓰나

“조금 유실돼도 괜찮지만, 느리면 안 되는” 상황에서 쓴다. 재전송을 기다리는 것이 오히려 손해인 경우다.

  • 실시간 스트리밍 / 화상통화(VoIP): 몇 프레임 깨져도 그냥 넘어가는 게 낫다. 재전송으로 늦게 온 과거 영상은 쓸모없음(늦으면 버린다).
  • 온라인 게임: 0.1초 전 위치 좌표를 재전송받아 봐야 의미 없음. 최신 상태만 중요.
  • DNS 조회: 요청/응답이 각 1개 패킷으로 짧음. TCP 연결 수립 오버헤드가 아까움 (실패하면 그냥 재요청).
  • 브로드캐스트/멀티캐스트: 1:N 전송은 TCP로 불가능, UDP만 가능.

공통 원리: 지연(latency)이 유실(loss)보다 치명적일 때 UDP. 신뢰성은 필요하면 애플리케이션 레벨에서 직접 구현한다(예: QUIC/HTTP3는 UDP 위에 신뢰성을 얹음).


3. 유튜브는 TCP/UDP 중 무엇을 쓰나

함정 질문이다. “스트리밍 = UDP”라고 단순 암기하면 틀린다.

  • 전통적 VOD 스트리밍(유튜브 다시보기): 실제로는 TCP 기반이 많다. HTTP(S) 위에서 DASH/HLS로 영상을 잘게 쪼개(청크) 받는데, 버퍼링을 하기 때문에 재전송 지연을 버퍼가 흡수한다. 화질이 깨지느니 잠깐 버퍼링하는 게 나음 → 신뢰성 있는 TCP가 적합.
  • 최신 유튜브(QUIC/HTTP3): 구글은 QUIC을 만들었고, 이는 UDP 위에서 동작한다. UDP의 빠른 전송 + 애플리케이션 레벨에서 TCP급 신뢰성·혼잡 제어를 직접 구현. 연결 수립이 빠르고(0-RTT) HOL 블로킹이 없어 유튜브·구글 서비스가 대거 채택.
  • 실시간 라이브(양방향 화상, 초저지연 생중계): 지연이 극도로 중요하면 UDP(WebRTC 등).

정답 프레임: “상황에 따라 다르다 — 일반 VOD는 버퍼링으로 TCP가 유리하지만, 유튜브는 지연을 줄이려 UDP 기반 QUIC(HTTP/3) 를 쓴다. 초저지연 실시간은 UDP.” → 단순 암기가 아니라 트레이드오프를 이해했다는 걸 보여주는 답.


요약 (구두 30초 스크립트)

  1. TCP는 신뢰성(연결·재전송·순서·혼잡제어), UDP는 속도(비연결·저오버헤드).
  2. UDP는 지연이 유실보다 치명적일 때 — 실시간 스트리밍, 게임, VoIP, DNS.
  3. 유튜브는 상황에 따라 다르다 — 일반 VOD는 TCP, 최신 유튜브는 UDP 기반 QUIC(HTTP/3), 초저지연 실시간은 UDP.
Last updated on