반응형
반응형
🌏 TCP vs UDP

✅ TCP (Transmission Control Protocol)
TCP는 연결형 프로토콜로 3-way handshake를 통해 신뢰성을 보장하며, 데이터 순서와 재전송을 관리합니다. 대신 속도가 느리고 오버헤드가 큰 편입니다.
- 특징
연결형(Connection-oriented) → 3-way handshake 필요- 신뢰성 보장: 데이터 손실 시 재전송, 순서 보장
- 흐름 제어(Flow control), 혼잡 제어(Congestion control) 지원
- 속도는 비교적 느림
- 단위: 세그먼트 (Segment)
- 장점
- 보내는 쪽, 받는 쪽에 '커넥션'을 유지함
- 에러 체킹 등 이 프로토콜 쓰면 데이터가 믿을 만 함
- 데이터를 특정 순서로 보낼 수 있음
- 단점
- UDP에 비해서 느림 (동시에 처리할 수 있는 처리량이 적음)
- 특히 File Transfer 초기에 엄청나게 느림
- 일부 데이터가 없으면 로딩을 안함, 예를 들어서 웹 페이지에 모든 데이터가 도착하기 전에는 페이지 자체 로딩을 안함
- 네트워크 혼잡하면 더더더더 악화되어 더더 느려짐
- 멀티캐스팅이나 broadcasting은 못함
- UDP에 비해서 느림 (동시에 처리할 수 있는 처리량이 적음)
- 어디에 사용하나?
- 신뢰가 중요하고, 일관성이 중요한 서비스, 예를 들어-
- 웹 브라우징 (
HTTP/HTTPS) - 이메일 (SMTP, IMAP, POP3)
- 파일 전송 (FTP, SFTP)
✅ UDP (User Datagram Protocol)
UDP는 비연결형으로 빠르고 가볍지만 신뢰성이 없어서, 스트리밍·게임·DNS 같은 실시간성이 중요한 서비스에 주로 사용됩니다.
- 특징
비연결형(Connectionless) → handshake 없음- 신뢰성 없음: 순서·재전송 보장 안 함
- 오버헤드 적음 → 빠른 전송 가능
- 단순 구조, 실시간성에 유리
- 단위: 데이터그램 (Datagram)
- 장점
- 커넥션 없어서 빠름
- broadcast, multicast 가능
- 단점
- 제대로 전달되었는지 알 수가 없음
- 에러 검출은 되지만, 복구는 안함 (그냥 버려버림)
- 어디에 사용하나?
- 고속성, 실시간성이 중요한 서비스, 예를 들어-
- 스트리밍 (영상/음성)
- 온라인 게임
- DNS, DHCP
✅ TCP vs UDP
| 구분 | TCP | UDP |
|---|---|---|
| 연결 방식 | 연결형 (3-way handshake) | 비연결형 |
| 신뢰성 | 보장 (재전송, 순서 유지) | 보장 안 함 |
| 속도 | 상대적으로 느림 | 빠름 |
| 오버헤드 | 큼 (헤더 20바이트 이상) | 작음 (헤더 8바이트) |
| 사용 예시 | 웹, 메일, 파일 전송 | 스트리밍, 게임, DNS |
🌏 TCP 과정을 간단히 보자면??
✅ 1. 연결 (Connection)

- TCP: 3-way handshake 과정을 거쳐 연결을 확정
- 클라이언트 → 서버: SYN
- 서버 → 클라이언트: SYN + ACK
- 클라이언트 → 서버: ACK
- → 이 과정을 통해 양쪽이 데이터 송수신 준비가 되었음을 확인
- UDP: 이런 과정 없음. 그냥 데이터그램을 던짐. (상대가 받을지 말지는 모름)
✅ 2. 순서 보장
- TCP: 각 세그먼트에
시퀀스 번호를 붙여서 수신자가 순서대로 조립- 중간에 하나라도 빠지면 재전송 요청
- UDP: 순서 개념 없음. 받은 순서대로 처리
✅ 3. 신뢰성
- TCP
- 송신자는 데이터를 보내고 ACK(응답)를 기다림.
- 일정 시간 내 ACK가 안 오면 재전송
- 혼잡 시 전송 속도를 줄이는 혼잡 제어 알고리즘(CUBIC, Reno 등)까지 있음.
- UDP: 재전송, 응답 확인 없음
✅ 4. 흐름 제어
- TCP: 수신자가 처리 가능한 속도를
윈도우 크기로 알려주고, 송신자가 그에 맞춰 전송 속도를 조절. - UDP: 없음. 보내는 쪽이 무제한으로 보낼 수 있음
✅ 5. 헤더 크기

- TCP: 헤더가 20바이트 이상. (시퀀스 번호, ACK 번호, 윈도우 크기, 플래그 등 많은 필드 포함) ⇒ 오버헤드 BIG BIG BIG
- UDP: 헤더가 8바이트. (소스 포트, 목적지 포트, 길이, 체크섬)만 있음.
🌏 참고 자료

도움이 되었다면, 공감/댓글을 달아주면 깃짱에게 큰 힘이 됩니다!🌟
비밀댓글과 메일을 통해 오는 개인적인 질문은 받지 않고 있습니다. 꼭 공개댓글로 남겨주세요!
반응형
'컴퓨터과학 > 네트워크' 카테고리의 다른 글
| [네트워크] HTTP Method: 멱등성과 안전성, 메서드와 캐싱의 관계 (0) | 2025.09.10 |
|---|---|
| [네트워크] HTTP/1.1 → HTTP/2 → HTTP/3 (0) | 2025.09.09 |
| [네트워크] OSI 7계층: 각 계층 별 특징, 장비, TCP/IP와 차이점? (0) | 2025.09.09 |
| [Network] Packet: 패킷의 개념, 생성 원리 (0) | 2023.12.01 |
| [Network] LAN vs WAN: 얼마나 넓은 범위의 네트워크여야 WAN이 될까? (0) | 2023.11.30 |