MSN 即時熱線

2010年12月1日 星期三

DNS (網域名稱系統)

文章內容轉自 維基百科,自由的百科全書
http://zh.wikipedia.org/zh-hk/%E7%B6%B2%E5%9F%9F%E5%90%8D%E7%A8%B1%E7%B3%BB%E7%B5%B1
網域名稱系統英語Domain Name System,縮寫DNS)是互聯網的一項核心服務,它作為可以將域名IP位址相互對映的一個分散式數據庫,能夠使人更方便的存取互聯網,而不用去記住能夠被機器直接讀取的IP數串。
DNS 使用TCPUDP53。
歷史 DNS最早於1983年保羅·莫卡派喬斯(Paul Mockapetris)發明;原始的技術規範在882號互聯網標準草案(RFC 882)中發佈。1987年發佈的第1034和1035號草案修正了DNS技術規範,並廢除了之前的第882和883號草案。在此之後對互聯網標準草案的修改基本上沒有涉及到DNS技術規範部分的改動。
早期的域名必須以英文句號「.」結尾,當使用者存取 www.wikipedia.org 的HTTP服務時必須在址欄中輸入: http://www.wikipedia.org. ,這樣DNS才能夠進行域名解析。如今DNS服務器已經可以自動補上結尾的句號。
當前,對於域名長度的限制是63個字符,包括www..com或者其他的副檔名。域名同時也僅限於ASCII字符的一個子集,這使得很多其他語言無法正確表示他們的名字和單詞。基於Punycode碼的IDNA系統,可以將Unicode字串對映為有效的DNS字符集,這已經透過了驗證並被一些序號產生器構作為一種變通的方法所採納。

查詢方式
舉一個例子,zh.wikipedia.org作為一個域名就和IP位址208.80.152.2相對應。DNS就像是一個自動的電話號碼簿,我們可以直接撥打wikipedia的名字來代替電話號碼(IP位址)。DNS在我們直接呼叫網站的名字以後就會將像zh.wikipedia.org一樣便於人類使用的名字轉化成像208.80.152.2一樣便於機器識別的IP位址。
DNS查詢有兩種方式:遞迴 和 迭代。DNS客戶端設定使用的DNS服務器一般都是遞迴服務器,它負責全權處理客戶端的DNS查詢請求,直到返回最終結果。而DNS服務器之間一般採用迭代查詢方式。以查詢 zh.wikipedia.org 為例:
  • 客戶端發送查詢報文"query zh.wikipedia.org"至DNS服務器,DNS服務器首先檢查自身快取,如果存在記錄則直接返回結果。
  • 如果記錄老化或不存在,則
  1. DNS服務器向根域名服務器發送查詢報文"query zh.wikipedia.org",根域名服務器返回 .org 域的權威域名服務器位址。
  2. DNS服務器向 .org 域的權威域名服務器發送查詢報文"query zh.wikipedia.org",得到 .wikipedia.org 域的權威域名服務器位址。
  3. DNS服務器向 .wikipedia.org 域的權威域名服務器發送查詢報文"query zh.wikipedia.org",得到主機 zh 的A記錄,存入自身快取並返回給客戶端。

[編輯] Whois

一個域名的所有者可以透過查詢WHOIS數據庫而被找到;對於大多數根域名服務器, 基本的WHOIS由ICANN維護,而WHOIS的細節則由控制那個域的域序號產生器構維護。 對於240多個國家代碼頂級域名(ccTLDs),通常由該域名權威序號產生器構負責維護WHOIS。例如香港互聯網註冊管理有限公司(Hong Kong Internet Registration Corporation Limited) 負責 .HK 域名的WHOIS維護,台灣網絡資訊中心 (Taiwan Network Information Center) 負責 .TW 域名的WHOIS維護。

[編輯] 反對

當前對於DNS系統的控制方式,常常受到指責。最常被攻擊的焦點是壟斷企業或准壟斷企業對DNS的濫用,例如VeriSign公司,以及對於頂級域名的分配。
也有些人宣稱很多DNS服務器軟件無法在動態IP分配上很好的工作,儘管這是某些特定實作的失敗而非協定本身的問題。
此外,一些黑客透過偽造DNS服務器將使用者引向錯誤網站,以達到竊取使用者私隱資訊的目的。大約有68000台這種DNS服務器[1]

[編輯] Punycode

Punycode是一個根據RFC 3492標準而製定的編碼系統,主要用於把域名從地方語言所採用的Unicode編碼轉換成為可用於DNS系統的編碼。而該編碼是根據域名相異字表(由IANA制定),Punycode可以防止所謂的IDN欺騙

沒有留言:

張貼留言