淺析:DNS解析和CDN加速

DNS 解析

  • DNS基于UDP

DNS報文的類型:

  • A記錄: Address to ip禁舷,指定地址到ip的映射违霞。
  • CNAME記錄:別名記錄亩码,如果返回的是CNAME震蒋,需要再對CNAME做查詢茸塞,NAME記錄是必須有如:WWW(別名)前綴的域名
  • NA:每一次查詢,如果找不到查剖,通過NS記錄來告訴你應該去哪里繼續(xù)查詢

本地域名服務器:LSP-DNS钾虐,在網絡連接里配置的那個。不配置默認就是網絡服務提供商給的梗搅。也就是上游的默認配置禾唁。

DNS解析過程

  1. 先查詢本機hosts文件映射;
  2. 查詢本地DNS緩存无切;
  3. 委托LSP-DNS查詢(這個步驟也稱遞歸查詢);
  4. LSP-DNS 做迭代查詢丐枉;
  5. LSP-DNS將查詢結果返回到本機哆键;

Hosts文件

本地手動設置ip和域名的映射,寫入hosts文件中瘦锹。

  • windons 下的文件路徑為: C:\Windows\System32\drivers\etc\hosts
  • linux 以debian為例:/etc/hosts

本地緩存

每個DNS服務器都有本地高速緩存籍嘹。本地就是一臺服務器闪盔。

遞歸查詢

主機向本地域名服務器的查詢一般都是采用 遞歸查詢 : 如果主機所詢問的本地域名服務器不知道被查詢的IP地址,那么本地域名服務器就以DNS客戶的身份辱士,向其他根域名服務器繼續(xù)發(fā)出查詢請求報文(替該主機繼續(xù)查詢)泪掀,而不是讓該主機自己進行下一步的查詢。因此颂碘,遞歸查詢返回的查詢結果或者是所要查詢的IP异赫,或者是報錯,表示無法查詢到所需的IP头岔。

迭代查詢

本地域名服務器向根域名服務器的查詢通常采用 迭代查詢 :當根服務器收到本地發(fā)出的迭代查詢請求報文時塔拳,要么給出所要查詢的IP地址,要么告訴本地域名服務器下一步應當向哪個域名服務器查詢峡竣。
然后本地域名服務器進行后續(xù)查詢靠抑。根域名服務器通常把自己知道的頂級域名服務器告訴本地域名服務器,本地域名服務器再去頂級域名服務器查詢...

簡單DNS過程

實例跟蹤解析過程

查詢 siriuscloud.cc 的ip适掰,只需要

root@siriuscloud:~# nslookup siriuscloud.cc 119.29.29.29
Server:         119.29.29.29    // 上聯(lián)的DNS服務器颂碧,也就是負責遞歸的
Address:        119.29.29.29#53 // 上聯(lián)DNS服務器對應的IP

Non-authoritative answer:   //非權威答案,即從上連DNS服務器的本地緩存中讀取出的值类浪,而非實際去查詢到的值
Name:   siriuscloud.cc          
Address: 119.29.236.53
  • 上聯(lián)DNS服務器LSP-DNS:本地設置的DNS地址载城,windows在網絡連接中設置,Linux debian在 /etc/resolv.conf設置戚宦。

查詢www.baidu.com的ip个曙,發(fā)現(xiàn)返回了

root@siriuscloud:~# nslookup www.baidu.com
Server:         119.29.29.29    // 我自己設置的騰訊云DNS
Address:        119.29.29.29#53

Non-authoritative answer:
www.baidu.com   canonical name = www.a.shifen.com.
Name:   www.a.shifen.com
Address: 14.215.177.39
Name:   www.a.shifen.com
Address: 14.215.177.38

這里canonical name 就是cname,所以www.baidu.com 有一個 cname 為www.a.shifen.com.

詳細的過程用dig來跟蹤:

// Dig工具會在本地計算機做迭代受楼,然后記錄查詢的過程垦搬。
root@siriuscloud:~# dig +trace www.baidu.com

第一步,請求 . 的ip艳汽。向ISPDNS獲取到根域服務區(qū)的13個NS的IP和名稱[a-m].root-servers.net猴贰。
; <<>> DiG 9.9.5-9+deb8u11-Debian <<>> +trace www.baidu.com
;; global options: +cmd
.                       254950  IN      NS      h.root-servers.net.
.                       254950  IN      NS      i.root-servers.net.
.                       254950  IN      NS      a.root-servers.net.
.                       254950  IN      NS      j.root-servers.net.
.                       254950  IN      NS      k.root-servers.net.
.                       254950  IN      NS      l.root-servers.net.
.                       254950  IN      NS      m.root-servers.net.
.                       254950  IN      NS      b.root-servers.net.
.                       254950  IN      NS      c.root-servers.net.
.                       254950  IN      NS      d.root-servers.net.
.                       254950  IN      NS      e.root-servers.net.
.                       254950  IN      NS      f.root-servers.net.
.                       254950  IN      NS      g.root-servers.net.
;; Received 239 bytes from 119.29.29.29#53(119.29.29.29) in 144 ms


//2. 向某一臺ROOT-DNS(f.root-servers.net)請求發(fā)送www.baidu.com的請求,返回 .com一級的NS: ip(未顯示)和名稱
com.                    172800  IN      NS      a.gtld-servers.net.
com.                    172800  IN      NS      b.gtld-servers.net.
com.                    172800  IN      NS      c.gtld-servers.net.
com.                    172800  IN      NS      d.gtld-servers.net.
com.                    172800  IN      NS      e.gtld-servers.net.
com.                    172800  IN      NS      f.gtld-servers.net.
com.                    172800  IN      NS      g.gtld-servers.net.
com.                    172800  IN      NS      h.gtld-servers.net.
com.                    172800  IN      NS      i.gtld-servers.net.
com.                    172800  IN      NS      j.gtld-servers.net.
com.                    172800  IN      NS      k.gtld-servers.net.
com.                    172800  IN      NS      l.gtld-servers.net.
com.                    172800  IN      NS      m.gtld-servers.net.
com.                    86400   IN      DS      30909 8 2 E2D3C916F6DEEAC73294E8268FB5885044A833FC5459588F4A9184CF C41A5766
com.                    86400   IN      RRSIG   DS 8 1 86400 20190411170000 20190329160000 16749 . IipUD26WPDVeCwI619ciIJ5rmoCu3G2ICbw3O11f8OoXQTk6hnE1NwEg 3T/w/EIbpGhkwG9DST+KTLYS95UmmEHWnF/ydrrsIzauloJ3EO1YxnC4 /vWWEtWf53uC1yDDv3Zi4SjkW5ti0Us4tr4tQDKshTzIQXdgRsHiZRGT fFo8afe9WAqW+iMuNAwR8TJxTZxDc/E3DlaSYTKrOw7cEg8mOWvfno0r XfwLg5pogiaYErIcdHAZIYDSZhBpXO06exnmra692TTKp6osRfnRM1g+ kwwlrjkgePWprza9u3Yw/yonFnMqiM1aHWP740tKVDSEudHVtl6bM3yh xLNKTg==
;; Received 1176 bytes from 192.5.5.241#53(f.root-servers.net) in 169 ms

//3. 向其中一臺(e.gtld-servers.net)發(fā)送www.baidu.com的名稱河狐。返回baidu.com.的NS(ip和名稱)米绕。這里baidu域有五臺域名服務器。

baidu.com.              172800  IN      NS      ns2.baidu.com.
baidu.com.              172800  IN      NS      ns3.baidu.com.
baidu.com.              172800  IN      NS      ns4.baidu.com.
baidu.com.              172800  IN      NS      ns1.baidu.com.
baidu.com.              172800  IN      NS      ns7.baidu.com.
CK0POJMG874LJREF7EFN8430QVIT8BSM.com. 86400 IN NSEC3 1 1 0 - CK0Q1GIN43N1ARRC9OSM6QPQR81H5M9A NS SOA RRSIG DNSKEY NSEC3PARAM
CK0POJMG874LJREF7EFN8430QVIT8BSM.com. 86400 IN RRSIG NSEC3 8 2 86400 20190405044524 20190329033524 16883 com. HA/ggUYURrdcmMM3U2g6O1fxF+8lrJI6rl7b6ze4MgiOCYSLSyXR+/C0 vy/x0UsemheeDRogAkUpewEUEHgBx4Wo5DFFM2CBWGl6FwgaGf+E4lFx pL8WakSo+YWf6YGcS5XiD1X9LhZnmZwg63u4JQ6g+N+zzphebLcPLDsa Dp0=
HPVV2B5N85O7HJJRB7690IB5UVF9O9UA.com. 86400 IN NSEC3 1 1 0 - HPVVN3Q5E5GOQP2QFE2LEM4SVB9C0SJ6 NS DS RRSIG
HPVV2B5N85O7HJJRB7690IB5UVF9O9UA.com. 86400 IN RRSIG NSEC3 8 2 86400 20190403104059 20190327093059 16883 com. F18D6axUuFeRC4DjmhYD7JTzKrgCEBO/tZ/GmlImP3MlUQGqq6xM73xo sc15P9LRUHZlT6uy/Z9/iEVG+Ksiy0qOwIY823jlRSblRrYEwBnqzQuW SbhWMZj6FfPbg3oSKgfPwNecOqa3cEIbhw7ZP409RF1T43e0TYzD7/EL 5Bg=
;; Received 697 bytes from 192.12.94.30#53(e.gtld-servers.net) in 225 ms

//4. 向其中一臺百度域名服務器(ns7.baidu.com)發(fā)送www.baidu.com馋艺,發(fā)現(xiàn)存在別名胡嘿,返回 a.shifen.com. 和C-NAME www.a.shifen.com的ip(這里左邊寫的就是 ip對于的名稱)
www.baidu.com.          1200    IN      CNAME   www.a.shifen.com.
a.shifen.com.           1200    IN      NS      ns3.a.shifen.com.
a.shifen.com.           1200    IN      NS      ns2.a.shifen.com.
a.shifen.com.           1200    IN      NS      ns1.a.shifen.com.
a.shifen.com.           1200    IN      NS      ns4.a.shifen.com.
a.shifen.com.           1200    IN      NS      ns5.a.shifen.com.
;; Received 239 bytes from 180.76.76.92#53(ns7.baidu.com) in 6 ms

按照一般的邏輯,當dns請求到別名的時候治力,查詢會終止侵佃,也就是只有一行:

www.baidu.com.          1200    IN      CNAME   www.a.shifen.com.

事實上,返回CNAME的同一個包踱蛀,也返回了www.a.shifen.com的NS列表窿给。而之后的流程dig工具沒有跟蹤到贵白。手動跟蹤一下:

root@siriuscloud:~# dig +trace shifen.com

; <<>> DiG 9.9.5-9+deb8u11-Debian <<>> +trace shifen.com
// 1. 向LSP-DNS 獲取.域的 名稱-IP列表
;; global options: +cmd
.                       252664  IN      NS      d.root-servers.net.
.                       252664  IN      NS      f.root-servers.net.
.                       252664  IN      NS      m.root-servers.net.
.                       252664  IN      NS      g.root-servers.net.
.                       252664  IN      NS      b.root-servers.net.
.                       252664  IN      NS      l.root-servers.net.
.                       252664  IN      NS      a.root-servers.net.
.                       252664  IN      NS      h.root-servers.net.
.                       252664  IN      NS      c.root-servers.net.
.                       252664  IN      NS      j.root-servers.net.
.                       252664  IN      NS      e.root-servers.net.
.                       252664  IN      NS      k.root-servers.net.
.                       252664  IN      NS      i.root-servers.net.
;; Received 239 bytes from 119.29.29.29#53(119.29.29.29) in 133 ms

//2. 在 從root-service獲取 com. 的 名稱和DNS列表
com.                    172800  IN      NS      a.gtld-servers.net.
com.                    172800  IN      NS      b.gtld-servers.net.
com.                    172800  IN      NS      c.gtld-servers.net.
com.                    172800  IN      NS      d.gtld-servers.net.
com.                    172800  IN      NS      e.gtld-servers.net.
com.                    172800  IN      NS      f.gtld-servers.net.
com.                    172800  IN      NS      g.gtld-servers.net.
com.                    172800  IN      NS      h.gtld-servers.net.
com.                    172800  IN      NS      i.gtld-servers.net.
com.                    172800  IN      NS      j.gtld-servers.net.
com.                    172800  IN      NS      k.gtld-servers.net.
com.                    172800  IN      NS      l.gtld-servers.net.
com.                    172800  IN      NS      m.gtld-servers.net.
com.                    86400   IN      DS      30909 8 2 E2D3C916F6DEEAC73294E8268FB5885044A833FC5459588F4A9184CF C41A5766
com.                    86400   IN      RRSIG   DS 8 1 86400 20190411170000 20190329160000 16749 . IipUD26WPDVeCwI619ciIJ5rmoCu3G2ICbw3O11f8OoXQTk6hnE1NwEg 3T/w/EIbpGhkwG9DST+KTLYS95UmmEHWnF/ydrrsIzauloJ3EO1YxnC4 /vWWEtWf53uC1yDDv3Zi4SjkW5ti0Us4tr4tQDKshTzIQXdgRsHiZRGT fFo8afe9WAqW+iMuNAwR8TJxTZxDc/E3DlaSYTKrOw7cEg8mOWvfno0r XfwLg5pogiaYErIcdHAZIYDSZhBpXO06exnmra692TTKp6osRfnRM1g+ kwwlrjkgePWprza9u3Yw/yonFnMqiM1aHWP740tKVDSEudHVtl6bM3yh xLNKTg==
;; Received 1170 bytes from 192.203.230.10#53(e.root-servers.net) in 254 ms
// 3. 從gtld-services中獲取 shifen.com的 解析DNS服務器名稱和列表,這里都是NS記錄崩泡,所以到 NS記錄對應的域名服務器繼續(xù)查找
shifen.com.             172800  IN      NS      dns.baidu.com.
shifen.com.             172800  IN      NS      ns2.baidu.com.
shifen.com.             172800  IN      NS      ns3.baidu.com.
shifen.com.             172800  IN      NS      ns4.baidu.com.
CK0POJMG874LJREF7EFN8430QVIT8BSM.com. 86400 IN NSEC3 1 1 0 - CK0Q1GIN43N1ARRC9OSM6QPQR81H5M9A NS SOA RRSIG DNSKEY NSEC3PARAM
CK0POJMG874LJREF7EFN8430QVIT8BSM.com. 86400 IN RRSIG NSEC3 8 2 86400 20190405044524 20190329033524 16883 com. HA/ggUYURrdcmMM3U2g6O1fxF+8lrJI6rl7b6ze4MgiOCYSLSyXR+/C0 vy/x0UsemheeDRogAkUpewEUEHgBx4Wo5DFFM2CBWGl6FwgaGf+E4lFx pL8WakSo+YWf6YGcS5XiD1X9LhZnmZwg63u4JQ6g+N+zzphebLcPLDsa Dp0=
KVGU4OD0D4T5880A9HHUKEND52426KFR.com. 86400 IN NSEC3 1 1 0 - KVGUFVJVEGQ5A215E52483IQ8QATJBT8 NS DS RRSIG
KVGU4OD0D4T5880A9HHUKEND52426KFR.com. 86400 IN RRSIG NSEC3 8 2 86400 20190403042042 20190327031042 16883 com. KYcdWmgk4Q6HbzKOCYEzGA8E6p7TG2qmrUQKjStEB6g43CmaAnlVKdvd SnGmZ12sHLIHI0OWC0ByIIFP6Mk/WpLr4pn+bO3gOxuU2Z3EInjhYmNA tJq0ZuPcOC1wi7NUPy/r+tS1tn3uI7vceIl06fOJrKnPcGZvD/vg8jwX UvM=
;; Received 666 bytes from 192.26.92.30#53(c.gtld-servers.net) in 272 ms
// 4. 找到一條A記錄
shifen.com.             7200    IN      A       202.108.250.218
shifen.com.             86400   IN      NS      ns3.baidu.com.
shifen.com.             86400   IN      NS      ns2.baidu.com.
shifen.com.             86400   IN      NS      ns4.baidu.com.
shifen.com.             86400   IN      NS      ns1.baidu.com.
;; Received 197 bytes from 220.181.37.10#53(ns2.baidu.com) in 42 ms

完整DNS解析流程:

完整DNS解析流程
  1. 本機向ISP-DNS(上聯(lián)域名服務器)請求查詢www.baidu.com
  2. ISP-DNS向根域ROOT-DNS請求查詢www.baidu.com禁荒,根域返回com. 域的服務器GTLS-DNS(頂級域)
  3. 向com.域 GTLS-DNS 請求查詢,com. 域返回baidu.com域的服務器IP名稱列表(通過NS的方式)
  4. 向DNS-Baidu查詢角撞,返回 A:a.shifen.com呛伴,和C-NAME:www.a.shifen.com
  5. ROOT-DNS請求www.a.shifen.com
  6. 向com. GTLS_DNS 域請求www.a.shife.com
  7. 向shifen.com域DNS查詢
  8. 向a.shifen.com域查詢
  9. 拿到www.a.shifen.com的A記錄
  10. LSP-DNS 返回本機 www.baidu.com cname www.a.shifen.com 以及 www.a.shifen.com 的IP

注意的點:

  • 每一次查詢都是通過NS記錄來告訴你應該去哪里繼續(xù)查詢
  • 查詢到A記錄就是已經找到對應IP
  • 查詢到CNAME記錄需要重新對CNAME做查詢

CDN 原理

  • CDN的全稱是Content Delivery Network,即內容分發(fā)網絡靴寂。

  • CND加速主要是加速靜態(tài)資源磷蜀,如網站上面上傳的圖片、媒體百炬,以及引入的一些js褐隆、css等文件。

  • CND加速需要依靠各個網絡節(jié)點剖踊,例如100臺CDN服務器分布在全國范圍庶弃,從上海訪問,會從最近的CDN節(jié)點返回資源德澈,這是核心歇攻。

    image.png

百度首頁加載的一個css文件:https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superui/css/ubase_83c8f0ba.css

那么,ss0.bdstatic.com 的解析過程如下:

root@siriuscloud:~# dig +trace ss0.bdstatic.com

; <<>> DiG 9.9.5-9+deb8u11-Debian <<>> +trace ss0.bdstatic.com
;; global options: +cmd
.                       246554  IN      NS      h.root-servers.net.
.                       246554  IN      NS      i.root-servers.net.
.                       246554  IN      NS      a.root-servers.net.
.                       246554  IN      NS      j.root-servers.net.
.                       246554  IN      NS      k.root-servers.net.
.                       246554  IN      NS      l.root-servers.net.
.                       246554  IN      NS      m.root-servers.net.
.                       246554  IN      NS      b.root-servers.net.
.                       246554  IN      NS      c.root-servers.net.
.                       246554  IN      NS      d.root-servers.net.
.                       246554  IN      NS      e.root-servers.net.
.                       246554  IN      NS      f.root-servers.net.
.                       246554  IN      NS      g.root-servers.net.
;; Received 239 bytes from 119.29.29.29#53(119.29.29.29) in 126 ms

com.                    172800  IN      NS      a.gtld-servers.net.
com.                    172800  IN      NS      b.gtld-servers.net.
com.                    172800  IN      NS      c.gtld-servers.net.
com.                    172800  IN      NS      d.gtld-servers.net.
com.                    172800  IN      NS      e.gtld-servers.net.
com.                    172800  IN      NS      f.gtld-servers.net.
com.                    172800  IN      NS      g.gtld-servers.net.
com.                    172800  IN      NS      h.gtld-servers.net.
com.                    172800  IN      NS      i.gtld-servers.net.
com.                    172800  IN      NS      j.gtld-servers.net.
com.                    172800  IN      NS      k.gtld-servers.net.
com.                    172800  IN      NS      l.gtld-servers.net.
com.                    172800  IN      NS      m.gtld-servers.net.
com.                    86400   IN      DS      30909 8 2 E2D3C916F6DEEAC73294E8268FB5885044A833FC5459588F4A9184CF C41A5766
com.                    86400   IN      RRSIG   DS 8 1 86400 20190411170000 20190329160000 16749 . IipUD26WPDVeCwI619ciIJ5rmoCu3G2ICbw3O11f8OoXQTk6hnE1NwEg 3T/w/EIbpGhkwG9DST+KTLYS95UmmEHWnF/ydrrsIzauloJ3EO1YxnC4 /vWWEtWf53uC1yDDv3Zi4SjkW5ti0Us4tr4tQDKshTzIQXdgRsHiZRGT fFo8afe9WAqW+iMuNAwR8TJxTZxDc/E3DlaSYTKrOw7cEg8mOWvfno0r XfwLg5pogiaYErIcdHAZIYDSZhBpXO06exnmra692TTKp6osRfnRM1g+ kwwlrjkgePWprza9u3Yw/yonFnMqiM1aHWP740tKVDSEudHVtl6bM3yh xLNKTg==
;; Received 1176 bytes from 192.58.128.30#53(j.root-servers.net) in 337 ms

bdstatic.com.           172800  IN      NS      ns2.baidu.com.
bdstatic.com.           172800  IN      NS      ns3.baidu.com.
CK0POJMG874LJREF7EFN8430QVIT8BSM.com. 86400 IN NSEC3 1 1 0 - CK0Q1GIN43N1ARRC9OSM6QPQR81H5M9A NS SOA RRSIG DNSKEY NSEC3PARAM
CK0POJMG874LJREF7EFN8430QVIT8BSM.com. 86400 IN RRSIG NSEC3 8 2 86400 20190405044524 20190329033524 16883 com. HA/ggUYURrdcmMM3U2g6O1fxF+8lrJI6rl7b6ze4MgiOCYSLSyXR+/C0 vy/x0UsemheeDRogAkUpewEUEHgBx4Wo5DFFM2CBWGl6FwgaGf+E4lFx pL8WakSo+YWf6YGcS5XiD1X9LhZnmZwg63u4JQ6g+N+zzphebLcPLDsa Dp0=
EVRKGAP21KT6O4BDJCNALFHRI2ON78KE.com. 86400 IN NSEC3 1 1 0 - EVRN7CBO3CFUBRUBI81OAPUC1NV8Q4MB NS DS RRSIG
EVRKGAP21KT6O4BDJCNALFHRI2ON78KE.com. 86400 IN RRSIG NSEC3 8 2 86400 20190402053304 20190326042304 16883 com. n9vJr7xbkpgkE8+ZeU9+jxlyic3n1lSPWz+MBINEpL7jxwrM7KLRctDj T5ENuyB8PNRKj5dBweCtHjqgjCasQD9cKhfNl10G38iG4edpaoBZUI9X ZE4/PQGxOgFxaefJPzdyOLnV3Ic+UkaarDJ6IZ6OHoWFoxhJB2y0MqZA lXc=
;; Received 604 bytes from 192.26.92.30#53(c.gtld-servers.net) in 177 ms

ss0.bdstatic.com.       720     IN      CNAME   sslbdstatic.jomodns.com.
;; Received 79 bytes from 220.181.37.10#53(ns2.baidu.com) in 42 ms

進過一系列的查詢后得到CNAME梆造,查詢jomodns.com 的備案信息缴守,可以發(fā)現(xiàn)是 北京百度網訊科技有限公司 的域名。這里應該是DNS設備商镇辉。

一般屡穗,需要緩存服務時,就把域名cname到CDN的智能調度系統(tǒng)忽肛。再由CND提供商完成數(shù)據緩存和數(shù)據響應村砂。

繼續(xù)查詢CNAME:

root@siriuscloud:~# dig +trace sslbdstatic.jomodns.com

; <<>> DiG 9.9.5-9+deb8u11-Debian <<>> +trace sslbdstatic.jomodns.com
;; global options: +cmd
.                       246457  IN      NS      h.root-servers.net.
.                       246457  IN      NS      i.root-servers.net.
.                       246457  IN      NS      a.root-servers.net.
.                       246457  IN      NS      j.root-servers.net.
.                       246457  IN      NS      k.root-servers.net.
.                       246457  IN      NS      l.root-servers.net.
.                       246457  IN      NS      m.root-servers.net.
.                       246457  IN      NS      b.root-servers.net.
.                       246457  IN      NS      c.root-servers.net.
.                       246457  IN      NS      d.root-servers.net.
.                       246457  IN      NS      e.root-servers.net.
.                       246457  IN      NS      f.root-servers.net.
.                       246457  IN      NS      g.root-servers.net.
;; Received 239 bytes from 119.29.29.29#53(119.29.29.29) in 131 ms

com.                    172800  IN      NS      a.gtld-servers.net.
com.                    172800  IN      NS      b.gtld-servers.net.
com.                    172800  IN      NS      c.gtld-servers.net.
com.                    172800  IN      NS      d.gtld-servers.net.
com.                    172800  IN      NS      e.gtld-servers.net.
com.                    172800  IN      NS      f.gtld-servers.net.
com.                    172800  IN      NS      g.gtld-servers.net.
com.                    172800  IN      NS      h.gtld-servers.net.
com.                    172800  IN      NS      i.gtld-servers.net.
com.                    172800  IN      NS      j.gtld-servers.net.
com.                    172800  IN      NS      k.gtld-servers.net.
com.                    172800  IN      NS      l.gtld-servers.net.
com.                    172800  IN      NS      m.gtld-servers.net.
com.                    86400   IN      DS      30909 8 2 E2D3C916F6DEEAC73294E8268FB5885044A833FC5459588F4A9184CF C41A5766
com.                    86400   IN      RRSIG   DS 8 1 86400 20190411170000 20190329160000 16749 . IipUD26WPDVeCwI619ciIJ5rmoCu3G2ICbw3O11f8OoXQTk6hnE1NwEg 3T/w/EIbpGhkwG9DST+KTLYS95UmmEHWnF/ydrrsIzauloJ3EO1YxnC4 /vWWEtWf53uC1yDDv3Zi4SjkW5ti0Us4tr4tQDKshTzIQXdgRsHiZRGT fFo8afe9WAqW+iMuNAwR8TJxTZxDc/E3DlaSYTKrOw7cEg8mOWvfno0r XfwLg5pogiaYErIcdHAZIYDSZhBpXO06exnmra692TTKp6osRfnRM1g+ kwwlrjkgePWprza9u3Yw/yonFnMqiM1aHWP740tKVDSEudHVtl6bM3yh xLNKTg==
;; Received 1183 bytes from 192.203.230.10#53(e.root-servers.net) in 260 ms

jomodns.com.            172800  IN      NS      ns1.jomodns.com.
jomodns.com.            172800  IN      NS      ns2.jomodns.com.
jomodns.com.            172800  IN      NS      ns3.jomodns.com.
jomodns.com.            172800  IN      NS      ns4.jomodns.com.
jomodns.com.            172800  IN      NS      ns5.jomodns.com.
CK0POJMG874LJREF7EFN8430QVIT8BSM.com. 86400 IN NSEC3 1 1 0 - CK0Q1GIN43N1ARRC9OSM6QPQR81H5M9A NS SOA RRSIG DNSKEY NSEC3PARAM
CK0POJMG874LJREF7EFN8430QVIT8BSM.com. 86400 IN RRSIG NSEC3 8 2 86400 20190405044524 20190329033524 16883 com. HA/ggUYURrdcmMM3U2g6O1fxF+8lrJI6rl7b6ze4MgiOCYSLSyXR+/C0 vy/x0UsemheeDRogAkUpewEUEHgBx4Wo5DFFM2CBWGl6FwgaGf+E4lFx pL8WakSo+YWf6YGcS5XiD1X9LhZnmZwg63u4JQ6g+N+zzphebLcPLDsa Dp0=
V8LOKUCV78K6EB73VP51J5LFMOG0R2I8.com. 86400 IN NSEC3 1 1 0 - V8LQJND59QV2J4U0JO16FM4TILHKVC0K NS DS RRSIG
V8LOKUCV78K6EB73VP51J5LFMOG0R2I8.com. 86400 IN RRSIG NSEC3 8 2 86400 20190405051152 20190329040152 16883 com. LuscjHsdIlVB5a7qIT58XtJGwe75pBOCPiE2GoxlsfPg2a+w2LMuWoGZ CfFLCiERyAdQRWUUGo05yYwrwI+oIne0PC8K8dvwdWjkA4h1LRRY8wwv T0aD1xpBy85Gxj6sDaNaQhWaIjSdeDVdOymy3cHguuDaAxyzAjWjV9FJ Oac=
;; Received 707 bytes from 192.35.51.30#53(f.gtld-servers.net) in 450 ms

sslbdstatic.jomodns.com. 60     IN      A       14.152.86.32
jomodns.com.            172800  IN      NS      ns6.jomodns.com.
jomodns.com.            172800  IN      NS      ns7.jomodns.com.
jomodns.com.            172800  IN      NS      ns1.jomodns.com.
jomodns.com.            172800  IN      NS      ns2.jomodns.com.
jomodns.com.            172800  IN      NS      ns3.jomodns.com.
jomodns.com.            172800  IN      NS      ns4.jomodns.com.
jomodns.com.            172800  IN      NS      ns5.jomodns.com.
;; Received 295 bytes from 119.75.222.16#53(ns2.jomodns.com) in 54 ms

這里其實就是一個從ROOT-DNS到ns1.jomodns.com.,由ns*.jomodns.com 給出最優(yōu)的ip屹逛。

流程示意圖

這里省略一些細節(jié)础废,大概的步驟:

  1. 本機向 LSP-DNS 請求查詢 ss0.bdstatic.com
  2. LSP-DNSRoot-DNS 查詢
  3. Root-DNS 返回NS服務器列表。
  4. 向NS服務器查詢罕模,這里是授權服務器
  5. 授權服務器返回 CNAME(相當于前面提到的 得到CNAME: sslbdstatic.jomodns.com)
  6. 請求 CNAME 解析评腺,這里還是從 ROOT-DNS 走起,會進入CDN提供商的智能調度DNS
  7. 智能DNS調度系統(tǒng)通過算法得出最近的IP
  8. LSP-DNS 將7得到的IP返回給用戶
  9. 用戶直接到CDN節(jié)點獲取數(shù)據
  10. CDN 節(jié)點返回數(shù)據
  • 這里 CDN 節(jié)點和數(shù)據服務器會有數(shù)據獲取的過程淑掌。

參考:

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市锋拖,隨后出現(xiàn)的幾起案子诈悍,更是在濱河造成了極大的恐慌,老刑警劉巖兽埃,帶你破解...
    沈念sama閱讀 211,042評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件侥钳,死亡現(xiàn)場離奇詭異,居然都是意外死亡柄错,警方通過查閱死者的電腦和手機舷夺,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評論 2 384
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來售貌,“玉大人给猾,你說我怎么就攤上這事∷炭纾” “怎么了敢伸?”我有些...
    開封第一講書人閱讀 156,674評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長恒削。 經常有香客問我池颈,道長,這世上最難降的妖魔是什么钓丰? 我笑而不...
    開封第一講書人閱讀 56,340評論 1 283
  • 正文 為了忘掉前任躯砰,我火速辦了婚禮,結果婚禮上携丁,老公的妹妹穿的比我還像新娘琢歇。我一直安慰自己,他們只是感情好梦鉴,可當我...
    茶點故事閱讀 65,404評論 5 384
  • 文/花漫 我一把揭開白布李茫。 她就那樣靜靜地躺著,像睡著了一般尚揣。 火紅的嫁衣襯著肌膚如雪涌矢。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,749評論 1 289
  • 那天快骗,我揣著相機與錄音娜庇,去河邊找鬼。 笑死方篮,一個胖子當著我的面吹牛名秀,可吹牛的內容都是我干的。 我是一名探鬼主播藕溅,決...
    沈念sama閱讀 38,902評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼匕得,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起汁掠,我...
    開封第一講書人閱讀 37,662評論 0 266
  • 序言:老撾萬榮一對情侶失蹤略吨,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后考阱,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體翠忠,經...
    沈念sama閱讀 44,110評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年乞榨,在試婚紗的時候發(fā)現(xiàn)自己被綠了秽之。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,577評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡吃既,死狀恐怖考榨,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情鹦倚,我是刑警寧澤河质,帶...
    沈念sama閱讀 34,258評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站申鱼,受9級特大地震影響愤诱,放射性物質發(fā)生泄漏。R本人自食惡果不足惜捐友,卻給世界環(huán)境...
    茶點故事閱讀 39,848評論 3 312
  • 文/蒙蒙 一淫半、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧匣砖,春花似錦科吭、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至拂共,卻和暖如春牺弄,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背宜狐。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評論 1 264
  • 我被黑心中介騙來泰國打工势告, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人抚恒。 一個月前我還...
    沈念sama閱讀 46,271評論 2 360
  • 正文 我出身青樓咱台,卻偏偏與公主長得像,于是被迫代替她去往敵國和親俭驮。 傳聞我的和親對象是個殘疾皇子回溺,可洞房花燭夜當晚...
    茶點故事閱讀 43,452評論 2 348

推薦閱讀更多精彩內容