以dig +trace math.stackexchange.com為例

其中第一部分本地DNS(202.102.154.3)內部記錄了13台全球根域名服務器的地址(根域名服務器的地址列表見ftp://ftp.internic.net/domain/named.root),繼續向這13台全球根域名服務器請求.com頂級域名服務器地址,以最先回復的為准。
最先回復的根域名服務器是h.root-servers.net(198.97.190.53),返回13台.com頂級域名服務器的域名和地址,繼續向這些.com頂級域名服務器請求查詢stackexchange.com二級域名服務器地址。
最先回復的.com頂級域名服務器是g.gtld-servers.net(192.42.93.30)(gtld是global top level domain的縮寫),返回4台stackexchange.com二級域名服務器的域名和地址,繼續向這4個結果請求查詢math.stackexchange.com三級域名服務器。
最先回復的stackexchange.com二級域名服務器是ns-925.awsdns-51.net(205.251.195.157),返回的結果包含跟上一步一樣的4台二級域名服務器NS記錄,另外還有4個A記錄,其中A記錄就是最終的解析地址。

1、在瀏覽器中輸入www . qq .com 域名,操作系統會先檢查自己本地的hosts文件是否有這個網址映射關系,如果有,就先調用這個IP地址映射,完成域名解析。
2、如果hosts里沒有這個域名的映射,則查找本地DNS解析器緩存,是否有這個網址映射關系,如果有,直接返回,完成域名解析。
3、如果hosts與本地DNS解析器緩存都沒有相應的網址映射關系,首先會找TCP/ip參數中設置的首選DNS服務器,在此我們叫它本地DNS服務器,此服務器收到查詢時,如果要查詢的域名,包含在本地配置區域資源中,則返回解析結果給客戶機,完成域名解析,此解析具有權威性。
4、如果要查詢的域名,不由本地DNS服務器區域解析,但該服務器已緩存了此網址映射關系,則調用這個IP地址映射,完成域名解析,此解析不具有權威性。
5、如果本地DNS服務器本地區域文件與緩存解析都失效,則根據本地DNS服務器的設置(是否設置轉發器)進行查詢,如果未用轉發模式,本地DNS就把請求發至13台根DNS,根DNS服務器收到請求后會判斷這個域名(.com)是誰來授權管理,並會返回一個負責該頂級域名服務器的一個IP。本地DNS服務器收到IP信息后,將會聯系負責.com域的這台服務器。這台負責.com域的服務器收到請求后,如果自己無法解析,它就會找一個管理.com域的下一級DNS服務器地址(http://qq.com)給本地DNS服務器。當本地DNS服務器收到這個地址后,就會找http://qq.com域服務器,重復上面的動作,進行查詢,直至找到www . qq .com主機。
6、如果用的是轉發模式,此DNS服務器就會把請求轉發至上一級DNS服務器,由上一級服務器進行解析,上一級服務器如果不能解析,或找根DNS或把轉請求轉至上上級,以此循環。不管是本地DNS服務器用是是轉發,還是根提示,最后都是把結果返回給本地DNS服務器,由此DNS服務器再返回給客戶機。
https://www.nslookuptool.com 可以查詢在進行DNS修改后,域名被各個地區的域名服務器收錄的情況,以及當前收錄的域名對應的ip地址。
參考:
http://www.ruanyifeng.com/blog/2016/06/dns.html
http://www.maixj.net/ict/dns-chaxun-9208
https://www.zhihu.com/question/23042131
http://www.diantansuo.com/what-is-different-dns-record-types
架設自己的dns權威域名解析服務器https://wenku.baidu.com/view/e60753fa04a1b0717fd5ddea.html
網絡協議簡述http://www.ruanyifeng.com/blog/2012/05/internet_protocol_suite_part_i.html
作者:naiyi
鏈接:https://www.jianshu.com/p/babca8224e60
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。