路由器里有个你看不到的队列

📅 2026/6/30 5:52:39
路由器里有个你看不到的队列
明明家里千兆宽带但你一边下载一边开王者就不行。延迟能从50ms跳到300ms。为什么呢?你上软件一测。好家伙下载950MbpsPing只有5ms。网速没掉延迟爆炸。缓冲膨胀这个在你家路由器上叫缓冲膨胀英文名叫Bufferbloat。这名字听起来很学术但逻辑却很简单。说白了就是你家路由器网口和WiFi之间、内网和外网之间速度不一样造成的。大家都知道这千兆宽带的光口跑得飞快但上行速率你知道只有多少吗。几十兆。这意味着一旦路由器来不及发出去数据包就需要在某个地方暂存起来。这个地方大家叫它缓冲区。正常状态下缓冲区像一处热闹的高速收费站数据包排个短队就出去了中间停留不超过几毫秒。但现在的路由器内存动不动256MB、512MB让缓冲区也跟着水涨船高可以容纳几万甚至几十万个数据包。可以说很努力在追求突破这没错。但你下载一开、游戏也跑的情况下问题就来了下载流量飙升路由器开始往缓冲区堆数据包 → 缓冲区越堆越满队列越排越长 → 你的游戏数据包进来也跟着排在了队尾 → 从入队到出队时间从几毫秒变成几百毫秒 → 缓冲区吞下所有吞吐量没降数据包一个都没丢 → 延迟原地爆炸。完美。这就是所有测速软件告诉你网速正常而你游戏卡成图片的原因。让我们换个说法并不难理解你深夜出门高速公路上只有你一辆车过收费站30秒搞定.....这就是空载Ping。到早高峰了车多了收费员处理不过来了所有车从队尾排到收费站入口30秒变成了40分钟....这是缓冲膨胀。收费站今天的日通过车数跟昨天完全一样但每辆车在路上的时间翻了800倍...这就是延迟爆炸。简单吧。那测速软件为什么不告诉你也很简单因为现在的测速软件只管吞吐量不管延迟。不管是哪家的它们的基本逻辑都是在你家路由器里面灌一段固定大小的数据掐个时间算速度。这个过程中它们不关心每个数据包排了多久的队只关心最后那一秒总共传了多少。所以你会看到下载950MbpsPing 一切正常。至于这个Ping是不是空载一旦你下载Ping又会飙到多少没人告诉你。实测同一个路由器空载和下载时Ping差了多少有人做过一次完整的排查。家庭网络环境是一台主流配置的千兆路由器宽带1000M/100M。空载状态下Ping稳定在5ms。然后开始跑全速下载。再Ping延迟飙到了290ms。相差58倍。接着在路由器的设置里开启了智能队列管理功能把上下行带宽限制到实际宽带的95%左右让路由器主动控制缓冲区长度。重新测试全速下载的同时Ping延迟稳定在5到12ms之间。几乎和空载一样。下载速度从950Mbps降到了大约920Mbps。就少了30M换来了延迟从290ms掉回12ms。这笔账怎么算都划得来啊尤其是玩游戏的心里更是清楚。那怎么办第一检查你的路由器后台有没有类似选项有就打开。跟上面一样把上下行速率设为你实际带宽的85%到95%留点余量队列就不会被堆爆。第二如果家里路由器没有这些功能那就考虑一下刷机当然这一步需要操作不行就算了别硬上。结论你给运营商交宽带费买的是下行1000M、上行50M测速也没骗你。但你从路由器后台看到的那个Ping值是当前状态下的数据。至于当前这路由器是什么状态只有你知道。这件事测速不告诉你运营商不告诉你路由器自带的设置大概率也没帮你处理。好在现在你知道了。数据来源bufferbloattest.org缓冲膨胀官方指南、figure.rocks网络稳定性实测、timewiki.org缓冲膨胀原理与应对策略综合研究2026