首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >UDP与TCP相比,它快了多少?

UDP与TCP相比,它快了多少?
EN

Stack Overflow用户
提问于 2008-09-06 22:46:36
回答 6查看 248.5K关注 0票数 212

用于通用协议消息交换,它可以容忍一些分组丢失。UDP在TCP上的效率要高多少?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2008-09-06 23:03:05

UDP比TCP更快,原因很简单,因为它不存在允许连续数据包流的确认数据包(ACK),而不是使用TCP窗口大小和往返时间(RTT)计算出的确认一组数据包的TCP。

有关更多信息,我推荐使用简单但非常容易理解的Skullbox explanation (TCP vs. UDP)

票数 91
EN

Stack Overflow用户

发布于 2012-02-28 21:59:55

哪种协议的性能更好(就吞吐量而言)- UDP或TCP -实际上取决于网络特征和网络流量。例如,Robert S.Barnes指出了TCP执行得更好的一种场景(小型写入)。现在,考虑网络拥塞并且同时具有TCP和UDP流量的场景。网络中使用TCP的发送方将感知到“拥塞”并降低其发送速率。然而,UDP没有任何拥塞避免或拥塞控制机制,并且使用UDP的发送者将继续以相同的速率注入数据。逐渐地,TCP发送者将其发送速率降低到最低,如果UDP发送者有足够的数据通过网络发送,它们将占用大部分可用带宽。因此,在这种情况下,UDP发送者将拥有更大的吞吐量,因为它们获得了网络带宽的更大蛋糕。事实上,这是一个活跃的研究课题-如何在存在UDP流量的情况下提高TCP吞吐量。据我所知,TCP应用程序可以通过打开多个TCP连接来提高吞吐量。这样,即使每个TCP连接的吞吐量可能有限,所有TCP连接的吞吐量总和也可能大于使用UDP的应用程序的吞吐量。

票数 20
EN

Stack Overflow用户

发布于 2008-09-06 22:52:34

在传输数据之前,每个TCP连接都需要初始握手。此外,TCP报头包含用于不同信号和消息传递检测的大量开销。对于消息交换,如果失败的可能性很小,UDP可能就足够了。如果必须验证接收,则TCP是您的最佳选择。

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47903

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档