DNS遞迴解析和迭代解析的區別-VeCloud
DNS解析流程分為遞迴查詢和迭代查詢,遞迴查詢是以本地名稱伺服器為中心查詢,
遞迴查詢是預設方式,迭代查詢是以DNS客戶端,也就是客戶機器為中心查詢。其實DNS客戶端和本地名稱伺服器是遞迴,而本地名稱伺服器和其他名稱伺服器之間是迭代。
什麼是遞迴DNS?
遞迴DNS查詢是一臺DNS伺服器與其他幾臺DNS伺服器通訊以查詢IP地址並將其返回給客戶端的地方。這與迭代DNS查詢相反,在迭代DNS查詢中,客戶端直接與查詢中涉及的每個DNS伺服器進行通訊。儘管這是一個非常技術性的定義,但仔細研究DNS系統以及遞迴和迭代之間的區別應該可以幫助您解決問題。
什麼是DNS伺服器?
每當使用者在瀏覽器視窗中輸入域名(例如“ idcbest.com”)時,都會觸發DNS查詢。然後,一系列稱為DNS伺服器的遠端計算機會找到該域的IP地址,並將其返回給使用者的計算機,以便他們可以訪問正確的網站。
幾種不同型別的DNS伺服器必須協同工作才能完成DNS查詢。DNS解析器、NS根伺服器、DNS TLD伺服器和DNS權威名稱伺服器都必須提供資訊以完成查詢。在快取的情況下,這些伺服器之一可能已在上一次查詢期間儲存了查詢的答案,然後可以將其從記憶體中傳遞出來。
遞迴和迭代之間有什麼區別?
遞迴和迭代是電腦科學術語,描述瞭解決問題的兩種不同方法。在遞迴中,程式會重複呼叫自身直到滿足條件,而在迭代過程中,將重複執行一組指令,直到滿足條件為止。如果不編寫程式碼,很難說明這種細微的區別,但是關鍵要點在於,遞迴是一種反覆呼叫自身的解決方案。前者需要確定解空間是收斂的,後者需要確定迴圈的結束條件。
例如,想象一下Jim在家裡丟了鑰匙,正在尋找一種系統的方式來找到它們。遞迴的解決方案是讓Jim一直尋找他的鑰匙,直到找到它們為止。吉姆將開始尋找,如果找不到他的鑰匙,他將返回原來的指示繼續尋找直到找到它們。一個迭代的解決方案是讓Jim搜尋一個房間五分鐘,然後返回他的指令並搜尋下一個房間五分鐘,然後繼續此迴圈,直到他找到自己的鑰匙或遍歷整個房間列表為止搜尋。
理解遞迴和迭代DNS查詢之間的區別並不需要對遞迴和迭代有深入的瞭解,在遞迴查詢中,DNS伺服器執行遞迴併繼續查詢其他DNS伺服器,直到它具有返回給客戶端的IP地址為止(通常是使用者的作業系統)。在迭代DNS查詢中,每個DNS查詢都使用一個地址直接響應客戶端,以供另一個DNS伺服器詢問,並且客戶端繼續查詢DNS伺服器,直到其中一個使用給定域的正確IP地址進行響應為止。
換句話說,客戶端在遞迴DNS查詢中進行某種形式的委派。它告訴DNS解析器,“嘿,我需要該域的IP地址,請查尋它,直到擁有它為止,再找我。”同時,在迭代查詢中,客戶端告訴DNS解析器,
“嘿,我需要該域的IP地址。請在查詢過程中讓我知道下一個DNS伺服器的地址,以便我自己查詢。”
遞迴DNS有什麼優勢?
由於快取遞迴DNS查詢通常比迭代查詢的解析速度更快。遞迴DNS伺服器將對執行的每個查詢的最終答案進行快取,並將該最終答案儲存一定的時間(稱為生存時間)。
當遞迴解析器收到對其快取中已經具有的IP地址的查詢時,它可以快速將快取的答案提供給客戶端,而無需與任何其他DNS伺服器進行通訊。如果aDNS伺服器為許多客戶端提供服務和/或b請求的網站非常受歡迎,則很有可能從快取中快速提供響應。
遞迴DNS的缺點是什麼?
不幸的是,在開放的DNS伺服器上允許遞迴DNS查詢會造成安全漏洞,因為此配置可使攻擊者執行DNS放大攻擊和DNS快取中毒。
以上就是DNS遞迴解析和迭代解析的區別的介紹。
VeCloud的總部位於香港,並在北京、深圳以及上海設有分支機構,是一家面向企業提供雲交換網路服務為核心業務的技術創新企業。基於創新的雲網技術,以及優質的全球網路與IDC資料中心資源,推出了全球直連,快速可達的VeConnect平臺,實現網路服務商、IDC資料中心、雲服務商以及企業應用服務商的直連互通,為企業提供高效、安全、穩定、可靠的網路連線服務。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69984549/viewspace-2725690/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 淺談DNS遞迴解析和迭代解析之間的區別DNS遞迴
- 遞迴解析和權威解析的區別是什麼?遞迴
- DNS解析問題:遞迴伺服器和權威伺服器有什麼區別?DNS遞迴伺服器
- 什麼是DNS雲解析?雲解析和普通解析有什麼區別?DNS
- dom解析和sax解析的區別
- 深究遞迴和迭代的區別、聯絡、優缺點及例項對比遞迴
- 對遞迴和迭代的效率的思考和分析遞迴
- 什麼是遞迴解析伺服器?遞迴解析伺服器的作用是什麼?遞迴伺服器
- 迭代和增量的區別?
- mybatis collection解析以及和association的區別MyBatis
- 什麼是DNS解析?如何提升DNS解析安全?DNS
- python中的迭代與遞迴Python遞迴
- 遍歷二叉樹的迭代和遞迴方法二叉樹遞迴
- 迭代與遞迴--你被遞迴搞暈過嗎?遞迴
- DNS解析流程DNS
- DNS解析原理DNS
- 什麼是DNS解析?DNS解析的過程是什麼樣的?DNS
- 10.遞迴演算法最佳解析遞迴演算法
- Java不用遞迴的迭代快速排序示例Java遞迴排序
- DNS.com和DNS盾免費DNS解析、DNSPOD阿里公共DNS等DNS阿里
- 深度解析!Linux 命令 su 和 sudo 的區別Linux
- dnsmasq劫持和dns教程詳細解析DNS
- 遞迴和非遞迴分別實現求n的階乘遞迴
- 詳解 DNS 解析DNS
- DNS域名解析DNS
- Dns解析(上) (轉)DNS
- Dns解析(下) (轉)DNS
- Timer的schedule和scheduleAtFixedRate方法的區別解析
- 雲解析DNS如何實現智慧解析?DNS
- DNS解析為什麼不生效?DNS解析不生效原因分析DNS
- 如何判斷DNS解析故障?如何解決DNS解析錯誤?DNS
- 解析最快的dns 最快最穩定的dnsDNS
- 遞迴和尾遞迴遞迴
- Lock、Synchronized鎖區別解析synchronized
- DNS直接解析域名與泛域名解析DNS
- 雲解析DNS有必要買嗎?雲解析DNS有什麼用?DNS
- DNS隧道技術解析DNS
- iOS 本地DNS解析方法iOSDNS