UDP는 또 하나의 일반적인 전송 프로토콜인 TCP보다 빠르지만, 안정성이 떨어집니다. TCP 통신에서 두 컴퓨터는 '핸드셰이크'라는 자동화된 프로세스를 통해 연결을 설정하는 것으로 시작합니다. 이 핸드셰이크가 완료된 후에만 실제로 데이터 패킷이 한 컴퓨터에서 다른 컴퓨터로 전송됩니다.
UDP 통신은 이 프로세스를 거치지 않습니다. 대신 한 컴퓨터에서 단순히 다른 컴퓨터로 데이터를 보내기 시작할 수 있습니다.
TCP 통신은 데이터 패킷이 수신되어야 하는 순서를 나타내고 패킷이 의도한 대로 도착하는지 확인합니다. 패킷이 도착하지 않는 경우(예: 중간 네트워크의 혼잡으로 인해) TCP를 다시 보내야 합니다. UDP 통신에는 이 기능이 포함되어 있지 않습니다.
이러한 차이 때문에 몇 가지 이점이 생깁니다. UDP는 '핸드셰이크'가 필요하지 않거나 데이터가 제대로 도착하는지 확인하지 않기 때문에 TCP보다 훨씬 빠르게 데이터를 전송할 수 있습니다.
그러나 이 속도 때문에 성능 저하가 생깁니다. UDP 데이터그램이 전송 중에 손실되면 다시 전송되지 않습니다. 따라서 UDP를 사용하는 애플리케이션은 오류, 손실, 중복을 허용할 수 있어야 합니다.