사용 차이
1. TCP는 연결 지향이고 UDP는 연결이 없습니다.
즉, 데이터를 전송하기 전에 연결을 설정할 필요가 없습니다.
TCP는 안정적인 서비스를 제공합니다. 즉, TCP 연결을 통해 전송되는 데이터는 오류가 없고, 손실되지 않고, 반복되지 않고, 순서대로 도착한다. UDP는 전달을 위해 최선을 다하지만 안정적인 전달을 보장하지는 않습니다.
TCP는 바이트 스트림 지향적입니다. 실제로 TCP는 데이터를 일련의 구조화되지 않은 바이트 스트림으로 처리합니다. UDP는 메시지 지향적입니다.
UDP에는 정체 제어 기능이 없으므로 네트워크 정체로 인해 소스 호스트의 전송 속도가 감소하지 않습니다(IP 전화 통신, 실시간 화상 회의 등과 같은 실시간 애플리케이션에 유용함).
각 TCP 연결은 지점 간 연결만 가능합니다. UDP는 일대일, 일대다, 다대일 및 다대다 대화형 통신을 지원합니다.
TCP 헤더 오버헤드는 20바이트이고, UDP 헤더 오버헤드는 8바이트로 작습니다.
TCP의 논리적 통신 채널은 전이중 신뢰할 수 있는 채널인 반면 UDP는 신뢰할 수 없는 채널입니다.
다양한 애플리케이션 시나리오
2. TCP는 전송 계층에서 안정적인 전송이 필요할 때 사용됩니다. UDP는 고속 전송과 실시간 성능에 대한 요구 사항이 높은 통신이나 브로드캐스트 통신에 주로 사용됩니다.
IP 텔레포니를 통한 통화를 예로 들어 보겠습니다. TCP를 사용하는 경우 전송 중 데이터가 손실되면 다시 전송되므로 발신자의 음성을 원활하게 전송할 수 없게 됩니다. UDP를 사용하면 재전송 처리를 수행하지 않으므로 소리 도착이 크게 지연되는 문제는 없습니다. 일부 데이터가 손실되더라도 통화의 일부에만 영향을 미칩니다.
위 내용은 PHP에서 TCP와 UDP의 차이점입니다. 모든 분들께 도움이 되길 바랍니다.