微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

客户端和服务器在通信时可以使用不同的拥塞算法吗?

如何解决客户端和服务器在通信时可以使用不同的拥塞算法吗?

我正在编写一个 http3(在 quic 上运行)库,并且要求调用者选择不同的拥塞控制算法。我做了一些研究并阅读了这个:

该算法有多种变体和版本 在计算机操作系统的协议栈中实现 连接到互联网。

我突然注意到,除了一些抽象理论之外,我之前从未想过拥塞控制算法是如何工作的(在 tcp 上)。所以这里有一些我不太清楚的问题。

  1. 客户端和服务器在通信时可以使用不同的拥塞算法吗?例如客户端使用 Reno,服务器使用 CUBIC?
  2. 如果是,客户端和服务器使用不同的算法有什么缺点吗?
  3. 如果不是,服务器和客户端如何协商拥塞控制算法?

解决方法

  1. 是的,拥塞控制仅影响从数据发送方到接收方的路径。两个对等方使用的拥塞控制器之间没有耦合。拥塞控制器唯一需要正常工作的是来自对等方的 ACK,这些 ACK 的发送与对等方使用的拥塞控制器无关。
  2. 没有。很常见
  3. 不存在任何协商(甚至没有广告)。你不会知道对方使用什么拥塞控制器。您可能只能根据其传输行为来猜测它。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。