我想出了一个想法,如果我们从 TCP 中删除指数退避时间,这将提高 TCP 吞吐量的性能。我也遇到了一篇论文,其中说明了如何去做。只需谷歌“删除 tcp 指数退避时间”,您就会得到它。但是,我无法理解如何进入 UNIX 内核并破解它以改变 TCP 功能。拜托,如果有人可以帮助我,那就太好了。
谢谢。
最佳答案
如果那是真的,为什么会有指数退避?你真的认为开发和发展 TCP 的人添加一些东西只是为了让性能变差吗?然后,人们不假思索地添加了所有不同的操作系统实现?
移除指数退避将增加丢包率(因为拥塞退避不会那么快)并增加延迟(因为路径上每个接口(interface)的队列往往会更深)。这两种效应是相乘的——增加延迟会使增加的数据包丢失更具破坏性。累积效应将对吞吐量造成灾难性影响。
Linux允许一个模块实现TCP拥塞控制算法。所以你可以随心所欲地调整它。查看 Linux 内核源代码的 net/ipv4
目录,tcp_hybla.c
和 tcp_veno.c
等文件。
关于sockets - 如何侵入 Unix 内核以从 TCP 中删除指数退避?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7923993/