上网有问题改DNS就好??估计80%的人搞不清楚背

 大家好,我是甲方IT和工程商经常摇人的“人”-通信厂商网络专家。今天分享排障案例,本期内容将放在公众号合集中,可进入“公众号首页–文章精选–实战案例”查看往期精彩内容。

本期分享的案例是通用网络相关问题。

【背景介绍】

大家好,不论是什么场景,想必大多数人都遇见过上网卡顿异常的问题,比如网页打不开、微信消息发不出去转圈圈、小视频多刷几次才能刷出来等等。

我们在排查问题或者400求助时,修改DNS服务器是一种常规的手段,比如从原有的192.168.1.1(路由器代理)、本地区电信DNS服务器改成公共DNS 服务器114.114.114.114或8.8.8.8等,大多数时候是能改善上网效果的。

那么原有的DNS服务器为什么突然不管用了呢?它背后异常状态是什么?今天我就拿一个真实案例的异常报文来分析其背后的逻辑。

【排查分析】

第一步、监控WAN口抓取报文

目前市面上主流的入网路由器基本不存在DNS流解析的日志信息和Debug手段,就算是有Debug结果也不一定真实可靠(设备数据统计会有一定的局限性)。所以需要抓取WAN口报文进行可靠的人为分析。

可以抓到如下报文,并在wireshark中过滤DNS:

第二步、过滤DNS报文并分析

Wireshark抓包后不是简单的过滤DNS就完事了哈,需要分析以下2个指标:

  • DNS请求与DNS响应的差量

  • DNS Respond的响应延时

(1)分析DNS请求与响应的差量

首先,打开“wireshark-统计-DNS”,可以看到如下信息:

可以看到DNS请求(Query)占85.52%,而DNS响应(Respond)只有14.48%表示大量的DNS问询没有得到回复,所以很明显的就能知道上网总是解析不出来是为什么了。不是因为域名完全不响应,而是因为不完全解析域名。

另外可过滤I/O图表取折线图更直观,打开“wireshark-统计-I/O图表”:

过滤方法见上图,这一看单位秒时间内响应完全跟不上,DNS请求包可达≥50包/秒而响应却完全跟不上,是不是直观的可以看到DNS服务器异常或性能不行或线路有DNS阈值限制?有理有据。

(2)分析DNS Respond的响应时长

wireshark非常强大,其实我们在DNS Respond报文中可以看到wireshark自己会添加的补充字段计算延时时间:

右键将此字段作为过滤器:

得到延时时间的过滤器:“dns.time”。然后打开I/O图表,把DNS Respond报文过滤出来,Y轴表示延时时间“dns.time”

可以看到过滤的结果,DNS Respond甚至15s、20s才会响应,上网等到黄花菜都凉了。

【综合分析】

结合该报文来看,我们可以得到相关信息:

  • 0-110秒230-350秒区间中DNS Query阈值过大,DNS Resp无法全部响应并且存在响应高时延;

  • 而在110-230秒区间内DNS Query阈值小,能得到很好的响应保障。

不难推断出运营商线路做了DNS阈值限制或者DNS服务器针对此WAN出口做了DNS限制,针对性的可以提供3种方案:

1.换个DNS服务器

2.让运营商或DNS服务器解除限制

3.内网部署DNS代理缓存服务器。

第三步、对比下正常的DNS报文

通过修改差劲的DNS服务器后上网恢复正常,我们来对比一下这个好用的DNS Server下的DNS请求/响应差量以及DNS Respond响应延时:

(1)DNS请求/响应差量

(2)DNS Respond响应延时

通过“异常DNS报文”和“正常DNS报文”的wireshark数据分析,我们就能精准的定位网络问题并搞清楚背后真正的异常逻辑。

 
【小结】
网络问题相当复杂,通过网络设备自检、Debug、数据统计等手段往往无法找到根因,我们就需要借助wireshark等抓包工具去抓取数据流,逐包、逐字节、逐比特去分析定位并解决问题。
网络设备会变、调试方式会变、配置方式也会变,但底层的OSI标准模型不会变。对数据报文的掌握和具备一定的敏感度,会让你在网络世界中解决问题、思考问题更加的游刃有余~ 

原创文章,作者:速盾高防cdn,如若转载,请注明出处:https://www.sudun.com/ask/94206.html

(0)
速盾高防cdn的头像速盾高防cdn
上一篇 2024年7月30日
下一篇 2024年7月30日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注