公众号旧文

两张图告诉你运营商是怎么QoS(给你限速)的

作者:胖子阅读 —

3月11号那天,我做了一件事:

从国内的多个节点去ping我的服务器,而且是持续的ping。

当时我并不知道这样做,结果会怎样。

我一度天真的以为延迟只会在某一个数值上下抖动。

但当我把收集到的数据画成折线图,却发现:

图片

七天ping下来,延迟并不是整体大致成一条直线,而是带波峰波谷的。

再展开昨天的单日折线图:

图片

可以明显看出 :

1、延迟,居然是按不同的时间段周期性变化的

凌晨4点,到早上6点半,延迟最低,只有40,但抖动略高,

傍晚6点半,到晚上10点半,延迟最高,大概110,但抖动很小。

这就有点不对劲了。

2、如果路径没变,那问题出在哪?

我第一反应是,会不会是路由变了。

但检查之后发现,路径始终是同一条,没有绕路,也没有切换。也就是说,物理距离没有任何变化。

那就只剩一个可能:

👉 运营商在搞事情。

3、一个评论,把事情点透了

昨天我把这个现象发出来之后,有读者在评论区提到了一个词:

QoS(Quality of Service)

我之前就在一些光猫和路由器里看到过这个词,但是一直没有去深入了解过,也在网上看到过大家讨论,被运营商QoS了啥的。

4、QoS,其实就是排队规则

QoS 的本质非常简单:当网络不够用的时候,决定谁先用、谁后用。

可以把网络想象成一个公共出口,带宽是固定的,同时使用的人很多,就会拥挤,而一旦拥挤,就一定要排队。

QoS 做的事情,就是制定排队规则:谁可以更靠前,谁必须往后,每个人最多能占多少带宽。

5、上面那两张图,其实就是我在排队

现在再看我画的那两张折线图,就很容易理解了。

凌晨接近清晨时,很少有人用网络,数据包基本上是到了就走,延迟也自然接近物理极限。

白天上网的人陆续多了起来,队伍一会儿长、一会儿短,于是看到的就是延迟忽高忽低。

到了晚上,上网的高峰期来了。这个时候并没有疯狂抖动,反而是另一种状态:队伍一直很长,但长度变化不大,换句话说,不是不卡了,而是一直在排队。

6、原来我们平时,一直就在被运营商“安排”

这件事有意思的地方在于,大多数人是无感的。

平常上网时,网速慢了,会觉得是自己带宽不够;看视频卡了一下,要么等待加载,要么刷新一下继续看;实在卡的不行,那就换个时间再用。

很少有人会去想,这背后是不是有一个分配机制在运作。

7、限速这件事,没那么简单

很多人会把这种现象简单理解为:被限速了。

但更准确的说法是:你并不是不能用,而是在排队用。

QoS 做的事情,就是让这个排队过程变得有秩序,而不是彻底失控。

8、那为什么有些人永远更快?

有些人的网络,似乎总是更稳、更快,高峰期也不太受影响。

他们并不是运气好,而是用的网络不一样,比如精品网、优化线路,或者更高级别的专线。

他们上网速度更快的原因,也很简单:在排队的时候,他们排得更靠前。

9、最后

这件事让我重新理解了网络:

网络从来都不是随便用的,网络是被精细分配的资源。

只是大多数时候,我们没有去观察它。

直到把数据画出来,一切才变得清晰。

如果你也感兴趣,可以试着自己测一测。

也许你会发现,你的网络也在按时间变化。


你还可能感兴趣的文章:

为什么 SecureCRT 和服务器的连接总是断开?

为什么我敢随便Kill进程?

如果你也想有一台自己的服务器,请看过来。

为什么 Linux 里很多程序后面都带一个 d?