0x01 前言

我家里的网络结构有点复杂,而我在房间里通过MacBook使用Wi-Fi会随机性的发生“断流”的情况,具体表现是Wi-Fi显示是已经连接上的,网络却不同,数据包不能到达路由器。

经过一周的Google,终于找到一个有效的解决办法。也就是通过修改路由器中的 Beacon Interval 这一项参数。

0x02 水星路由器的 Beacon Interval

我家里有四种型号的路由器,分别是极路由三、极路由1S、水星MW305R和已经闲置的TP-Link便携式路由器。经过我的测试,除了极路由三,其他路由器在隔一道墙的情况下通过MacBook的Wi-Fi连接都会出现上面所说的情况。可惜的是极路由三在我家是当网关用的,不能移动或替换。

而极路由的控制面板并没有Beacon Interval这个可设置的参数,因为增减Beacon Interval的值可以达到节能的效果,我想极路由的节能设置是不是更改这个值呢?因此我使用水星MW305R这个路由器给我MacBook使用

Beacon Interval 在水星 MW305R这个型号的路由器里的名字是“Beacon时槽”,这个设置在 无线设置–>无线高级设置 里,而默认值是100ms。图中我设置为40ms

水星 MW305R
水星 MW305R Beacon Interval

0x03 这参数究竟是干嘛用的?

粗略Google一下,对于这个参数的解释可以简单理解为:信标发送的时间间隔,值设置得越小,单位时间内信标发送的次数就越多。例如:值设置为1ms,那么计算时间1秒内就会发送1000次信标;如果设置为100ms,计算时间1秒内会发送10次信标。

0x04 那这个Beacon是干嘛用的?

这个信标发送的数据包包含有路由器的SSID、时间戳与其他的一些信息,而这些数据都是你的设备与路由器通讯所必要的。如果某些时刻信标连续丢失,这会导致Wi-Fi断开或Wi-Fi还连接着却ping不通网管的情况发生。

提高该值可减少单位时间内信标发送的次数,但是在某些情况会导致信标丢失,例如在信号不好的时候。高数值的情况下还能使客户端达到节能的效果,而网络速率也会有所增加。

降低该值可增加单位时间内信标发送的次数,但是这会使客户端的能耗增加并且有可能使得网络的吞吐量减少。

0x05 实验

不知道是不是我英语不好导致我的理解有误还是其他原因,对于我所了解的增减该值而导致的网络延迟和吞吐量的变化情况和我实际测试的有点区别。但可以确认一点:在有承重墙阻隔的情况下,将数值设置大点,MacBook Wi-Fi的问题确实可以得到很大的改善。也有可能是因为我前几天升级过路由器的固件,然而固件的最新版本日期是2014年的。

下面通过将该值设置为100ms、200ms、500ms和40ms,通过下载大文件测试网络延迟、下载速度和丢包率。

当设置为100ms时的情况:

  • 延迟:50ms左右
  • 下载速度:3m/s左右
  • 丢包率:少量

WeChat_1465211065

当设置为200ms时的情况:

  • 延迟:100ms左右
  • 下载速度:1m/s左右
  • 丢包率:无

WeChat_1465210866

当设置为500ms时的情况:

  • 延迟:80ms左右
  • 下载速度:3m/s左右
  • 丢包率:少量

WeChat_1465211439

当设置为40ms时的情况:

  • 延迟:100ms左右
  • 下载速度:2.5m/s左右
  • 丢包率:无

WeChat_1465210550

0x06 设置建议

如果你是游戏玩家,可以尝试将数值稍微降低甚至设置为50~40,可有效减低延迟;如果你只是普通的家庭使用者,那么设置为100~200可以提高稳定性。

因为我的知识所限,表达的不一定都对。如果对我的这篇文章存在异议或者想给我提建议、提问题,请在下面的留言栏里留言。感谢你的浏览!

0x07 相关资料