今天來跟大家普及一下,會是DNS解析,域名為什么要解析
2022-12-05 加入收藏
Internet上的成千上萬臺主機(jī)都是通過IP地址來區(qū)分的,而訪問這些主機(jī)的時候,顯然很難記住每一個沒有任何意義和規(guī)律的長達(dá)32位的二進(jìn)制地址,即便是記住點(diǎn)分十進(jìn)制的IP地址也是一件很令人頭疼的事情。能否用一些方便記憶的形式來訪問網(wǎng)絡(luò)中的主機(jī)呢?相比之下,人們顯然更愿意并且更容易記住那些有規(guī)律的、有實(shí)際意義的主機(jī)名字。但是網(wǎng)絡(luò)通信時只能識別二進(jìn)制的IP地址,這就需要一種機(jī)制來完成主機(jī)名字到二進(jìn)制IP地址的轉(zhuǎn)換工作。
在ARPANet時代,整個網(wǎng)絡(luò)上只有數(shù)百臺計(jì)算機(jī),那時使用一個host.txt文件,里面記錄了所有主機(jī)名及其相對應(yīng)的二進(jìn)制IP地址,主機(jī)名字管理由網(wǎng)絡(luò)信息中心NIC集中完成。當(dāng)用戶需要同某個主機(jī)進(jìn)行通信時,只要用戶輸入這個主機(jī)的名字,計(jì)算機(jī)就能夠很快地查出相應(yīng)的二進(jìn)制IP地址并進(jìn)行轉(zhuǎn)換。對于只有幾百個分時運(yùn)行的計(jì)算機(jī)的網(wǎng)絡(luò),這個方法還是很有效的。但是當(dāng)網(wǎng)絡(luò)的規(guī)模不斷擴(kuò)大,主機(jī)數(shù)越來越多時,NIC根據(jù)網(wǎng)絡(luò)的變化不斷改動host.txt文件,并定期向全網(wǎng)絡(luò)進(jìn)行傳遞。這使得host文件越來越難以管理,網(wǎng)絡(luò)用戶不能忍受自己的主機(jī)名需要等待很長乃至幾天的時間才能加在host.txt文件中,更何況還有命名沖突的可能(除非全網(wǎng)絡(luò)的主機(jī)名被統(tǒng)一管理,這在一個復(fù)雜的國際網(wǎng)絡(luò)上顯然是不現(xiàn)實(shí)的)。另外,頻繁的host.txt文件下載請求對維護(hù)站主機(jī)造成了巨大的壓力,服務(wù)的質(zhì)量得不到保證,一旦維護(hù)站出了故障,整個網(wǎng)絡(luò)就會癱瘓。
因此,迫切需要一個簡單的管理方法來解決這些問題。
1984年,因特網(wǎng)開始采用層次式的名字空間組織方案——域名系統(tǒng)DNS(Domain Name System),并使用分布式數(shù)據(jù)庫管理整個名字空間。域名系統(tǒng)在RFC1034和RFC1035中定義,并已成為因特網(wǎng)的正式標(biāo)準(zhǔn)。
當(dāng)網(wǎng)絡(luò)上的一臺客戶機(jī)需要訪問耨服務(wù)器上資源時,客戶機(jī)的用戶只需在瀏覽器的地址文本框中數(shù)據(jù)該服務(wù)器網(wǎng)址,就可以與該服務(wù)器連接,計(jì)算機(jī)的硬件只能識別IP地址,不能識別其他類型地址,這樣在用戶容易記住的地址和計(jì)算機(jī)能夠識別的地址之間就需要轉(zhuǎn)換,DNS服務(wù)器便充當(dāng)這個地址解析的角色
DNS是域名系統(tǒng)的縮寫(Domain Name System)
是一種組織成域?qū)哟谓Y(jié)構(gòu)的計(jì)算機(jī)和網(wǎng)絡(luò)服務(wù)命名系統(tǒng)
采用層次化、分布式、客戶-服務(wù)器模式的名字管理代替原來的集中式管理
允許命名管理者在較低的結(jié)構(gòu)層次上管理用戶自己的名字
這樣把名字空間劃分的足夠小,由不同的組織進(jìn)行分散管理,使名字管理更加靈活和方便
DNS主要包含三部分的內(nèi)容:
層次樹型結(jié)構(gòu)的域名空間(Domain Name Space)、
存儲有關(guān)域名及其二進(jìn)制IP地址信息的名字服務(wù)器(Name Server)
實(shí)現(xiàn)域名與IP地址轉(zhuǎn)換的解析器(Resolver)。
DNS系統(tǒng)采用客戶/服務(wù)器工作方式。
解析器駐留在客戶端,按用戶的需要創(chuàng)建查詢請求并提交給名字服務(wù)器,同時將查詢結(jié)果返回給客戶,因此人們習(xí)慣將域名到二進(jìn)制IP地址的轉(zhuǎn)換過程叫做域名解析。
運(yùn)行在專門的網(wǎng)絡(luò)節(jié)點(diǎn)上保存域名樹結(jié)構(gòu)(部分或者全部域名空間)和相應(yīng)的信息的分布式數(shù)據(jù)庫系統(tǒng)稱為名字服務(wù)器。
在DNS中,域名服務(wù)器是一個服務(wù)器軟件,運(yùn)行于指定的計(jì)算機(jī),完成域名-IP地址的映射
理論上講可以只使用一個域名服務(wù)器來管理網(wǎng)絡(luò)上的所有主機(jī)名,并回答所有的IP查詢
然而網(wǎng)絡(luò)規(guī)模不斷擴(kuò)大,這種方式下域名服務(wù)器負(fù)荷越來越重,會導(dǎo)致無法工作
該域名服務(wù)器一旦出現(xiàn)故障,整個網(wǎng)絡(luò)就會癱瘓。所以DNS采用聯(lián)機(jī)分布式數(shù)據(jù)庫系統(tǒng)。
DNS的分布式結(jié)構(gòu)使得系統(tǒng)的生存性增強(qiáng),即使某個服務(wù)器出了故障,整個系統(tǒng)還能正常運(yùn)行;而客戶/服務(wù)器的工作方式促使大多數(shù)名字解析任務(wù)在本地完成,降低了因特網(wǎng)的通信量,提高了系統(tǒng)的效率。
域名空間(層次型域名系統(tǒng))
網(wǎng)絡(luò)主機(jī)命名的三個問題:
主機(jī)名字的唯一性
要想因特網(wǎng)正常工作,和IP地址一樣,網(wǎng)絡(luò)上任何一個計(jì)算機(jī)的域名也必須是惟一的。
便于管理
便于映射
為了便于管理和查詢,域名空間使用層次的樹狀結(jié)構(gòu)。
域名的具體結(jié)構(gòu)或命名規(guī)則稱為域名空間。
DNS的分層管理機(jī)制采用一個規(guī)則的樹形結(jié)構(gòu)的名字空間
每個節(jié)點(diǎn)都有一個獨(dú)立的節(jié)點(diǎn)名字,即標(biāo)號
空標(biāo)號“”保留為根,兄弟節(jié)點(diǎn)(同一父節(jié)點(diǎn)的各個子節(jié)點(diǎn))不允許重名
非兄弟節(jié)點(diǎn)可以重名,葉節(jié)點(diǎn)通常用來代表主機(jī)
DNS將整個名字空間分成若干個域
一個節(jié)點(diǎn)的域由該節(jié)點(diǎn)及該節(jié)點(diǎn)以下的名字空間組成
一個域是樹型域名空間的一顆字?jǐn)?shù),每個域都有一個域名
域名定義了該域在分布式主機(jī)數(shù)據(jù)庫中的位置
每個域還可以再劃分為子域,子域是域的子集
看上去像是一棵倒置的樹,樹中每個節(jié)點(diǎn)和特定層次的域相對應(yīng),越靠近樹根級別越高。
根域下面是頂級域,頂級域之下是二級域,再下面是三級域,依此類推。
域(Domain)是樹狀的域名空間中的一棵子樹,代表因特網(wǎng)的某個可被管理的資源集合;
域還可以根據(jù)需要被進(jìn)一步劃分為子域。
樹葉是Internet上一臺主機(jī)的名稱,通常是因特網(wǎng)上提供特定服務(wù)的服務(wù)器主機(jī)的名稱,
例如www、ftp、mail等等,它的下面就不能再劃分子域了。
在域名樹中的中間節(jié)點(diǎn)和葉子統(tǒng)稱為節(jié)點(diǎn)。
每個節(jié)點(diǎn)域有一個名字(不超過63個字符,且不用區(qū)分大小寫字母),
不同的節(jié)點(diǎn)域可以使用相同的名字,
根節(jié)點(diǎn)沒有名字。
某個節(jié)點(diǎn)的完整域名由從該節(jié)點(diǎn)到根的標(biāo)記序列構(gòu)成
中間以“.”(小數(shù)點(diǎn))為分隔。
寫的時候由左至右按級別依次從低到高書寫,最右邊為頂級域,
如..三級域.二級域.頂級域
域名lib.pku.edu.cn由lib,pku,edu,cn共四個節(jié)點(diǎn)標(biāo)識符組成,
這些標(biāo)識符通常稱為標(biāo)號
每個標(biāo)號后面的各個標(biāo)號稱為域
在lib.pku.edu.cn中最低級域?yàn)閘ib.pku.edu.cn,第三級域是pku.edu.cn,代表北京大學(xué);第二級域是edu.cn代表教育機(jī)構(gòu);頂級域?yàn)閏n代表中國
這種類似文件目錄樹的層次結(jié)構(gòu)保證了每一個域名在全因特網(wǎng)范圍內(nèi)是唯一的。雖然有的節(jié)點(diǎn)域使用了相同的名字,但是它們隸屬于不同的父域,下面又劃分不同的子域,因而保證了節(jié)點(diǎn)的完整域名在全網(wǎng)是唯一的
例如,www.tsinghua.edu.cn、mail.xjtu.edu.cn、www.xjtu.edu.cn,其中第1,3個計(jì)算機(jī)的名字都是www,但隸屬于不同三級域,而第2、3個域名表示相同三級域下不同的計(jì)算機(jī)
域名命名限制
域名不能超過63個字符
路徑全名不能超過255個字符
書寫時不區(qū)分大小寫
每級域名目前都是由英文字母和數(shù)字組成
級別最低的域名寫在最左邊,級別最高的域名寫在最右邊
域名系統(tǒng)不規(guī)定一個域名需要包含多少個下級域名
也不規(guī)定每一級的域名代表什么意思
各級域名由上一級域名管理機(jī)構(gòu)管理
最高域名則由NIC管理
域名只是個邏輯概念,并不能反映出計(jì)算機(jī)所在的物理地點(diǎn)
域名管理
在DNS中,每個域分別由不同的組織進(jìn)行管理。
每個組織都可以將它的域再分成一定數(shù)量的子域并將這些子域委托給其他組織進(jìn)行管理。
例如,管理edu.cn域的中國互聯(lián)網(wǎng)絡(luò)信息中心(CNNIC)又授權(quán)北京大學(xué)信息中心來管理pku.edu.cn子域。
域名系統(tǒng)對下級域的個數(shù)和層數(shù)沒有規(guī)定,但是整個域名的長度不得超過255個字符。
域的命名由使用者自己決定,各級域的域名由其上一級的域名管理機(jī)構(gòu)管理,而頂級域名由國際互聯(lián)網(wǎng)代理成員管理局IANA全權(quán)負(fù)責(zé)。
在1998年之后,國際域名注冊是由Internet名字與號碼指派公司ICANN(Internet Corporation for Assigned Names and Numbers,ICANN)統(tǒng)一管理的。
頂級域名(Top LevelDomain,TLD)有通用頂級域名以及國家頂級域名之分。
1.通用頂級域名gTLD
RFC1591最早規(guī)定的頂級域名有6個,
分別為
.edu(教育機(jī)構(gòu)),
.com(經(jīng)濟(jì)實(shí)體),
.org(各種不適于注冊在其他類別域的組織機(jī)構(gòu)和非政府組織),
.net(網(wǎng)絡(luò)服務(wù)機(jī)構(gòu)),
.gov(政府部門或機(jī)構(gòu),美國專用)和.mit(軍事部門,美國專用)
.int(用于由國際協(xié)議和國際數(shù)據(jù)庫建立的組織機(jī)構(gòu))。
每一個頂級域類別都是為相應(yīng)的機(jī)構(gòu)創(chuàng)建的。
2.國家頂級域名nTLD
國家頂級域名采用由ISO-3166標(biāo)準(zhǔn)規(guī)定的兩位字母的國家代碼的形式,目前有243個
如.us表示美國,.cn表示中國等。
由于因特網(wǎng)用戶數(shù)量的劇增,2000年11月起又增加了7個通用頂級域名
分別是:.biz,.info,.name,.pro,.museum,.aero和.coop。
在國家頂級域名之下的二級域名均由該國家自行確定。
我國將二級域名劃分為“類別域名”和“行政區(qū)域名”兩大類。
其中“類別域名”有6個,它們是
.AC適用于科研機(jī)構(gòu);
.com適用于工商、金融等企業(yè),
.edu(適用于中國的教育機(jī)構(gòu)),
.gov(適用于中國的政府機(jī)構(gòu)),
.net(適用于提供互聯(lián)網(wǎng)絡(luò)服務(wù)的機(jī)構(gòu)),
.org(適用于非營利性組織);
“行政區(qū)域名”共34個,適用于我國的各省、自治區(qū)、直轄市,
例如.bj表示北京市,.sh表示上海市等。
在中國注冊域名通常分為國內(nèi)域名注冊和國際域名注冊。
目前,國內(nèi)域名注冊統(tǒng)一由中國互聯(lián)網(wǎng)絡(luò)信息中心(CNNIC)進(jìn)行管理,具體注冊工作由通過CNNIC認(rèn)證授權(quán)的各代理商執(zhí)行。
國際域名是由ICANN統(tǒng)一管理的,具體注冊工作由通過CNNIC認(rèn)證授權(quán)的各代理商執(zhí)行。
中文域名指能用漢字命名的新一代域名,它是中國人自己的域名,使用和記憶非常方便。
域名與IP
在這里要特別強(qiáng)調(diào)一點(diǎn):雖然域名和IP地址都是分層的地址結(jié)構(gòu),而且都是以“.”為分隔的,但是二者的各層之間并沒有對應(yīng)的關(guān)系。域名是按名字組織關(guān)系來劃分的,是一個邏輯概念,與計(jì)算機(jī)在網(wǎng)絡(luò)中的物理位置和子網(wǎng)的劃分沒有任何關(guān)系,而且“.”的數(shù)量不一定是三個;IP地址是一個32bit的二進(jìn)制數(shù),點(diǎn)分十進(jìn)制記法中的“.”是為了提高可讀性,在計(jì)算機(jī)和網(wǎng)絡(luò)中處理的IP地址是沒有“.”的
域名解析
使用域名進(jìn)行訪問網(wǎng)絡(luò)時,不能直接用于TCP/IP協(xié)議的路由選擇
需要先把域名解析成IP地址,這種主機(jī)域名映射成IP地址的過程叫做域名解析
進(jìn)行域名解析的主機(jī)叫做DNS服務(wù)器(域名服務(wù)器,名字服務(wù)器,Name Server),就是將因特網(wǎng)上主機(jī)的域名轉(zhuǎn)化為計(jì)算機(jī)能識別的IP地址。
在DNS系統(tǒng)中,存儲有關(guān)域名及其二進(jìn)制IP地址信息的程序軟件運(yùn)行在專門的網(wǎng)絡(luò)節(jié)點(diǎn)之上,完成域名到IP映射
各服務(wù)器只負(fù)責(zé)解析主管范圍的解析工作
DNS系統(tǒng)由一個分布式的主機(jī)信息數(shù)據(jù)庫管理互聯(lián)網(wǎng)上所有主機(jī)的域名與IP地址,
不同域名是數(shù)據(jù)庫的不同部分
每個域至少有一個域名服務(wù)器進(jìn)行管理,該域名服務(wù)器保存著這個域名空間的所有信息,并負(fù)責(zé)回答某個域名地址的查詢請求
查詢結(jié)構(gòu)有兩種:本地計(jì)算機(jī)含有該域名地址則直接給出,若本地沒有該域名則給出其他域名服務(wù)器地址
根服務(wù)器知道所有一級域的服務(wù)器位置;
一級域名服務(wù)器知道本域內(nèi)所有的域名服務(wù)器位置
收到域名查詢后,根域名服務(wù)器提供該域名所在的第一級域名服務(wù)器地址和名字,
第一級再提供第二級,以此類推,直到得到答案
經(jīng)過統(tǒng)計(jì)發(fā)現(xiàn),大部分的名字轉(zhuǎn)換請求為本地請求,
因此為了提高查詢效率,不必每次都去訪問根名字服務(wù)器。
另外,名字服務(wù)器還可以在其本地緩沖區(qū)存儲查詢過程中獲得的其他名字服務(wù)器的信息,
以便在將來的查詢中縮短響應(yīng)時間,
用戶的主機(jī)中也可以使用這樣的緩存技術(shù)來加速查詢。
當(dāng)然,名字服務(wù)器并不會永遠(yuǎn)保留這個信息,而會在一定時間后放棄它。
這個到期間隔時間稱為存活期(Time To Live,TTL)。
DNS數(shù)據(jù)庫中的每一數(shù)據(jù)都有相應(yīng)責(zé)任區(qū)的管理員指定的TTL。
DNS服務(wù)器類型
主要DNS服務(wù)器
當(dāng)DNS服務(wù)器管理主要區(qū)域時,被稱為主要DNS服務(wù)器
它是主要區(qū)域的集中更新源,用戶可以部署兩種模式主要區(qū)域
1.標(biāo)準(zhǔn)主要區(qū)域;此區(qū)域數(shù)據(jù)存在本地文件中,只有主要DNS可以管理,一旦主DNS出現(xiàn)故障,此主要區(qū)域不能再進(jìn)行修改,輔助服務(wù)器答復(fù)DNS的解析請求。此區(qū)域只支持非安全的動態(tài)更新
2.活動目錄集成主要區(qū)域;此區(qū)域僅當(dāng)在域控制器上部署DNS時有效,區(qū)域數(shù)據(jù)存放在活動目錄中并隨目錄的復(fù)制而復(fù)制。默認(rèn)情況下,每一個運(yùn)行在域控制器上的DNS服務(wù)器都將成為主要DNS,并可以修改區(qū)域中數(shù)據(jù)(多點(diǎn)更新),避免標(biāo)準(zhǔn)主要區(qū)域的單點(diǎn)故障?;顒幽夸浖芍饕獏^(qū)域支持安全的動態(tài)更新
輔助DNS服務(wù)器
實(shí)現(xiàn)負(fù)載均衡和避免單點(diǎn)故障
輔助DNS用于獲取區(qū)域數(shù)據(jù)的源DNS服務(wù)器稱為主服務(wù)器
主服務(wù)器可以由主要DNS服務(wù)器或者其他輔助DNS來擔(dān)當(dāng)
當(dāng)創(chuàng)建輔助區(qū)域時,要求用戶指定主服務(wù)器
在輔助服務(wù)器和主服務(wù)器之間存在著區(qū)域復(fù)制,用于從主服務(wù)器更新區(qū)域數(shù)據(jù)