LDNS 获取

1. 什么是LDNS?

抄一个阿里cdn的截图,这个应该是目前大多数cdn的做法

LDNS 获取_第1张图片
CDN基础架构

LDNS 即用户本地DNS, CDN 调度系统会通过这个ip来给用户分配CDN 节点, 即图中的L1

2. LDNS 配置错误造成的后果

各位可以 curl http://xxxx.gugaobai.top:8080/  , 或者直接打开 http://xxxx.gugaobai.top:8080/ 来获取本机的出口DNS , 其中 xxxx 部分各位可以随机填写,短时间内不要重复,为什么要这么做下文会具体描述。如果出口 ip 和 LDNS 属于同一个 ISP (运营商),那cdn就会分配具体正确的节点,一般会当地覆盖。如果错误就会导致分配到较远的节点,就无法提现CDN的优势了。

LDNS 获取_第2张图片
DNS 检测结果

3. 获取 LDNS 的原理

用户访问一个域名,浏览器会按照分配的 local dns 发起 dns 迭代查询, 最后向域名的权威服务器查询,这一步可以获取到 ldns

抄一个微软的截图,非常清晰

LDNS 获取_第3张图片
来自微软


要怎么把local dns 地址和用户对应起来呢?这就是 xxxx.gugaobai.top 的作用,每次的域名需要都不同,这样才可以关联起来

4. 如何搭建自己的 ldns 服务

  (1) 需要有自己的权威DNS服务器,搭建方式有多种,本文采用 nodejs, 具体代码 https://gist.github.com/GuGaobai1994/0bfe95fe137c93333d02f9086fc44636

(2)在域名供应商那边执行权威dns 为 您的服务器

你可能感兴趣的:(LDNS 获取)