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

标签 language-agnostic tcp protocols

是否存在针对高吞吐量和低延迟优化的 TCP 协议(protocol)/标准?

我唯一能想到的是FAST .

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

最佳答案

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

  1. UDP-based Data Transfer Protocol(UDT) : UDT 通过添加拥塞控制和可靠性控制机制构建在用户数据报协议(protocol) (UDP) 之上。 UDT 是一种应用层、面向连接的双工协议(protocol),支持可靠的数据流和部分可靠的消息传递。

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

  2. 可靠用户数据报协议(protocol) (RUDP): 它旨在提供一种 UDP 过于原始的解决方案,因为需要保证顺序的数据包交付,但 TCP 增加了太多的复杂性/开销。

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

    1. 收到数据包的确认
    2. 开窗和拥塞控制
    3. 重传丢失的数据包
    4. 过度缓冲(比实时流式传输更快)

    en.wikipedia.org/wiki/Reliable_User_Datagram_Protocol

关于language-agnostic - 在 TCP 之上是否有针对高吞吐量和低延迟进行优化的协议(protocol)/标准?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1380427/

相关文章:

ios - 符合协议(protocol)的类 - 编译时检查

unit-testing - 如何设计用于生成 PDF 文档的单元测试?

c - 如何在套接字流缓冲区中添加空终止。 C

ios - 我的协议(protocol)和委托(delegate)不起作用?

ios - 使用工厂模式时如何将委托(delegate)设置为 View Controller ?

ios - 在模拟器上测试使用 Web 服务器的 iOS 应用程序

language-agnostic - 实际代码与支持代码的比例

algorithm - 如何获得不同的最大匹配

language-agnostic - 在给定文本中发现 "templates"?

c# - NAT 在其表中保留 TCP 转换字段多长时间?