UDP vs TCP

김기수·2026년 4월 7일

1. TCP (Transmission Control Protocol)

"꼼꼼하고 책임감 있는 택배 기사님"

TCP는 연결을 확인하고, 데이터가 잘 갔는지 끝까지 책임지는 방식입니다.

  • 연결 지향 (3-Way Handshake): 데이터를 보내기 전에 "나 보낼 건데 준비됐어?"라고 물어보고 수락하면 보냅니다.
  • 신뢰성 보장: 데이터가 중간에 유실되면 재전송을 요청합니다. 순서가 바뀌면 다시 조립해주죠.
  • 흐름/혼잡 제어: 받는 쪽이 너무 바쁘면 천천히 보내고, 네트워크가 막히면 속도를 조절합니다.
  • 사용 예시: 웹 쇼핑(HTTP/HTTPS), 이메일, 파일 전송(FTP). (데이터가 1비트라도 틀리면 안 되는 서비스들)

2. UDP (User Datagram Protocol)

"일단 던지고 보는 투수"

UDP는 상대방이 받든 말든, 연결 확인도 안 하고 그냥 빛의 속도로 데이터를 쏴버립니다.

  • 비연결형: "준비됐어?" 안 물어봅니다. 그냥 바로 던집니다.
  • 신뢰성 낮음: 데이터가 가다가 사라져도 재전송 안 합니다. 순서가 바뀌어도 신경 안 씁니다.
  • 속도 최우선: 확인 과정이 없으니 TCP보다 훨씬 빠르고 가볍습니다.
  • 사용 예시: 실시간 영상 스트리밍(유튜브 라이브), 온라인 게임, 보이스톡(VoIP). (약간 화면이 깨지더라도 끊기지 않는 게 중요한 서비스들)

3. 기수님을 위한 핵심 비교표

특징TCPUDP
비유등기 우편 (수령 확인 필수)일반 전단지 배포 (뿌리고 끝)
속도상대적으로 느림 (확인 절차 때문)매우 빠름
데이터 순서보낸 순서대로 도착 보장순서가 바뀔 수 있음
헤더 크기20~60 바이트 (정보가 많음)8 바이트 (매우 가볍고 단순)

4. 캡슐화 관점에서의 차이

기수님이 아까 공부한 캡슐화 과정에서:

  • TCP를 선택하면: L4 헤더에 '순서 번호(Sequence Number)''확인 번호(Acknowledgement)' 같은 복잡한 정보가 담깁니다. (역캡슐화 때 이걸로 순서를 맞추죠.)
  • UDP를 선택하면: L4 헤더에 '포트 번호''길이' 정도만 딱 적고 끝납니다. 그래서 역캡슐화 속도가 광속입니다.
profile
엄청난 클라우드 고수

0개의 댓글