TCP와 UDP 요약
1. TCP (Transmission Control Protocol)
특징
- 연결형 프로토콜: 송수신 호스트 간 연결을 수립한 후 데이터를 전송.
- 신뢰성 보장:
- 데이터 재전송: 손실된 패킷을 재전송.
- 순서 보장: 데이터가 전송된 순서대로 수신.
- 흐름 제어: 송수신 속도를 조절.
- 혼잡 제어: 네트워크 혼잡을 완화.
- 상태 유지: 통신 상태를 유지하는 스테이트풀 프로토콜.
TCP의 동작
-
연결 수립:
-
3-Way Handshake:

- SYN: 연결 요청.
- SYN-ACK: 연결 요청 수락.
- ACK: 연결 확인.
-
연결 수립 후 데이터 송수신 시작.
-
데이터 전송:
- 데이터를 세그먼트로 분할하여 전송.
- 순서 번호(Sequence Number)와 확인 응답 번호(Acknowledgment Number)를 활용해 데이터 전송 확인 및 순서 보장.
-
연결 종료:
-
4-Way Handshake:

- 송신자가 FIN으로 연결 종료 요청.
- 수신자가 ACK로 요청 수락.
- 수신자가 FIN으로 종료 요청.
- 송신자가 ACK로 종료 확인.
TCP의 장단점
장점:
단점:
- 높은 오버헤드로 인해 성능 저하 가능.
- 실시간 서비스에 부적합.
2. UDP (User Datagram Protocol)
특징
- 비연결형 프로토콜: 송수신 호스트 간 연결 없이 데이터 전송.
- 신뢰성 없음:
- 패킷 손실이나 순서 보장 기능이 없음.
- 확인 응답 없음.
- 상태 미유지: 통신 상태를 유지하지 않는 스테이트리스 프로토콜.
- 빠른 전송 속도: 낮은 오버헤드로 데이터 전송 속도가 빠름.
UDP의 동작
- 데이터 전송:
- 데이터를 데이터그램 단위로 전송.
- 헤더가 간단: 송신지 포트, 수신지 포트, 길이, 체크섬만 포함.
- 특징적인 전송 방식:
- 순서 보장 없음: 패킷이 순서대로 도착하지 않을 수 있음.
- 유실 가능성: 데이터가 손실되어도 재전송하지 않음.
UDP의 장단점
장점:
- 간단한 구조로 빠른 데이터 전송 가능.
- 실시간성 요구되는 서비스에 적합 (스트리밍, VoIP 등).
단점:
- 데이터 신뢰성과 순서 보장이 없음.
- 데이터 손실 시 문제 발생 가능.
3. TCP와 UDP 비교
특징 | TCP | UDP |
---|
연결 방식 | 연결형 (3-Way Handshake) | 비연결형 |
신뢰성 | 데이터 손실 방지 및 순서 보장 | 신뢰성 없음 |
오버헤드 | 큼 | 작음 |
속도 | 느림 | 빠름 |
용도 | 파일 전송, 이메일, 웹 브라우징 | 스트리밍, VoIP, 게임 |
상태 유지 여부 | 스테이트풀 | 스테이트리스 |
4. UDP가 유리한 상황
- 실시간 서비스:
- 빠른 속도 필요:
- 데이터 손실보다 지연 시간이 더 중요한 경우.
5. 결론
- TCP는 신뢰성과 안정성이 필요한 경우 사용.
- UDP는 속도와 실시간성이 중요한 경우 사용.