DNS 解析
- DNS基于UDP
DNS報文的類型:
- A記錄: Address to ip禁舷,指定地址到ip的映射违霞。
- CNAME記錄:別名記錄亩码,如果返回的是CNAME震蒋,需要再對CNAME做查詢茸塞,NAME記錄是必須有如:WWW(別名)前綴的域名
- NA:每一次查詢,如果找不到查剖,通過NS記錄來告訴你應該去哪里繼續(xù)查詢
本地域名服務器:LSP-DNS钾虐,在網絡連接里配置的那個。不配置默認就是網絡服務提供商給的梗搅。也就是上游的默認配置禾唁。
DNS解析過程
- 先查詢本機hosts文件映射;
- 查詢本地DNS緩存无切;
- 委托LSP-DNS查詢(這個步驟也稱遞歸查詢);
- LSP-DNS 做迭代查詢丐枉;
- 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ù)查詢靠抑。根域名服務器通常把自己知道的頂級域名服務器告訴本地域名服務器,本地域名服務器再去頂級域名服務器查詢...
實例跟蹤解析過程
查詢 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解析流程:
- 本機向
ISP-DNS
(上聯(lián)域名服務器)請求查詢www.baidu.com -
ISP-DNS
向根域ROOT-DNS
請求查詢www.baidu.com禁荒,根域返回com. 域的服務器GTLS-DNS
(頂級域) - 向com.域
GTLS-DNS
請求查詢,com. 域返回baidu.com域的服務器IP名稱列表(通過NS的方式) - 向DNS-Baidu查詢角撞,返回 A:a.shifen.com呛伴,和C-NAME:www.a.shifen.com
- 向
ROOT-DNS
請求www.a.shifen.com - 向com.
GTLS_DNS
域請求www.a.shife.com - 向shifen.com域DNS查詢
- 向a.shifen.com域查詢
- 拿到www.a.shifen.com的A記錄
- 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é)點
返回資源德澈,這是核心歇攻。
百度首頁加載的一個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é)础废,大概的步驟:
- 本機向
LSP-DNS
請求查詢 ss0.bdstatic.com -
LSP-DNS
向Root-DNS
查詢 - Root-DNS 返回NS服務器列表。
- 向NS服務器查詢罕模,這里是授權服務器
- 授權服務器返回
CNAME
(相當于前面提到的 得到CNAME: sslbdstatic.jomodns.com) - 請求
CNAME
解析评腺,這里還是從ROOT-DNS
走起,會進入CDN提供商的智能調度DNS
- 智能DNS調度系統(tǒng)通過算法得出最近的IP
-
LSP-DNS
將7得到的IP返回給用戶 - 用戶直接到CDN節(jié)點獲取數(shù)據
-
CDN
節(jié)點返回數(shù)據
- 這里
CDN
節(jié)點和數(shù)據服務器會有數(shù)據獲取的過程淑掌。
參考:
謝希仁.計算機網絡歇僧,第七版