DNS 網站的導航
DNS什麼是?DNS基礎概念與用途介紹|天矽科技客製化網頁設計
什麼是DNS
DNS(Domain Name System) 網域名稱系統,它將我們人類可讀的網域名稱轉換成機器可讀取的IP地址,比如 www.tsg.com.tw 轉換成 61.63.128.111,簡單來說就是名字與身分證的概念,而每個網域名稱都會用DNS來控制訪客如何找到我們的網站及收取E-mail。
也就是說,當我們想要在瀏覽器輸入網址前往某個網站時,電腦並不知道那個網站是儲存在哪一台主機裡面,如果想要知道網站在哪一台主機中,就會向DNS詢問該網站的主機在哪?接著DNS會回覆我們該網站所在的IP地址,之後電腦才有辦法依照IP地址找到存放該網站內容的主機,拜訪後顯示網站於瀏覽器中。
▲ 電腦理解的網站IP地址
如果網域名稱是網站的地址,那DNS就是讓使用者找到網站的GPS導航,如果DNS設定不正確,網站就無法以正確的方式進行運作,這也是每次網路連線發生問題時,工程師常會說的「DNS掛掉了」的原因,沒有DNS的話是沒辦法上網的。
DNS其實有三種意思:
- Domain Name System 網域名稱系統,指整個DNS系統。
- Domain Name Server 網域名稱伺服器,指安裝了DNS有關軟體並可提供DNS服務的電腦主機,可簡單理解成各個地址的通訊錄。
- Domain Name Service 網域名稱服務,指DNS的服務。
延伸閱讀:
網域是什麼|網址結尾的差別?網址選.com還是.tw?頂級域名選擇
反向DNS
既然可以正向將網域轉成IP地址,那當然也可以反向轉換。反向DNS(RDNS) 又稱 DNS反向解析(DNS Reverse),可以透過IP地址尋找並取得網域名稱,其作用與DNS相反。
其用途大多用於電子郵件伺服器的垃圾郵件篩選,垃圾郵件、訊息的發送者會使用無效的IP地址和與網域名稱不符的IP地址,反向DNS透過郵件的IP地址反向尋找網域,若找不到有效的網域名稱,則伺服器就會封鎖郵件。
參考資料:
GoDaddy|什麼是反向DNS
GoDaddy|什麼是DNS
DNS如何運作
在上文中,我們可以知道DNS是將網域名稱轉為IP地址,讓電腦透過IP地址找到網站的導航角色,那麼其運作方式為何?
- 詢問有關本網域內的主機名稱時,DNS伺服器會直接做出回答。
- 如果所查詢的主機名稱屬於其他域名的話,會先檢查快取記憶體看看有沒有相關資料?若沒發現則會轉向root伺服器(根域名伺服器) 查詢。
※ 根域名伺服器root name server,是DNS中負責返回頂級域的權威域名伺服器位址。
- 接著root伺服器會將該域名之下一層權威域名伺服器(authoritative)的位置告知,這裡的伺服器有可能會超過一台。
- 本地伺服器會向其中的一台伺服器查詢,並將這些伺服器名單存到記憶體中,以便將來可以省略掉再向root查詢的步驟。
- 遠方伺服器回應查詢。
- 若該回應並非最後一層的答案,則繼續往下一層查詢,直到獲得客戶端所查詢的結果為止。
- 將查詢結果回應給客戶端,並同時儲存結果到自己的備份快取記憶體中。
- 如果存放時間尚未過時,又再次接到相同的查詢,則會以存放於快取記憶體中的資料來做回應。
▲ DNS運作流程
在以上步驟中,我們可以看出DNS正在進行不斷查詢的動作,所指定的DNS伺服器每發送一個查詢,會得到一個網域伺服器位置,若非答案則會在繼續前往下一個網域伺服器查詢,直到得到答案為止,其中的網域伺服器只會回應:「這裡沒有,請到別的地方查詢」與「資料在這裡」這兩個答案。
參考資料:
PC NET|DNS協定
翻轉工作室|DNS 協定運作