和校园网斗智斗勇的日子(第二辑)
前情回顾:和校园网斗智斗勇的日子
在那篇主题之后发生了很多事情,最大的就是,学校在一次宿舍内务检查当中把一代大喇叭(笔者给这个网络起的名字)给端掉了,因为宿舍内不能乱拉网线,而且根据学校的说法,那个光猫仅仅是掉出来了而已,本来不是给我们用的,应该锁回去弱电箱里面
不过还是那句话,生命不息折腾不止,现在是时候搞二代大喇叭了
关于为什么叫大喇叭
以前学校操场那种大喇叭,学名叫号角扬声器,最大的特点是,低频严重缺失,失真度较高,唯一的一个优点就是声音真TM大。笔者这个大喇叭也一样,可能质量不好,但是信号强度不小啊......
添加新的网络上游
一代大喇叭的上游接口是宿舍内的那个光猫,当时用着是很爽的,但是在后来被学校给端了,现在唯一一个能联入校园网的方法只剩下无线连接。但是毕竟这个校园网在晚上还会断网,显得不太方便
因此正如题图所示,笔者搞了一个4G CPE,用作备用链路。这玩意说来也简单,插入一张手机卡(我用的是广电的卡,每个月一百来G的流量),就可以在LAN口用上网络了
如果你的资金充裕,笔者建议你购买5G CPE,尤其是在宿舍区这种人口密集的地方。
原因很简单:当前来看4G设备的保有量还是很大的,在人口密集的地方很容易造成基站过载(典型现象就是,我这边的4G网络在晚上11点之后就会急剧高延迟,但是5G网正常),最终就是用户质量不好。
当然此时刷个视频问题不大,但是如果你是游戏党,那很难不为之抓狂
校园网奇怪的保活机制
众所周知,对于一个黑箱子,我们只能通过分析他的各种现象来猜测其内部实现如何。对于这个校园网来说也是差不多的
关于这个的连接现象上文讨论了一部分,但现在根据测定和观察,还有更多的现象;
- 只有在宿舍区才能跳转到wireless-v2-plain认证地址
- 手机电脑正常浏览器访问,以及以前有线连接时代可以OP直接认证,上网一整天
- 现在无线连接,OP访问API认证之后,20分钟左右就会自动掉线
- 分析WEB页面的js来看,系统确实提供了一个Keepalive接口,但是这个接口目前来看至少在我这里是没有任何作用,唯一用途可能也就是看看用户还在不在线,在线就提示保活成功,不在线就提示不在线
也就是说,如果手机电脑正常连接的话,系统似乎是可以通过流量监测来判断用户在不在线,但是OP链接无线网却不行。这个问题笔者有一点想法,但是目前暂时不确定对不对,其主要原因可能还是和我联入校园网的方式有关:
联入校园网....
装OP的机器没有无线网卡,USB网卡又找不到驱动,后来在逛电脑城的时候发现了一个好东西,就是俗称WiFi中继器的。这玩意虽然说名称上是WiFi中继,实际也能用,但是他还有一个好处:可以实现无线桥接到有线。
也就是说,我可以先让他连接到校园网,然后转出来一根网线,接入到OP的WAN口,这样就变相实现了联网的目的
一切都很美好,直到遇上了上面奇怪的保活问题
学校的无线网络架构也是很奇怪的,除了覆盖整个校区的的固定SSID的网络之外,在每个宿舍都有一个仅提供5GHz网络接入的AP(也就是上文提到的,那个掉下来的光猫)可供链接。但问题在于,新买的这个中继器不支持5G Wifi,换句话说只能连入公共热点
因此有概率猜测,2.4G接入点对于流量监测方面做的不太完善,不能借此来自动保活
上面说的奇怪保活机制可能和这个也有一定的关系,但是还是那句话,仅为猜测,不保准确
自动拨号与掉线检测
综合以上观点,也就是说可以有如下的流程来实现相对较好的上网体验(当然,每隔二十分钟左右会断网十来秒,不过如果配合好4G CPE,估计问题不大?)
- 访问登录接口,让OP通过认证
- 此后,每隔5-10s获取一次保活状态
- 如果提示用户不在线,先把WAN切换到4G CPE,然后重新登录
- 检查保活情况,如果活了,那就等待十几秒(或者检测外网接口通了之后)切换回校园网,然后从(2)开始执行
理论上这个通过Python脚本可以轻松实现,但具体如何,估计还要再试验试验了
(未完待续)
和校园网斗智斗勇的日子(第三辑)