[Network] TCP 3-Way Handshake와 UDP의 차이점 정리
April 07, 2025
안녕하세요 멩기입니다. 이번 포스팅에서는 네트워크에서 가장 많이 쓰이는 TCP와 UDP의 구조, 동작 방식, 차이점 등을 그림과 함께 정리해보겠습니다.
🔗 1. TCP 3-Way Handshake란?
TCP는 신뢰성 있는 연결 지향형 프로토콜로, 연결을 시작할 때 반드시 3-Way Handshake를 진행합니다.
📡 연결 절차
- SYN: 클라이언트 → 서버
“나 너랑 연결하고 싶어!”
- SYN+ACK: 서버 → 클라이언트
“그래, 나도 준비됐고 네 요청 받았어!”
- ACK: 클라이언트 → 서버
“좋아, 이제 데이터 주고받자!”
📤 2. 데이터 전송은 어떻게?
- 3-Way Handshake가 끝나면 데이터가 양방향으로 전송됩니다.
- TCP는 시퀀스 번호, ACK 번호를 사용해 순서와 신뢰성을 보장합니다.
- 손실되면 재전송, 순서 어긋나면 재조합까지 자동 처리!
🔚 3. TCP 연결 종료 - 4-Way Handshake
TCP는 연결을 끊을 때도 절차를 따릅니다.
종료 절차
- 클라이언트 → 서버:
FIN - 서버 → 클라이언트:
ACK - 서버 → 클라이언트:
FIN - 클라이언트 → 서버:
ACK
❓ 4. 그런데 왜 UDP는 핸드쉐이크가 없을까?
UDP는 비연결형 프로토콜입니다.
연결을 맺는 과정 없이 그냥 바로 전송!
🟡 UDP 특징
- 연결 필요 없음 (No Handshake)
- 데이터 순서 보장 없음
- 손실 시 재전송 없음
- 아주 빠름!
🔍 언제 쓰일까?
| 용도 | 프로토콜 | 이유 |
|---|---|---|
| 실시간 스트리밍 | UDP | 조금 깨져도 빠르게! |
| 파일 다운로드 | TCP | 한 글자도 빠지면 안 되니까! |
✍️ 마무리
TCP와 UDP는 각각의 목적과 특징이 명확히 다릅니다.
상황에 맞는 프로토콜 선택이 성능과 안정성 모두에 영향을 줍니다.
이번 포스팅이 네트워크 입문자분들께 도움이 되었길 바랍니다. 🙌