计算BDP值和wnd值
背景
优化网络,需要调节wnd窗口值的最佳值.但是找来找去却没有特别好理解的算法.给出的示例和自己计算的结果完整对不上.爆肝了几晚,终于把BDP
和窗口值
的计算方法搞明白了,配之后网络效率确实得到了提升.
发此博文希望能帮助小白理解计算过程,帮助到有需要的人.
BDP值算法
参考: https://docs.oracle.com/cd/E56344_01/html/E53803/gnkor.html BDP简介:
带宽延迟乘积 (bandwidth delay product, BDP)
计算方法:
Bandwidth-Delay Product
= delay
* bandwidth
带宽延迟乘积
= 延时
* 带宽
BDP
= 宽带_字节_B
* 延时_s
sndwnd和rcvwnd算法
sndwnd
是发送窗口,对应上传;
rcvwnd
是接收窗口,对应下载.
计算方法:
窗口值_字节_B
= BDP
/ MTU
使用python计算窗口值
即使给出计算方法,第一次算也会绕的头晕,干脆直接写了python脚本,有需要的拿去直接计算吧.我个人认为注释写的还算清楚,希望需要的人能看懂哈.