首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在TCP之上是否有针对高吞吐量和低延迟进行优化的协议/标准?

在TCP之上是否有针对高吞吐量和低延迟进行优化的协议/标准?
EN

Stack Overflow用户
提问于 2009-09-04 16:54:43
回答 5查看 1.2K关注 0票数 3

是否有针对高吞吐量和低延迟而优化的TCP协议/标准?

我唯一能想到的就是FAST

目前,我只设计了一个由特殊字符分隔的简单的基于文本的协议。我想采用一种专为快速传输而设计的协议,它可能支持对通过TCP套接字传输的数据进行压缩和缩小。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-09-13 11:50:13

您可能会考虑使用JMS。JMS可以运行在TCP之上,并且您可以使用像ActiveMQ这样的消息代理来获得合理的延迟。

不过,这真的取决于你的目标受众。如果你正在构建一个必须在任何地方运行的游戏,你很可能需要使用HTTP或HTTP/Streaming。如果你在局域网上推送市场数据,那么不使用TCP的东西可能更适合你。Tibco RVJGroups都通过多播提供可靠的低延迟消息传递。

票数 1
EN

Stack Overflow用户

发布于 2009-09-13 11:34:05

我们可以通过以下任一方式在UDP之上利用TCP的面向连接/可靠特性,而不是使用重量级TCP:

UDP是在用户数据报协议(

  1. UDP-based Data Transfer Protocol(UDT):)的基础上增加了拥塞控制和可靠性控制机制。UDT是一种应用层、面向连接的双工协议,支持可靠数据流和部分可靠消息传递。

确认: UDT使用定期确认(ACK)来确认数据包传送,而否定ACK(丢失报告)用于报告数据包丢失。当数据传输速度较高时,周期性ACK有助于减少反向路径上的控制通信量,因为在这些情况下,ACK的数量与时间成比例,而不是与数据packets.

  • Reliable用户数据报协议的数量成正比:其目的是提供一种解决方案,其中UDP太原始,因为需要保证顺序的分组传送,但是TCP太增加了复杂性/开销。

它通过添加以下附加功能来扩展UDP:

代码语言:javascript
复制
1. Acknowledgment of received packets
2. Windowing and congestion control
3. Retransmission of lost packets
4. Overbuffering (Faster than real-time streaming)

en.wikipedia.org/wiki/Reliable_User_Datagram_Protocol

票数 4
EN

Stack Overflow用户

发布于 2009-09-04 17:11:30

如果在TCP之上分层,您将不会获得比“最基本的”TCP连接更好的吞吐量或延迟。

还有其他非TCP高吞吐量和/或低延迟的面向连接的协议,通常位于UDP之上。

我所知道的几乎唯一的一个是UDT,它针对高带宽或长往返时间的网络进行了优化,使得典型的TCP重传不是最优的。这些网络被称为“超长胖网络”(LFN, pronounced 'elefan')。

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

https://stackoverflow.com/questions/1380427

复制
相关文章

相似问题

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