gpt4 book ai didi

linux - 更改每个连接的拥塞控制算法

转载 作者:太空狗 更新时间:2023-10-29 11:16:28 26 4
gpt4 key购买 nike

linux 中的“sysctl”命令现在可以全局更改整个系统的拥塞控制算法。但是,TCP 窗口大小和其他类似参数不同的拥塞控制通常是针对每个 TCP 连接进行的。所以我的问题是:

  • 是否有一种方法可以更改每个 TCP 连接使用的拥塞控制算法?

或者我在这里遗漏了一些微不足道的东西?如果有,那是什么?

最佳答案

这是在 iperf 中完成的使用 -Z 选项 - 补丁是 here .

这是它的实现方式(PerfSocket.cpp,第 93 行):

    if ( isCongestionControl( inSettings ) ) {
#ifdef TCP_CONGESTION
Socklen_t len = strlen( inSettings->mCongestion ) + 1;
int rc = setsockopt( inSettings->mSock, IPPROTO_TCP, TCP_CONGESTION,
inSettings->mCongestion, len);
if (rc == SOCKET_ERROR ) {
fprintf(stderr, "Attempt to set '%s' congestion control failed: %s\n",
inSettings->mCongestion, strerror(errno));
exit(1);
}
#else
fprintf( stderr, "The -Z option is not available on this operating system\n");
#endif

其中 mCongestion 是包含要使用的算法名称的字符串

关于linux - 更改每个连接的拥塞控制算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4688924/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com