记一次路由器频繁掉线问题的分析、解决与发展
本文记录了一次解决由DHCP服务器设置导致的频繁掉线问题的发现思路与解决办法,并在此基础上拓展了解PPPoE协议,给出无线路由器和光猫的配置思路。
一.前言
刚搬新家(两个多月了),办了电信的300M光纤,送了一款小米的AX2100的电信定制版路由器。在这两个月的实际体验来看,每1个小时就会掉一次线。最终忍无可忍,想办法去解决这个问题。
二.问题分析
2.1 软件问题?
首先这种频繁掉线重启的情况,我首先考虑到会不是是路由器的硬件问题,导致的软重启?但是看了看两个路由器的日志,结果发现没有问题。然后按照网上提供的一些路由器的最佳固件,进行了固件烧录,还是没有解决。
2.2 硬件问题?
随后想一想是不是硬件问题,因为最近天实在太热了,会不会是因为路由器温度过高?于是自己做了两个USB风扇,分别放置于光猫和无线路由器的下面,温度降低了10℃多,但是体验下来,掉线的情况依旧存在。
2.3 运营商问题?
后来排除了软硬件的问题,就开始怀疑运营商,是不是运营商在我们小区的设备有问题,设备经常重启?事已至此,考虑给运营商打电话了。在此之前我还是想自己再试一试,毕竟请师傅来也挺麻烦的。得他有空,我有空,还不能被疫情耽搁。
三.深入
3.1 更换硬件
考虑到会不会是小米路由器的问题,毕竟网上也成天有人叫着“小米断流”这几个字,三人成虎,再加上身为米粉的我,还从来没买到过次品,感觉说不一定这次让我遇上了。
于是乎,我又斥巨资买了某款非小红米系的,性能更好的5400级的路由器。使用一天后,还是出现了闪断的情况(RNM,退钱!!!)。没办法,也懒得退了。
3.2 软件问题
在逛商品评论的时候,看到了有人推荐把无线路由器设置为PPPOE
的拨号模式,我想,好像是这样,光猫的配置界应该不是最底层的配置,华为光猫的应该是经典橘蓝配色的配置界面。于是乎尝试寻找是不是光猫有什么暗桩,特殊的地址。好家伙,最后发现就在底部,只是没有用特殊字体标注超链接:
然后一个DHCP
引起了我的注意力:
一小时!时间吻合了!问题找到了!?
四.探索
因为之前在使用ESP32
系列单片机时,使用lwIP
的时候看过一些DHCP
的东西,正好就乘这次机会深入的搜索了一下。百度搜索了一个小时,没有找到更多深入的答案。于是很多东西是在Google
上搜索的。这次得出一个结论:某度真就是个垃圾,彻彻底底的垃圾。
4.1 DHCP
在2012年左右,我跑去大嬢家上网的时候,惊奇的发现他们家的电脑不需要开机后点击宽带连接
,直接就能上网,这就是我第一次接触DHCP
(只是不知道这是啥玩意儿,但就是牛皮)。
4.1.1 原理与作用
底层原理这里就不过多阐述,以免影响阅读体验。那么DHCP
的作用是?如其名Dynamic Host Configuration Protocol
——动态主机配置协议。
在我们上网时,假如多个设备需要连接到同一个网络时,那么如何确保这多个设备接收到的东西是他们自己想要的呢?毕竟网线只有一股。那么这个就得靠IP
去分辨,一个ip
就可以理解为一个通信地址,只需要给他们分配不同的ip
作以区分,那么就可以保证从电信那条网线传过来的数据,能准确的到达想要去的设备。但是问题就来了,如何给设备设定ip
?
我们可以手动设置它的ip
,但这种方法往往不太好,假设有254台设备,那一台一台设置不就是折磨人?而且还容易出错。
后来DHCP
的出现,就能够让我们的软件,自动给它的子设备分配IP
。这就是DHCP
的作用。
4.1.2 概念与流程
介绍DHCP
,我可以举个这个例子。你可以把DHCP
理解为网吧的一个网管,而你就是那个周末一放学就冲向网吧的那个客户。DHCP
的流程如下:
- 放学啦,冲冲冲。“网管儿,给我开台机子,充20块(4小时)”。那么开的
这台机子
就是网管
给你分配的ip
,4小时
就是网管
给你这台机子
的租期。 - 在你打团前一看,我去,还有30分钟就要
下机
了,你便向网管
大喊:“网管
,加20
”。这就是你
向网管
续约 - 如果在
到时下机
前没有续费,那网管
就会把你的网断掉,然后这时你再找网管
续费,后面依然可以继续上网。但是从下机-续费-上机
这期间你就没办法参与打团。也就是导致我们路由器闪断的原因。
整个DHCP的流程也是一样。客户端向服务端发起请求,申请一个ip
;客户端申请的ip
要过期了,就再给服务器说,再续一哈。
4.1.3 意外
那么知道了我的光猫的租期是1小时候,为什么还会出现掉线呢?问题就在于,我是无线路由器连接光猫,我也不知道无线路由器为啥不续租啊?可能这是一个BUG
,两个路由器均存在不主动续租的情况。于是乎,将DHCP
服务器的租期时间改到1天或者1周,频繁掉线的问题解决。
4.2 PPPoE
网友说的PPPoE
又是什么?这就很复杂,就懒得解释了,不然篇幅不够。康娜喵如是说道,时不时说出一些什么OSI七层模型
、数据链路层
,整得大家哄笑连天。
这里简要做个解释,PPPoE
就是"包含"宽带账号和密码的一个封装在数据链路层的协议,便于电信对你的访问数据溯源与计费。这些都是路由器搞定的,跟你没有任何关系(当然你得给路由器供电,电费和你有关系)。
4.3 DHCP和PPPoE对比
两者的定位就不同。
DHCP
用于你上网前,获取ip
地址。就像你只管喊网管开机,网管不关心你玩儿什么。PPPoE
是一个通信协议,它无时无刻不存在于你发给电信的数据中。DHCP
不参与你的通信,所以DHCP
不会对上网产生额外延迟。但是DNS
会影响哦
4.4 自动拨号
如果我们让光猫参与拨号,并开启DHCP
后,那我们光猫后所有的设备,都不需要再向电信发起拨号了。因为你从光猫后面设备发到光猫里的数据会被光猫加入这些信息,再调制成光信号发给电信机房。
如果我们把光猫设置成桥接模式(这个会自动关闭DHCP
),让路由器设置为拨号+DHCP
。那么无线路由器后面的设备就不需要自己拨号了,即插即用。如果此时你把电脑网线接到光猫上,那么电脑还是需要拨号的。很大程度还拨不上号,因为你的无线路由器占用了这个号。但此时光猫的压力会变小,毕竟少干了一个活。
所以谁拨号,谁就有额外开销。
(可能有误,自己的理解)。
五.设置
注意,修改拨号方式需要提前准备好自己的上网账号密码。如果不知道就联系自己的师傅,或者打电话问工作人员。我装宽带的时候就要到了
那么到底是让光猫拨号+DHCP
呢,还是光猫桥接+无线路由器拨号并DHCP
呢?我的策略如下:
- 光猫配置比无线路由器好:那就光猫拨号
- 无线路由器比光猫好:那就无线路由器拨号
妥妥的废话文学,那么怎么判断光猫和无线路由器谁好呢?
- 比如我这个光猫只有一个
千兆口
,三个百兆口,无线路由器有四个千兆口
。那么一般来说,无线路由器“可能”主频比光猫高,因为更多的主频更高的网口,一般来说,肯定对性能要求更高。 - 如果两者都全是千兆口,那就两种方式都可以试试,其实差距不是很大。
5.1 光猫拨号DHCP
可以看到,光猫显示的有获取到的IP
-
光猫
这里可以看到我们四个WAN口,一个用于PPPoE
拨号。
-
无线路由器
5.2 光猫桥接
此时光猫没了IP
地址,一心一意,只管把收到的数据打包成光信号发出去。
- 光猫
- 无线路由器
IP都差不多,DNS也一样。这就配置好了。对了,记得把无线路由器的DHCP
租期调高一些,对少量设备用户友好(当然如果这个路由器天天有几百个人来连接的话除外)。
5.3 重启
因为目前来说,路由器的主流操作系统都是linux
,比如小米的是基于openWrt
深度定制的一个。
如果他们程序员技术高超的话,那还行。如果这些路由器背后的代码是屎山代码,那你也不知道它有没有内存泄露,垃圾有没有回收。更何况现在路由器还可以加一大堆插件。
所以,我们可以尝试每天在不上网的时候断一断网。(情况特殊的用户慎用)
六.后记
希望大家能有个更好的上网环境,包括但不限于物理环境。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)