網(wǎng)絡(luò)世界的導(dǎo)航:圖解DNS

我們平時(shí)在訪問網(wǎng)站時(shí)荆陆,不使用 IP 地址恢准,而是網(wǎng)站域名限佩,例如:www.baidu.com

但是通過抓包發(fā)現(xiàn):交互報(bào)文是以 IP 地址進(jìn)行的,那么 IP 地址是從哪來的呢胀溺?

這是因?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)通過一個(gè)叫 hosts 的文件墓阀,實(shí)現(xiàn)主機(jī)名轉(zhuǎn)換 IP 地址的功能毡惜。hosts 文件包括主機(jī)名和 IP 地址的對(duì)應(yīng)關(guān)系。當(dāng)需要通過主機(jī)名訪問主機(jī)時(shí)斯撮,它就會(huì)查看本地的 hosts 文件经伙,從文件中找到相對(duì)應(yīng)的 IP 地址,然后進(jìn)行報(bào)文發(fā)送勿锅。如果在 hosts 文件中沒找到相關(guān)信息帕膜,則主機(jī)訪問失敗。

hosts 文件是主機(jī)的本地文件溢十,優(yōu)點(diǎn)是查找響應(yīng)速度快垮刹。它主要用來存儲(chǔ)一些本地網(wǎng)絡(luò)的主機(jī)名和 IP 地址的對(duì)應(yīng)信息。這樣张弛,主機(jī)在以主機(jī)名訪問本地網(wǎng)絡(luò)主機(jī)時(shí)荒典,通過 hosts 文件可以迅速獲得相應(yīng)的 IP 地址。

每臺(tái)主機(jī)的 hosts 文件都需要單獨(dú)手工更新吞鸭。隨著網(wǎng)絡(luò)規(guī)模的不斷擴(kuò)大寺董、接入計(jì)算機(jī)的數(shù)量不斷增加,維護(hù)難度越來越大刻剥,每臺(tái)主機(jī)同步更新遮咖,幾乎是一件不可能完成的任務(wù)。

為了解決 hosts 文件維護(hù)困難的問題造虏,出現(xiàn)了 DNS 域名系統(tǒng)御吞,一個(gè)可以解決主機(jī)名和 IP 地址互相轉(zhuǎn)換的系統(tǒng)麦箍。無論網(wǎng)絡(luò)規(guī)模變得多么龐大,都能在一個(gè)小范圍內(nèi)通過 DNS 進(jìn)行管理陶珠。

DNS 介紹

DNS 挟裂,全稱 Domain Name System

采用 client/server 模式背率,DNS client 發(fā)出查詢請(qǐng)求话瞧,DNS server 響應(yīng)請(qǐng)求。DNS client 通過查詢 DNS server 獲得主機(jī)的 IP 地址寝姿,進(jìn)而完成后續(xù)的 TCP/IP 通信過程交排。

當(dāng) Windows 系統(tǒng)用戶使用 nslookup hostname/domainname 命令時(shí),DNS 會(huì)自動(dòng)查找注冊(cè)了主機(jī)名和 IP 地址的數(shù)據(jù)庫饵筑,并返回對(duì)應(yīng)的 IP 地址埃篓。

DNS 域名

先了解什么是域名,才能理解 DNS 根资。

域名是為了識(shí)別主機(jī)名或機(jī)構(gòu)的一種分層的名稱架专。因?yàn)閱为?dú)的一臺(tái)域名服務(wù)器是不可能知道所有域名信息,所以域名系統(tǒng)是一個(gè)分布式數(shù)據(jù)庫系統(tǒng)玄帕,域名(主機(jī)名)到 IP 地址的解析可以由若干個(gè)域名服務(wù)器共同完成部脚。每一個(gè)站點(diǎn)維護(hù)自己的信息數(shù)據(jù)庫,并運(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 中,從右到左開始粉捻,cn 是頂級(jí)域名礁遣,代表中國,edu 是二級(jí)域名肩刃,代表教育機(jī)構(gòu)祟霍,tsinghua 是三級(jí)域名,表示清華大學(xué)盈包,www 則表示三級(jí)域名中的主機(jī)沸呐,并提供了 web 服務(wù)。

除了 www 主機(jī)外呢燥,常見的主機(jī)還有 arch 崭添、semmail 叛氨,域名如下:

每一級(jí)的域名都由英文字母數(shù)字組成呼渣,域名不區(qū)分大小寫,長度不能超過 63 字節(jié)寞埠,一個(gè)完整的域名不能超過 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)像是一棵倒過來的樹劝评,也叫做樹形結(jié)構(gòu)姐直。根域名就是樹根( root ),用點(diǎn)號(hào)表示蒋畜,往下是這棵樹的各層枝葉声畏。根域名的下一層叫頂級(jí)域名,頂級(jí)域名包括三大類:

  • 國家頂級(jí)域名

    國家頂級(jí)域名采用 ISO3166 的規(guī)定。比如:.cn 表示中國插龄,.us 表示美國愿棋,.uk表示英國等。現(xiàn)在使用的國家頂級(jí)域名大約在 200個(gè)左右均牢。

  • 國際頂級(jí)域名

    國際頂級(jí)域名采用 .int 糠雨。國際性的組織可以在 .int 下注冊(cè)。

  • 通用頂級(jí)域名

    最早的頂級(jí)域名共有 6 個(gè)徘跪。分別為:

    .com 表示公司企業(yè)甘邀,

    .net 表示網(wǎng)絡(luò)服務(wù)機(jī)構(gòu),

    .org 表示非盈利組織垮庐,

    .edu 表示教育機(jī)構(gòu)(僅限美國)松邪,

    .gov 表示政府部門(僅限美國),

    .mil 表示軍事部門(僅限美國)突硝。

    隨著互聯(lián)網(wǎng)用戶不斷增加测摔,又增加了 7 個(gè)通用頂級(jí)域名。分別為:

    .aero 用于航空運(yùn)輸業(yè)解恰,

    .biz 用于公司和企業(yè)锋八,

    .coop 用于合作團(tuán)體,

    .info 用于各種情況护盈,

    .museum 用于博物館挟纱,

    .name 用于個(gè)人,

    .pro 用于自由職業(yè)者腐宋。

頂級(jí)域名下面是二級(jí)域名紊服。國家頂級(jí)域名下注冊(cè)的二級(jí)域名均由國家自行確定。我國二級(jí)域名分為類別域名行政域名兩大類胸竞,類別域名如:.com 欺嗤,.edu.gov 等分別代表不同的機(jī)構(gòu)卫枝;行政域名如:.bj 表示北京煎饼,.sh 表示上海,代表我國各省校赤、自治區(qū)及直轄市等吆玖。

二級(jí)域名下面是三級(jí)域名四級(jí)域名等马篮。命名樹上任何一個(gè)節(jié)點(diǎn)的域名就是從這個(gè)節(jié)點(diǎn)到最高層的域名串起來沾乘,中間以 “ . ” 分隔。

在域名結(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 地址的過程叫做域名解析槐雾。在域名解析過程中,DNS client 的主機(jī)調(diào)用解析器( Resolver )幅狮,向 DNS server 發(fā)出請(qǐng)求募强,DNS server 完成域名解析。

域名解析是按照 DNS 分層結(jié)構(gòu)的特點(diǎn)崇摄,自頂向下進(jìn)行的擎值。但是如果每一個(gè)域名解析都從根域名服務(wù)器開始,那么根域名服務(wù)器有可能無法承載海量的流量逐抑。在實(shí)際應(yīng)用中鸠儿,大多數(shù)域名解析都是在本地域名服務(wù)器完成。通過合理設(shè)置本地域名服務(wù)器厕氨,由本地域名服務(wù)器負(fù)責(zé)大部分的域名解析請(qǐng)求进每,提高域名解析效率。

DNS 解析器

從應(yīng)用程序的角度看命斧,訪問 DNS 是通過一個(gè)叫解析器( Resolver )的應(yīng)用程序來完成的田晚。發(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 域名空間的一棵子樹利虫,它可以單獨(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ù)器下面沒有其它分層城菊,就可以自由地指定主機(jī)名稱。如果想重新設(shè)置域名服務(wù)器的 IP 地址或修改域名碉克,必須在上一層的域名服務(wù)器中進(jìn)行修改凌唬。

域名和域名服務(wù)器都需要按照分層進(jìn)行設(shè)置。如果域名服務(wù)器出現(xiàn)故障漏麦,那么針對(duì)這個(gè)域的 DNS 查詢就無法正常工作客税。因此,為了提高可用性撕贞,至少設(shè)置兩臺(tái)域名服務(wù)器更耻。一旦第一臺(tái)域名服務(wù)器無法提供查詢時(shí),就會(huì)自動(dòng)轉(zhuǎn)到第二個(gè)甚至第三個(gè)域名服務(wù)器上進(jìn)行捏膨。

DNS 域名服務(wù)器類型

  • 本地域名服務(wù)器

互聯(lián)網(wǎng)接入服務(wù)運(yùn)營商或者一個(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ù)庫中有對(duì)應(yīng)的域名信息久又,會(huì)將查詢的域名轉(zhuǎn)換為 IP 地址返回客戶端巫延。如果沒有,它會(huì)以 DNS 客戶端的身份向根域名服務(wù)器進(jìn)行查詢地消。根域名服務(wù)器收到本地域名服務(wù)器的查詢后炉峰,會(huì)返回相關(guān)域名服務(wù)器的 IP 地址,本地域名服務(wù)器再向相關(guān)域名服務(wù)器發(fā)送查詢請(qǐng)求脉执。

  • 根域名服務(wù)器

    通常根域名服務(wù)器用來管理頂級(jí)域疼阔,本身并不對(duì)域名進(jìn)行解析,但它知道相關(guān)域名服務(wù)器的 IP 地址半夷。IPv4 根域名服務(wù)器全球有 13 臺(tái)婆廊,主機(jī)名分別為 A ~ M 。1 臺(tái)為主根服務(wù)器在美國巫橄,其余 12 個(gè)均為輔根服務(wù)器淘邻,其中 9 個(gè)在美國,2 個(gè)在歐洲湘换,位于英國和瑞典宾舅,1 臺(tái)在亞洲统阿,位于日本。所有的域名服務(wù)器都必須注冊(cè)根域名服務(wù)器的 IP 地址筹我,因?yàn)?DNS 根據(jù) IP 地址進(jìn)行檢索時(shí)扶平,需要按順序從根域名服務(wù)器開始。

  • 授權(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ù)的唯一來源。

  • 輔助域名服務(wù)器

    輔助域名服務(wù)器可以協(xié)助主域名服務(wù)器提供域名查詢服務(wù)刮刑,在主機(jī)很多的情況下喉祭,可以有效分擔(dān)主域名服務(wù)器的壓力。輔助域名服務(wù)器也有冗余功能雷绢,當(dāng)主域名服務(wù)器故障時(shí)泛烙,輔助域名服務(wù)器能夠在數(shù)據(jù)有效期內(nèi)繼續(xù)為主機(jī)提供域名解析服務(wù)。

一臺(tái)主域名服務(wù)器可以有多臺(tái)輔助域名服務(wù)器翘紊,一臺(tái)輔助域名服務(wù)器也可以是其它區(qū)域的主域名服務(wù)器蔽氨。輔助域名服務(wù)器中包含區(qū)域內(nèi)主機(jī)地址數(shù)據(jù)的授權(quán)信息,通過區(qū)域配置文件副本的方式存儲(chǔ)帆疟。輔助域名服務(wù)器也是區(qū)域的授權(quán)域名服務(wù)器鹉究,可以完成本區(qū)域內(nèi)域名查詢的授權(quán)回答。

輔助域名服務(wù)器并不建立數(shù)據(jù)文件踪宠,它獲得區(qū)域數(shù)據(jù)的唯一途徑就是通過區(qū)域傳送的方式自赔,從主域名服務(wù)器上獲得區(qū)域數(shù)據(jù)的最新副本。獲得數(shù)據(jù)副本的方式有兩種柳琢,第一種是輔助域名服務(wù)器定期主動(dòng)獲得主域名服務(wù)器的副本匿级,或更新副本中的數(shù)據(jù)蟋滴。第二種是主域名服務(wù)器在區(qū)域數(shù)據(jù)發(fā)生變化時(shí),及時(shí)通知輔助域名服務(wù)器更新副本中的數(shù)據(jù)痘绎。

DNS 域名完整解析過程

DNS 客戶端進(jìn)行域名 www.tsinghua.edu.cn 的解析過程如下:

  1. DNS 客戶端向本地域名服務(wù)器發(fā)送請(qǐng)求津函,查詢 www.tsinghua.edu.cn 主機(jī)的 IP 地址;

  2. 本地域名服務(wù)器查詢數(shù)據(jù)庫孤页,發(fā)現(xiàn)沒有域名為 www.tsinghua.edu.cn 的主機(jī)尔苦,于是將請(qǐng)求發(fā)送給根域名服務(wù)器;

  3. 根域名服務(wù)器查詢數(shù)據(jù)庫行施,發(fā)現(xiàn)沒有這個(gè)主機(jī)域名記錄允坚,但是根域名服務(wù)器知道 cn 域名服務(wù)器可以解析這個(gè)域名,于是將 cn 域名服務(wù)器的 IP 地址返回給本地域名服務(wù)器蛾号;

  4. 本地域名服務(wù)器向 cn 域名服務(wù)器查詢 www.tsinghua.edu.cn 主機(jī)的 IP 地址稠项;

  5. cn 域名服務(wù)器查詢數(shù)據(jù)庫,也沒有相關(guān)記錄鲜结,但是知道 edu.cn 域名服務(wù)器可以解析這個(gè)域名展运,于是將 edu.cn 域名服務(wù)器的 IP 地址返回給本地域名服務(wù)器;

  6. 本地域名服務(wù)器再向 edu.cn 域名服務(wù)器查詢 www.tsinghua.edu.cn 主機(jī) IP 地址精刷;

  7. edu.cn 域名服務(wù)器查詢數(shù)據(jù)庫拗胜,也沒有相關(guān)記錄,但是知道 tsinghua.edu.cn 域名服務(wù)器可以解析這個(gè)域名怒允,于是將 tsinghua.edu.cn 的域名服務(wù)器 IP 地址返回給本地域名服務(wù)器埂软;

  8. 本地域名服務(wù)器tsinghua.edu.cn 域名服務(wù)器查詢 www.tsinghua.edu.cn 主機(jī)的 IP 地址;

  9. tsinghua.edu.cn 域名服務(wù)器查詢數(shù)據(jù)庫纫事,發(fā)現(xiàn)有主機(jī)域名記錄勘畔,于是給本地域名服務(wù)器返回 www.tsinghua.edu.cn 對(duì)應(yīng)的 IP 地址;

  10. 最后本地域名服務(wù)器www.tsinghua.edu.cn 的 IP 地址返回給客戶端丽惶,整個(gè)解析過程完成咖杂。

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)文長度大于 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)文長度大于 512 字節(jié)效床。

UDP 報(bào)文最大長度是 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)行過程中采章,輔助域名服務(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 地址,或者是域名無法解析程癌。無論哪種結(jié)果舷嗡,DNS 服務(wù)器都會(huì)將結(jié)果返回給客戶端。

舉個(gè)栗子:當(dāng)本地域名服務(wù)器接收了客戶端的查詢請(qǐng)求嵌莉,本地域名服務(wù)器將代表客戶端來找答案进萄,而在本地域名服務(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ù)器并沒有相應(yīng)記錄,它只是給本地域名服務(wù)器返回一個(gè)提示筐赔,引導(dǎo)本地域名服務(wù)器到另一臺(tái)域名服務(wù)器進(jìn)行查詢铣猩。

客戶端在查詢 IP 地址時(shí),向本地域名服務(wù)器進(jìn)行遞歸查詢川陆。如果本地域名服務(wù)器的數(shù)據(jù)庫有相應(yīng)數(shù)據(jù)剂习,則直接返回相應(yīng)數(shù)據(jù)。如果沒有较沪,則本地域名服務(wù)器向根域名服務(wù)器進(jìn)行迭代查詢鳞绕。從根開始對(duì)這棵樹按照順序進(jìn)行遍歷,直到找到指定的域名服務(wù)器尸曼,并由這個(gè)域名服務(wù)器返回相應(yīng)的數(shù)據(jù)们何。客戶端和本地域名服務(wù)器會(huì)將收到的信息保存在緩存里,這樣可以減少每次查詢時(shí)的性能消耗控轿。

DNS 反向查詢

在 DNS 查詢中冤竹,客戶端希望知道域名對(duì)應(yīng)的 IP 地址,這種查詢稱為正向查詢茬射。大部分的 DNS 查詢都是正向查詢鹦蠕。與正向查詢對(duì)應(yīng)的,是反向查詢在抛。它允許 DNS 客戶端通過 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)用場景

靜態(tài)域名解析

域名解析分為動(dòng)態(tài)域名解析靜態(tài)域名解析噪伊。在解析域名時(shí),首先采用靜態(tài)域名解析氮唯,如果靜態(tài)解析不成功酥宴,再采用動(dòng)態(tài)域名解析。

靜態(tài)域名解析是通過靜態(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ǎng)內(nèi)每個(gè) DNS client 的配置悔橄,從而簡化了網(wǎng)絡(luò)管理。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末尺铣,一起剝皮案震驚了整個(gè)濱河市争舞,隨后出現(xiàn)的幾起案子澈灼,更是在濱河造成了極大的恐慌,老刑警劉巖叁熔,帶你破解...
    沈念sama閱讀 217,826評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異荣回,居然都是意外死亡遭贸,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門心软,熙熙樓的掌柜王于貴愁眉苦臉地迎上來壕吹,“玉大人著蛙,你說我怎么就攤上這事《幔” “怎么了踏堡?”我有些...
    開封第一講書人閱讀 164,234評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長咒劲。 經(jīng)常有香客問我顷蟆,道長,這世上最難降的妖魔是什么腐魂? 我笑而不...
    開封第一講書人閱讀 58,562評(píng)論 1 293
  • 正文 為了忘掉前任帐偎,我火速辦了婚禮,結(jié)果婚禮上挤渔,老公的妹妹穿的比我還像新娘肮街。我一直安慰自己,他們只是感情好判导,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,611評(píng)論 6 392
  • 文/花漫 我一把揭開白布嫉父。 她就那樣靜靜地躺著,像睡著了一般眼刃。 火紅的嫁衣襯著肌膚如雪绕辖。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,482評(píng)論 1 302
  • 那天擂红,我揣著相機(jī)與錄音仪际,去河邊找鬼。 笑死树碱,一個(gè)胖子當(dāng)著我的面吹牛成榜,可吹牛的內(nèi)容都是我干的赎婚。 我是一名探鬼主播挣输,決...
    沈念sama閱讀 40,271評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼完丽!你這毒婦竟也來了猖任?” 一聲冷哼從身側(cè)響起朱躺,我...
    開封第一講書人閱讀 39,166評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤长搀,失蹤者是張志新(化名)和其女友劉穎源请,沒想到半個(gè)月后谁尸,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體良蛮,經(jīng)...
    沈念sama閱讀 45,608評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡决瞳,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,814評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了屡贺。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片烹笔。...
    茶點(diǎn)故事閱讀 39,926評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖亿鲜,靈堂內(nèi)的尸體忽然破棺而出饶套,到底是詐尸還是另有隱情妓蛮,我是刑警寧澤蛤克,帶...
    沈念sama閱讀 35,644評(píng)論 5 346
  • 正文 年R本政府宣布构挤,位于F島的核電站,受9級(jí)特大地震影響箱歧,放射性物質(zhì)發(fā)生泄漏凰慈。R本人自食惡果不足惜微谓,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,249評(píng)論 3 329
  • 文/蒙蒙 一豺型、第九天 我趴在偏房一處隱蔽的房頂上張望姻氨。 院中可真熱鬧肴焊,春花似錦娶眷、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,866評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽熊痴。三九已至聂宾,卻和暖如春浴骂,著一層夾襖步出監(jiān)牢的瞬間鄙煤,已是汗流浹背梯刚。 一陣腳步聲響...
    開封第一講書人閱讀 32,991評(píng)論 1 269
  • 我被黑心中介騙來泰國打工亡资, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留锥腻,地道東北人瘦黑。 一個(gè)月前我還...
    沈念sama閱讀 48,063評(píng)論 3 370
  • 正文 我出身青樓幸斥,卻偏偏與公主長得像甲葬,于是被迫代替她去往敵國和親演顾。 傳聞我的和親對(duì)象是個(gè)殘疾皇子钠至,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,871評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容