域名系統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 位址的解析是由若幹個域名伺服器程式完成的。域名伺服器程式在專設的結點上運作,運作該程式的機器稱為域名伺服器。
一個伺服器所負責管轄的(或有權限的)範圍叫做區(zone)。各機關根據具體情況來劃分自己管轄範圍的區。但在一個區中的所有節點必須是能夠連通的。每一個區設定相應的權限域名伺服器,用來儲存該區中的所有主機的域名到IP位址的映射。
網際網路上的DNS域名伺服器也是按照層次安排的。每一個域名伺服器都隻對域名體系中的一部分進行管轄。
域名伺服器有以下四種類型:
(1)根域名伺服器是最重要的域名伺服器。所有的根域名伺服器都知道所有的頂級域名伺服器的域名和 IP 位址。不管是哪一個本地域名伺服器,若要對網際網路上任何一個域名進行解析,隻要自己無法解析,就首先求助于根域名伺服器。
(2)頂級域名伺服器(TLD伺服器,Top LevelDomain)負責管理在該頂級域名伺服器注冊的所有二級域名。
(3)權限域名伺服器不能給出最後的查詢回答時,就會告訴發出查詢請求的 DNS 客戶,下一步應當找哪一個權限域名伺服器。
(4)本地域名伺服器對域名系統非常重要。當一個主機發出 DNS 查詢請求時,這個查詢請求封包就發送給本地域名伺服器。每一個網際網路服務提供者 ISP,或一個大學,甚至一個大學裡的系,都可以擁有一個本地域名伺服器,這種域名伺服器有時也稱為預設域名伺服器。
DNS 域名伺服器都把資料複制到幾個域名伺服器來儲存,其中的一個是主域名伺服器,其他的是輔助域名伺服器。當主域名伺服器出故障時,輔助域名伺服器可以保證 DNS 的查詢工作不會中斷。主域名伺服器定期把資料複制到輔助域名伺服器中,而更改資料隻能在主域名伺服器中進行。這樣就保證了資料的一緻性。
每個域名伺服器都維護一個高速緩存,存放最近用過的名字以及從何處獲得名字映射資訊的記錄,可大大減輕根域名伺服器的負荷,使網際網路上的 DNS 查詢請求和回答封包的數量大為減少。為保持高速緩存中的内容正确,域名伺服器應為每項内容設定計時器,并處理超過合理時間的項(例如,每個項目隻存放兩天)。