Advanced Computer Network Review(4)——Congestion Control of M
来源:http://www.tudoupe.com时间:2022-06-09
本文概述了MPTCP的交通堵塞控制,参考文献如下:
设计、实施和评价多路径TCP(NSDI'11)和教师PPT的拥堵控制。
订正 概要 中 要 理解 的 问题 是 :
1.MPTCP交通堵塞控制的目标
2.理解FTCP和耦合
3.EFTCP和耦合可以确定他们接收的带宽
MPTCP交通堵塞控制目标
本部分是我本人的理解和结论,从本文中可以看出,MPTCP的交通堵塞控制有两个目标:
1.确保采用MPTCP不会对现有网络流量造成严重干扰(例如公平)
确保尽可能高的吞吐量
如原论文所述:
The basic question we set out to answer is how precisely to adapt the subflow windows of a multipath TCP so as to get the maximum performance possible, subject to the constraint of co-existing gracefully with existing TCP traffic.
“我们打算回答的基本问题之一是,如何精确调整MPTCP分流窗口,在现有的TCP流动与和谐共存的约束下达到最大可能的性能。
理解FTCP和耦合
MPTCP协议基本上是传输层的中间体,其主要目的是将数据流传输到多个路径。一个TCP连接管理多个子流每个分流可以在网络中进行自由选路并且每个子流都保持在属于自己的私人发送窗口
W
r
W_r
W
r
MPTCP的发送器在任何分流发送窗口过载时发送数据给它们,这是MPTCP的简要概述。
首先,从故事的一开始,原始的TCP(Regular TCP)中的拥堵控制算法如下。
这与前BBR中提到的经典的TCP拥堵控制相一致,并具有一些特性,如AIMD(加法、乘法、减法)、高吞吐量波动、激进算法等。
如果在MPTCP场景中直接使用原始的TCP拥堵控制那么MPTCP的每个分流将是独立的竞争者身份与原始的单路径TCP流的竞争显然对单路径TCP有害。假设RTT是相同的一个带有 n 次流的 MTPCP, 最终获得的带宽将是 n 倍于单一路径 TCP 的带宽, 严重破坏网络的公平性,无法与现有的TCP流量实现和谐共存。
第一个解决的问题是公平性一个非常简单的想法是给每个流带宽它能得到加权限制然后导出了等重量的TCP拥堵控制算法:
这个算法有一个重要的结论:每个子流都会收到发送窗口值等于
a
2
a^2
a
2
这个结论的证明可以在另一篇论文中找到,这篇论文在这里总结。
那么你就能看到,如果你拿 a = 1 n a = frac{1}{sqrt{n}} a = n 1 ,并且假设RTT值都相等这将使MTPCP具有 n 个子流的整体可能在瓶颈链路上实现与单路径TCP相同的网络带宽,从而迫使分配的公平。 (根据EFTCP协议的MTPCP实体,不管它控制多少次流,总带宽并不超过单路径TCP实体)
当 n = 1 时, EDTCP 返回到常规的 TCP 拥堵控制算法。 此外,在 EFTCP 算法中涉及的 MPTCP 的每个分流是相互独立的(因为它 W r W_r W r 进行交通堵塞控制),因此即使一个分流被封锁,其他分流也不会变得更激进这确保MPTCP实体不能超过单一路径TCP的总带宽。
EWTCP在宽带竞争中实现公平,但是, 该 文件 还 指出, EDTCP 不能 有效 地 使用 链路 ( 缺乏 动态 适应性, 缺乏 效率,就像上面说的,如果一个子流被封锁,它不会影响其他子流,然而,MPTCP所取得的总带宽实际上减少了。本文给出的典型例子如下:
三个n=2MTPCP使用EWTCP以争夺12Mb/s的三个带宽。使用EWTCP的结果是每个三个频道的带宽为4Mb/s.每个MTPCP实体所接收的总带宽为8Mb/s,但最佳解决方案是每个MPTCP获得12Mb/s带宽也就是说,MPTCP只运行一个链路,所以它不能直接运行程序(写得累,笑),但EWTCP不能单独找到这样的最佳解决方案,而是执行一个看起来“公平”的亚最佳解决方案。
本文指出,有理论证据表明:对于多路运输,最佳解决方案总是将所有交通转移到最低的拥堵路径.还有一种算法,理论上证实了最佳的解决方法可以自适应地找到,而不需要堵塞检测,那就是耦合算法:
其中
W
t
o
t
a
l
W_{total}
W
t
o
t
a
l
属于一个MPTCP实体的管辖范围所有子流发送窗口的大小为了了解这项协议,有两个条件:
每条线路的交通堵塞程度均等
在这种情况下,没有对选择路径的适应问题,即每个子流可以 roughly 按照指定的发送窗口的大小运行,但有一个基本的规则要尊重(笑)。每个子流的发送窗口增加,发送窗口减少,并且在长期内必须相互抵制是解决以下方程(p是损失率,1-p是成功传输的概率):
解出来发现
W
t
o
t
a
l
=
2
(
1
−
p
)
(
p
)
≈
2
p
W_{total} = sqrt{2(1-p)(p)} approx sqrt{frac{2}{p}}
W
t
o
t
a
l
=
2
(
1
−
p
)
(
p
)
≈
p
2
这 直接 指出 另一个 重要 的 结论 :在耦合算法中,MPTCP的每个分流所获得的总带宽仅与链路的包丢率有关这证明了 COUPLED拥有自然广泛的竞争公平每个链都有相同的数据丢失率。
2.拥堵程度从链到链不同
首先,注意在耦合算法中,对于每个子流,每个增加或减少的窗口值为所有子流均匀,只与那个时刻的
W
t
o
t
a
l
W_{total}
W
t
o
t
a
l
类似的拥挤的链条更多数据包将在指定的时间内丢失长期而言,最终算法将逐渐将其流动集结为低拥堵链,从而认识到EFTCP没有实现适应性功能。
更 有趣的 是, 案文 中 提到 了 一 项 结论 :交通从高负载链转到低负载链使整个网络的损失率逐渐趋于平衡。这意味着如果实现耦合算法,状态2最终将转变为状态1过渡(惊喜),最终当实现收敛时,每个MPTCP实体获得等价的全球链路带宽这直接导致了这个问题的下一个部分: 如何计算?
EDTCP和Coupled取得的带宽的判断
事实上,文章写在这里,问题已经更明显了,举个例子在报纸上:3.1EWTCP的计算
ForEWTCP,它倾向于友好和每个竞争者保持公平分配因此,在左上图中,12Mb/s和10Mb/s链同样被划分。
- 带宽A将得到:5+6 = 11
- B获得带宽:6+5 = 11
- 通过C得到的带宽:5+3 = 8
3.2耦合的计算
首先,根据上面的解释,每个MTPCP实体得到一个等价的全球链路带宽,因此它们最终得到的带宽是均匀的,设置为均匀的x。设以下未知量:
写一个方程,解决它,就够了。
事实上,耦合算法也有自己的问题(适应负载变化和RTT不匹配问题),这些在论文后面提到,并给出相应的补偿方案.最后, 提出了完整的MPTCP拥堵控制算法.有兴趣自己康康吧,考试后我马上派你去。
上一篇:win10怎么关闭总是询问
相关新闻
- 2022-08-04 WPF的由来
- 2022-08-04 Win11勒索软件防护怎么打开?Win11安
- 2022-08-04 Windows系统jdk的配置
- 2022-08-04 Windows10 OneNote怎么重新登录?如何重
- 2022-08-04 超好用的 Windows 效率工具推荐
- 2022-08-04 Windows如何在CMD或PowerShell中配置代理
- 2022-08-04 powershell和cmd对比
- 2022-08-04 【QT】Windows下QT下载安装
- 2022-08-04 windows下 C++ 实现类属性的get和set方
- 2022-08-04 Win11快速助手在哪里?Win11打开快速
|
|
|
|
|
|
|
|
|
|