计算BDP值和wnd值

网友投稿 368 2022-09-20

计算BDP值和wnd值

计算BDP值和wnd值

​​背景​​​​BDP值算法​​​​sndwnd和rcvwnd算法​​​​使用python计算窗口值​​

背景

优化网络,需要调节wnd窗口值的最佳值.但是找来找去却没有特别好理解的算法.给出的示例和自己计算的结果完整对不上.爆肝了几晚,终于把​​BDP​​​和​​窗口值​​​的计算方法搞明白了,配之后网络效率确实得到了提升. 发此博文希望能帮助小白理解计算过程,帮助到有需要的人.

BDP值算法

参考: ​​BDP简介: 带宽延迟乘积 (bandwidth delay product, BDP)

计算方法:​​​Bandwidth-Delay Product​​​ = ​​delay​​​ * ​​bandwidth​​

​​带宽延迟乘积​​​ = ​​延时​​​ * ​​带宽​​

​​BDP​​​ = ​​宽带_字节_B​​​ * ​​延时_s​​

sndwnd和rcvwnd算法

​​sndwnd​​​是发送窗口,对应上传;​​​rcvwnd​​是接收窗口,对应下载.

计算方法:​​​窗口值_字节_B​​​ = ​​BDP​​​ / ​​MTU​​

使用python计算窗口值

即使给出计算方法,第一次算也会绕的头晕,干脆直接写了python脚本,有需要的拿去直接计算吧.我个人认为注释写的还算清楚,希望需要的人能看懂哈.

"""参考公式:BDP = 宽带_字节_B * 延时_s窗口值_字节_B = BDP / MTU"""def wnd(带宽_兆比特_Mbit, 延时_s, MTU): """ # 计算窗口值_字节_B :param 带宽_兆比特_Mbit: 传入带宽值(小b) :param 延时_s: 传入延时(s) :param MTU: 掺入mtu值(一般是1400) :return: 返回计算出的窗口值_字节_B """ # 128 = 1024 / 8 # kBtye换算Mbit的值是128 # 宽带_千字节_kBtye = 带宽_兆比特_Mbit * 128 宽带_千字节_kBtye = 带宽_兆比特_Mbit * 1024 / 8 # 宽带_字节_B 和 宽带_千字节_kBtye 的换算单位是1024 宽带_字节_B = 宽带_千字节_kBtye * 1024 BDP = 宽带_字节_B * 延时_s # 窗口值_字节_B的单位是字节_B 窗口值_字节_B = BDP / MTU print(f"BDP值是:{int(BDP)}") print(f"窗口值是:{int(窗口值_字节_B)}")if __name__ == '__main__': 带宽_兆比特_Mbit = 500 延时_s = 0.125 MTU = 1500 # 打印窗口值_字节_B wnd(带宽_兆比特_Mbit, 延时_s, MTU)

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:814. 二叉树剪枝 : 简单递归运用题
下一篇:code2vec 代码的连续分布式矢量表示
相关文章

 发表评论

暂时没有评论,来抢沙发吧~