开始新对话

未解决

此帖子已超过 5 年

10785

2015年3月3日 00:00

假宽带真相

央视的【每周质量报告】做过一期关于网络的节目,叫“假宽带真相”。大意是说某些运营商的带宽远远达不到其承诺的标准,360的测速软件也“有明显的设计缺”,所以测出的结果远高于真实带宽。

作为技术型公知,我当然不会错过这样的机会,当即就用Wireshark验证了一下。这一试才知道,原来网络测速包含了不少知识点,所以便写出来和大家分享。

我家用的是中国电信的10M宽带,从官网测到的结果如图1所示,下载速度达到1235KB/秒,差不多是10M了。在不同时间段测试多次都是一样结果。

1


注意:中国特色的宽带服务是以下载速度为计算标准的,其实上传速度慢很多,上下行带宽严重不对等。这就是为什么你会在图1看到上传速度只有2M。本文不关注这一点,所以只分析下载速度。


这个速度是怎样测出来的呢?我用Wireshark抓了个包,且看下面的分析。

1.点击WiresharkStatistics菜单,再点击Conversations选项,可以得到图2的窗口。从中可见测速过程中用到了5TCP连接在下载。因为端口号是80,所以应用层协议应该是HTTP

2


为什么要选择5个连接,而不是更多或者更少呢?其实连接数的选取很有讲究。之所以用多个连接,是因为一个连接不可能时刻都在传输,有时候它不得不短暂停滞。某一个连接停滞时,其他的还可以继续传输,这样就能最大限度利用带宽。图3是其中一个连接的“Time/Sequence Number”坐标图,我是在Wireshark点击Statistics菜单àTCP StreamGraphàTime-Sequence Graph (Stevens)来生成它的。

3


对这个连接而言,传输过程中遭遇了多次停滞,比如最严重的是0.3秒到7.8秒之间,Sequence值几乎没有增长。在这段时间里其他TCP连接仍在正常传输,所以带宽一点都没有浪费。

之所以没有用更多的连接数,是因为多到一定程度就没有意义,甚至会导致TCP的拥塞控制失效。拿快递公司类比一下,假如现在有100个包裹,那由10个快递员派送肯定比1个快递员更快。但快递员多到一定程度就没有意义了,说不定还会导致混乱。一个网络中究竟用多少个连接数最好,是需要测试的,估计技术人员测试下来的最佳连接数是5

2.再回到Wireshark的主界面。如图4所示,在测试开始之前,客户端是用一个GET方法查到下载源的,即http://101.95.50.3/test.img。这种查询机制不错,因为不会受到DNS污染的欺骗。


4

3.获知下载源之后,就可以建立5TCP连接下载了。图5是其中的一个连接,从Time一栏可见响应速度相当快,这是因为101.95.50.3位于上海的电信机房中,离我家不远。而且这应该是一台专门用来提供测速的服务器,很可能被全面优化过了。不过再怎么优化都不算作弊,电信承诺的10M本来就是理想状态下的带宽。看来央视曝光的假带宽问题没有发生在我身上。



5


注意:高带宽并不意味着上什么网都快。影响性能体验的因素很多,除了带宽,还有跨运营商、延时和服务器性能等。就算你家里有100M宽带,靠VPN连到国外网站看视频也可能很卡。


那作为第三方的360测速是否真的“有明显的设计缺”呢?我下载到了两个360测速软件,先来看第一个。如图6所示,测出来的带宽为8M,略低于电信官网。


6

再用Wireshark分析。从图7可见,360也选择了5TCP连接来下载,端口号也是80,和电信的方式一致(这是最佳连接数为5的另一个证据)。原理是一模一样,差别只是服务器的响应速度和往返时间。我家和电信服务器之间的RTT(往返时间)是3.5毫秒,但和360服务器之间是4.9毫秒,这也许就是结果略有不同的原因。



7

从这个工具看,360测速并不存在“明显的设计缺”,否则电信官网也算设计缺陷。于是我决定试一下另一个360测速工具。从图8可见,其结果接近10M


8

再用Wireshark分析。从图9可见,这次除了HTTP下载,还有不少数据是通过P2SP的,传输层走的是UDP协议。央视采访的那位专家估计也看到同样的现象,所以认为这是一个设计缺陷,说“这种P2SP测速方法,它会去选择一些同样安装了这款软件的其他的连接节点来进行测速,只要其中有一个节点,它是在这个用户同一个小区宽带的子网里面,它的这个链路质量就非常好,网速就非常”。我有点怀疑这个推论,因为我测了几次的结果都差不多,假如真有一个节点在我们小区里,应该能从图9的统计表中看出来。



9


这个工具还有测试“长途网络速度”的功能。从Wireshark可见该功能是纯粹用HTTP测试的。我认真地检验了其访问的服务器,确实属于正确的运营商,也分布在不同的城市。截图没有新意,所以就不贴出来了。

综上所述,360测速软件还是有节操的,它体现的是模拟现实的网速,包括HTTP(浏览网页和刷微博之类的)和P2SP(比如迅雷下载)。电信提供的测速也没有作弊,不过它体现的是一个接近理想状况的网速。那为什么央视说有些宽带不达标,但360测速软件却给出很高的带宽呢?我认为这不是P2SP导致的,而是因为这些运营商侦查到360正在测速,于是立即劫持,转变成在限速点之内测速了。因为我抓不到这种包,所以就不多作评论。

最后声明一下,我写这篇博客不是给中国电信广告或者为360正名,只是想借助这个话题演示一下Wireshark的应用场景。几乎所有和网络相关的问题都可以用Wireshark来探索学习,有时候小用一下就能比专家们看得更远。我对带宽缺斤短两也很不在乎,因为从来不下载电影或者美剧。我在家的上网时间几乎都用在GoogleWikipedia上找文章了,所以对我意义更大的是能否稳定地连通。之前使用的宽带因为拦截VPN端口,所以被我退掉了,不久前才换成电信。

2 Intern

 • 

4K 消息

2015年3月3日 01:00

支持Wireshark案例分享~

这年头码农和电工们不准备几个VPN都不好开展工作了阿...

2 Intern

 • 

3.2K 消息

2015年3月3日 05:00

说到美剧 偶只看

QQ图片20150302224456.png

QQ截图20150302224913.png

QQ截图20150302225156.png

2 Intern

 • 

2.8K 消息

2015年3月3日 17:00

文章很精彩,学习了。沿着作者下面的原话进一步打开脑洞,会不会电信的ACL规则中有这么一条:360的测速地址带宽不限速。

我认为这不是P2SP导致的,而是因为这些运营商侦查到360正在测速,于是立即劫持,转变成在限速点之内测速了。

2 Intern

 • 

2.8K 消息

2015年3月3日 17:00

恩,那也是!以前听过在电信中心机房用BT下载搞坏硬盘的事例,不限速测出来速度应该很高!

107 消息

2015年3月3日 17:00

不会,如果不限速,会出现极高的结果。

2 Intern

 • 

2.8K 消息

2015年3月3日 18:00

补充一下楼主提到的中国特色宽带的知识,中国大部分宽带用户使用的是ADSL技术,ADSL线路是非对称数字网,下载速度与上传速度之比是8:2。

带宽的单位是Bit(位)。数据大小的单位是Byte(字节)


1 Byte(字节) = 8 bit(位)

512Kbps 看清楚是Kbps不是KBps 这个相差8倍

512Kbps=64KBps


几乎所有的软件在速度里用的都是KBps单位。

2M宽带,就是2M bit/s .也就是2048 K bit/s

2048 K bit/s = 256 K Byte/s (也就是256 KB/s)

2M宽带下载速度极限是256KB/s 上传速度极限是64KB/s (ADSL线路)

512Kbps宽带下载速度极限是64KB/s 上传速度极限是8KB/s (ADSL线路)

4M宽带下载速度极限是512KB/s 上传速度极限是128KB/s (ADSL线路)

2 Intern

 • 

4K 消息

2015年3月3日 19:00

理论上可以一样,但是电信在局端和账户上都做了限制,除非是电信员工,可以偷偷解除这个限制,甚至还能单线或多WAN多拨并叠加带宽,但叠加也只能叠加下行,上行是不行的。

2 Intern

 • 

2.8K 消息

2015年3月3日 19:00

上海新小区大部分跑FTTH协议的用户,带宽上下行速度都是一样滴。

2 Intern

 • 

4K 消息

2015年3月3日 19:00

现在运营商都在走“光进铜退”、FTTx的战略,光纤入户会越来越多,不过上行带宽被限制是肯定的,技术上限制你提供各种互联网服务。

1.6K 消息

2015年3月4日 06:00

长知识了。顺便问一句,哪个宽带拦截VPN端口啊?

2 Intern

 • 

4K 消息

2015年3月6日 01:00

个人用过的电信联通L2TP、PP2P、IPSec、SSH协议都正常...

107 消息

2015年3月7日 16:00

有线通

找不到事件!

Top