TCP와 UDP, 전송 요구 사항에 맞는 프로토콜 선택
TCP와 UDP의 연결 방식, 신뢰성, 흐름 제어와 데이터 전달 특성을 비교하고 웹·파일 전송, 스트리밍·게임에서의 선택 기준을 정리한다.
2026-08-14 · 최초 발행 2025-07-16
데이터 전달에서 TCP와 UDP가 갈리는 지점
TCP와 UDP는 전송 계층에서 동작하지만, 데이터를 전달하는 방식은 다르다. TCP는 연결을 먼저 만들고 데이터 손실·중복·순서 오류를 제어한다. UDP는 연결 수립 과정 없이 데이터그램을 바로 보내며, 빠른 응답이 필요한 통신에 사용된다.
이 차이는 애플리케이션의 요구 사항으로 이어진다. 데이터가 빠짐없이 도착해야 한다면 TCP가 맞고, 일부 손실보다 지연을 줄이는 일이 더 중요하다면 UDP가 적합하다.
TCP는 전달 상태를 관리한다
TCP(Transmission Control Protocol)는 연결지향적인 전송 계층 통신 프로토콜이다. 통신 시작 시 3-way handshaking으로 연결을 수립하고, 종료 시 4-way handshaking을 사용한다. 통신 형태는 일대일(Point-to-Point)이다.
송신 순서와 수신 순서가 일치하도록 보장하며, 데이터 중복과 손실을 막는다. 헤더와 데이터를 검사한 뒤 오류가 발생하면 재전송하고, 슬라이딩 윈도우 기법으로 수신자의 처리 능력에 맞춰 전송량을 조절한다.
Telnet의 원격 터미널 접속, FTP(File Transfer Protocol)의 파일 전송, SMTP(Simple Mail Transfer Protocol)의 전자메일 전송, HTTP/HTTPS 웹 페이지 통신, SSH 보안 원격 접속이 TCP 활용 사례다.
TCP는 신뢰성 있는 경로를 만들고 메시지 전송 과정을 감독한다. 메시지를 세그먼트로 나누어 전송하며, 혼잡 제어로 네트워크 안정성에도 기여한다. 반면 연결 설정과 유지, 전송 오류 감시에 따른 오버헤드가 있고, 실시간 애플리케이션에서는 지연이 생길 수 있다. 연결 수립에도 시간이 든다.
웹 브라우징에서는 데이터 누락 없이 페이지를 정확히 표시해야 하므로 HTTP/HTTPS에 TCP를 사용한다. 온라인 뱅킹 시스템도 거래 정보 손실을 허용할 수 없다. FTP로 소프트웨어 업데이트 파일을 내려받을 때는 단 1비트의 오류도 허용할 수 없으며, SMTP 기반 비즈니스 이메일 역시 중요 정보가 누락되지 않아야 한다.
UDP는 즉시 데이터그램을 보낸다
UDP(User Datagram Protocol)는 제어용 메시지 처리나 빠른 응답을 요구하는 애플리케이션을 위한 비연결형 프로토콜이다. 연결 설정 없이 데이터를 전송할 수 있으며, 일대일뿐 아니라 일대다(Broadcast), 다대다(Multicast) 통신도 가능하다.
UDP는 송신 순서를 유지하지 않고, 데이터 중복·손실·순서 오류가 발생할 수 있다. 헤더와 데이터를 검사하더라도 오류 발생 시 재전송하지 않으며, 별도의 흐름 제어 메커니즘도 없다.
SNMP(Simple Network Management Protocol)의 네트워크 관리, TFTP(Trivial File Transfer Protocol)의 간단한 파일 전송, DNS(Domain Name System)의 도메인 이름 해석, DHCP(Dynamic Host Configuration Protocol)의 IP 주소 할당이 UDP를 활용한다. VoIP(Voice over IP), 실시간 멀티플레이어 온라인 게임, 비디오·오디오 스트리밍 서비스도 UDP 활용 사례다.
UDP는 헤더 구조가 단순해 처리 속도가 빠르고, 방송용 동영상 같은 실시간 스트리밍에 적합하다. 멀티캐스트(MBone)에 효과적이며 메시지를 블록 단위로 전송할 수 있다. 짧은 지연 시간이 장점이지만, 안전한 데이터 전송 여부를 확인할 수 없고 혼잡 제어 기능도 없다. 데이터 손실, 중복, 순서 변경이 가능하므로 대용량 데이터 전송에는 비효율적이다.
실시간 비디오 스트리밍에서는 약간의 데이터 손실보다 지연 없는 재생이 중요하다. Netflix, YouTube 등의 스트리밍 서비스에서는 버퍼링보다 몇 픽셀 손실이 더 수용 가능하다. 1인칭 슈팅 게임은 미세한 지연도 경험을 크게 저하시킬 수 있으며, Skype와 Zoom 통화는 약간의 음성 끊김은 허용되더라도 지연이 길어지면 대화가 어려워진다.
신뢰성과 속도의 교환 관계
| 특성 | TCP | UDP |
|---|---|---|
| 연결 방식 | 연결 지향적 | 비연결형 |
| 신뢰성 | 높음 | 낮음 |
| 순서 보장 | 보장 | 비보장 |
| 데이터 손실 | 재전송으로 방지 | 발생 가능 |
| 속도 | 상대적으로 느림 | 상대적으로 빠름 |
| 헤더 크기 | 20-60 바이트 | 8 바이트 |
| 흐름/혼잡 제어 | 있음 | 없음 |
| 적합한 용도 | 파일 전송, 웹 브라우징 | 스트리밍, 게임, 실시간 통신 |
애플리케이션 요구 사항으로 선택하기
TCP는 데이터 정확성이 절대적으로 중요하거나, 전송 속도보다 데이터 완전성이 우선일 때 선택한다. 순차적 데이터 처리가 필요하거나 네트워크 상태가 불안정한 환경에서 신뢰성 있는 통신이 필요할 때도 TCP가 맞는다.
UDP는 실시간 처리가 우선이고 일부 데이터 손실이 전체 서비스 품질에 큰 영향을 주지 않을 때 선택한다. 간단한 요청-응답 패턴, 브로드캐스트 또는 멀티캐스트 통신도 UDP가 적합한 경우다.
두 프로토콜은 서로 대체재로만 쓰이지 않는다. 현대 네트워크 애플리케이션은 두 프로토콜을 함께 사용하거나, 애플리케이션 계층에 추가 신뢰성 메커니즘을 구현하기도 한다. 서비스의 데이터 특성과 네트워크 환경을 기준으로 선택해야 한다.