问题描述:
手机聊微信、电脑看新闻联播(没夸张,真的在看央视影音央视一套人与自然栏目第20200313期天坑探秘节目)正High着,突然就没网络了。。
掉线了?而且是手机和电脑同时掉线。
进路由器后台,打不开,因为掉线。
Wifi掉线很好解决,重新连接就完事了(毕竟重启解决90%的问题,重装解决99%的问题)
但是问题是啥?
问题定位:
重新连接后打开路由器后台,看日志:
240 8days, 02:51:27, DHCPS: Send OFFER with ip 192.168.0.102 241 8days, 03:42:39, DHCPS:Server id not found and request an invalid ip
242 8days, 03:42:39, DHCPS: Send NAK 243 8days, 03:42:41, DHCPS:Server id not found and request an invalid ip
244 8days, 03:42:41, DHCPS: Send NAK
第241和243段日志标出了问题。
百度DCHP,看协议的具体协商应答过程:
因为我家多个路由器,移动光猫自身路由器A+路由器B+路由器C,其中光猫路由器A和B构成一级局域网,一级局域网只有光猫DCHP服务器。AB网络下面还有一个C,两个嵌套构成了一个二级局域网络(AB+C),二级局域网由路由器C的DCHP服务器负责分配IP:
其中AB的DCHP服务器ip地址设置为http://192.168.1.XXX,C网络的DCHP地址段为192.168.0.1XX(即IP是不会重合的)。
我的手机和电脑主要在C路由器下面即二级局域网中活动。上述错误日志也是在C路由器中看的。看起来问题在于电脑和手机同时请求了一个错误的IP地址,DCHP服务器的id也是错的。
问题推断:
综合网络环境来推断:
手机和电脑不知道咋回事对AB网络进行了ip请求,但是发送到了C网络,与C网络里面的DCHP服务器的id不一致,请求的IP地址也是无效的(因为C的DCHP的ip段在http://192.168.0.XXX段,与AB的http://192.168.1.XXX段不同),因此C路由器的DCHP只能发送拒绝:
242 8days, 03:42:39, DHCPS: Send NAK
但是PC和手机接下去就不知所措了,被拒绝以后没有及时自动发起重新请求,因此导致断网。
重新打开wifi开关以后,人工重新开启请求,就可以正常连接了。
问题解决:
问题在于电脑和手机为啥发起了错误的请求。可能是接收到了AB网络的DCHP应答并进行了申请,因此这里关闭了A的wifi功能,尽可能减少网络重叠。
根本原因还是要减少网络复杂度,撤掉二级局域网,融合成一个网络,只保留一个DCHP服务器,IP静态保留与终端mac地址绑定等等。
要睡觉了,明天再折腾。