熱點推薦:
您现在的位置: 電腦知識網 >> 電腦常識 >> 正文

DNS專題(2)---DNS如何工作②

2013-11-11 14:25:53  來源: 電腦常識 

  域和域區
  理解域和域區的差別需要費一點精力DNS域名樹的分支是為域名所用的而葉子則用於主機在域名樹中子域和主機是樹中所有在它們上層的域的成員
  域區在邏輯上覆蓋了DNS樹型結構的一部分以確定每個DNS服務器支持的名字(子域名和主機名)DNS服務器的域區決定了它所覆蓋的樹的分支樹的區域以及有多少它所授權的域
  圖中有一個服務器的授權域區包括mkt和sales兩個域一個DNS服務器也可以在一個域區中只有一個域中的eng就是一個域區只有一個域的例子盡管它還有兩個子域因為Windows中的域區用於控制相鄰的分支也就要求mkt和sales域位於不同的域區中這與一般的域區規則稍有不同
  由於DNS服務器之間的交互操作和DNS服務器及DNS客戶機之間的交互操作決定了必須有域區和委托授權域區規定了名字是在哪裡存放的(即哪個DNS服務器具有這些名字)而委托授權則決定客戶機和服務器應從哪條路徑與其他DNS服務器通信
  一個域區包含的記錄可以是單個域的記錄一個域記錄的一部分一個或幾個子域的記錄或者是父域和子域記錄的組合對於一類特殊的用來進行從地址到名字解析的反向地址域區更是常有多個域的記錄反向地址域區將在第章中描述
  
  域區向DNS服務器提供了它所管理的名字而委托授權則告訴DNS服務器當一個查詢是在其域區以外時到哪裡去查找域區和委托授權都不決定哪個DNS服務器是域記錄授權的最初來源哪些服務器只是備份需指定一個服務器為主服務器並給予它這種授權並指定一個服務器為輔服務器以作為主服務器的備份
  主DNS服務器
  如前所述主DNS服務器(即SOA)負責域中名字的授權關於那個域的名字的所有信息都要從這個服務器獲得當一個主DNS服務器啟動時它從它所運行主機的本地數據文件(或者活動目錄)中取得域區數據一個DNS服務器可以同時是一個或幾個域的主服務器也可以同時既是一個域的主服務器又是另一個域的輔服務器章將更詳細地解釋DNS服務器的類型但現在至少應認識到域和域區不存在主或輔的問題只有DNS服務器才有主或輔的概念主DNS服務器才是一個域的名字的授權來源
  如果要配置一個機構的域的層次結構最好首先為整個域配置一個主域名服務器DNS服務器管理的域區應包含所有的域名也許還應為子域配置一個或幾個服務器如果要為機構的各個部門建立子域則每個子域應有一個主DNS服務器如果服務器不包含這個域的所有記錄則必須指定一個子域授權(例如被分為等等)
  通過子域的選擇提高了用戶的靈活性同時因為每個子域都有一個授權的啟動所以潛在地增加了負載因此每次做出改變時必須進入指定的主服務器MS關於域區項的使用有時是令人費解的在實現時應注意使用方式
  輔DNS服務器
  輔DNS服務器從主服務器獲得數據當一個輔DNS服務器啟動時它首先從主服務器處獲得域區數據並將自己的版本號和主服務器的版本號進行比較如果覺得必要輔服務器就進行域區數據的替換用主服務器的數據覆蓋原來的數據輔服務器能和主服務器通信是因為輔服務器的名字連同SOA和NS資源記錄一起保存在它的文件裡輔服務器僅用一個NS記錄來表示並且它不承擔SOA的責任只有主服務器才有權承擔當然如果輔服務器仍然沒有域區數據它需要在它的啟動文件建立時使用指示來定位主服務器以獲得域區數據
  和主DNS服務器相似輔服務器也是授權查找域名的地方其差別在於主服務器是其他需要輸入域區文件的服務器的初始域名來源而輔服務器則不是傳遞域區數據的來源輔服務器的存在只是為了備份並提供查詢服務
  從主DNS服務器向輔DNS服務器傳送數據
  對域域區委托授權有所了解後可以轉向討論DNS的分布式數據庫模型域區文件本質上是DNS名字的數據庫列表主服務器擁有它自己的各個域的源域區文件
  子域域名服務器可以有主服務器的功能可有效地將一個大的域名列表劃分為幾個較小的部分成為幾個域區文件如果一個大型機構在建立其域名服務器時只使用一個域而沒有劃分為幾個子域則域區文件將非常大這樣一個很大的無層次名字空間還會有另一個問題一個不再劃分的DNS分支不能支持兩個同樣的主機名如果不對域進行劃分一個大機關就會遇到像ARPAnet決定建立DNS體系結構時所曾遇到的問題然而同樣大的機構可以把它的域名空間分成幾個子域但仍然只用一個域區文件如圖所示這只能解決兩個問題中的一個
  對域進行劃分可以因域區文件變小並容易管理而改善性能一個域名服務器不應該解析龐大的域區文件雖然還受其他因素影響但一般來說域區文件越小從域名服務器得到的響應就越快但子域也會帶來一定的問題即數據問題委托授權解決了父域和子域的協調但一個輔服務器又如何從數據源—它的主服務器—來獲得數據?回答是通過傳送主服務器的域區文件這也被稱作域區傳送(zonetransfer)域區傳送可以是部分的也可以是完全的主要取決於需求和最近一次全傳送耗費的時間把大的域區文件分成幾個小文件也可提高域區傳送的效率這也是為什麼要避免大而平面化的域名空間的重要原因之一
  當一個主服務器啟動時它只需要對名字查詢請求做出響應當一個輔服務器啟動時它就要查看主服務器的授權數據並得到一個路徑和文件名以便當收到副本時保存為本地的備份這由服務器的啟動信息提供在第章中將會提到如果輔服務器是第一次啟動或者有人清除了它的數據目錄則輔服務器就向主服務器發出請求以得到域區文件的副本
  域區傳送操作很像Windows(NT或)的文件復制或者是Windows在域名服務器之間的WINS數據復制當輔服務器得到了主服務器域區文件的副本後它也能對名字查詢提供授權的應答如果主服務器的域區文件有所改變或更新輔服務器將如何處理?在授權開始資源記錄(SOARR)中包含的若干信息字段可指示輔服務器相隔多久檢查主服務器的變化這些字段設置了超期時限和刷新頻率SOA資源記錄也有一個版本號或序列號關於SOA資源記錄的更多信息請見第
  輔服務器將定期地向主服務器查詢它所需刷新的域區文件具體的就是檢查序列號是否有變化序列號是一種遞增的指示數據庫版本的數字如果序列號有所變化輔服務器就知道域區數據有了變化就會啟動新的副本傳遞(可能是部分的也可能是完全的傳送)部分傳送是在RFC中定義的一種逐漸遞增的傳送即僅是被改變的部分而不是整個域區文件被傳送
  只有當序列號增大後輔服務器才會進行域區文件傳送如果序列號因為某種原因而減少則輔服務器將認為它的域區文件副本是最新的並將繼續使用直到期滿如果因某種原因序列號變為則輔服務器的本地域區文件將被刪除輔服務器就將啟動一次傳輸從主服務器傳送完整的新的域區數據文件但是無論在哪種情況下都是從它的主服務器獲得它的數據
  WindowsDNS服務器和BIND還有一種通告選項以啟動輔服務器的更新這就是說主服務器可以通知輔服務器數據已變化以便加速傳送新信息通告選項還可以提高安全性因為是由主服務器啟動域區文件的傳送主服務器的管理員提供了應通知的輔服務器列表而列表中的輔服務器只限於那些已經授權的服務器將啟動數據傳送從輔服務器轉為主服務器有助於防止域區文件被非法竊走這是一系列使用通告選項來提高傳送效率的令人信服的原因然而一些BIND服務器在從WindowsDNS接收到這樣的傳送時會丟棄自己的所有數據所以當計劃用這種方式使用BIND輔服務器時應采用BIND
  希望DNS查詢在全局范圍內都能得到迅速處理的機構應該在不同的地理位置上配置DNS服務器也許可以把部分域區數據放在其他合作機構的服務器上這樣可以提供較好的本地查詢性能而配置的冗余有助於在Internet連接不正常時繼續工作
  在有故障時即使目的主機不能接通輔DNS服務器仍然可以進行名字解析對於如發送郵件這樣的服務這是很有用的因為如果在發送郵件時可以解析主機名但不能啟動一次郵件發送過程則只需將郵件在發送隊列中繼續排隊稍後再發送而發送郵件時如果連主機名都不能解析則只能退回郵件並給出主機未知錯誤
  Windows把域區數據集成到活動目錄中作為第三類域區從而逐漸模糊了標准主輔服務器之間的區別集成後仍然可以有標准輔服務器但也可能有多個同等的使用活動目錄進行復制的輔服務器這在第章中將會提到那裡將討論一些有關活動目錄技術的DNS問題
  本章關於域名空間和域名服務器的討論就到這裡其余部分將集中於客戶機客戶機的查詢和DNS服務器是如何協作工作的

From:http://tw.wingwit.com/Article/Common/201311/5354.html
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.