日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
深入DNS服務(wù)器原理(一)

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

創(chuàng)新互聯(lián)公司專注于企業(yè)全網(wǎng)整合營銷推廣、網(wǎng)站重做改版、白云鄂網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、成都h5網(wǎng)站建設(shè)成都做商城網(wǎng)站、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為白云鄂等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

域名

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

nsswitch框架

域名簡單了解過了,再來說一說nsswitch框架這個東東。

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

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

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

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

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

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

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

DNS重要性

1)技術(shù)角度看

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

2)資源角度看

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

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

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

FQDN

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

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

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

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

二級域名:就是真正用于服務(wù)的,比如可以根據(jù)企業(yè)名稱自行申請試用什么域名。

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

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

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

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

\2) 上級必須知道下級;

\3) 下級不知道上級;

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

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

\6) 頂級域不迭代;

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

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

1)遞歸查詢

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

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

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

一個域名的查詢過程解析

如DNS客戶端需要解析www.baidu.com.cn這個域名,過程如下圖:

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

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

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

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

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

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

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

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

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

PS:在這個查詢過程中,客戶端發(fā)出的請求就是遞歸查詢,而DNS服務(wù)器發(fā)出的請求就是迭代查詢;另外,還有一個名詞就是權(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ù)。在一個DNS服務(wù)網(wǎng)絡(luò)中,可以建立多個主DNS服務(wù)器,這樣可以提供DNS服務(wù)的容錯性。

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

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

在一個區(qū)域中設(shè)置多個輔助DNS服務(wù)器可以提供容錯,分擔(dān)主DNS服務(wù)器的負(fù)擔(dān),同時可以加快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ù)存儲在一份高速緩存Cache中,響應(yīng)客戶機(jī)的查詢請求。Cache-Only 服務(wù)器只負(fù)責(zé)查詢數(shù)據(jù),當(dāng)客戶機(jī)查詢數(shù)據(jù)時,如果Cache中存在數(shù)據(jù),則Cache可以將結(jié)果快速反饋給客戶機(jī)。

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

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


新聞標(biāo)題:深入DNS服務(wù)器原理(一)
轉(zhuǎn)載注明:http://www.dlmjj.cn/article/cdgeeho.html