程序员

DNS之CNAME

2020-08-10  本文已影响0人  追风骚年

DNS 的原理就是一层层从根域名递归查询,其中让我觉得有疑问的就是 CNAME

反复使用命令查询七牛的官网,我知道他们一定会使用 CDN,CDN 也是 CNAME 使用最多的场景。

$ dig qiniu.com

; <<>> DiG 9.10.6 <<>> qiniu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 14562
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;qiniu.com.         IN  A

;; ANSWER SECTION:
qiniu.com.      212 IN  CNAME   mid-lvs-public.qiniu.com.
mid-lvs-public.qiniu.com. 212   IN  CNAME   jjh-lvs-public.qiniu.com.
jjh-lvs-public.qiniu.com. 212   IN  A   180.97.147.243

;; Query time: 72 msec
;; SERVER: 223.5.5.5#53(223.5.5.5)
;; WHEN: Mon Aug 10 18:41:59 CST 2020
;; MSG SIZE  rcvd: 101

可以看到路径是这样子的 qiniu.com. => mid-lvs-public.qiniu.com. => jjh-lvs-public.qiniu.com. => 给了一个 A 记录 180.97.147.243

最终我们的请求肯定也都是发到 A 记录上,也就是将 qiniu.com 交到 180.97.147.243,这个 IP 对应的服务接受到请求才开始往客户端吐数据。

CNAME 提供一个窍门将解析 A 记录的权利交到下一个域名上,具体下一个域名对应的 ip 可能以后会变,但是对于上一个域名所对应的域名不会变,这个点很像 JAVA 中的一个接口,接口的实现可能会变,但是接口名和方法名提前就确定好了。

参考文档

上一篇下一篇

猜你喜欢

热点阅读