linux - TCP 缓冲速率消耗

标签 linux sockets tcp

我想对 Linux TCP 接收器的速率进行建模 消耗其缓冲区中的数据。我知道这取决于应用程序的情况 开发(如果 MSG_DONTWAIT 启用等...)但是会是什么 最常见的行为?到达时间之间的平均时间是多少 缓冲区中的数据包以及相关的recv() 返回调用?

我想通过发送方的 TCP 调步找到该速率:比如 我更改 TCP 发送方的数据速率,直到接收方窗口 保持稳定,在这种情况下,发送速率将等于 接收器消耗率。我想在用户空间中进行 TCP 调步 但我担心内核会阻止它(即使禁用了 NAGLE 等等...)。

我正在寻找任何可以为我提供此类的提示/论文 信息量

致以诚挚的问候

最佳答案

发送方窗口由(拥塞窗口,接收方窗口)的最小值给出。通常拥塞窗口会慢慢增加并在一段时间后稳定下来。接收方应用程序清除内核缓冲区的速度越快,发送方推送数据的速度就越快。

关于linux - TCP 缓冲速率消耗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24173390/

相关文章:

linux - bash 根据末尾的序列号删除重复文件

windows - CentOS 与 Windows Server 2008

Web 服务器上的 Python 脚本

java - Applet 签名抛出 : java. security.AccessControlException。我怎样才能让它运行?

无数据发送的 60 字节的 Tcp 数据包

linux - 以秒为单位获取 ps aux 开始时间

linux - 在 Linux 上关闭已建立的 TCP 连接

c - 为什么 Sendto() 不在 c 中发送数据包?

c# - 处理远程连接时要听什么 ip? 127.0.0.1 还是实际 IP?

tcp - Google Go EOF 使用 Read() 从连接读取