TCP와 UDP 차이 완전정복

같은 전송계층 프로토콜인 TCP와 UDP가 어떻게 다른 방식으로 데이터를 주고받는지 순서대로 살펴보세요.

📶

1. TCP와 UDP란 무엇인가

TCP(Transmission Control Protocol)와 UDP(User Datagram Protocol)는 인터넷에서 데이터를 실어나르는 전송계층(Transport Layer) 프로토콜입니다. 같은 계층에서 동작하지만 데이터를 주고받는 방식은 정반대에 가깝습니다.

🤝

2. 연결 지향 vs 비연결형

TCP는 데이터를 보내기 전 SYN → SYN/ACK → ACK 순서로 이어지는 3-way 핸드셰이크로 먼저 연결을 맺습니다. UDP는 이런 사전 절차 없이 곧바로 데이터를 전송하는 비연결형 방식입니다.

3. 신뢰성과 순서 보장

TCP는 데이터가 도착했는지 확인하고, 순서가 뒤섞이면 재정렬하며, 유실된 패킷은 재전송합니다. UDP는 이런 확인·재전송 과정이 전혀 없어 패킷이 유실되거나 순서가 바뀌어도 그대로 넘어갑니다.

📦

4. 헤더 오버헤드 차이

TCP 헤더는 최소 20바이트로 순서 번호, 확인 응답 번호 등 여러 제어 정보를 담습니다. UDP 헤더는 8바이트에 불과해 훨씬 가볍고, 그만큼 처리 속도에서 유리합니다.

🚦

5. 흐름 제어와 혼잡 제어

TCP는 슬라이딩 윈도우와 혼잡 제어 알고리즘으로 네트워크 상황에 맞춰 전송 속도를 스스로 조절합니다. UDP에는 이런 자동 조절 기능이 없어, 필요하다면 애플리케이션이 직접 속도를 관리해야 합니다.

💡

6. 실제로 어디에 쓰이나

정확한 전달이 중요한 웹 브라우징(HTTP·HTTPS), 이메일(SMTP), 파일 전송(FTP)은 TCP를 사용합니다. 반대로 속도가 우선인 DNS 조회, 동영상 스트리밍, 온라인 게임, 화상통화(VoIP)는 주로 UDP를 사용합니다.

🚀

7. UDP 위에 지어진 새로운 프로토콜, QUIC

최근에는 UDP의 속도 위에 자체적인 신뢰성 보장과 암호화를 얹은 QUIC 프로토콜이 등장했습니다. HTTP/3의 기반 기술로 크롬, 유튜브 등 여러 서비스가 이미 QUIC을 활용하고 있습니다.

포트 번호와 함께 이해하면 더 쉽습니다

TCP와 UDP 모두 포트 번호로 어떤 서비스인지 구분합니다. 자주 쓰는 서비스별 포트 번호가 궁금하다면 포트 번호 총정리를 함께 참고해보세요.

UDP 기반 서비스의 통화 품질이 궁금하다면

인터넷전화(VoIP)는 대표적인 UDP 기반 서비스 중 하나입니다.VoIP(인터넷전화) 기초 개념 알아보기에서 SIP·RTP 프로토콜이 실제로 어떻게 동작하는지 확인해보세요.

자주 묻는 질문

DNS 조회는 TCP인가요, UDP인가요?

기본적으로는 UDP를 사용해 빠르게 조회합니다. 다만 응답 데이터가 너무 크거나 존 전송(zone transfer)처럼 신뢰성이 중요한 특수한 상황에서는 TCP로 전환되기도 합니다.

온라인 게임은 왜 대부분 UDP를 쓰나요?

실시간성이 무엇보다 중요하기 때문입니다. 패킷 하나가 유실되었다고 재전송을 기다리다 보면 오히려 캐릭터 움직임이 더 부자연스러워질 수 있어, 약간의 손실을 감수하더라도 최신 상태를 빠르게 갱신하는 UDP 방식이 더 적합합니다.