架設 DNS(DNS终结篇) (12)

2008-02-23 04:53:55来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

所謂的 forwarder ﹐就是當某一台 NS 主機遇到非本機負責的 zone ( slave zone 也屬於本機負責的範圍) 之查詢請求的時候﹐將不直接向 root zone 查詢而把請求轉交給指定的 forwarder (一台或多台) 主機代為查詢。如果您不了解 DNS 的查詢模式﹐那您很難理解這個 forwarder 的意義和好處。

我們知道﹐當 NS 主機在接到 client 的查詢的時候﹐首先會檢查這個查詢是否屬於本機管轄﹐否則將轉向 root zone 再逐級的查詢下去﹐最後將結果告訴 client 。而在這個過程之中﹐NS 主機還會將每一筆結果存放到 cache 中。這樣﹐只要 cache 中的 TTL 沒過期的話﹐在下次遇到同樣查詢的時候﹐就可以直接將結果回應給 client 了﹐而無需再重複上次的查詢流程。如果 NS 上面指定了 forwarder﹐那這個 NS 發現 cache 沒有記錄的話﹐將不向 root 查詢﹐而是將自己扮成一個 client﹐向 forwarder 送出同樣的請求﹐然後等待查詢結果﹔而逐級往下查詢的動作﹐則交由 forwarder 負責﹐NS 自己就輕鬆多了。但無論這個結果是自己直接查詢得來的﹐還是 forwarder 送回來的﹐NS 都會保存一份資料在 cache 中。這樣﹐其後的相同查詢就快多了﹐這對於 NS 所服務的 client 而言更是有效率得多。

但是﹐假如您仔細研究一下這個 forwarder 機制﹐您會發現它的好處並非僅是上面所提到的效能提昇﹐而且﹐對於整個網路流量(尤其是對外的流量)也有非常正面的幫助。比方說﹐您的內部網路需要 10 台 DNS 來提供服務﹐您只需在某一台能直接與外界溝通的電腦上架設 DNS 服務﹐然後將其它內部 NS 的 forwarder 指向該主機就行了。這樣﹐本來需要 10 次的 root 查詢﹐在 forwarders 的機制下﹐就只需 1 次而已﹗連同下層的往返查詢來計算的話﹐總體上所省下的對外查詢就更多了~~ 如果再加上 cache 的效能﹐forwarder 所降低的 DNS 流量是非常顯著的。

事實上﹐forwarder 在我們的實際應用中也很常見﹐例如﹐我們只要將 forwarder 設定為 ISP 的 DNS ﹐那麼﹐我們的 NS 就無需直接向 root 查詢了﹔又因為 ISP 上的 DNS 也有 cache 的關係﹐所以我們的 NS 所獲得的查詢結果﹐也比直接向 root 查詢來得要快。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:主要省份城市的DNS服务器地址

下一篇:如何增强网络排错技能