DNS網域名稱解析的過程是怎麼樣的?

2023.11.28

DNS網域名稱解析的過程是怎麼樣的?

DNS協定是一種基於UDP的應用層協議,它用於將網站的網址也就是域名,轉換為IP位址,以便使用者可以存取網站。

面試官:請說一下,DNS網域解析的過程是怎麼樣的?

DNS協定是一種基於UDP的應用層協議,它用於將網站的網址也就是域名,轉換為IP位址,以便使用者可以存取網站。

圖片圖片

DNS把網域名稱和IP位址連結在一起,有了保存網站網域名稱和IP位址對應關係的DNS伺服器,我們就不用輸入IP位址來存取一個網站,而是輸入網址,然後透過向DNS伺服器請求取得網域對應的IP來造訪網站了。

圖片圖片

DNS域的命名空間是一種樹狀層次結構,一般可分為根域、一級域(也稱為頂級域)、二級域、子域以及主機名稱。

圖片圖片

對應地,在網域的每一層都會有一個網域名稱伺服器,來提供對應層級的網域解析服務。

圖片圖片

DNS進行網域解析的過程是,主機先查本地瀏覽器上的DNS緩存,再查本機作業系統中的DNS快取以及hosts文件,如果都沒有,才會向本地DNS伺服器發起DNS網域解析請求,本地DNS伺服器如果有請求網域名稱對應的IP位址,則直接回傳告訴主機。如果沒有,就向根網域伺服器發送請求,根網域伺服器是最高層次的,它不直接用於網域解析,但是它會告訴本地DNS伺服器去找對應的頂級網域伺服器,接著,本地DNS伺服器去找對應的頂級網域伺服器請求,頂級網域名稱伺服器會告訴本地DNS伺服器去找對應的權威DNS伺服器,本地DNS於是再轉向問權威DNS伺服器,權威DNS伺服器查詢後將對應的IP 位址告訴本地DNS,本地DNS再將IP位址傳回給主機。

這個時候,為了避免下次對這個網域發起DNS解析時,再來一遍上面的解析過程,主機和本地DNS都會對剛剛的網域解析結果進行緩存,下次再解析時,如果有快取就可以直接從緩存中取得解析結果。

圖片圖片

圖片圖片

圖片圖片

圖片圖片

圖片圖片

從上面的過程可以看到,DNS的查詢方式分成兩種,一種是遞歸,一種是迭代。

遞迴查詢指的是如果A 請求B,那麼B 作為請求的接收者,一定要給A 想要的答案。

圖片圖片

迭代查詢指的是,如果接收者B 沒有請求者A 所需的準確內容,接收者B 將告訴請求者A,如何去取得這個內容,但是自己不去發出請求。

圖片圖片

在實際應用中,遞歸查詢通常用於從請求主機到本地DNS 伺服器的查詢,而迭代查詢則用於本地DNS 伺服器向根網域伺服器或頂級網域名稱伺服器發出查詢請求。

圖片圖片

圖片