溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

DNS服務(wù)器解析過程是怎樣的

發(fā)布時(shí)間:2022-02-17 16:20:38 來源:億速云 閱讀:175 作者:iii 欄目:開發(fā)技術(shù)

本文小編為大家詳細(xì)介紹“DNS服務(wù)器解析過程是怎樣的”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“DNS服務(wù)器解析過程是怎樣的”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識(shí)吧。

DNS: Domain Name System 域名系統(tǒng)是互聯(lián)網(wǎng)的一項(xiàng)服務(wù)。它作為將域名和IP地址互相映射的一個(gè)分布式數(shù)據(jù)庫,能夠使人們更方便地使用互聯(lián)網(wǎng)。

DNS服務(wù)器解析過程是怎樣的

域名

在講解DNS之前,首先粗略的說一下域名這個(gè)東西,比如說我們?cè)谟脼g覽器訪問網(wǎng)址的時(shí)候,我們輸入的網(wǎng)站的地址就是一個(gè)域名,例如 www.google.com,但其實(shí)我們知道我們標(biāo)志互聯(lián)網(wǎng)中的每一個(gè)機(jī)器都是有一個(gè)IP地址的,我們?nèi)粜枰L問一個(gè)網(wǎng)站的服務(wù)器,實(shí)際上是需要輸入該網(wǎng)站的IP地址來進(jìn)行訪問的,但是IP地址往往難以記憶,IPv4尚且難記,IPv6就更不用說了,所以我們就通過使用域名來對(duì)其進(jìn)行管理,但是在訪問的時(shí)候,系統(tǒng)底層還是通過ip地址來進(jìn)行訪問的,域名和IP地址直接的轉(zhuǎn)換就是通過DNS服務(wù)器來完成的。

nsswitch框架

域名簡(jiǎn)單了解過了,再來說一說nsswitch框架這個(gè)東東。

nsswitch(name service switch configuration,名稱服務(wù)切換配置),規(guī)定通過哪些途徑以及按照什么順序來查找特定類型的信息。還可以指定某個(gè)方法奏效或失效時(shí)系統(tǒng)將采取什么動(dòng)作,是一種通用框架,與各種類型存儲(chǔ)進(jìn)行交互的公共模塊化的實(shí)現(xiàn)。nsswitch是Linux中的一種解析框架,負(fù)責(zé)在程序跟存儲(chǔ)方式之間做了一層對(duì)接。讓用戶可以更好地選擇存儲(chǔ)方式,如把用戶名解析為UID,服務(wù)解析為PORT,域名解析為IP等。這些堆成映射解析的存儲(chǔ)方式可以有多種,如nis,ldap,file,mysql等。而nsswitch這種框架就是提供給用戶可以方便更換存儲(chǔ)方式的;比如默認(rèn)的用戶名和密碼等配置默認(rèn)在/etc/passwd文件中,但是用戶可以選項(xiàng)把用戶和密碼存儲(chǔ)在ldap或mysql中,而上層只要通過nsswitch就框架編寫的程序,在用到系統(tǒng)用戶時(shí)就不需要關(guān)心這些賬號(hào)密碼存儲(chǔ)在哪里了(不需要變動(dòng)程序),由nsswitch這個(gè)中間層來搞定了。在nsswitch的配置文件/etc/nsswitch.conf中有這么一行語句,”hosts: files dns“,就表示域名解析時(shí)先找本機(jī)的/etc/hosts文件然后再找dns服務(wù)器。

需要詳細(xì)了解可以看/etc/nsswitch.conf配置文件,nsswitch.conf中的每一行配置都指明了如何搜索信息,每行配置的格式如下:

Info: method[[action]] [method[[action]]…]

其中,info指定該行所描述的信息的類型,method為用來查找該信息的方法,action是對(duì)前面的method返回狀態(tài)的響應(yīng)。action要放在方括號(hào)里。當(dāng)需要提供nsswitch.conf文件所描述的信息的時(shí)候,系統(tǒng)將檢查含有適當(dāng)info字段的配置行。它按照從左向右的順序開始執(zhí)行配置行中指定的方法。在默認(rèn)情況下,如果找到期望的信息,系統(tǒng)將停止搜索。如果沒有指定action,那么當(dāng)某個(gè)方法未能返回結(jié)果時(shí),系統(tǒng)就會(huì)嘗試下一個(gè)動(dòng)作。有可能搜索結(jié)束都沒有找到想要的信息。

DNS服務(wù)器的出現(xiàn)

20世紀(jì)70年代末,域名解析剛開始使用的都是/etc/hosts文件來負(fù)責(zé)的,在60年代美國(guó)軍方的一個(gè)項(xiàng)目ARPAnet,由電話交換網(wǎng)絡(luò)轉(zhuǎn)到TCP/IP數(shù)據(jù)交換網(wǎng)絡(luò)(數(shù)據(jù)分組可以以多條路徑發(fā)送且接收方收到數(shù)據(jù)并要發(fā)送確認(rèn))。那個(gè)時(shí)候接入互聯(lián)網(wǎng)的只有四個(gè)主機(jī)美國(guó)加州大學(xué)的圣巴巴拉分校,洛杉磯大學(xué),猶他州立,斯坦福研究所因?yàn)橹鳈C(jī)很少人們還是可以記住IP地址的,但是因?yàn)槿俗钊菀子洃浀氖亲址皇菙?shù)字也隨著后來加入主機(jī)的越來越多人們發(fā)現(xiàn)已經(jīng)記不住哪臺(tái)主機(jī)是那個(gè)IP了;因此就出來了給主機(jī)命名的概念每一臺(tái)主機(jī)起一個(gè)人們?nèi)菀子洃浀淖址?可以人們?nèi)菀子洃浟硕鳈C(jī)卻識(shí)別不了;因此域名解析出現(xiàn)了利用hosts文件就可以標(biāo)明主機(jī)對(duì)應(yīng)的IP是什么;人們?cè)L問主機(jī)名而主機(jī)負(fù)責(zé)在把主機(jī)名解析為IP地址即可。

但是后來隨著互聯(lián)網(wǎng)主機(jī)加入的越來越多,hosts文件已經(jīng)不足以應(yīng)對(duì)。因此美國(guó)就出現(xiàn)了一個(gè)機(jī)構(gòu)IANA(現(xiàn)在由ICANN管理)負(fù)責(zé)管理IP和域名的轉(zhuǎn)換;如果A想要接入網(wǎng)絡(luò)中時(shí)就找IANA申請(qǐng)一個(gè)IP地址和一個(gè)主機(jī)名,如果B知道A的主機(jī)名想訪問A就需要到IANA那里通過FTP下載hosts文件到本地更新自己的hosts文件里面就會(huì)有A主機(jī)主機(jī)名對(duì)應(yīng)的IP地址;隨著hosts文件越來越大IANA管理非常麻煩和用戶定時(shí)就要去IANA哪里下載hosts文件。時(shí)間一長(zhǎng)這總方法是行不通的。再后來IANA就建立起了DNS負(fù)責(zé)處理用戶提交的請(qǐng)求幫用戶解析域名對(duì)應(yīng)的IP地址。

DNS重要性

1)技術(shù)角度看

DNS解析是互聯(lián)網(wǎng)絕大多數(shù)應(yīng)用的實(shí)際尋址方式; 域名技術(shù)的再發(fā)展、以及基于域名技術(shù)的多種應(yīng)用,豐富了互聯(lián)網(wǎng)應(yīng)用和協(xié)議。

2)資源角度看

域名是互聯(lián)網(wǎng)上的身份標(biāo)識(shí),是不可重復(fù)的唯一標(biāo)識(shí)資源; 互聯(lián)網(wǎng)的全球化使得域名成為標(biāo)識(shí)一國(guó)主權(quán)的國(guó)家戰(zhàn)略資源。

域名空間結(jié)構(gòu)

DNS的分布式數(shù)據(jù)庫是以域名為索引的,每個(gè)域名實(shí)際上就是一顆很大的逆向樹中的路徑,這棵逆向樹稱為域名空間。這棵樹的層次結(jié)構(gòu)如下圖,和Linux文件系統(tǒng)的結(jié)構(gòu)非常相似。在頂端,樹有唯一的一個(gè)根域。在根下又可以有多個(gè)任意的分支,這些分支點(diǎn)稱為“頂級(jí)域”。而在每個(gè)頂級(jí)域下又可以有多個(gè)相同的“二級(jí)域”,而樹的深度不得超過127層。 DNS服務(wù)器解析過程是怎樣的

FQDN

FQDN:(Fully Qualified Domain Name)完全合格域名/全稱域名,是指主機(jī)名加上全路徑,全路徑中列出了序列中所有域成員。全域名可以從邏輯上準(zhǔn)確地表示出主機(jī)在什么地方,也可以說全域名是主機(jī)名的一種完全表示形式。從全域名中包含的信息可以看出主機(jī)在域名樹中的位置。如www.baidu.com. 這個(gè)域名,分解后含義如下:

.           #表示根域.com        #表示頂級(jí)域baidu.com   #表示二級(jí)域www         #表示主機(jī)名

根域:目前全世界只有13臺(tái)根服務(wù)器,名字分別為“A”至“M”,其中10臺(tái)設(shè)置在美國(guó),另外3臺(tái)設(shè)置于英國(guó)、瑞典和日本。

頂級(jí)域:有組織域和國(guó)家域,其中組織域有如:.com .org .net .edu .cc .info等等,國(guó)家域有:.cn .hk .jp等等。

二級(jí)域名:就是真正用于服務(wù)的,比如可以根據(jù)企業(yè)名稱自行申請(qǐng)?jiān)囉檬裁从蛎?/p>

主機(jī)名:是用來標(biāo)識(shí)這個(gè)域名對(duì)應(yīng)的服務(wù)是什么,如www一般用于萬維網(wǎng),mail用于郵件,都可以隨意設(shè)定。

下圖是各個(gè)分支的表現(xiàn)形式:

  DNS服務(wù)器解析過程是怎樣的

DNS服務(wù)器規(guī)則

\1) 每一個(gè)主機(jī)都知道根域在哪里;

\2) 上級(jí)必須知道下級(jí);

\3) 下級(jí)不知道上級(jí);

\4) 查詢兩段式遞歸查詢和迭代查詢;

\5) 根域不迭代(根全球有13臺(tái)a-m.root-servers.net);

\6) 頂級(jí)域不迭代;

\7) 二級(jí)域服務(wù)器可以只提供權(quán)威查詢不提供迭代或轉(zhuǎn)發(fā);

DNS服務(wù)器解析過程

1)遞歸查詢

遞歸查詢是最常見的是主機(jī)發(fā)送到本地域名服務(wù)器的請(qǐng)求。當(dāng)本地域名服務(wù)器接受了客戶機(jī)的查詢請(qǐng)求時(shí),本地域名服務(wù)器將力圖代表客戶機(jī)來找到答案,而在域名服務(wù)器執(zhí)行所有工作的時(shí)候,客戶機(jī)只是等待。如果本地域名服務(wù)器不能直接回答,則它將在域名樹中的各分 支上下遞歸搜索來尋找答案。對(duì)于一個(gè)遞歸查詢,DNS服務(wù)器將持續(xù)搜索直到收到回答。這種回答可以是主機(jī)的IP地址,也可以回答“主機(jī)不存在”。不論是哪種結(jié)果,遞歸域名服務(wù)器將把結(jié)果返回給客戶機(jī)。

2)迭代查詢(可能發(fā)出多次請(qǐng)求)

本地域名服務(wù)器向根域名服務(wù)器的查詢通常是采用迭代查詢。當(dāng)根域名服務(wù)器收到本地域名服務(wù)器的迭代查詢請(qǐng)求報(bào)文時(shí),要么給出所要查詢的 IP 地址,要么告訴本地域名服務(wù)器:“你下一步應(yīng)當(dāng)向哪一個(gè)域名服務(wù)器進(jìn)行查詢”。然后讓本地域名服務(wù)器進(jìn)行后續(xù)的查詢。

一個(gè)域名的查詢過程解析

如DNS客戶端需要解析www.baidu.com.cn這個(gè)域名,過程如下圖: DNS服務(wù)器解析過程是怎樣的

1、DNS客戶端首先找本地DNS服務(wù)器進(jìn)行域名解析,也就是自己設(shè)置的DNS地址;

2、本地DNS服務(wù)器收到請(qǐng)求后直接查找本服務(wù)器是否有此記錄,如果有就直接返回域名對(duì)應(yīng)的地址給客戶端,那么這個(gè)域名的解析就完成了,這個(gè)就稱為一次“遞歸查詢”;

3、如果本地DNS沒有查找到對(duì)應(yīng)的記錄,那么此DNS服務(wù)器就會(huì)請(qǐng)求根域找.cn服務(wù)器的地址(當(dāng)然本地DNS服務(wù)器也可能不找根DNS而是直接轉(zhuǎn)發(fā)到其他DNS服務(wù)器進(jìn)行域名解析,但是如果被轉(zhuǎn)發(fā)的那臺(tái)DNS服務(wù)器不是www.baidu.com.cn的權(quán)威服務(wù)器還是需要進(jìn)行找根服務(wù)器);

4、根服務(wù)器接收到請(qǐng)求后就會(huì)去找國(guó)際域名服務(wù)器列表,然后會(huì)返回.cn服務(wù)器的地址給本地DNS服務(wù)器;

5、本地DNS服務(wù)器收到.cn服務(wù)器地址后,就會(huì)找.cn服務(wù)器進(jìn)行頂級(jí)域.com.cn服務(wù)器地址的解析,然后.cn服務(wù)器會(huì)返回.com.cn服務(wù)器的地址給本地DNS服務(wù)器;

6、本地DNS服務(wù)器收到.com.cn地址后,就會(huì)找.com.cn服務(wù)器解析baidu.com.cn服務(wù)器的地址;

7、本地DNS服務(wù)器收到baidu.com.cn的地址后,就會(huì)找baidu.com.cn服務(wù)器解析www.baidu.com.cn主機(jī)地址;

8、本地DNS服務(wù)器得到www.baidu.com.cn的IP地址后,會(huì)馬上返回給客戶端并緩存此域名;

9、客戶端得到IP地址后緩存在本地,然后就可以通過IP地址訪問百度服務(wù)器;

PS:在這個(gè)查詢過程中,客戶端發(fā)出的請(qǐng)求就是遞歸查詢,而DNS服務(wù)器發(fā)出的請(qǐng)求就是迭代查詢;另外,還有一個(gè)名詞就是權(quán)威服務(wù)器(權(quán)威應(yīng)答),意思就是真正負(fù)責(zé)你的域名記錄解析的服務(wù)器稱為權(quán)威服務(wù)器,其他解析都不能稱為權(quán)威應(yīng)答。

DNS服務(wù)器類型

1)主DNS服務(wù)器

主DNS服務(wù)器就是創(chuàng)建了區(qū)域的DNS服務(wù)器。這里的區(qū)域數(shù)據(jù)是可讀可修改的。主DNS服務(wù)器中的區(qū)域數(shù)據(jù)也稱為正本區(qū)域數(shù)據(jù)。在一個(gè)DNS服務(wù)網(wǎng)絡(luò)中,可以建立多個(gè)主DNS服務(wù)器,這樣可以提供DNS服務(wù)的容錯(cuò)性。

2)輔助DNS服務(wù)器

輔助DNS服務(wù)器不創(chuàng)建區(qū)域,它的區(qū)域數(shù)據(jù)是從主DNS服務(wù)器復(fù)制來的,因此,區(qū)域數(shù)據(jù)只能讀不能修改,也稱為副本區(qū)域數(shù)據(jù)。當(dāng)啟動(dòng)輔助DNS服務(wù)器時(shí),輔助DNS服務(wù)器會(huì)和建立聯(lián)系的主DNS服務(wù)器聯(lián)系,并從主DNS服務(wù)器中復(fù)制數(shù)據(jù)。輔助DNS服務(wù)器在工作時(shí),它會(huì)定期地更新副本區(qū)域數(shù)據(jù),以盡可能地保證副本和正本區(qū)域數(shù)據(jù)的一致性。輔助DNS服務(wù)器除了可以從主DNS服務(wù)器復(fù)制數(shù)據(jù)外,還可以從其他輔助DNS服務(wù)器復(fù)制區(qū)域數(shù)據(jù)。

在一個(gè)區(qū)域中設(shè)置多個(gè)輔助DNS服務(wù)器可以提供容錯(cuò),分擔(dān)主DNS服務(wù)器的負(fù)擔(dān),同時(shí)可以加快DNS解析的速度。

3)主控DNS服務(wù)器

不論是主DNS服務(wù)器還是輔助DNS服務(wù)器,如果它向其他輔助DNS服務(wù)器提供區(qū)域數(shù)據(jù)的復(fù)制服務(wù),就稱為DNS服務(wù)器是主控DNS服務(wù)器。如DNS服務(wù)器A向DNS服務(wù)器B提供數(shù)據(jù)復(fù)制服務(wù),則A就稱為主控DNS服務(wù)器。

4)高速緩存服務(wù)器

高速緩存服務(wù)器上不存在任何區(qū)域數(shù)據(jù),它只幫助DNS客戶機(jī)向其他DNS服務(wù)器進(jìn)行查詢,然后將查詢到的數(shù)據(jù)存儲(chǔ)在一份高速緩存Cache中,響應(yīng)客戶機(jī)的查詢請(qǐng)求。Cache-Only 服務(wù)器只負(fù)責(zé)查詢數(shù)據(jù),當(dāng)客戶機(jī)查詢數(shù)據(jù)時(shí),如果Cache中存在數(shù)據(jù),則Cache可以將結(jié)果快速反饋給客戶機(jī)。

5)DNS轉(zhuǎn)發(fā)服務(wù)器

DNS轉(zhuǎn)發(fā)服務(wù)器是一種特殊類型的DNS服務(wù)器。在一個(gè)DNS網(wǎng)絡(luò)中,如果客戶機(jī)向指定的DNS服務(wù)器解析的域名不成功,DNS服務(wù)器就可以將客戶機(jī)的解析請(qǐng)求發(fā)送給一臺(tái)DNS轉(zhuǎn)發(fā)服務(wù)器,顧名思義,DNS轉(zhuǎn)發(fā)服務(wù)器就是將域名請(qǐng)求轉(zhuǎn)發(fā)給其他DNS服務(wù)器。

讀到這里,這篇“DNS服務(wù)器解析過程是怎樣的”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

dns
AI