酒店奇遇记

2017/03/08 网络

上两周我出发去樟木头办事,在当地酒店入住3个晚上。但是酒店的无线网络让我感到非常难受:高延迟。我尝试使用wireshark来分析整个网络到底发生了什么事情。

问题描述

我的电脑接入酒店提供的Wi-Fi,监控软件显示,信号正常。访问网页的时候会出现高延迟,有时会访问失败,重新刷新之后可以正常访问。下载功能正常,使用迅雷下载视频文件峰值速度达到10MB/s。

关于Wi-Fi信号

在Mac OS中,按住option并点击无线网络的图标,可以查看到当前Wi-Fi的状态。 信号

发现问题

使用chrome的开发者工具,监测一次网页访问过程中的资源动态变化,惊讶的发现DNS解析消耗了超过6秒的时间。DNS服务的作用是将域名解析为正确的主机IP地址,然后完成后续的连接。当DNS解析还没完成的时候,后续的所有操作都必须等待,这就造成了高延时现象,也就是上网卡顿。 google

抓包分析

使用wireshark开始监控本机网卡的所有流量,发现出现大量的TCP连接失败报文,我怀疑当时的网络情况出现了网络拥塞,但是这一说法我没办法用证据证明。 TCP

使用过滤器仅查看DNS,惊讶的发现DNS返回的解析结果是8.8.8.8,这是google的域名系统,为什么DNS查询会返回谷歌的域名解析系统呢?因为受到GFW的影响,我的电脑是无法访问8.8.8.8,所以就会造成访问失败。我尝试更改了本地的DNS设置,调整为国内常见的114.114.114.114,报文显示dns请求已经发送到114.114.114.114,但是访问延迟依旧存在。

进入上级路由

在本地分析数据包没有找到更多的信息,但是已经将中心落在了DNS解析的问题上。在排除了这台电脑的影响后,我尝试进入路由器,酒店的路由器设置显然没有部署防御,输入192.168.1.1进入路由器管理页面。密码部分,用户名猜测是admin,至于密码,我尝试使用Wi-Fi密码、常用管理员密码都失败了,最后输入酒店的Wi-Fi名字成功了。进入路由器管理页面,发现这是一台企业级的路由器,DLINK公司的产品,支持很多高级管理功能。我查看了DNS设置,在DHCP服务器里发现DNS解析交给网关,也就是DNS解析最终会提交到ISP那里,这一点没有问题啊,我尝试将路由器的DNS设置修改为114.114.114.114,高延迟的问题得到了缓解。

总结

这篇文章的技术看点不多,并且没有根本的回答问题:为什么DNS设置没有生效。我至今没有弄明白,在本地已经设置了DNS,为什么访问网站的时候DNS解析依旧花费如此多的时间。由于在酒店的时间不多所以没办法继续查下去,但是我觉得有一点值得分享的是:发现问题之后采取专业的方式去探索答案,这本身就是一个很好的开始。当发现网络出现问题的时候,去百度寻找答案,很多的回答都是网速慢、信号不好、重启一下设备之类的,缺乏深度的解析。希望这篇文章能够给同学们一个启示,作为网络方向专业的同学,应该采取积极、专业的探索方式去尝试解决面临的网络故障,如果没有办法解决,请将问题描述清楚,使用邮件请教身边的老师或者工程师,甚至去联系技术人员。

PS:其实在酒店我一开始是联系技术人员帮助我解决的,但是酒店方面回应:他们没有技术人员。

Search

    Table of Contents