LDNS是什么?腾讯云CDN工程师是怎么排查故障的

LDNS定义

LDNS就是指本地DNS服务器,其中的L,指的就是Local,本地的意思。

每个电脑里面都设置了本地DNS服务器(简称LDNS),需要的时候,就向LDNS发出请求,LDNS在网上问权威域名服务器(简称权威DNS)得到答案。

比如,您可以打开这个页面查看LDNS。http://www.17ce.com/ldns

例子

现在举一个具体的例子:终端请求www.baidu.com这个域名的IP的过程是这样的

在没有缓存时,LDNS会从根DNS问起:

  • 1、LDNS问根DNS说:“www.baidu.com的IP是多少啊?”。
  • 2、根DNS说:“我哪有时间管你这么细的问题,你去问com顶级域的DNS吧,我只管到顶级域,喏,这些是com顶级域DNS的名字和IP,你去问它们吧”。(以NS记录回应)
  • 3、LDNS又忙问com的权威DNS,com权威DNS说:“你问的这是三级域名,我不管这么多,你去问baidu.com的权威DNS吧,它的名字是ns.baidu.com,他的IP是XXX(这里可能给出多个权威DNS)”。
  • 4、LDNS继续问baidu.com的权威DNS,这次痛快,因为www.baidu.com正是它管的,它可能直接给出A记录,也可能给出CNAME记录,如果是前者,就直接得到IP,如果是后者,就需要对别名再做查询。
  • 5、最终,LDNS得到www.baidu.com的IP,并将其返回给终端。

一张图看懂LDNS

LDNS是什么?腾讯云CDN工程师是怎么排查故障的

腾讯云工程师是怎么排查CDN故障的

客户端访问CDN流程

LDNS是什么?腾讯云CDN工程师是怎么排查故障的

具体的流程简述如下:

  • 1.用户访问CDN域名 www.test.com 下的某图片资源,如 demo.jpg 发起请求,先要向 Local DNS 发起域名解析请求;
  • 2.当 Local DNS 无对应解析纪录时,会递归查询,此时由于业务已经接入了 CDN,则解析请求会发送至 Tencent DNS,Tencent DNS 为腾讯云自主研发的调度体系,会为请求分配最佳节点IP;
  • 3.Local DNS 获取Tencent DNS返回的解析 IP;
  • 4.用户测获取解析 IP;
  • 5.用户向获取的 IP 发起对资源 demo.jpg 的访问请求;
  • 6.若该 IP 对应的节点缓存有 demo.jpg,则会将数据直接返回给用户(10),此时请求结束。若该节点未缓存 demo.jpg,则节点会向业务源站发起对 demo.jpg 的请求(6、7、8),获取资源后,结合用户自定义配置的缓存策略,将资源缓存(9),并返回给用户(10),此时请求结束。

客户端访问CDN排查

该步骤目的是查看用户的出口IP,以及用户的Local DNS信息,以及腾讯DNS给客户调度的IP信息。收集到上述的信息可以初步判断用户的LDNS配置是否正确。一般出口IP和LDNS隶属于同一个地域同一家运营商,如果出现跨地域和跨网就会有异常,此时腾讯DNS给客户调度的IP就不是最优的CDN边缘节点,会导致用户访问CDN资源出现卡,慢,无法访问等情况。

不论客户端是电脑还是手机,都可以访问华佗进行诊断,在域名一栏输入CDN的域名信息后点击开始拨测。

LDNS是什么?腾讯云CDN工程师是怎么排查故障的

链接是:https://huatuo.qq.com/

开始拨测后,会统计客户端的出口IP以及LDNS信息。以及域名推荐的CDN解析IP和实际LDNS解析的CDN域名信息。可以点击“复制结果URL分享”来对该检测结果进行分享。

LDNS是什么?腾讯云CDN工程师是怎么排查故障的

从华佗的拨测信息,我们就可以很容易的判断出客户的IP和默认的LDNS是否属于同地域同运营商。一般如果用户DNS配置为公共DNS解析(例如8.8.8.8,114.114.114.114),就很容易出现客户出口IP和LDNS不一致的问题。

通过LDNS解析IP一项,复制解析的IP信息,在腾讯云控制台上CDN节点IP归属查询,对解析的IP进行查询。就可以判断是否就近分配CDN边缘节点,以及域名是否存在劫持。

CDN节点IP归属查询需要登录后才能查看:https://console.cloud.tencent.com/cdn/inspect/ip

LDNS是什么?腾讯云CDN工程师是怎么排查故障的

注:有时华佗出现无法拨测出出口IP,LDNS以及解析出CDN域名的情况。可以使用http://debug.ping.dnsv1.com/ping.x 网站查看出口IP和LDNS,至于CDN解析的IP地址,可以直接使用ping CDN域名看到具体的IP地址。

如果客户出口IP,LDNS配置都没有问题,且LDNS解析的IP也正常。此时需要继续排查网络的问题

注意:海外的CDN拨测华佗不支持,建议使用 http://debug.ping.dnsv1.com/ping.x 链接来测试出口IP和LDNS信息,至于域名解析的信息,可以直接ping一下域名就可以拿到。

客户端到CDN边缘节点网络异常

客户端到CDN边缘节点网络异常相对来说比较好排查,腾讯云对外的所有边缘节点的IP都是可以ping通的,可以在客户端ping边缘节点的IP,看是否有丢包。如果有丢包,就需要提供客户端到边缘节点的MTR信息。

如果是Windows客户端,可以下载WinMTR工具进行测试,具体链接https://github.com/oott123/WinMTR/releases

如果是Apple设备,可以在App store搜索Best NetTools下载安装,可以进行ping,DNS解析,以及MTR

如果是安卓设备,可以访问https://huatuo.qq.com/下载诊断App,输入对应的边缘节点对网络进行诊断。

如果使用MTR看到有丢包,将MTR截图给到腾讯云售后支持。腾讯云售后会把相关的问题反馈给运营商进行处理。

以上,就是整个测试过程。

原创文章,作者:蓝洛水深,如若转载,请注明出处:https://blog.lanluo.cn/10181

发表评论

登录后才能评论