TCP는 신뢰성 있는 연결을 지향합니다. 3way handshake로 연결하고, 4way handshake로 연결을 해제합니다.
- 가상 회선 방식(패킷이 전송되기 위한 경로)을 제공합니다.
- 흐름 제어 및 혼잡 제어가 가능합니다.
- 높은 신뢰성을 보장합니다.
- UDP에 비해 속도가 느립니다.
TCP는 속도보다 신뢰성있는 전송이 중요할 때 사용하는 프로토콜입니다.
데이터의 무결성을 전제 조건으로 만들어졌기 때문에 지연이 발생할 수 밖에 없는 구조입니다.
따라서 고속을 요구하는 컨텐츠가 많아진 오늘날 TCP가 가진 신뢰성을 위한 제약이 발목을 잡아 UDP를 사용하는 시스템이 많아지고 있습니다.
UDP는 데이터를 데이터그램 단위로 처리하는 프로토콜입니다.
데이터그램은 독립적인 관계를 지니며 데이터는 독립적으로 처리됩니다.
신뢰성을 최소한으로만 보장하며, 그로 인해서 TCP보다 속도가 빠릅니다.
이 때문에 신뢰성 보다 연속성이 중요한 서비스(Streaming, RTC, Game)에 사용됩니다.
참고로 HTTP/3은 UDP프로토콜 기반의 QUIC 프로토콜을 사용합니다.