給未來的裕翔
雖然之前解釋過recursive和iterative查詢
不過有些觀念還不是很清楚
當我想看查詢的過程, 要加+trace
可是我man dig時, 它說recurse這bit是預設set的
不過當使用+trace的話, recurse的bit就會被disable
嗯嗯! 怎會這樣? 當我想看它遞迴查詢的過程, 居然會disable那個recurse的bit!!!
難道, +trace顯示出來的不是recurse?
想了又想, 以下是我的設想:
我是client, 我有架一台dns server, 然後有設定forwarders
當我平常dig時, 我跟dns server說"幫我查"
於是dns server去跟它的forwarders說"幫我client作recursive查詢"
然後forwarders回傳dns server一個結果, dns server也回傳我一個結果
ok, 很合理
而當我使用+trace時, 它給我查詢的過程
我一樣對dns server說"親愛的 幫我查"
而這時dns server心花怒放^^
對forwarders說"幫我一個小忙, 請問哪邊可以查到這答案"
forwarders回我的dns server一個地址
於是dns server再去那個地址問"幫我一個小忙, 請問哪邊可以查到這答案"
這樣一路問下去, dns server終於幫我搞定我要問的了
對dns server而言, 它的行為是iterative
所以我在想, 當我使用+trace時, recurse的bit被disable
就是因為對我的dns server而言, 他是一個個iterative去查的
所以平常講的recursive和iterative, 都是指dns server和forwarders之間的查詢方式!?
簡單說來, recursive查詢就是我請對方幫我搞定
iterative查詢就是我請對方告訴我一個方向
以上, 個人猜測^^"
ref: http://dns-learning.twnic.net.tw/dns/03opDNS.html
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment