最大最小公平性(Max-min Fairness)的学习记录

思考源头:

遇到一道很有意思的题,关于带宽分配的最大最小公平性(Max-min Fairness)原则。如图1所示


图1:最大最小公平性



解决思路:

众所周知,关于发送方的流量控制,就是滑动窗口机制了,但只知窗口,还是得不到速率。拥塞避免也是在解决窗口的问题,同样得不到速率。查了很多资料了,最后发现其实还是与拥塞控制相关,引起带宽竞争。这就要用到最大最小公平性原则



最大最小公平性原则的核心思想:

最小流量的最大化

                                                                    


图2:核心思想






分配流程:

(中学老师说以水流类比电流,这里同样可以用水流理解)

1. 所有数据流的速率从零开始

2. 增加速率,直到任何一个数据流的速率到瓶颈

3. 调整已到瓶颈的速率(这里是不带权的调整,即均分)

4. 回到第二步循环


图3:分配流程





Example:

这里有4条数据流。这里特别注意,是4条逻辑上的线路实际与图一的原题目连接一致

(例:若已确定数据流D在R4和R5两跳之间速率为1bps,整条数据流D的速率均为1bps)


图4:Example





我的思路是:由于R4-R5“竞争最激烈”,所以要从此开始先“填满”R4-R5。达到瓶颈后,速率平均分配,为1/3个单位的带宽。

(本例将1个单位的速率均等分配三份,BCD各为1/3个单位,如30Mbps三等分后为10Mbps)



图5:第一个瓶颈





随着BCD流的确定,R5和R6两跳之间最大为C与D流之和:1/3 + 1/3 = 2/3

因整条数据流B均为1/3个单位,所以在R2-R3两跳之间剩余2/3个单位。增大流A,当其达到2/3个单位后,R2-R3两跳达到瓶颈。此时流A也确定了。


图6:第二个瓶颈





老师的模拟的适应过程更接近真实情况,网络的流量基本上都是突发的,带宽是都是动态变化的。


图7:真实情况的模拟


回到思考源头:

按以上思路:R5-R6两跳含3个数据流,30Mbps三等分后得10Mbps。R1-R2-R3能分得20Mbps。

故最高为R1-R2-R3:  20Mbps;其他均为最低: 10Mbps。选D。




融入了很多个人理解,若有不足之处还望指正。



引用:

https://baike.baidu.com/item/%E5%B8%A6%E5%AE%BD%E5%88%86%E9%85%8D

https://www.cnblogs.com/JAVALLiuLei/p/9510233.html

https://youtu.be/wRX7o4xuwRc

你可能感兴趣的:(最大最小公平性(Max-min Fairness)的学习记录)