更新時(shí)間:2022-11-30 10:07:26 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽2034次
當(dāng)客戶端或服務(wù)器進(jìn)行遞歸查詢時(shí),它期望對(duì)方給出明確的“是/否”答復(fù)。是/否意味著應(yīng)該返回一個(gè)已解析的 IP 地址,或者應(yīng)該返回一條消息說(shuō)找不到該資源。

迭代查詢(也稱為非遞歸)的行為更像是對(duì)話,其中服務(wù)器 A 詢問(wèn)服務(wù)器 B 是否知道某個(gè)資源。服務(wù)器 A 不一定需要所請(qǐng)求資源的 IP 地址,盡管可以接受。如果服務(wù)器 B 不知道資源在哪里,它將在DNS 層次結(jié)構(gòu)中發(fā)出對(duì)服務(wù)器 C 的引用,服務(wù)器 B 認(rèn)為它可能更清楚。服務(wù)器 A 然后發(fā)出重復(fù)請(qǐng)求以搜索相同的 IP 地址,但根據(jù)前一次迭代查詢的回復(fù)將其定向到不同的服務(wù)器。迭代查詢最終會(huì)找到相關(guān)域的權(quán)威服務(wù)器。
默認(rèn)情況下,客戶端始終向其 DNS 服務(wù)器發(fā)出遞歸查詢,從主 DNS 服務(wù)器開(kāi)始。客戶端需要地址或錯(cuò)誤消息。就 DNS 服務(wù)器而言,它們更喜歡迭代查詢,它們相互“交談”以“找出”所請(qǐng)求資源的位置。如果迭代過(guò)程超出了預(yù)先配置的時(shí)間段,則會(huì)生成一條錯(cuò)誤消息并返回給客戶端,或者將遞歸查詢提交給轉(zhuǎn)發(fā)服務(wù)器(如果已配置)。
為什么服務(wù)器不默認(rèn)遞歸?首先,這會(huì)導(dǎo)致根服務(wù)器過(guò)載,因?yàn)樗鼈儽仨毩私?Internet 上的所有可用資源才能為遞歸查詢提供服務(wù)——本質(zhì)上,根服務(wù)器是不存在的。其次,服務(wù)器端的迭代過(guò)程最終會(huì)導(dǎo)致更多名稱被添加到緩存中,從而顯著加快對(duì)重復(fù)域和主機(jī)名的進(jìn)一步搜索的執(zhí)行速度。如果最終 DNS 服務(wù)器既不返回 IP 地址也不返回錯(cuò)誤消息,客戶端可能會(huì)嘗試自己進(jìn)行迭代過(guò)程。
可以在Windows Server 2008 DNS服務(wù)器上禁用遞歸,這也會(huì)禁用轉(zhuǎn)發(fā)。這實(shí)質(zhì)上剝奪了 DNS 服務(wù)器解析其不具有權(quán)威性的任何名稱的能力。換句話說(shuō),如果禁用遞歸,DNS 服務(wù)器將只能從其本地正向查找和反向查找區(qū)域解析名稱。如果您希望將一組特定的 DNS 服務(wù)器限制為僅服務(wù)于特定區(qū)域查詢,或者如果它們?cè)谖锢砩蠠o(wú)法通過(guò)使用遞歸解析外部名稱,則此功能可能很有用。此設(shè)置現(xiàn)在通過(guò) DNS 服務(wù)器屬性的高級(jí)選項(xiàng)卡進(jìn)行控制。
Java實(shí)驗(yàn)班
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
Java就業(yè)班
有基礎(chǔ) 直達(dá)就業(yè)
Java夜校直播班
業(yè)余時(shí)間 高薪轉(zhuǎn)行
Java在職加薪班
工作1~3年,加薪神器
Java架構(gòu)師班
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)