TCP vs. UDP

TCP와 UDP는 모두 전송 계층에서 동작하는 프로토콜이지만, 연결 방식과 데이터 전송 방식이 다르다.

TCP는 신뢰성을 우선으로 하고, UDP는 속도와 실시간성을 우선으로 설계되었다.

비교

구분TCPUDP
연결 방식연결 지향 (Connection-oriented)비연결형 (Connectionless)
신뢰성OX
순서 보장OX
데이터 전송 방식스트림(Stream)데이터그램(Datagram)
흐름 제어OX
혼잡 제어OX
헤더 크기20~60 Byte8 Byte
속도상대적으로 느림상대적으로 빠름

언제 사용할까?

TCP

  • 웹 서비스 (HTTP, HTTPS)
  • 이메일 (SMTP)
  • 파일 전송 (FTP)
  • 데이터의 정확성이 중요한 서비스

UDP

  • DNS
  • DHCP
  • 실시간 스트리밍
  • VoIP
  • 온라인 게임
  • 빠른 응답이 중요한 서비스

선택 기준

  • 데이터의 정확성과 순서가 중요하다면 TCP를 사용한다.
  • 일부 패킷 손실이 발생하더라도 실시간성이 더 중요하다면 UDP를 사용한다.