TCP 发送和实际写入 NIC 之间的延迟

TCP 发送和实际写入 NIC 之间的延迟

在寻找使用 python 描述的套接字编程问题的解决方案时这里(简而言之,问题是:我希望~ 25 Bytes客户端通过 TCP 套接字发送的消息()立即被调度(刷新)。),我遇到了文章。

在“建立的连接如何工作”部分的第 6 段中,文章内容如下:

如果网络繁忙、TCP 发送窗口已满、流量整形策略有效等,则数据到 NIC 的实际传输可能会比用户实际调用 write(2) 时有所延迟。

我的问题是:

  • 具有非常快速的专用网络(我可以保证可用性)并且 TCP 发送窗口未满。我的大约 25 字节的小消息会立即发送吗?
  • 在最近的 Ubuntu(如 14、16 和 18)中,这些流量整形策略在默认情况下会是什么?

答案1

流量整形策略是在 ISP 的主干上设置的,而不是由 Ubuntu 设置的,因此,如果您有一个非常快速的专用网络并且您自己管理,那么这不是问题(例如:不是公司:如果是公司,请与网络工程师联系,使用的端口)。

TCP 窗口在现代操作系统上是 64K,所以除非你在 DOS (8K) 或内核 2.16 上运行它,如果内存没问题的话 (16K),这也不是问题:

是的,我相信 25 个字节将立即在 Ubuntu 上使用专用网络发送。

相关内容