DNS 系統(tǒng)是如何分配域名的?
時(shí)間:2023-02-28 15:39:01 | 來源:建站知識(shí)
時(shí)間:2023-02-28 15:39:01 來源:建站知識(shí)
DNS 系統(tǒng)是如何分配域名的?:謝邀。
網(wǎng)域名稱系統(tǒng)(英語:
Domain
Name
System,縮寫:
DNS)是互聯(lián)網(wǎng)的一項(xiàng)服務(wù)。它作為將域名和IP地址相互映射的一個(gè)分布式數(shù)據(jù)庫,能夠使人更方便地訪問互聯(lián)網(wǎng)。DNS使用TCP和UDP端口53[1]。當(dāng)前,對(duì)于每一級(jí)域名長度的限制是63個(gè)字符,域名總長度則不能超過253個(gè)字符。
開始時(shí),域名的字符僅限于ASCII字符的一個(gè)子集。2008年,ICANN通過一項(xiàng)決議,允許使用其它語言作為互聯(lián)網(wǎng)頂級(jí)域名的字符。使用基于Punycode碼的IDNA系統(tǒng),可以將Unicode字符串映射為有效的DNS字符集。因此,諸如“XXX.中國”、“XXX.臺(tái)灣”的域名可以在地址欄直接輸入并訪問,而不需要安裝插件。但是,由于英語的廣泛使用,使用其他語言字符作為域名會(huì)產(chǎn)生多種問題,例如難以輸入、難以在國際推廣等。
歷史
DNS最早于1983年由保羅·莫卡派喬斯(Paul Mockapetris)發(fā)明;原始的技術(shù)規(guī)范在882號(hào)因特網(wǎng)標(biāo)準(zhǔn)草案(RFC 882)中發(fā)布。1987年發(fā)布的第1034和1035號(hào)草案修正了DNS技術(shù)規(guī)范,并廢除了之前的第882和883號(hào)草案。在此之后對(duì)因特網(wǎng)標(biāo)準(zhǔn)草案的修改基本上沒有涉及到DNS技術(shù)規(guī)范部分的改動(dòng)。
早期的域名必須以英文句號(hào)
.
結(jié)尾。例如,當(dāng)用戶訪問 的HTTP服務(wù)時(shí)必須在地址欄中輸入:
http://www.wikipedia.org.
,這樣DNS才能夠進(jìn)行域名解析。如今DNS服務(wù)器已經(jīng)可以自動(dòng)補(bǔ)上結(jié)尾的句號(hào)。
記錄類型
主條目:域名伺服器記錄類型列表
DNS系統(tǒng)中,常見的資源記錄類型有:
- 主機(jī)記錄(A記錄):RFC 1035定義,A記錄是用于名稱解析的重要記錄,它將特定的主機(jī)名映射到對(duì)應(yīng)主機(jī)的IP地址上。
- 別名記錄(CNAME記錄): RFC 1035定義,CNAME記錄用于將某個(gè)別名指向到某個(gè)A記錄上,這樣就不需要再為某個(gè)新名字另外創(chuàng)建一條新的A記錄。
- IPv6主機(jī)記錄(AAAA記錄): RFC 3596定義,與A記錄對(duì)應(yīng),用于將特定的主機(jī)名映射到一個(gè)主機(jī)的IPv6地址。
- 服務(wù)位置記錄(SRV記錄): RFC 2782定義,用于定義提供特定服務(wù)的服務(wù)器的位置,如主機(jī)(hostname),端口(port number)等。
- 域名服務(wù)器記錄(NS記錄) :用來指定該域名由哪個(gè)DNS服務(wù)器來進(jìn)行解析。 您注冊(cè)域名時(shí),總有默認(rèn)的DNS服務(wù)器,每個(gè)注冊(cè)的域名都是由一個(gè)DNS域名服務(wù)器來進(jìn)行解析的,DNS服務(wù)器NS記錄地址一般以以下的形式出現(xiàn): http://ns1.domain.com、http://ns2.domain.com等。 簡單的說,NS記錄是指定由哪個(gè)DNS服務(wù)器解析你的域名。
- NAPTR記錄:RFC 3403定義,它提供了正則表達(dá)式方式去映射一個(gè)域名。NAPTR記錄非常著名的一個(gè)應(yīng)用是用于ENUM查詢。
技術(shù)實(shí)現(xiàn)
概述DNS通過允許一個(gè)名稱服務(wù)器把它的一部分名稱服務(wù)(眾所周知的zone)“委托”給子服務(wù)器而實(shí)現(xiàn)了一種層次結(jié)構(gòu)的名稱空間。此外,DNS還提供了一些額外的信息,例如系統(tǒng)別名、聯(lián)系信息以及哪一個(gè)主機(jī)正在充當(dāng)系統(tǒng)組或域的郵件樞紐。
任何一個(gè)使用IP的計(jì)算機(jī)網(wǎng)絡(luò)可以使用DNS來實(shí)現(xiàn)它自己的私有名稱系統(tǒng)。盡管如此,當(dāng)提到在公共的Internet DNS系統(tǒng)上實(shí)現(xiàn)的域名時(shí),術(shù)語“域名”是最常使用的。
這是基于984個(gè)全球范圍的“根域名服務(wù)器”(分成13組,分別編號(hào)為A至M)[11]。從這984個(gè)根服務(wù)器開始,余下的Internet DNS命名空間被委托給其他的DNS服務(wù)器,這些服務(wù)器提供DNS名稱空間中的特定部分。
域名解析
舉一個(gè)例子,
http://zh.wikipedia.org 作為一個(gè)域名就和IP地址
198.35.26.96 相對(duì)應(yīng)。DNS就像是一個(gè)自動(dòng)的電話號(hào)碼簿,我們可以直接撥打
198.35.26.96 的名字
http://zh.wikipedia.org 來代替電話號(hào)碼(IP地址)。DNS在我們直接呼叫網(wǎng)站的名字以后就會(huì)將像
http://zh.wikipedia.org 一樣便于人類使用的名字轉(zhuǎn)化成像
198.35.26.96 一樣便于機(jī)器識(shí)別的IP地址。
DNS查詢有兩種方式:
遞歸和
迭代。DNS客戶端設(shè)置使用的DNS服務(wù)器一般都是遞歸服務(wù)器,它負(fù)責(zé)全權(quán)處理客戶端的DNS查詢請(qǐng)求,直到返回最終結(jié)果。而DNS服務(wù)器之間一般采用迭代查詢方式。
以查詢
http://zh.wikipedia.org 為例:
- 客戶端發(fā)送查詢報(bào)文"query http://zh.wikipedia.org"至DNS服務(wù)器,DNS服務(wù)器首先檢查自身緩存,如果存在記錄則直接返回結(jié)果。
- 如果記錄老化或不存在,則:
- DNS服務(wù)器向根域名服務(wù)器發(fā)送查詢報(bào)文"query zh.wikipedia.org",根域名服務(wù)器返回頂級(jí)域 .org 的頂級(jí)域名服務(wù)器地址。
- DNS服務(wù)器向 .org 域的頂級(jí)域名服務(wù)器發(fā)送查詢報(bào)文"query http://zh.wikipedia.org",得到二級(jí)域 .wikipedia.org 的權(quán)威域名服務(wù)器地址。
- DNS服務(wù)器向 .http://wikipedia.org 域的權(quán)威域名服務(wù)器發(fā)送查詢報(bào)文"query http://zh.wikipedia.org",得到主機(jī) zh 的A記錄,存入自身緩存并返回給客戶端。
參考資料:
維基百科DNS名稱解釋