計算機網路之域名系統DNS
域名系統DNS
域名系統DNS(Domai NameSystem)是因特網使用的命名系統,用於把便於人們使用的機器名字轉換為IP地址。
許多應用層軟體經常直接使用域名系統,但計算機的使用者只是間接而不是直接使用域名系統。
域名結構
因特網採用了層次樹狀結構的命名方法。
任何一個連線在因特網上的主機或路由器,都有一個唯一的層次結構的名字,即域名。
域名的結構由標號序列組成,各標號之間用點隔開:
… . 三級域名 . 二級域名 . 頂級域名
DNS規定,域名中的標號有英文字母和數字組成,不區分大小寫。標號中除了連字元(-)外不能使用其它標點符號。級別最低的域名寫在最左邊,而級別最高的的頂級域名則寫在最右邊。
各級域名由其上一級的域名管理機構管理,而最高的頂級域名則由ICANN進行管理,這種方法可使每一個域名在整個因特網範圍內是唯一的。
頂級域名可分為以下三類:
(1)國家頂級域名,如:“.cn”表示中國,“.us”表示美國,“.uk”表示英國,等等。
(2)通用頂級域名,如:
.com (公司和企業)
.net (網路服務機構)
.org (非贏利性組織)
.edu (教育機構)
.gov (政府部門)
.mil (軍事部門)
.int (國際組織)
(3)基礎結構域名,這種頂級域名只有一個,即 arpa,用於反向域名解析,因此又稱為反向域名
.aero (航空運輸企業)
.biz (公司和企業)
.cat (加泰隆人的語言和文化團體)
.coop (合作團體)
.info (各種情況)
.jobs (人力資源管理者)
.mobi (移動產品與服務的使用者和提供者)
.museum (博物館)
.name (個人)
.pro (有證書的專業人員)
.travel (旅遊業)
域名伺服器
因特網採用層次結構的命名樹作為主機的名字,並使用分散式的域名系統 DNS。名字到 IP 地址的解析是由若干個域名伺服器程式完成的。域名伺服器程式在專設的結點上執行,執行該程式的機器稱為域名伺服器。
一個伺服器所負責管轄的(或有許可權的)範圍叫做區
因特網上的DNS域名伺服器也是按照層次安排的。每一個域名伺服器都只對域名體系中的一部分進行管轄。
域名伺服器有以下四種類型:
(1)根域名伺服器是最重要的域名伺服器。所有的根域名伺服器都知道所有的頂級域名伺服器的域名和 IP 地址。不管是哪一個本地域名伺服器,若要對因特網上任何一個域名進行解析,只要自己無法解析,就首先求助於根域名伺服器。
(2)頂級域名伺服器(TLD伺服器,Top LevelDomain)負責管理在該頂級域名伺服器註冊的所有二級域名。
(3)許可權域名伺服器不能給出最後的查詢回答時,就會告訴發出查詢請求的 DNS 客戶,下一步應當找哪一個許可權域名伺服器。
(4)本地域名伺服器對域名系統非常重要。當一個主機發出 DNS 查詢請求時,這個查詢請求報文就傳送給本地域名伺服器。每一個因特網服務提供者 ISP,或一個大學,甚至一個大學裡的系,都可以擁有一個本地域名伺服器,這種域名伺服器有時也稱為預設域名伺服器。
DNS 域名伺服器都把資料複製到幾個域名伺服器來儲存,其中的一個是主域名伺服器,其他的是輔助域名伺服器。當主域名伺服器出故障時,輔助域名伺服器可以保證 DNS 的查詢工作不會中斷。主域名伺服器定期把資料複製到輔助域名伺服器中,而更改資料只能在主域名伺服器中進行。這樣就保證了資料的一致性。
每個域名伺服器都維護一個快取記憶體,存放最近用過的名字以及從何處獲得名字對映資訊的記錄,可大大減輕根域名伺服器的負荷,使因特網上的 DNS 查詢請求和回答報文的數量大為減少。為保持快取記憶體中的內容正確,域名伺服器應為每項內容設定計時器,並處理超過合理時間的項(例如,每個專案只存放兩天)。