问题描述#
客户任务数据发现 DNS 时间普遍较⻓的现象,部分节点 DNS 时间接近 20 s。问题分析#
发现出现该问题的不是同⼀节点,占⽐⽐较⾼,从报表中查看不出原因,需要从抓包中分析。从下图抓包中可以看到客户 端在前 13 s ⼀直进⾏ DNS 解析,⼏乎⼀分钟⼀次,直到接近 14 s 才解析成功,在这之前服务器⼀直没有响应。解决⽅案#
(1)⾸先排除是否是节点问题,即时监测复现
(2)排除节点问题后,提供对应截图给客户,如果是运营商客户,需要客户找到对应 DNS 查看⽇志是什么原因导致⼀直 没有反应;如果是⾮运营商客户,需要客户联系对应运营商来分析查找原因 。相关知识#
DNS ⼯作原理:
第⼀步:客户机提出域名解析请求,并将该请求发送给本地的域名服务器。
第⼆步:当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该纪录项,则本地的域名服务器就直接把查 询的结果返回。
第三步:如果本地的缓存中没有该纪录,则本地域名服务器就直接把请求发给根域名服务器,然后根域名服务器再返 回给本地域名服务器⼀个所查询域(根的⼦域) 的主域名服务器的地址。
第四步:本地服务器再向上⼀步返回的域名服务器发送请求,然后接受请求的服务器查询⾃⼰的缓存,如果没有该纪录,则返回相关的下级的域名服务器的地址。
第五步:重复第四步,直到找到正确的纪录。
第六步:本地域名服务器把返回的结果保存到缓存,以备下⼀次使⽤,同时还将结果返回给客户机。 听云做客户端没有第⼆步,因为每次做任务之前都会清理⼀次客户端缓存。