UDP优于TCP的优势?
Posted
技术标签:
【中文标题】UDP优于TCP的优势?【英文标题】:Advantages of UDP over TCP? 【发布时间】:2013-09-11 22:19:06 【问题描述】:TCP 具有更大的计算开销以确保数据包的可靠传递。但是,由于现代网络速度很快,是否存在 UDP 的性能超过 TCP 的可靠性的情况?
UDP 与 TCP 相比还有什么其他特别的优势吗?
【问题讨论】:
When is it appropriate to use UDP instead of TCP? 的可能重复项 【参考方案1】:我可以看到两种情况,其中 UDP 会比 TCP 占上风。
首先,UDP 的一个吸引人的特性是,由于它不需要重新传输丢失的数据包,也不需要进行任何连接设置,因此发送数据会产生更少的延迟。这种较低的延迟使 UDP 成为对延迟敏感的应用程序(如音频和视频)的有吸引力的选择。
其次,多播应用程序是建立在 UDP 之上的,因为它们必须做点对多点。将 TCP 用于多播应用程序会很困难,因为现在发送方必须跟踪多个接收方的重传/发送速率。
【讨论】:
【参考方案2】:这取决于您的使用情况。如果您的应用程序对时间敏感,例如 IP 语音,那么您不必担心丢失数据包。你关心的是这种情况下的延迟。
你应该看看这个答案:What are examples of TCP and UDP in real life?
您也可以查看***相关部分:http://en.wikipedia.org/wiki/User_Datagram_Protocol#Comparison_of_UDP_and_TCP
【讨论】:
【参考方案3】:需要恒定数据流、批量数据以及需要速度而不是可靠性的应用程序使用 UDP over TCP。
【讨论】:
【参考方案4】:udp 对发送的数据提供了更好的应用程序级别控制......因为数据被打包在一个 udp 段中并立即传递到网络层......因此可以观察到简洁的段交付服务.
不需要建立连接,因此没有延迟(不像 tcp...在实际数据传输之前需要握手)
不需要在终端系统中维护连接状态(即不需要发送和接收缓冲区、拥塞控制参数以及序列和确认号参数)..因此可以支持更多的活动客户端
udp 的小包头开销(只有 8 个字节),其中 tcp 有 20 个字节的头
【讨论】:
【参考方案5】:Facebook 使用 UDP 连接而不是 TCP/IP 连接到他们的 Memcached 服务器
【讨论】:
以上是关于UDP优于TCP的优势?的主要内容,如果未能解决你的问题,请参考以下文章