- TCP와 UDP는 OSI 7 계층들 중 TCP/IP의 전송 계층에서 사용되는 프로토콜이다
- 데이터의 전달을 담당하며 전달되는 패킷의 오류를 검사하고 재전송 요구 등의 제어를 담당한다
TCP; Transmission Control Protocol
- 클라이언트와 서버가 연결된 상태에서 데이터를 주고받는 연결형 프로토콜이다
- 전달하고자 하는 데이터를 안정적으로, 순서를 유지하고, 에러 없이 교환할 수 있게 한다
- 3-way handshking으로 연결을 설정하고, 4-way handshking으로 연결을 해제한다
- 흐름 제어: 데이터 처리 속도를 조절하여 수신자의 버퍼 오버플로우를 방지한다
- 혼잡 제어: 네트워크 내 패킷 수가 과도하게 증가하지 않도록 방지한다
UDP; User Datagram Protocol
- 클라이언트와 서버가 연결되지 않은 상태에서 데이터를 전송하는 비연결형 프로토콜이다
- 비연결형 서비스로 데이터그램 방식을 제공하기 때문에 데이터의 전송 순서가 바뀔 수 있다
- 데이터 수신 여부를 확인하지 않기 때문에 신뢰성이 낮다
비교

| 프로토콜 | TCP | UDP |
| 연결 방식 | 연결형 | 비연결형 |
| 패킷 교환 방식 | 가상 회선 방식 | 데이터그램 방식 |
| 전송 순서 | 전송 순서 보장 | 전송 순서 바뀔 수 있음 |
| 수신 여부 확인 | 수신 여부 확인 | 수신 여부 확인하지 않음 |
| 통신 방식 | 1:1 | 1:1, 1:N, N:N |
| 신뢰성 | 높다 | 낮다 |
| 속도 | 느리다 | 빠르다 |
결론적으로,
TCP는 연속성보다 신뢰성이 있는 전송이 중요할 때 사용되고,
UDP는 신뢰성보다 연속성이 중요한 실시간 스트리밍과 같은 서비스에 자주 사용된다
'웹 개발' 카테고리의 다른 글
| 암호화 (0) | 2024.05.22 |
|---|---|
| HTTP와 HTTPS (0) | 2024.05.22 |
| HTTP와 TCP/IP (0) | 2024.05.22 |
| HTTP 개념 (0) | 2024.05.22 |
| DNS (0) | 2024.05.22 |