ocean
3-4. TCP와 UDP 본문
4계층의 목적
- 목적지 단말 안에서 여러 애플리케이션 프로세스 중 통신해야 할 목적지 프로세스를 정확히 찾아가고 패킷 순서가 바뀌지 않도록 잘 조합해서 원래 데이터를 잘 만들어내는 것
TCP와 UDP의 차이점 🌟 🌟 🌟
| TCP | UDP |
| Connection Oriented(3-way handshake) | Connectionless |
| 오류 제어 수행 | 오류 제어 수행X. |
| 흐름 제어(속도 조절) 수행 | 흐름 제어 수행 X. |
| Unicast | Unicast, Multicast, Broadcast |
| FullDuplex(동시에 주고 받기 가능) | HalfDuplex (동시에 주고 받기는 안됨. 어느 한 순간에는 받기만 하거나 주기만 해야 함.) |
| 데이터 전송 | 실시간 트래픽 전송 |
- TCP는 Stream 통신이라고도 함. UDP는 Datagram이라고도 함.
TCP
- 세션을 안전하게 연결 & 데이터 분할 & 분할된 패킷이 잘 전송되었는지 확인

- 1번을 수신하고 ACK을 보낼 때, 1이 아니라 2를 전송하는 이유?
→ 1을 잘 받았으니 이제 2를 보내달라는 뜻!
윈도우 사이즈와 슬라이딩 윈도우
- 패킷을 하나씩 전송하고 응답을 기다리면 거리가 먼 경우 왕복 지연 시간이 늘어남.
- 윈도우 사이즈 : 한꺼번에 보내는 패킷의 개수
- 윈도우 사이즈는 동적으로 변하는데 데이터 유실이 발생하면 윈도우 사이즈를 줄이고 그렇지 않으면 하나씩 늘려감.
3way handshake
- TCP에서는 통신 시작 전에 사전 연결 작업을 진행
- 동작

- 서버는 클라이언트의 접속을 받아들일 수 있는 LISTEN 상태로 대기
- 클라이언트에서 통신을 시도할 때 SYN 패킷을 보냄. → 클라이언트의 상태 : SYN-SENT
- SYN 패킷을 받은 서버는 SYN-RECEIVE 상태로 변경되고 SYN/ACK으로 응답.
- 이 응답을 받은 클라이언트는 ESTABLISHED 상태로 변경되고 그에 대한 응답을 서버로 전송.
- 서버에서도 이 응답을 받고 ESTABLISHED 상태로 변경됨.
- 이제 서버와 클라이언트는 통신할 준비 완료
UDP
- 데이터 전송을 보장하지 않는 프로토콜. 제한된 용도로만 사용
- 사용
- 데이터를 전송하는데 일부 데이터가 유실되더라도 시간에 맞추어 계속 전송하는 것이 중요한 경우
ex. 화상회의 시스템, 실시간 스트리밍, 음성 데이터 🌟- 같은 동영상 스트리밍이더라도 넷플릭스나 유튜브같이 시간에 민감하지 않은 단일 시청자를 위한 연결은 TCP 사용
- 사내방송, 증권 시세 데이터 전송에 사용되는 멀티캐스트처럼 단방향으로 다수의 단말과 통신해 응답을 받기 어려운 환경.
- 연결 확립은 TCP를 사용하고 애플리케이션끼리 준비되면 실제 데이터만 UDP를 이용하는 경우도 존재
- 데이터를 전송하는데 일부 데이터가 유실되더라도 시간에 맞추어 계속 전송하는 것이 중요한 경우
'현대오토에버 모빌리티 SW 스쿨 - 클라우드 > Network' 카테고리의 다른 글
| 4-1. Switch(2) - VLAN (0) | 2026.02.04 |
|---|---|
| 4-1. Switch(1) (0) | 2026.02.02 |
| 3-3. IP Address 🌟 (0) | 2026.01.27 |
| 3-2. MAC Address와 ARP 프로토콜 (0) | 2026.01.27 |
| 3-1. 수신자 범위에 따른 네트워크 분류 (0) | 2026.01.26 |