迭代查詢和遞歸查詢是可以發(fā)送到域名服務(wù)器的兩種請求。遞歸查詢是最常見的發(fā)送到本地域名服務(wù)器的請求。當(dāng)本地域名服務(wù)器接受了客戶機(jī)的查詢請求時,本地域名服務(wù)器將力圖代表客戶機(jī)來找到答案,而在域名服務(wù)器執(zhí)行所有工作的時候,客戶機(jī)只是等待。如果本地域名服務(wù)器不能直接回答,則它將在域名樹中的各分支上下遞歸搜索來尋找答案。
對于一個遞歸查詢,DNS服務(wù)器將持續(xù)搜索直到收到回答。這種回答可以是主機(jī)的IP地址,也可以回答“主機(jī)不存在”。不論是哪種結(jié)果,遞歸域名服務(wù)器將把結(jié)果返回給客戶機(jī)。
一個域名服務(wù)器若設(shè)置為使用前向服務(wù)器,則它將發(fā)送遞歸查詢到指定的前向主機(jī)。這臺收到前向查詢的主機(jī)也將工作在遞歸模式以回答查詢。如果本地服務(wù)器不是一個從屬服務(wù)器,過一會兒它可能會自行開始查詢過程,盡管它仍然希望從它的前向主機(jī)處得到回答。如果本地域名服務(wù)器設(shè)置為一個前向服務(wù)器的從屬服務(wù)器,則工作方式會有所不同??蛻魴C(jī)可以發(fā)送遞歸查詢到一臺從屬服務(wù)器,但從屬服務(wù)器不能進(jìn)行遞歸查詢,它實(shí)質(zhì)上將成為其前向服務(wù)器的客戶機(jī)等待回答。第3章曾對前向服務(wù)器和從屬服務(wù)器進(jìn)行了介紹。
迭代查詢則有所不同。迭代查詢的最好例子是一臺本地域名服務(wù)器發(fā)送請求到根服務(wù)器。當(dāng)某個企業(yè)的本地域名服務(wù)器向根服務(wù)器提出查詢,根服務(wù)器并不一定代表本地域名服務(wù)器來擔(dān)當(dāng)起回答查詢的責(zé)任。另一種說法是根服務(wù)器不接收遞歸查詢。事實(shí)上,根服務(wù)器只是為解析查詢做一件事:指引本地域名服務(wù)器到另一臺主機(jī)來查詢回答。這種做法通常稱為重指引,也是期望得到的迭代查詢的結(jié)果。例如,當(dāng)根服務(wù)器被要求查詢的地址,根服務(wù)器不會到ISI域名服務(wù)器查詢www主機(jī)的地址,它只是給本地域名服務(wù)器返回一個提示,告訴本地域名服務(wù)器到ISI域名服務(wù)器去繼續(xù)查詢和得到結(jié)果。