IT 초보 탈출 100일 챌린지

[100일의 IT 초보 탈출] #34 TCP vs UDP 신뢰와 속도의 싸움

Prof.SSong 2025. 5. 1. 18:47
728x90
반응형

오늘은 무엇을 배우게 될까요?

 

온라인 게임을 하다가 갑자기 캐릭터가 멈췄던 적 있나요?

혹은 유튜브 라이브 방송이 잠깐 끊겼다가 이어진 경험은요?

이런 일들이 일어나는 이유 중 하나는 컴퓨터가 데이터를 어떻게 주고받는지에 대한 방식이 다르기 때문입니다.

 

오늘은 인터넷에서 데이터를 주고받는 두 가지 핵심 방식,

바로 TCP와 UDP라는 통신 프로토콜이 무엇이고 어떻게 다른지, 왜 서로 다른 상황에서 쓰이는지를 함께 배워보겠습니다.

 

 

 


 

컴퓨터는 데이터를 어떻게 주고받을까?

 

인터넷에서 컴퓨터들이 서로 데이터를 주고받을 땐, 커다란 정보를 작은 단위인 ‘패킷(Packet)’으로 잘라서 보내요.

예를 들어 1GB짜리 영상 파일을 한 번에 보내면 너무 크기 때문에, 마치 택배를 여러 상자에 나눠 담는 것처럼나눠서 보냅니다.

 

하지만 문제가 생기죠.

 

  • 패킷이 중간에 사라질 수도 있고,
  • 순서가 뒤바뀔 수도 있고,
  • 누군가가 제대로 받았는지도 알 수 없어요.

 

이런 문제를 해결하거나 무시하는 방법이 바로 TCP와 UDP입니다.

 


 

 

TCP란 무엇인가요?

 

Transmission Control Protocol

 

TCP는 정확하고 신뢰할 수 있는 데이터 전송을 보장하는 통신 방식이에요.

어떻게든 데이터를 빠짐없이, 순서대로, 문제 없이 보내는 걸 목표로 합니다.


 

TCP의 핵심 특징

 

  1. 연결 지향적(Connection-Oriented)즉, “지금 보낼 준비 됐니?” “응, 나도 준비됐어” “그럼 보낼게!” 하고 통신을 시작하죠.
  2. 데이터를 보내기 전에 먼저 상대와 연결을 설정(3-way Handshake)합니다.
  3. 데이터 손실 복구
  4. 전송 중에 데이터가 손실되면, TCP는 그 부분만 다시 요청해서 받아요.
  5. 데이터 순서 보장
  6. 먼저 보낸 데이터가 반드시 먼저 도착하게 정렬해서 보여줍니다.
  7. 수신 확인(Acknowledgement)
  8. 데이터를 받으면 “잘 받았어!“라는 메시지를 보냅니다.

 

TCP는 언제 사용될까요?

 

  • 웹 브라우징 (HTTP/HTTPS)
  • 웹페이지는 텍스트, 이미지, 스크립트 등 복잡한 구조를 가졌기 때문에 하나라도 빠지면 제대로 보이지 않아요.
  • 이메일, 채팅 앱
  • 메시지가 빠지거나 순서가 뒤바뀌면 의미가 달라질 수 있죠.
  • 파일 전송(FTP)
  • 문서, 이미지, 프로그램 등은 깨지지 않고 완벽히 전달돼야 합니다.

 


 

UDP란 무엇인가요?

 

User Datagram Protocol

 

UDP는 TCP와 반대로, 속도를 중시하는 데이터 전송 방식이에요.

“빠르게 보내는 게 중요하지, 빠지면 다시 보내지 않아!“라는 철학을 가졌다고 보면 됩니다.

 


UDP의 핵심 특징

 

  1. 비연결형(Connectionless)
  2. 연결 설정 없이 데이터를 그냥 보냅니다. 말 그대로 “던지고 보는” 방식이죠.
  3. 데이터 손실 무시
  4. 도중에 데이터가 없어져도 다시 보내지 않아요. 빠진 건 빠진 대로 넘어갑니다.
  5. 순서 보장 없음
  6. 여러 개의 데이터가 서로 다른 순서로 도착해도 그냥 보여줘요.
  7. 속도 빠름
  8. 확인하거나 기다릴 필요가 없기 때문에 매우 빠르게 처리됩니다.

 

UDP는 언제 사용될까요?

 

  • 실시간 스트리밍 (유튜브 라이브, 트위치 등)
  • 몇 초 전 장면이 다시 나오는 것보단 조금 깨져도 ‘지금’을 보여주는 게 중요해요.
  • 온라인 게임
  • 1초 전에 캐릭터가 공격한 정보는 지금은 필요 없죠. 실시간 반응이 훨씬 중요해요.
  • 영상 통화, 음성 채팅
  • 대화 중간중간 말이 조금 날아가도 전체 대화 흐름이 끊기지 않으면 괜찮아요.

 


TCP vs UDP 비교 정리

항목TCPUDP

연결 방식 연결 지향 (3-way handshake) 비연결형
데이터 신뢰성 손실 시 재전송, 순서 보장 손실 무시, 순서 보장 안 됨
속도 느림 빠름
사용 예시 웹사이트, 이메일, 파일 전송 등 게임, 스트리밍, 실시간 통화 등
실생활 비유 등기 우편 (확실하게, 안전하게) 전단지 배포 (빠르게, 널리)

 

 


 

 

예시로 더 이해해보자

 

TCP는 이런 느낌이에요

 

  • 택배를 보낼 때 등기 우편을 쓰는 것과 같아요.
  • 받았는지 확인도 하고, 잃어버리면 보상도 해줘요.
  • 다만 시간이 조금 더 걸릴 수 있어요.

 

 

UDP는 이런 느낌이에요

 

  • 행사장에서 전단지를 뿌리는 것과 같아요.
  • 누가 받았는지는 모르고, 떨어뜨린 건 다시 안 줍니다.
  • 하지만 빨라요!

 


 

 

왜 둘 다 필요한 걸까요?

 

상황마다 중요하게 여기는 것이 다르기 때문입니다.

 

  • 정확성과 완전성이 중요한 정보: TCP
  • (로그인 정보, 결제 시스템, 파일 다운로드 등)
  • 속도와 반응성이 중요한 정보: UDP
  • (게임, 방송, 실시간 대화 등)

 

즉, 신뢰를 선택할 것인가, 속도를 선택할 것인가?

두 가지 방식은 서로를 대체하는 게 아니라 상황에 따라 선택해서 쓰는 거예요.

 


 

 

한 줄 요약

 

👉 TCP는 느려도 안전하게, UDP는 빠르지만 약간의 손실을 감수합니다.

 

728x90
반응형