[100일의 IT 초보 탈출] #34 TCP vs UDP 신뢰와 속도의 싸움
오늘은 무엇을 배우게 될까요?
온라인 게임을 하다가 갑자기 캐릭터가 멈췄던 적 있나요?
혹은 유튜브 라이브 방송이 잠깐 끊겼다가 이어진 경험은요?
이런 일들이 일어나는 이유 중 하나는 컴퓨터가 데이터를 어떻게 주고받는지에 대한 방식이 다르기 때문입니다.
오늘은 인터넷에서 데이터를 주고받는 두 가지 핵심 방식,
바로 TCP와 UDP라는 통신 프로토콜이 무엇이고 어떻게 다른지, 왜 서로 다른 상황에서 쓰이는지를 함께 배워보겠습니다.
컴퓨터는 데이터를 어떻게 주고받을까?
인터넷에서 컴퓨터들이 서로 데이터를 주고받을 땐, 커다란 정보를 작은 단위인 ‘패킷(Packet)’으로 잘라서 보내요.
예를 들어 1GB짜리 영상 파일을 한 번에 보내면 너무 크기 때문에, 마치 택배를 여러 상자에 나눠 담는 것처럼나눠서 보냅니다.
하지만 문제가 생기죠.
- 패킷이 중간에 사라질 수도 있고,
- 순서가 뒤바뀔 수도 있고,
- 누군가가 제대로 받았는지도 알 수 없어요.
이런 문제를 해결하거나 무시하는 방법이 바로 TCP와 UDP입니다.
TCP란 무엇인가요?
Transmission Control Protocol
TCP는 정확하고 신뢰할 수 있는 데이터 전송을 보장하는 통신 방식이에요.
어떻게든 데이터를 빠짐없이, 순서대로, 문제 없이 보내는 걸 목표로 합니다.
TCP의 핵심 특징
- 연결 지향적(Connection-Oriented)즉, “지금 보낼 준비 됐니?” “응, 나도 준비됐어” “그럼 보낼게!” 하고 통신을 시작하죠.
- 데이터를 보내기 전에 먼저 상대와 연결을 설정(3-way Handshake)합니다.
- 데이터 손실 복구
- 전송 중에 데이터가 손실되면, TCP는 그 부분만 다시 요청해서 받아요.
- 데이터 순서 보장
- 먼저 보낸 데이터가 반드시 먼저 도착하게 정렬해서 보여줍니다.
- 수신 확인(Acknowledgement)
- 데이터를 받으면 “잘 받았어!“라는 메시지를 보냅니다.
TCP는 언제 사용될까요?
- 웹 브라우징 (HTTP/HTTPS)
- 웹페이지는 텍스트, 이미지, 스크립트 등 복잡한 구조를 가졌기 때문에 하나라도 빠지면 제대로 보이지 않아요.
- 이메일, 채팅 앱
- 메시지가 빠지거나 순서가 뒤바뀌면 의미가 달라질 수 있죠.
- 파일 전송(FTP)
- 문서, 이미지, 프로그램 등은 깨지지 않고 완벽히 전달돼야 합니다.
UDP란 무엇인가요?
User Datagram Protocol
UDP는 TCP와 반대로, 속도를 중시하는 데이터 전송 방식이에요.
“빠르게 보내는 게 중요하지, 빠지면 다시 보내지 않아!“라는 철학을 가졌다고 보면 됩니다.
UDP의 핵심 특징
- 비연결형(Connectionless)
- 연결 설정 없이 데이터를 그냥 보냅니다. 말 그대로 “던지고 보는” 방식이죠.
- 데이터 손실 무시
- 도중에 데이터가 없어져도 다시 보내지 않아요. 빠진 건 빠진 대로 넘어갑니다.
- 순서 보장 없음
- 여러 개의 데이터가 서로 다른 순서로 도착해도 그냥 보여줘요.
- 속도 빠름
- 확인하거나 기다릴 필요가 없기 때문에 매우 빠르게 처리됩니다.
UDP는 언제 사용될까요?
- 실시간 스트리밍 (유튜브 라이브, 트위치 등)
- 몇 초 전 장면이 다시 나오는 것보단 조금 깨져도 ‘지금’을 보여주는 게 중요해요.
- 온라인 게임
- 1초 전에 캐릭터가 공격한 정보는 지금은 필요 없죠. 실시간 반응이 훨씬 중요해요.
- 영상 통화, 음성 채팅
- 대화 중간중간 말이 조금 날아가도 전체 대화 흐름이 끊기지 않으면 괜찮아요.
TCP vs UDP 비교 정리
항목TCPUDP
연결 방식 | 연결 지향 (3-way handshake) | 비연결형 |
데이터 신뢰성 | 손실 시 재전송, 순서 보장 | 손실 무시, 순서 보장 안 됨 |
속도 | 느림 | 빠름 |
사용 예시 | 웹사이트, 이메일, 파일 전송 등 | 게임, 스트리밍, 실시간 통화 등 |
실생활 비유 | 등기 우편 (확실하게, 안전하게) | 전단지 배포 (빠르게, 널리) |
예시로 더 이해해보자
TCP는 이런 느낌이에요
- 택배를 보낼 때 등기 우편을 쓰는 것과 같아요.
- 받았는지 확인도 하고, 잃어버리면 보상도 해줘요.
- 다만 시간이 조금 더 걸릴 수 있어요.
UDP는 이런 느낌이에요
- 행사장에서 전단지를 뿌리는 것과 같아요.
- 누가 받았는지는 모르고, 떨어뜨린 건 다시 안 줍니다.
- 하지만 빨라요!
왜 둘 다 필요한 걸까요?
상황마다 중요하게 여기는 것이 다르기 때문입니다.
- 정확성과 완전성이 중요한 정보: TCP
- (로그인 정보, 결제 시스템, 파일 다운로드 등)
- 속도와 반응성이 중요한 정보: UDP
- (게임, 방송, 실시간 대화 등)
즉, 신뢰를 선택할 것인가, 속도를 선택할 것인가?
두 가지 방식은 서로를 대체하는 게 아니라 상황에 따라 선택해서 쓰는 거예요.
한 줄 요약
👉 TCP는 느려도 안전하게, UDP는 빠르지만 약간의 손실을 감수합니다.