8

TCP 具有更大的计算开销以确保数据包的可靠传递。但是,由于现代网络速度很快,是否存在UDP 的性能超过 TCP 的可靠性的情况?

UDP 与 TCP 相比还有什么其他特别的优势吗?

4

5 回答 5

10

我可以看到两种情况,其中 UDP 比 TCP 占上风。

首先,UDP 的一个吸引人的特性是,由于它不需要重新传输丢失的数据包,也不需要进行任何连接设置,因此发送数据会产生更少的延迟。这种较低的延迟使 UDP 成为对延迟敏感的应用程序(如音频和视频)的有吸引力的选择。

其次,多播应用程序建立在 UDP 之上,因为它们必须做点对多点。将 TCP 用于多播应用程序会很困难,因为现在发送方必须跟踪多个接收方的重传/发送速率。

于 2013-09-08T06:27:51.970 回答
4

这取决于您的使用情况。如果您的应用程序对时间敏感,例如 IP 语音,那么您不必担心丢失数据包。您关心的是这种情况下的延迟。

你应该看看这个答案:现实生活中 TCP 和 UDP 的例子是什么?

您还可以查看维基百科相关部分:http ://en.wikipedia.org/wiki/User_Datagram_Protocol#Comparison_of_UDP_and_TCP

于 2013-09-08T06:31:23.663 回答
2

需要恒定数据流、大量数据以及需要速度而不是可靠性的应用程序使用 UDP over TCP。

于 2013-12-23T04:59:34.107 回答
2

udp 对发送的数据提供了更好的应用程序级别控制……因为数据被打包在 udp 段中并立即传递到网络层……因此可以观察到简洁的段交付服务。

不需要建立连接,因此没有延迟(不像 tcp...在实际数据传输之前需要握手)

无需在终端系统中维护连接状态(即无需发送和接收缓冲区、拥塞控制参数以及序列和确认号参数)..因此可以支持更多的活动客户端

udp 的小数据包头开销(只有 8 个字节),其中 tcp 有 20 个字节的头

于 2014-02-09T13:44:01.093 回答
2

Facebook 使用 UDP 连接而不是 TCP/IP 连接到他们的 Memcached 服务器

于 2017-09-27T19:49:21.847 回答