當(dāng)前位置:首頁(yè) > 公眾號(hào)精選 > CPP開(kāi)發(fā)者
[導(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地址。報(bào)文交互抓包DNS出現(xiàn)TCP/IP是基于IP地址進(jìn)行通信的,但是IP地址不太好記。于是出現(xiàn)了另一種方便...


上帝視角
我們平時(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 地址。

報(bào)文交互抓包

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 地址。

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

hosts維護(hù)難
為了解決 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域名系統(tǒng)

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ò)程。

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

nslookup命令演示

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í)別最高的域名寫在最右邊。

DNS域
舉個(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ù)。

清華大學(xué)域名
除了?www?主機(jī)外,常見(jiàn)的主機(jī)還有?arch?、sem?、mail?,域名如下:

清華大學(xué)常見(jiàn)域名
每一級(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í)域名包括三大類:

三大頂級(jí)域名
  • 國(guó)家頂級(jí)域名

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

國(guó)家頂級(jí)域名
  • 國(guó)際頂級(jí)域名

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

  • 通用頂級(jí)域名

    通用頂級(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è)者。

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

二級(jí)域名
二級(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?。

主機(jī)名相同,域名不同

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)求,提高域名解析效率。

本地域名服務(wù)器

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ù)器。

域名服務(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ù)器

    通常根域名服務(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)始。

根域名服務(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)告。

授權(quán)域名服務(wù)器
  • 主域名服務(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ù)。

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

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

DNS 域名完整解析過(guò)程

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

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

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

  3. 根域名服務(wù)器查詢數(shù)據(jù)庫(kù),發(fā)現(xiàn)沒(méi)有這個(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ù)庫(kù),也沒(méi)有相關(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ù)庫(kù),也沒(méi)有相關(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ù)庫(kù),發(fā)現(xiàn)有主機(jī)域名記錄,于是給本地域名服務(wù)器返回 www.tsinghua.edu.cn 對(duì)應(yīng)的 IP 地址;

  10. 最后本地域名服務(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é)。

TC標(biāo)志位
UDP 報(bào)文最大長(zhǎng)度是 512 字節(jié),最多可以包含 13 臺(tái)根域名服務(wù)器數(shù)據(jù),因此 ipv4 根域名服務(wù)器只能限制在 13 個(gè),且每個(gè)服務(wù)器使用單個(gè)字母命名,也是 IPv4 根服務(wù)器是從 A ~ M 命名的原因。

UDP最長(zhǎng)報(bào)文
當(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 封裝。

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)的域名。

DNS反向查詢
為實(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 地址,提高域名解析的效率。

靜態(tài)域名解析

動(dòng)態(tài)域名解析

動(dòng)態(tài)域名解析需要專用的域名服務(wù)器( DNS server )運(yùn)行域名解析服務(wù)器程序,提供從域名到 IP 地址的映射關(guān)系,負(fù)責(zé)接收客戶端( DNS client)提出的域名解析請(qǐng)求。

動(dòng)態(tài)域名解析

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)域名解析。

DNS代理
因此,當(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 -

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉