首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TCP协议,减少RTT瓶颈

TCP协议,减少RTT瓶颈
EN

Stack Overflow用户
提问于 2012-08-30 18:28:54
回答 3查看 556关注 0票数 0

据我所知,tcp协议的性能受到RTT (往返时间)的限制。如果客户端向服务器发送消息,它需要等待确认响应,然后才能发送序列中的下一条消息。这意味着如果我在一个250ms RTT的链接上,我被限制为每秒4条消息,这对于许多应用程序来说是相当慢的,并且严重阻碍了数据传输速率。

有什么方法可以绕过这个限制?

EN

回答 3

Stack Overflow用户

发布于 2012-08-30 18:34:48

如果客户端向服务器发送消息,则它需要等待确认响应,然后才能发送序列中的下一条消息。

这是不正确的。有延迟和选择性ACK这样的东西。

这意味着如果我在一个250ms RTT的链接上,我被限制在每秒4条消息。

不不是的。

实际的瓶颈是链路的带宽延迟乘积。请确保两端的套接字发送和接收缓冲区至少等于此产品。

票数 3
EN

Stack Overflow用户

发布于 2012-08-30 18:52:34

RTT只告诉您数据包从发送缓冲区中逐出的延迟约为250ms。假设发送缓冲区足够大,那么没有什么可以阻止您以最大带宽减去协议开销进行双向通信。

如果你不需要纠错(也就是说,当你的消息到达得太晚的时候,它就一文不值了),考虑使用UDP。

票数 1
EN

Stack Overflow用户

发布于 2012-08-30 19:02:49

如果我没理解错的话。您的协议将等待来自对等设备的响应消息,然后才能发送下一个请求消息。在这种情况下,RTT限制了您所说的速度(每秒4条消息)。

如果您的协议规范要求这种等待,那么该协议的设计就很糟糕。

如果不是,那么在等待响应消息之前,您可以通过向peer发送几条消息来提高性能。在这种情况下,高RTT不会导致如此糟糕的速度。

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

https://stackoverflow.com/questions/12194824

复制
相关文章

相似问题

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