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