TCP(Transmission Control Protocol) 와 UDP(User Datagram Protocol)
웹 브라우저로 웹사이트를 열든, 화상 회의를 하든, 온라인 게임을 하든 인터넷에서 데이터가 전송되는 방식에는 반드시 전송 계층 프로토콜이 필요합니다. 그 중심에 있는 두 가지 방식이 바로 TCP와 UDP입니다.
이 글에서는 TCP와 UDP의 구조와 차이점, 각각의 장단점, 그리고 언제 어떤 프로토콜을 선택해야 하는지를 자세히 설명합니다.
1. 전송 계층이란?
OSI 7계층 모델의 4번째 계층인 전송 계층(Transport Layer)은 컴퓨터 간 데이터 전송의 신뢰성과 순서를 보장하는 역할을 합니다.
여기서 대표적으로 사용하는 두 가지 프로토콜은 아래와 같습니다.
- TCP (Transmission Control Protocol)
- UDP (User Datagram Protocol)
2. TCP란? (신뢰성 있는 연결 중심 통신)
TCP는 연결지향(connected-oriented) 방식으로 데이터를 정확하게, 순서대로 전달하는 것을 목표로 합니다.
TCP의 특징
- 3-way 핸드셰이크를 통한 연결 설정
- 데이터 순서 보장
- 재전송, 오류 검출 가능
- 흐름 제어, 혼잡 제어 기능 내장
- 상대적으로 속도는 느리지만 안정적
TCP 사용 예시
- 웹 브라우징 (HTTP/HTTPS)
- 이메일 (SMTP, IMAP, POP3)
- 파일 전송 (FTP)
- 데이터베이스 연결
3-Way Handshake : TCP 연결 과정
TCP는 데이터를 보내기 전에 다음의 3단계 연결 절차를 수행합니다.
- SYN: 클라이언트 → 서버 (연결 요청)
- SYN-ACK: 서버 → 클라이언트 (요청 수락)
- ACK: 클라이언트 → 서버 (응답 확인)
이 과정을 통해 연결을 확립하고 안정적인 통신 채널을 형성합니다.
3. UDP란? (빠르지만 비신뢰성 있는 통신)
UDP는 비연결지향(connectionless) 방식으로, 데이터를 그냥 던지고 끝나는 형태입니다. 속도가 빠르지만 순서 보장이나 재전송하지 않습니다.
UDP의 특징
- 연결 없이 데이터 전송 (핸드셰이크 없음)
- 순서 보장 없음
- 손실된 데이터 재전송 안함
- 오버헤드가 작고 속도가 빠름
- 실시간성이 중요할 때 사용
UDP 사용 예시
- 실시간 스트리밍 (YouTube, Zoom)
- 온라인 게임
- DNS 질의
- IoT 기기 통신
4. TCP vs UDP 비교 표
항목 | TCP | UDP |
연결 방식 | 연결지향 | 비연결지향 |
신뢰성 | 높음 (재전송, 오류 검사) | 낮음 (손실 허용) |
순서 보장 | O | X |
속도 | 느림 | 빠름 |
오버헤드 | 큼 | 작음 |
용도 | 웹, 이메일, 파일 전송 등 | 스트리밍, 게임, VoIP 등 |
예시로 보는 차이점
상황 | TCP 사용 | UDP 사용 | 설명 |
은행 앱 로그인 | O | X | 보안과 정확성 중요 |
유튜브 영상 시청 | X | O | 몇 프레임 손실은 무방 |
실시간 게임 | X | O | 지연 발생하면 불리 |
파일 업로드 | O | X | 정확성 필수 |
TCP와 UDP, 언제 어떤 걸 써야 할까?
- TCP가 적합한 경우
- 데이터 손실이 치명적일 때
- 순서와 신뢰성이 중요한 서비스
- 사용자 인증, 결제, 거래 등 보안이 중요한 상황
- UDP가 적합한 경우
- 빠른 전송이 더 중요할 때
- 실시간이 중요한 스트리밍/게임
- 네트워크 상태가 나빠도 빠르게 동작해야 할 때
5. 마무리
함께 보면 좋은 자료
외부 사이트 :
블로그 글 :
[OSI 7계층과 TCP/IP 4계층] 네트워크의 설계도
OSI 7계층과 TCP/IP 4계층 네트워크 통신이 어떻게 이루어지는지를 체계적으로 설명하기 위해 등장한 개념이 바로 OSI 7계층 모델과 TCP/IP 4계층 모델입니다. 이 글에서는 각 계층의 역할과 주요 프
dachaes-devlogs.tistory.com
[프로토콜] 컴퓨터 세상에서의 약속과 규칙
프로토콜(Protocol) 인터넷은 어떻게 서로 다른 컴퓨터끼리 정보를 주고받을 수 있을까요? 브라우저에서 주소를 입력하면 어떻게 웹사이트가 열릴까요? 그 모든 과정의 중심에는 바로 **프로토콜(
dachaes-devlogs.tistory.com
[HTTP와 HTTPS] 보안이 필요한 이유와 프로토콜의 차이
HTTP와 HTTPS 브라우저 주소창을 보면 어떤 웹사이트는 http:// 로 시작하고, 어떤 곳은 https:// 로 시작합니다. 둘 다 웹 페이지를 여는 데 사용되지만, 실제로는 웹의 보안성과 신뢰성에 매우 큰 차
dachaes-devlogs.tistory.com
'컴퓨터 사이언스 > 네트워크' 카테고리의 다른 글
[DNS] 도메인 이름을 IP 주소로 바꿔주는 인터넷의 전화번호부 (0) | 2025.04.14 |
---|---|
[OSI 7계층과 TCP/IP 4계층] 네트워크의 설계도 (0) | 2025.04.13 |
[HTTP와 HTTPS] 보안이 필요한 이유와 프로토콜의 차이 (0) | 2025.04.13 |
[프로토콜] 컴퓨터 세상에서의 약속과 규칙 (0) | 2025.04.13 |
[HTTP 상태 코드] 웹 통신의 응답 언어를 이해하기 (0) | 2025.04.13 |