36 張圖詳解 DNS :網(wǎng)絡(luò)世界的導(dǎo)航
我們平時(shí)在訪問(wèn)網(wǎng)站時(shí),不使用 IP 地址,而是網(wǎng)站域名。但是抓包發(fā)現(xiàn):交互報(bào)文是以?IP 地址進(jìn)行的。那么 IP 地址是從哪來(lái)的呢?這是因?yàn)?DNS?把網(wǎng)站域名自動(dòng)轉(zhuǎn)換為 IP 地址。
DNS 出現(xiàn)
TCP/IP 是基于 IP 地址進(jìn)行通信的,但是 IP 地址不太好記。于是出現(xiàn)了另一種方便記憶的標(biāo)識(shí)符,那就是主機(jī)名。為計(jì)算機(jī)配置主機(jī)名,在進(jìn)行網(wǎng)絡(luò)通信時(shí),直接使用主機(jī)名,而不用輸入一大串的 IP 地址。同時(shí),系統(tǒng)通過(guò)一個(gè)叫?hosts?的文件,實(shí)現(xiàn)主機(jī)名轉(zhuǎn)換 IP 地址的功能。hosts 文件包括主機(jī)名和 IP 地址的對(duì)應(yīng)關(guān)系。當(dāng)需要通過(guò)主機(jī)名訪問(wèn)主機(jī)時(shí),它就會(huì)查看本地的 hosts 文件,從文件中找到相對(duì)應(yīng)的 IP 地址,然后進(jìn)行報(bào)文發(fā)送。如果在 hosts 文件中沒(méi)找到相關(guān)信息,則主機(jī)訪問(wèn)失敗。hosts 文件是主機(jī)的本地文件,優(yōu)點(diǎn)是查找響應(yīng)速度快。它主要用來(lái)存儲(chǔ)一些本地網(wǎng)絡(luò)的主機(jī)名和 IP 地址的對(duì)應(yīng)信息。這樣,主機(jī)在以主機(jī)名訪問(wèn)本地網(wǎng)絡(luò)主機(jī)時(shí),通過(guò) hosts 文件可以迅速獲得相應(yīng)的 IP 地址。每臺(tái)主機(jī)的 hosts 文件都需要單獨(dú)手工更新。隨著網(wǎng)絡(luò)規(guī)模的不斷擴(kuò)大、接入計(jì)算機(jī)的數(shù)量不斷增加,維護(hù)難度越來(lái)越大,每臺(tái)主機(jī)同步更新,幾乎是一件不可能完成的任務(wù)。為了解決 hosts 文件維護(hù)困難的問(wèn)題,出現(xiàn)了?DNS 域名系統(tǒng),一個(gè)可以解決主機(jī)名和 IP 地址互相轉(zhuǎn)換的系統(tǒng)。無(wú)論網(wǎng)絡(luò)規(guī)模變得多么龐大,都能在一個(gè)小范圍內(nèi)通過(guò) DNS 進(jìn)行管理。DNS 介紹
DNS?,全稱?Domain Name System
?。采用?client/server
?模式,DNS client
?發(fā)出查詢請(qǐng)求,DNS server
?響應(yīng)請(qǐng)求。DNS client
?通過(guò)查詢?DNS server
?獲得主機(jī)的 IP 地址,進(jìn)而完成后續(xù)的 TCP/IP 通信過(guò)程。當(dāng) Windows 系統(tǒng)用戶使用?nslookup hostname/domainname
?命令時(shí),DNS 會(huì)自動(dòng)查找注冊(cè)了主機(jī)名和 IP 地址的數(shù)據(jù)庫(kù),并返回對(duì)應(yīng)的 IP 地址。DNS 域名
先了解什么是域名,才能理解 DNS 。域名是為了識(shí)別主機(jī)名或機(jī)構(gòu)的一種分層的名稱。因?yàn)閱为?dú)的一臺(tái)域名服務(wù)器是不可能知道所有域名信息,所以域名系統(tǒng)是一個(gè)分布式數(shù)據(jù)庫(kù)系統(tǒng),域名(主機(jī)名)到 IP 地址的解析可以由若干個(gè)域名服務(wù)器共同完成。每一個(gè)站點(diǎn)維護(hù)自己的信息數(shù)據(jù)庫(kù),并運(yùn)行一個(gè)服務(wù)器程序供互聯(lián)網(wǎng)上的客戶端查詢。DNS 提供了客戶端與服務(wù)器的通信協(xié)議,也提供了服務(wù)器之間交換信息的協(xié)議。由于是分布式系統(tǒng),即使單個(gè)服務(wù)器出現(xiàn)故障,也不會(huì)導(dǎo)致整個(gè)系統(tǒng)失效,消除了單點(diǎn)故障。DNS 域名組成
DNS 域的本質(zhì)是一種管理范圍的劃分,最大的域是根域,向下可以劃分為頂級(jí)域、二級(jí)域、三級(jí)域、四級(jí)域等。相對(duì)應(yīng)的域名是根域名、頂級(jí)域名、二級(jí)域名、三級(jí)域名等。不同等級(jí)的域名使用點(diǎn)號(hào)分隔,級(jí)別最低的域名寫在最左邊,而級(jí)別最高的域名寫在最右邊。舉個(gè)栗子:網(wǎng)站域名?www.tsinghua.edu.cn?中,從右到左開(kāi)始,cn
?是頂級(jí)域名,代表中國(guó),edu
?是二級(jí)域名,代表教育機(jī)構(gòu),tsinghua
?是三級(jí)域名,表示清華大學(xué),www
?則表示三級(jí)域名中的主機(jī),并提供了 web 服務(wù)。除了?www
?主機(jī)外,常見(jiàn)的主機(jī)還有?arch
?、sem
?、mail
?,域名如下:每一級(jí)的域名都由英文字母和數(shù)字組成,域名不區(qū)分大小寫,長(zhǎng)度不能超過(guò) 63 字節(jié),一個(gè)完整的域名不能超過(guò) 255 個(gè)字節(jié)。根域名用 “?.?”(點(diǎn))表示。目前我們看到的域名例子都是完全合格域名( FQDN ),FQDN?的完整格式是以點(diǎn)結(jié)尾的域名。接入互聯(lián)網(wǎng)的主機(jī)、服務(wù)器或其它網(wǎng)絡(luò)設(shè)備都可以擁有一個(gè)唯一的 FQDN 。與 FQDN 對(duì)應(yīng)的,系統(tǒng)中的默認(rèn)域名是非合格域名,會(huì)把當(dāng)前的區(qū)域域名添加到尾部。例如,tsinghua 域內(nèi)的主機(jī)上查找?mail
?,本地解析器就會(huì)將這個(gè)名稱轉(zhuǎn)換為 FQDN ,即?mail.tsinghua.edu.cn?,然后解析出 IP 地址。DNS 域名空間
域名空間結(jié)構(gòu)像是一棵倒過(guò)來(lái)的樹(shù),也叫做樹(shù)形結(jié)構(gòu)。根域名就是樹(shù)根( root ),用點(diǎn)號(hào)表示,往下是這棵樹(shù)的各層枝葉。根域名的下一層叫頂級(jí)域名,頂級(jí)域名包括三大類:- 國(guó)家頂級(jí)域名國(guó)家頂級(jí)域名采用 ISO3166 的規(guī)定。比如:
.cn
?表示中國(guó),.us
?表示美國(guó),.uk
表示英國(guó)等?,F(xiàn)在使用的國(guó)家頂級(jí)域名大約在 200個(gè)左右。
- 國(guó)際頂級(jí)域名國(guó)際頂級(jí)域名采用?
.int
?。國(guó)際性的組織可以在?.int
?下注冊(cè)。 - 通用頂級(jí)域名最早的頂級(jí)域名共有?6?個(gè)。分別為:
.com
?表示公司企業(yè),.net
?表示網(wǎng)絡(luò)服務(wù)機(jī)構(gòu),.org
?表示非盈利組織,.edu
?表示教育機(jī)構(gòu)(僅限美國(guó)),.gov
?表示政府部門(僅限美國(guó)),.mil
?表示軍事部門(僅限美國(guó))。隨著互聯(lián)網(wǎng)用戶不斷增加,又增加了?7?個(gè)通用頂級(jí)域名。分別為:.aero
?用于航空運(yùn)輸業(yè),.biz
?用于公司和企業(yè),.coop
?用于合作團(tuán)體,.info
?用于各種情況,.museum
?用于博物館,.name
?用于個(gè)人,.pro
?用于自由職業(yè)者。
.com
?,.edu
?,.gov
?等分別代表不同的機(jī)構(gòu);行政域名如:.bj
?表示北京,.sh
?表示上海,代表我國(guó)各省、自治區(qū)及直轄市等。二級(jí)域名下面是三級(jí)域名、四級(jí)域名等。命名樹(shù)上任何一個(gè)節(jié)點(diǎn)的域名就是從這個(gè)節(jié)點(diǎn)到最高層的域名串起來(lái),中間以 “ . ” 分隔。在域名結(jié)構(gòu)中,節(jié)點(diǎn)在所屬域中的主機(jī)名標(biāo)識(shí)可以相同,但是域名必須不同。比如:清華大學(xué)和新浪公司下都有一臺(tái)主機(jī)的標(biāo)識(shí)是?mail
?,但是兩者的域名卻是不同的,前者為?mail.tsinghua.edu.cn?,而后者為?mail.sina.com.cn?。DNS 域名解析
將域名轉(zhuǎn)換為對(duì)應(yīng)的 IP 地址的過(guò)程叫做域名解析。在域名解析過(guò)程中,DNS client
?的主機(jī)調(diào)用解析器( Resolver ),向?DNS server
?發(fā)出請(qǐng)求,DNS server
?完成域名解析。域名解析是按照 DNS 分層結(jié)構(gòu)的特點(diǎn),自頂向下進(jìn)行的。但是如果每一個(gè)域名解析都從根域名服務(wù)器開(kāi)始,那么根域名服務(wù)器有可能無(wú)法承載海量的流量。在實(shí)際應(yīng)用中,大多數(shù)域名解析都是在本地域名服務(wù)器完成。通過(guò)合理設(shè)置本地域名服務(wù)器,由本地域名服務(wù)器負(fù)責(zé)大部分的域名解析請(qǐng)求,提高域名解析效率。DNS 解析器
從應(yīng)用程序的角度看,訪問(wèn) DNS 是通過(guò)一個(gè)叫解析器( Resolver )的應(yīng)用程序來(lái)完成的。發(fā)送一個(gè) TCP 或 UDP 數(shù)據(jù)包之前,解析器必須將域名(主機(jī)名)轉(zhuǎn)換為 IP 地址。一個(gè)解析器至少要注冊(cè)一個(gè)域名服務(wù)器的 IP 地址。通常,它至少包括本地域名服務(wù)器的 IP 地址。DNS 域名服務(wù)器
DNS 域名空間的層次結(jié)構(gòu),允許不同的域名服務(wù)器管理域名空間的不同部分。域名服務(wù)器是指管理域名的主機(jī)及軟件,它可以管理所在分層的域。其所管理的分層叫做區(qū)域( zone )。一個(gè) zone 是 DNS 域名空間的一棵子樹(shù),它可以單獨(dú)管理而不受其它 zone 影響。每層都設(shè)有一個(gè)域名服務(wù)器。根所設(shè)置的 DNS 叫做根域名服務(wù)器,它對(duì) DNS 的檢索數(shù)據(jù)功能起著至關(guān)重要的作用。根域名服務(wù)器中注冊(cè)了頂級(jí)域名服務(wù)器的 IP 地址。如果想要新增一個(gè)一級(jí)域名,或者修改已有的頂級(jí)域名,就要在根域名服務(wù)器中進(jìn)行新增或變更。類似的,頂級(jí)域名服務(wù)器中注冊(cè)了二級(jí)域名服務(wù)器的 IP 地址。如果域名服務(wù)器下面沒(méi)有其它分層,就可以自由地指定主機(jī)名稱。如果想重新設(shè)置域名服務(wù)器的 IP 地址或修改域名,必須在上一層的域名服務(wù)器中進(jìn)行修改。域名和域名服務(wù)器都需要按照分層進(jìn)行設(shè)置。如果域名服務(wù)器出現(xiàn)故障,那么針對(duì)這個(gè)域的 DNS 查詢就無(wú)法正常工作。因此,為了提高可用性,至少設(shè)置兩臺(tái)域名服務(wù)器。一旦第一臺(tái)域名服務(wù)器無(wú)法提供查詢時(shí),就會(huì)自動(dòng)轉(zhuǎn)到第二個(gè)甚至第三個(gè)域名服務(wù)器上進(jìn)行。DNS 域名服務(wù)器類型
- 本地域名服務(wù)器互聯(lián)網(wǎng)接入服務(wù)運(yùn)營(yíng)商或者一個(gè)大的網(wǎng)絡(luò)機(jī)構(gòu),像公司、大學(xué)等都有一臺(tái)或多臺(tái)可以自行管理的域名服務(wù)器,這類域名服務(wù)器稱為本地域名服務(wù)器,也稱為默認(rèn)域名服務(wù)器。本地域名服務(wù)器離客戶端較近。當(dāng)一個(gè) DNS客戶端發(fā)出 DNS 查詢時(shí),首先送到本地域名服務(wù)器。如果本地域名服務(wù)器數(shù)據(jù)庫(kù)中有對(duì)應(yīng)的域名信息,會(huì)將查詢的域名轉(zhuǎn)換為 IP 地址返回客戶端。如果沒(méi)有,它會(huì)以 DNS 客戶端的身份向根域名服務(wù)器進(jìn)行查詢。根域名服務(wù)器收到本地域名服務(wù)器的查詢后,會(huì)返回相關(guān)域名服務(wù)器的 IP 地址,本地域名服務(wù)器再向相關(guān)域名服務(wù)器發(fā)送查詢請(qǐng)求。
- 根域名服務(wù)器通常根域名服務(wù)器用來(lái)管理頂級(jí)域,本身并不對(duì)域名進(jìn)行解析,但它知道相關(guān)域名服務(wù)器的 IP 地址。IPv4 根域名服務(wù)器全球有 13 臺(tái),主機(jī)名分別為 A ~ M 。1 臺(tái)為主根服務(wù)器在美國(guó),其余 12 個(gè)均為輔根服務(wù)器,其中 9 個(gè)在美國(guó),2 個(gè)在歐洲,位于英國(guó)和瑞典,1 臺(tái)在亞洲,位于日本。所有的域名服務(wù)器都必須注冊(cè)根域名服務(wù)器的 IP 地址,因?yàn)?DNS 根據(jù) IP 地址進(jìn)行檢索時(shí),需要按順序從根域名服務(wù)器開(kāi)始。
- 授權(quán)域名服務(wù)器互聯(lián)網(wǎng)上的主機(jī)在域名服務(wù)器上進(jìn)行注冊(cè),這個(gè)域名服務(wù)器就是主機(jī)的授權(quán)域名服務(wù)器。通常,主機(jī)的授權(quán)域名服務(wù)器就是本地域名服務(wù)器。實(shí)際上,主機(jī)會(huì)有兩個(gè)授權(quán)域名服務(wù)器,防止單點(diǎn)故障。授權(quán)域名服務(wù)器上有注冊(cè)主機(jī)域名與 IP 地址的映射信息,當(dāng)查詢注冊(cè)主機(jī)域名時(shí),它會(huì)返回相應(yīng)主機(jī)的 IP 地址。如果主機(jī)域名和 IP 地址需要進(jìn)行變更,只需要在授權(quán)域名服務(wù)器處理即可,不用再向其它域名服務(wù)器進(jìn)行申請(qǐng)或報(bào)告。
- 主域名服務(wù)器主域名服務(wù)器是完成一個(gè)或多個(gè)區(qū)域域名解析工作的主要域名服務(wù)器,通常也是一個(gè)或多個(gè)區(qū)域的授權(quán)域名服務(wù)器。主域名服務(wù)器有區(qū)域內(nèi)主機(jī)地址信息的源數(shù)據(jù)文件,并且是區(qū)域傳送中區(qū)域數(shù)據(jù)的唯一來(lái)源。
- 輔助域名服務(wù)器輔助域名服務(wù)器可以協(xié)助主域名服務(wù)器提供域名查詢服務(wù),在主機(jī)很多的情況下,可以有效分擔(dān)主域名服務(wù)器的壓力。輔助域名服務(wù)器也有冗余功能,當(dāng)主域名服務(wù)器故障時(shí),輔助域名服務(wù)器能夠在數(shù)據(jù)有效期內(nèi)繼續(xù)為主機(jī)提供域名解析服務(wù)。
DNS 域名完整解析過(guò)程
DNS 客戶端進(jìn)行域名 www.tsinghua.edu.cn 的解析過(guò)程如下:- DNS 客戶端向本地域名服務(wù)器發(fā)送請(qǐng)求,查詢 www.tsinghua.edu.cn 主機(jī)的 IP 地址;
- 本地域名服務(wù)器查詢數(shù)據(jù)庫(kù),發(fā)現(xiàn)沒(méi)有域名為 www.tsinghua.edu.cn 的主機(jī),于是將請(qǐng)求發(fā)送給根域名服務(wù)器;
- 根域名服務(wù)器查詢數(shù)據(jù)庫(kù),發(fā)現(xiàn)沒(méi)有這個(gè)主機(jī)域名記錄,但是根域名服務(wù)器知道 cn 域名服務(wù)器可以解析這個(gè)域名,于是將 cn 域名服務(wù)器的 IP 地址返回給本地域名服務(wù)器;
- 本地域名服務(wù)器向 cn 域名服務(wù)器查詢 www.tsinghua.edu.cn 主機(jī)的 IP 地址;
- cn 域名服務(wù)器查詢數(shù)據(jù)庫(kù),也沒(méi)有相關(guān)記錄,但是知道 edu.cn 域名服務(wù)器可以解析這個(gè)域名,于是將 edu.cn 域名服務(wù)器的 IP 地址返回給本地域名服務(wù)器;
- 本地域名服務(wù)器再向 edu.cn 域名服務(wù)器查詢 www.tsinghua.edu.cn 主機(jī) IP 地址;
- edu.cn 域名服務(wù)器查詢數(shù)據(jù)庫(kù),也沒(méi)有相關(guān)記錄,但是知道 tsinghua.edu.cn 域名服務(wù)器可以解析這個(gè)域名,于是將 tsinghua.edu.cn 的域名服務(wù)器 IP 地址返回給本地域名服務(wù)器;
- 本地域名服務(wù)器向 tsinghua.edu.cn 域名服務(wù)器查詢 www.tsinghua.edu.cn 主機(jī)的 IP 地址;
- tsinghua.edu.cn 域名服務(wù)器查詢數(shù)據(jù)庫(kù),發(fā)現(xiàn)有主機(jī)域名記錄,于是給本地域名服務(wù)器返回 www.tsinghua.edu.cn 對(duì)應(yīng)的 IP 地址;
- 最后本地域名服務(wù)器將 www.tsinghua.edu.cn 的 IP 地址返回給客戶端,整個(gè)解析過(guò)程完成。
DNS 傳輸層協(xié)議
DNS 域名服務(wù)器使用的端口號(hào)是 53?,并且同時(shí)支持 UDP 和 TCP 協(xié)議。為什么同時(shí)使用兩種協(xié)議呢?因?yàn)?DNS 響應(yīng)報(bào)文中有一個(gè)刪減標(biāo)志位,用 TC 表示。當(dāng)響應(yīng)報(bào)文使用?UDP 封裝,且報(bào)文長(zhǎng)度大于?512 字節(jié)時(shí),那么服務(wù)器只返回前 512 字節(jié),同時(shí) TC 標(biāo)志位置位,表示報(bào)文進(jìn)行了刪減。當(dāng)客戶端收到 TC 置位的響應(yīng)報(bào)文后,將采用?TCP 封裝查詢請(qǐng)求。DNS 服務(wù)器返回的響應(yīng)報(bào)文長(zhǎng)度大于 512 字節(jié)。UDP 報(bào)文的最大長(zhǎng)度是 512 字節(jié),最多可以包含 13 臺(tái)根域名服務(wù)器數(shù)據(jù),因此 ipv4 根域名服務(wù)器只能限制在 13 個(gè),且每個(gè)服務(wù)器使用單個(gè)字母命名,也是 IPv4 根服務(wù)器是從 A ~ M 命名的原因。當(dāng)輔助域名服務(wù)器啟動(dòng)時(shí),將從主域名服務(wù)器執(zhí)行區(qū)域傳送。正常運(yùn)行過(guò)程中,輔助域名服務(wù)器也會(huì)定時(shí)向主域名服務(wù)器進(jìn)行查詢,以便了解主域名服務(wù)器數(shù)據(jù)是否發(fā)送變化。如果有變化,將執(zhí)行一次區(qū)域傳送。因?yàn)閰^(qū)域傳送的數(shù)據(jù)多,所以傳送的數(shù)據(jù)采用?TCP 封裝。因此,UDP 用于 client 和 server 的查詢和響應(yīng),TCP 用于主從 server 之間的傳送。DNS 查詢方式
DNS 域名解析包括兩種查詢( query )方式,一種是遞歸查詢,另一種是迭代查詢。遞歸查詢
DNS 服務(wù)器如果不能直接響應(yīng)解析請(qǐng)求,它將繼續(xù)請(qǐng)求其它的 DNS 服務(wù)器,直到查詢域名解析的結(jié)果。查詢的結(jié)果可以是域名主機(jī)的 IP 地址,或者是域名無(wú)法解析。無(wú)論哪種結(jié)果,DNS 服務(wù)器都會(huì)將結(jié)果返回給客戶端。舉個(gè)栗子:當(dāng)本地域名服務(wù)器接收了客戶端的查詢請(qǐng)求,本地域名服務(wù)器將代表客戶端來(lái)找答案,而在本地域名服務(wù)器執(zhí)行工作時(shí),客戶端只是等待,直到本地域名服務(wù)器將最終查詢結(jié)果返回客戶端。迭代查詢
如果 DNS 服務(wù)器查不到相應(yīng)記錄,會(huì)向客戶端返回一個(gè)可能知道結(jié)果的域名服務(wù)器 IP 地址,由客戶端繼續(xù)向新的服務(wù)器發(fā)送查詢請(qǐng)求。對(duì)域名服務(wù)器的迭代查詢,只得到一個(gè)提示,則繼續(xù)查詢。舉個(gè)栗子:本地域名服務(wù)器發(fā)送請(qǐng)求到根域名服務(wù)器,根域名服務(wù)器并沒(méi)有相應(yīng)記錄,它只是給本地域名服務(wù)器返回一個(gè)提示,引導(dǎo)本地域名服務(wù)器到另一臺(tái)域名服務(wù)器進(jìn)行查詢。客戶端在查詢 IP 地址時(shí),向本地域名服務(wù)器進(jìn)行遞歸查詢。如果本地域名服務(wù)器的數(shù)據(jù)庫(kù)有相應(yīng)數(shù)據(jù),則直接返回相應(yīng)數(shù)據(jù)。如果沒(méi)有,則本地域名服務(wù)器向根域名服務(wù)器進(jìn)行迭代查詢。從根開(kāi)始對(duì)這棵樹(shù)按照順序進(jìn)行遍歷,直到找到指定的域名服務(wù)器,并由這個(gè)域名服務(wù)器返回相應(yīng)的數(shù)據(jù)。客戶端和本地域名服務(wù)器會(huì)將收到的信息保存在緩存里,這樣可以減少每次查詢時(shí)的性能消耗。DNS 反向查詢
在 DNS 查詢中,客戶端希望知道域名對(duì)應(yīng)的 IP 地址,這種查詢稱為正向查詢。大部分的 DNS 查詢都是正向查詢。與正向查詢對(duì)應(yīng)的,是反向查詢。它允許 DNS 客戶端通過(guò) IP 地址查找對(duì)應(yīng)的域名。為實(shí)現(xiàn)反向查詢,在 DNS 標(biāo)準(zhǔn)中定義了特色域?in-addr.arpa
?域,并保留在域名空間中,以便執(zhí)行反向查詢。為創(chuàng)建反向域名空間,in-addr.arpa 域中的子域是按照 IP 地址相反的順序構(gòu)造的。舉個(gè)栗子:www.tsinghua.edu.cn?的 IP 地址是?166.111.4.100
?,那么在 in-addr.arpa 域中對(duì)應(yīng)的節(jié)點(diǎn)就是?100.4.111.166
?。DNS 應(yīng)用場(chǎng)景
靜態(tài)域名解析
域名解析分為動(dòng)態(tài)域名解析和靜態(tài)域名解析。在解析域名時(shí),首先采用靜態(tài)域名解析,如果靜態(tài)解析不成功,再采用動(dòng)態(tài)域名解析。靜態(tài)域名解析是通過(guò)靜態(tài)域名解析表進(jìn)行的,手動(dòng)建立域名和 IP 地址之間的對(duì)應(yīng)關(guān)系表,該表的作用類似于 Windows 操作系統(tǒng)下的?hosts 文件,可以將一些常用的域名放入表中。當(dāng) DNS client 需要域名所對(duì)應(yīng)的 IP 地址時(shí),即到靜態(tài)域名解析表中去查找指定的域名,從而獲得所對(duì)應(yīng)的 IP 地址,提高域名解析的效率。動(dòng)態(tài)域名解析
動(dòng)態(tài)域名解析需要專用的域名服務(wù)器( DNS server )運(yùn)行域名解析服務(wù)器程序,提供從域名到 IP 地址的映射關(guān)系,負(fù)責(zé)接收客戶端( DNS client)提出的域名解析請(qǐng)求。DNS 代理
在使用了?DNS 代理( DNS proxy )功能的組網(wǎng)中,DNS client 將 DNS 請(qǐng)求報(bào)文直接發(fā)送給 DNS proxy 。DNS proxy 會(huì)先查找本地域名解析表,如果未查詢到對(duì)應(yīng)的解析表項(xiàng),會(huì)將 DNS 請(qǐng)求報(bào)文轉(zhuǎn)發(fā)給 DNS Server ,并在收到 DNS server 的應(yīng)答報(bào)文后將其返回給 DNS client ,從而實(shí)現(xiàn)域名解析。因此,當(dāng) DNS server 的地址發(fā)生變化時(shí),只需改變 DNS proxy 上的配置,無(wú)需逐一改變局域網(wǎng)內(nèi)每個(gè) DNS client 的配置,從而簡(jiǎn)化了網(wǎng)絡(luò)管理。飲水思源:DNS與BIND - Paul AlbitzTCP/IP詳解 卷1:協(xié)議 - Kevin R.Fall圖解TCP/IP - 竹下隆史路由交換技術(shù) - 杭州華三通信技術(shù)有限公司- EOF -