1. 程式人生 > >DNS域名解析---淺析

DNS域名解析---淺析

網際網路是通過url來發布和請求資源的,而url中的域名需要解析成IP才能和遠端主機建立socket連線,完成從域名到IP的解析任務的是DNS伺服器。

1、  下圖展示了域名到IP的解析過程圖:


1、  當一個使用者在瀏覽器中輸入一個域名url時,DNS解析會依次執行以下10個步驟:

1)        第一步,瀏覽器會檢查瀏覽器的快取中有沒有這個域名對應的IP地址,

                        i.             如果有,解析過程結束;

                      ii.             如果沒有,繼續第二步。

2)        第二步,瀏覽器查詢作業系統快取中,是否有這個域名對應的DNS解析的IP地址,同時這個解析結果是可以配置的

                        i.             Windows中通過C:\Windows\System32\drivers\etc\hosts檔案來配置;

                      ii.             Linux通過\etc\hosts檔案來配置;

                     iii.             如果仍然沒有獲得IP地址,則進入真正的請求域名伺服器階段。

3)        第三步,作業系統將這個域名傳送給本地的域名伺服器(Local DNS Server),

                        i.             這個伺服器的地址就是我們在網路配置中心的DNS伺服器地址,如果你是在小區接入的網際網路,那麼這個DNS伺服器就是提供給你接入網際網路的應用提供商,如電信或聯通,通常這個伺服器離你家不會太遠;如果你是在學校接入的網際網路,那麼這個伺服器一定在學校內。

                      ii.             檢視這個DNS伺服器的地址有兩中

1.        Windows平臺:開啟命令符介面(cmd),輸入ipconfig檢視;

2.        Linux平臺:cat/etc/resolv.conf 檢視。

                     iii.             到這一步,一般(80%)都會獲得快取的IP地址,如果未獲得,則繼續

4)        第四步,直接到RootServer根域名伺服器請求;

5)        第五步,獲得主域名伺服器地址gTLD地址;

                        i.             gTLD是國際頂級域名伺服器,如.com, .cn , .org 等,全球一共只有13臺左右。

6)        第六步,本地域名伺服器向gTLD伺服器傳送請求;

7)        第七步,gTLD查詢並返回此域名對應的Name Server域名伺服器的地址,這個Name Server通常就是你註冊的域名伺服器。例如你在某個域名服務提供商申請的域名,那麼這個域名解析任務就由這個域名提供商的伺服器來完成;

8)        Name Server域名伺服器會查詢儲存的域名和IP的對應關係表,在正常情況下,都根據域名得到目標IP的記錄,連同一個TTL值返回給Name Server域名伺服器。

                        i.             TL(Time-To-Live/生存時間),是一個域名解析記錄在DNS伺服器中的存留時間。

9)        第九步,返回該域名對應的IP和TTP值,Local DNS Server會快取這個域名和IP的對應關係,快取的時間由TTL控制;

10)    第十步,把返回的結果返回給使用者,使用者根據TTL值快取在本地系統中,域名解析過程結束。

總結:在實際的DNS解析中,可能還不止這10個步驟,如Name Server可能會有多個,或者有一個GTM來負載均衡控制。