天天看點

《分布式系統:概念與設計》一3.4.7 域名

第13章将詳細介紹域名系統(dns)的設計與實作,在此我們隻做簡單的介紹,以完成本章有關網際網路協定的讨論。網際網路支援一種使用符号名辨別主機和網絡的方案,如binkley.cs.mcgill.ca或essex.ac.uk。已命名的實體被組織成一個命名層次結構。已命名的實體稱為域,124而符号名稱為域名。域被組織成一個層次結構,以便反映它們的組織結構。命名層次結構與構成網際網路的網絡實體布局完全無關。域名對于使用者很友善,但它們在被用作通信辨別符之前,必須翻譯成網際網路位址(ip位址),這是dns服務的職責。應用程式将請求發送給dns,以便将使用者指定的域名轉化成網際網路位址。

dns實作為一個可在網際網路的任意主機上運作的伺服器程序。每個域至少有兩台dns伺服器,一般情況下會更多。每個域的伺服器持有該域之下的域名樹的部分視圖。它們至少必須存儲自己域中的所有域名和主機名,但通常包含樹的更大的部分。若dns伺服器接收到的請求中,需要翻譯的域名在自己所儲存的那部分樹以外,則dns伺服器通過向相關域的伺服器發送請求,遞歸地自右向左解析名字的各個部分。翻譯結果緩存在處理原始請求的伺服器上,以便未來處理同一域名請求時,無須查閱其他伺服器就可以解析該名字。若不廣泛地使用緩存技術,dns将無法工作,因為基本上在每種情況下都會查詢“根”名字伺服器,進而形成一個服務通路瓶頸。

繼續閱讀