您好,登錄后才能下訂單哦!
這篇文章主要講解了“迭代DNS查詢和遞歸DNS查詢的區(qū)別是什么”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“迭代DNS查詢和遞歸DNS查詢的區(qū)別是什么”吧!
DNS查詢可以根據(jù)請求被處理的方式進(jìn)行分類。通常查詢可以分為以下幾類:
遞歸查詢。
迭代查詢或非遞歸查詢。
反向查詢。
在遞歸查詢中,接收客戶端請求的DNS服務(wù)器將完成全部的工作,然后返回結(jié)果。在工作過程中,DNS服務(wù)器可能代表客戶端,向internet上的其他DNS服務(wù)器查詢,以獲得答案。
讓我們通過以下步驟了解遞歸查詢的整個過程。
假設(shè)你想瀏覽www.example.com網(wǎng)站,并且/etc/resolve.conf文件包含以下條目:
[root@myvm ~]# cat /etc/resolv.conf nameserver 172.16.200.30 nameserver 172.16.200.31
這份resolve conf文件表是DNS服務(wù)器是172.16.200.30和172.16.200.31。無論你使用什么應(yīng)用程序,操作系統(tǒng)都將向這兩個DNS服務(wù)器發(fā)送查詢請求。
步驟1:你在瀏覽器中輸入www.example.com。操作系統(tǒng)向DNS服務(wù)器172.16.200.30發(fā)送請求,查詢A記錄。
步驟2:DNS服務(wù)器172.16.200.30在接收到查詢后,檢查本地緩存表,查找域名www.example.com的IP地址(A記錄),沒有找到。
步驟3:因為DNS服務(wù)器172.16.200.30上沒有查詢到信息,這個DNS服務(wù)器發(fā)送請求到一臺根服務(wù)器查詢答案。這里的一個重要事實在于,根服務(wù)器只支持迭代查詢。
相關(guān):DNS根服務(wù)器及其位置
步驟4:DNS根服務(wù)器返回一組DNS服務(wù)器地址,這些服務(wù)器負(fù)責(zé)處理.com頂級域名。
步驟5:我們的DNS服務(wù)器172.16.200.30將從根服務(wù)器返回的列表中選擇一個頂級域名服務(wù)器繼續(xù)查詢www.example.com的IP地址。
步驟6:與根服務(wù)器類似,頂級域名服務(wù)器的也是迭代的。它返回給172.16.200.30另一組DNS服務(wù)器地址列表。這些DNS服務(wù)器(權(quán)威authoritative域名服務(wù)器)負(fù)責(zé)查詢域名www.example.com。
相關(guān):DNS區(qū)域文件及其內(nèi)容
步驟7:現(xiàn)在我們的DNS服務(wù)器將從權(quán)威域名服務(wù)器列表中選擇一個IP,向其查詢www.example.com的A記錄。權(quán)威域名服務(wù)器查詢后,回復(fù)如下的A記錄:
www.example.com = <XXX:XX:XX:XX>(某個IP地址)
步驟8:DNS服務(wù)器172.16.200.30把IP、域名對(以及其他可用資源)返回給我們?,F(xiàn)在瀏覽器將向給定的IP發(fā)送請求,獲取網(wǎng)頁www.example.com。
下面圖表可能會使概念更清楚。 遞歸DNS查詢 如上圖所示,DNS服務(wù)器172.16.200.30代表我們向其他DNS服務(wù)器進(jìn)行查詢。
注:上面解釋的遞歸查詢場景之所以會發(fā)生,是因為我們的DNS服務(wù)器172.16.200.30被配置為遞歸DNS服務(wù)器。你也可以禁用DNS服務(wù)器的遞歸查詢功能。
在上面的例子中你已經(jīng)看到,DNS服務(wù)器172.16.200.30需要多次從一個服務(wù)器列表中選擇一個服務(wù)器進(jìn)行查詢。
例如有13臺根服務(wù)器(我們常說一共有13臺根服務(wù)器。13是全部服務(wù)器地址的數(shù)量。實際上在世界各地一共有數(shù)百臺服務(wù)器。這13個根服務(wù)器地址是anycaste地址),要從那個根服務(wù)器查詢信息呢?
相關(guān):什么是IP Anycast,它是如何工作的?
幾乎所有的DNS服務(wù)器都使用某種算法從列表中進(jìn)行選擇,以便以便分配負(fù)載,降低響應(yīng)時間。
最著名的DNS服務(wù)器軟件BIND使用一種稱為RTT度量(Round Trip Time metric)的技術(shù)。使用這種技術(shù),服務(wù)器跟蹤每個根服務(wù)器的往返時間,并選擇RTT較低的那個。
在開始解釋迭代查詢之前,需要注意的一點是,所有DNS服務(wù)器都必須支持迭代(非遞歸)查詢。
在迭代查詢中,名字服務(wù)器不會去獲取完整的答案,而是返回其他可能直到答案的DNS服務(wù)器地址。在前面的示例中,DNS服務(wù)器172.16.200.30代表我們?nèi)〔樵冃畔ⅲ槲覀兲峁┳罱K結(jié)果。
但是如果我們的DNS服務(wù)器不是遞歸的(這意味著它是迭代的),如果答案在它的記錄中,它會告訴我們答案。否則它會告訴我們根服務(wù)器的地址(它本身不會查詢根服務(wù)器或其他服務(wù)器)。
現(xiàn)在,操作系統(tǒng)中解析程序的任務(wù)是查詢根服務(wù)器、.COM頂級域名服務(wù)器和權(quán)威名字服務(wù)器,以獲得答案。
讓我們來看看所涉及的步驟。
步驟1:你在瀏覽器中輸入www.example.com。操作系統(tǒng)的解析程序向DNS服務(wù)器172.16.200.30發(fā)送請求,查詢A記錄。
步驟2: DNS服務(wù)器172.16.200.30在接收到查詢后,查看緩存表,查找www.example.com的IP地址(A記錄)。但沒有找到。
步驟3:現(xiàn)在,我們的DNS服務(wù)器不再查詢根服務(wù)器,而是把根服務(wù)器列表返回給我們。操作系統(tǒng)的解析程序?qū)⒉樵兏?wù)器,尋求答案。
接下來的步驟同上文一樣。迭代查詢的唯一區(qū)別是:
如果DNS服務(wù)器沒有答案,它將不會向其他服務(wù)器查詢答案,而是返回DNS根服務(wù)器的地址。
如果DNS服務(wù)器有答案,它將返回答案(這在迭代查詢和遞歸查詢中是一樣的)。
在迭代查詢中,從其他DNS服務(wù)器中查詢答案的任務(wù)由操作系統(tǒng)的解析程序完成。
迭代DNS查詢 從上圖可以清楚地看出,在迭代查詢中,DNS服務(wù)器不會為你向其他服務(wù)器查詢答案(但如果已經(jīng)有答案,則會告訴你答案)。但是會告訴你的解析程序其他DNS服務(wù)器的地址(在我們的例子中是根服務(wù)器地址)。
感謝各位的閱讀,以上就是“迭代DNS查詢和遞歸DNS查詢的區(qū)別是什么”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對迭代DNS查詢和遞歸DNS查詢的區(qū)別是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。