我正在编写一个 http3(在 quic 上运行)库,并且需要由调用者选择不同的拥塞控制算法。我做了一些研究并阅读了这个:
在连接到 Internet 的计算机操作系统的协议栈中实现的算法有多种变体和版本。
我突然注意到,除了一些抽象理论之外,我之前从未想过拥塞控制算法是如何真正工作的(在 tcp 上)。所以这里有一些我不太清楚的问题。
- 客户端和服务器在通信时可以使用不同的拥塞算法吗?例如客户端使用 Reno,服务器使用 CUBIC?
- 如果是,这是客户端和服务器使用不同算法的任何缺点吗?
- 如果不是,服务器和客户端如何协商拥塞控制算法?