码迷,mamicode.com
首页 > 其他好文 > 详细

网速调控、带宽限制原理探究

时间:2014-11-12 21:02:01      阅读:266      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   sp   数据   on   2014   log   ad   

背景:某天我的小黑连着我司某销售的手机热点,自动更新瞬间跑了300M,看在销售脸秒黑的份上赶紧拿工具限住,还别说,挺好使。今儿突然想知道原理,于是抓包看了下,原理很简单,记录一下。

 

限速后抓包发现多了大量的Client向Server发的TCP Zerowindow包和些许Server向Client发的TCP Keep-Alive包,如图:

bubuko.com,布布扣

比对发现,限不限速的滑动窗口大小是一样的,总结原理如下:

1.限速是通过滑动窗口协议控制的,当超过设定的阈值,Client会向Server发TCP Zerowindow包,表示窗口缓冲区已满,此时Server不再向Client传递数据。

2.不传数据时,Server会向Client发TCP Keep-Alive包保持连接。

3.当Client再请求数据时会向Server发TCP Window Update包以更新窗口,Server收到后会向Client继续传数据。

 

既然没有调控窗口大小,所以如果阈值调得很低,就可能会出现控制连接的数据包比正常业务的数据包还多,如图:

bubuko.com,布布扣

 

这也解释了为什么限速为某个定值,实时速度却上下波动。我想网速调控、带宽限制应该都是这个原理吧~

网速调控、带宽限制原理探究

标签:style   blog   http   sp   数据   on   2014   log   ad   

原文地址:http://www.cnblogs.com/btlulu/p/4093436.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!