✅ 1. 전송 계층이란?
전송 계층(OSI 7계층의 4계층)은 말 그대로 데이터를 전송하는 계층이다.
바로 아래의 네트워크 계층(IP)이 주소를 따라 어디까지 갈지를 결정한다면,
전송 계층은 그 안에서 “어떤 앱이 데이터를 보냈고, 어떻게 보낼지”를 책임진다.
📌 쉽게 말하면:
IP가 집 주소라면, TCP/UDP는 편지의 내용과 주고받는 방식이다.
✅ 2. TCP와 UDP란?
구분 TCP UDP
이름 Transmission Control Protocol User Datagram Protocol
목적 신뢰성 있는 전송 빠른 전송
연결 방식 연결 지향(Connection-oriented) 비연결형(Connectionless)
특징 순서 보장, 손실 복구, 흐름 제어, 혼잡 제어 순서 보장 안 됨, 손실 복구 안 됨
사용 예시 웹브라우저(HTTP), 이메일, 파일 전송 게임, 영상 스트리밍, 음성 통화
⸻
✅ 3. TCP (Transmission Control Protocol)
📌 핵심 개념
“신뢰성 있는 통신”을 위한 프로토콜.
데이터가 순서대로 도착하고, 손실 없이 정확하게 전달되도록 보장해줌.
⚙️ 동작 방식: 3-Way Handshake
Client ------> Server : SYN (접속 요청)
Client <------ Server : SYN-ACK (승인 + 응답)
Client ------> Server : ACK (응답 확인)
📦 연결 완료!
💡 이걸 3-Way Handshake라고 한다. 연결 전에 서로 약속을 맺는 절차라고 보면 된다.
📌 데이터 전송
• 데이터를 작은 세그먼트(Segment) 단위로 쪼개서 보냄.
• 각각의 세그먼트에는 순서 번호(Sequence Number)가 붙음.
• 수신 측은 ACK(응답)을 보내서 잘 받았는지 확인함.
• 도중에 패킷이 유실되면 자동으로 재전송함.
• 수신 속도가 느리면 흐름 제어로 속도를 조절함.
⚙️ 연결 종료: 4-Way Handshake
Client ------> Server : FIN (나 그만할래)
Client <------ Server : ACK
Client <------ Server : FIN (나도 이제 그만)
Client ------> Server : ACK
📦 연결 종료!
✅ TCP의 장점
• 순서 보장
• 신뢰성 (오류 감지, 재전송)
• 흐름 제어 (수신 속도에 맞춰 보냄)
• 혼잡 제어 (네트워크 상태에 따라 속도 조절)
❌ 단점
• 속도 느림
• 오버헤드(검사, 제어 기능 많음)
• 실시간성이 필요한 서비스엔 부적합
✅ TCP를 사용하는 사례
서비스 설명
HTTP/HTTPS 웹 페이지 요청/응답
FTP 파일 업로드/다운로드
SMTP/IMAP/POP3 이메일 송수신
SSH 원격 접속
✅ 4. UDP (User Datagram Protocol)
📌 핵심 개념
“속도가 중요한 통신”을 위한 프로토콜.
신뢰성은 낮지만 빠르게 전송됨.
연결 없이 그냥 던지고 마는 느낌이라 “비연결형 프로토콜”이라고 부른다.
⚙️ 동작 방식
• HandShake 없음 → 연결 X
• 데이터그램(datagram)이라는 단위로 바로 전송
• 순서 보장 X
• 응답(ACK) 없음
• 재전송 없음
✅ UDP의 장점
• 빠름 (지연 없음)
• 오버헤드 적음 (검사 기능 최소화)
• 실시간에 적합
❌ 단점
• 순서 바뀔 수 있음
• 중간에 유실돼도 모름
• 재전송도 없음
✅ UDP를 사용하는 사례
서비스 설명
온라인 게임 반응 속도가 가장 중요!
유튜브/넷플릭스 영상은 중간에 조금 끊겨도 됨
VoIP (음성 통화) 실시간 통화에서 속도가 중요
DNS 요청 단순한 요청–응답 처리
✅ 5. TCP와 UDP 구조 비교
🔸 TCP 헤더 구조 (복잡함)
| Source Port | Destination Port |
| Sequence Number |
| Acknowledgment Number |
| Flags (SYN, ACK, FIN 등) |
| Window Size |
| Checksum |
| Data |
🔸 UDP 헤더 구조 (간단함)
| Source Port | Destination Port |
| Length | Checksum |
| Data |
✅ 6. 둘 중 뭐를 써야 할까?
상황 TCP UDP
데이터 정확성이 중요함 ✅ ❌
속도가 가장 중요함 ❌ ✅
순서대로 받아야 함 ✅ ❌
네트워크 상태가 불안정함 ✅ ❌
대용량 파일 전송 ✅ ❌
게임, 스트리밍, 통화 ❌ ✅
💡 비유로 정리하면
비유 TCP UDP
택배 📦 택배 회사: 배송 추적, 도착 확인, 정확 🛵 배달 오토바이: 빠르지만 잃어버릴 수도 있음
문자 메시지 카톡: 읽음 확인, 순서 보장 알림톡: 빠르지만 순서, 응답 없음
✅ 최종 요약
항목 TCP UDP
연결 방식 연결 지향 비연결형
신뢰성 O (재전송, 순서 보장) X (빠르게 던지고 끝)
속도 느림 빠름
오버헤드 큼 작음
사용처 웹, 이메일, 파일 게임, 영상, 음성