【问题标题】:Why congestion control is deployed at end hosts为什么在终端主机上部署拥塞控制
【发布时间】:2017-07-17 17:08:41
【问题描述】:

为什么要在发送节点部署拥塞控制流程?

我知道避免在路由器上部署拥塞控制的限制之一是路由器需要维护流状态,这增加了路由器的负担。抛开这个不谈,还有其他限制在路由器端部署拥塞的缺陷吗?

【问题讨论】:

    标签: tcp congestion-control


    【解决方案1】:

    确实存在需要路由器支持或部署在路由器中的拥塞控制。一个例子是 XCP (https://www.ietf.org/proceedings/61/slides/tsvwg-5.pdf),其中路由器分配带宽而不保持每个流的状态。另一个是数据中心 TCP,它使用路由器提供的 ECN 标记来检测拥塞程度。这两个示例适用于具有一个权限的网络。在互联网上有许多具有不同目标的权威/行为者。如果我们将拥塞控制放在路由器中,我们选择什么样的拥塞控制策略?

    假设您有两个流,A 和 B,以及两个路由器,R1 和 R2。 R1 的容量为 100Mbit/s,R2 的容量为 10Mbit/s。流 A 仅流经 R1,流 B 流经 R1 和 R2。假设我们平均分享 R1 的容量,A 和 B 各获得 50Mbit/s。 B经过只有10Mbit/s的R2,所以无法使用R1给它的50Mbit/s。在这种情况下应该怎么办? R1 应该可能会更改分配,但如何?如果路由器位于互不信任的不同域中,则协商是不可能的。路由器不信任终端系统,因此终端系统无法将分配信息传达给路由器。

    在我看来,主要问题是定义一个互联网中所有参与者都接受的拥塞控制策略。在终端系统中进行拥塞控制的一个强有力的论据是端到端原则。 TCP 拥塞控制是传输层功能,不应在 Internet 层实现,因为并非所有传输层算法 (UDP) 都使用它。

    【讨论】:

    • 根据Maxmin Fairness,分配时间为90:10。通过将公平写入目标函数,例如 max sum(log(f_i)),i 是每流率,给出比例公平。然而,这个主要问题是由终端节点(控制流量)而不是路由器来解决的。对偶问题可以通过路由器来解决。这取决于如何制定问题。一些分布式算法可以解决与此问题类似的多商品流问题。但是,它们部署在很小的区域(例如 WSN)。我想知道的是在计算方面存在实际限制。
    • 你的评论很清楚。不过,我可能需要更进一步。
    • > 我想知道的是在计算方面存在实际限制:在数据中心环境中,路由器/交换机应该每秒处理尽可能多的数据包。在路由器中引入拥塞控制很可能会引入更多的开销,而不是在防止拥塞方面提供的收益。第二个问题是路由器之间协调分配的通信开销。反对路由器拥塞控制的主要论据是端到端原则。拥塞控制不是网络层的一部分。
    猜你喜欢
    • 1970-01-01
    • 2018-06-19
    • 2021-08-02
    • 2013-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多