国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区

掃一掃
關注微信公眾號

DNS工作原理
2006-04-11   網(wǎng)絡


  DNS 的運作
  在我們設定 IP 網(wǎng)路環(huán)境的時候﹐都要告訴每臺主機關于 DNS 伺服器的位址(我們可以手動的在每一臺主機上面設置﹐也可以使用 DHCP 來指定)。但這設定的義意何在呢?從前面的介紹我們或可知道:其目的就是請 DNS 幫忙解析主機名稱與 IP 位址啦。在這個設定過程中,DNS 被稱為 resolver (也就是負責解析的 DNS Server),而被設定主機,則只是單純的 DNS Client 了,也就是提出解析請求的主機。
  下面讓我們看看 DNS 是怎樣運作的﹕
  1. 當被詢問到有關本域名之內(nèi)的主機名稱的時候﹐DNS 伺服器會直接做出回答﹔
  2. 客戶端向伺服器提出查詢項目﹔
  3. 當被詢問到有關本域名之內(nèi)的主機名稱的時候﹐DNS 伺服器會直接做出回答﹔
  4. 如果所查詢的主機名稱屬于其它域名的話﹐會檢查快取記憶體(Cache)﹐看看有沒有相關資料﹔
  5. 如果沒有發(fā)現(xiàn)﹐則會轉向 root 伺服器查詢﹔
  6. 然后 root 伺服器會將該域名之下一層授權(authoritative)伺服器的位址告知(可能會超過一臺)﹔
  7. 本地伺服器然后會向其中的一臺伺服器查詢﹐并將這些伺服器名單存到記憶體中﹐以備將來之需(省卻再向 root 查詢的步驟)﹔
  8. 遠方伺服器回應查詢﹔
  9. 若該回應并非最后一層的答案,則繼續(xù)往下一層查詢,直到獲的客戶端所查詢的結果為止﹔
  10. 將查詢結果回應給客戶端﹐并同時將結果儲存一個備份在自己的快取記憶里面﹔
  11. 如果在存放時間尚未過時之前再接到相同的查詢﹐則以存放于快取記憶里面的資料來做回應。
  從這個過程我們可以看出﹐沒有任何一臺 DNS 主機會包含所有域名的 DNS 資料﹐資料都是分散在全部的 DNS 伺服器中﹐而 NIC 只需知道各 DNS 伺服器位址就可以了。
  為了更好地理解一下 DNS 的運作﹐讓我們用下圖看看查詢 www.home.netman.com.tw 這臺主機位址的過程﹕
   
  

在這個例子中﹐www.home.netman.com.tw 臺主機的 DNS 對應資料﹐是由負責 home.netman.com.tw 這個域名的 DNS 伺服器管理的。(在 DNS 術語中﹐我們稱一個域名為“zone”﹐這個 zone 可以是您從 NIC 申請回來的域名﹐也可以是從該域名之下延伸出來的“sub-zone”)。在這臺 DNS 伺服器上面﹐必須有一個關于 home.netman.com.tw 這個 zone 的檔案﹐而這檔案里面必須有一筆關于 www 的記錄(任何主機都是以“記錄”來表示,稱為 Resource Record)。這個記錄可以為一個 IP 位址﹐也可以以別名形式來對應一臺主機名稱﹐但無論如何﹐所對應的主機名稱最終是要被一個 IP 位址所對應著就是了。
  同時﹐DNS 還能提供“反查詢”(reverse lookup) 功能﹐也就是以 IP 來查詢主機名稱。網(wǎng)路上面的許多服務﹐如﹕FTP, SMTP﹑等等﹐都需要到這個功能。其實﹐DNS 服務本身就必須要使用反查詢功能﹐而且在設定上﹐也必須要為每個網(wǎng)路建立起 reverse zone。雖然有些人發(fā)覺即使沒有 reverse zone 也可以使用到 DNS 服務﹐但其中弊端卻不容易被察覺到﹐在這個(中文)網(wǎng)頁﹕http://dnsrd.nctu.edu.tw/Basic/WhenToUse-Rev.html 上面﹐您可以看到忽略 revers zone 所致一些問題。
  DNS 的名稱記錄
  事實上﹐DNS 不僅僅是用來解釋位址用的﹐而且還可以回答更多關于網(wǎng)路和主機的其它信息﹐其中很重要的一個功能就是可以供郵件系統(tǒng)進行路由。這些資料﹐通常會以不同的“記錄”名稱出現(xiàn)在DNS的資料檔案中。下面讓我們參考一個 Linux 的 DNS 檔案﹐看看這些記錄是如何表示的﹕
  ;
  ; Zone file for siyongc.domain
  ;
  ; Then full zone file
  ;
  $TTL 86400
  @ IN SOA redhat52.siyongc.domain. netman.siyongc.domain. (
   1999092801 ; serial
   8H ; refresh
   2H ; retry
   1W ; expire
   1D ) ; minimun
  ;
   IN TXT "A test domain, created by Netman"
   IN NS redhat52
   IN NS debian.home
   IN MX 10 redhat52.siyongc.domain.
   IN MX 20 debian.home
  ;
  localhost IN A 127.0.0.1
  ﹔
  gw IN A 192.168.0.17
   IN HINFO "Redhat" "MASQ"
   IN TXT "The masquerade gateway to internet"
  ﹔
  redhat52 IN A 192.168.0.17
   IN MX 10 redhat52
   IN MX 20 debian.home
   IN HINFO "Dell PII 266" "Linux RedHat"
  www IN CNAME redhat52
  mail IN CNAME redhat52
  ftp IN CNAME redhat52
  news IN CNAME redhat52
  smtp IN CNAME redhat52
  ﹔
  pii266 IN A 192.168.0.15
   IN MX 10 redhat52.siyongc.domain.
   IN MX 20 debian.home.
  ﹔
  slware36 IN A 192.168.0.18
   IN MX 10 redhat52.siyongc.domain.
   IN MX 20 debian.home.
  ﹔
  rhroute IN A 192.168.0.4
   IN MX 10 redhat52.siyongc.domain.
   IN MX 20 debian.home.
  ﹔
  home IN ns debian.home.siyongc.domain.
  debian.home IN A 10.0.2.101
  我們姑且不理會開頭那幾行的意思﹐那是給 DNS 系統(tǒng)本身使用的(我將會在“學習 Linux”文章里面再詳細討論)﹐這里我們只是看看幾個記錄名稱而已﹕
   
  分擔 DNS 工作
  
  由於 DNS 的重要性日益顯著,為提高其容錯能力及查詢效能,我們在架設某一單一 zone 的時侯,常以多臺伺服器來負責該 zone 的服務。其中,我們必需指定一臺 Primary(master) DNS 伺服器,它是架設在某一個網(wǎng)域下被主要授權並控制所有名稱記錄的主控伺服器﹐管轄著該網(wǎng)域的所有記錄資料﹐這些記錄資料只有 primary(master) 可以修改。
  
  但如果在一個比較大型的網(wǎng)路中﹐DNS 伺服器就會變得很繁忙﹐所以您可以設定多個 DNS 來分擔 master 的工作﹐但您或許不願意到每一個 DNS 伺服器去更新資料吧﹖而且就算您願意這樣做﹐也容易出現(xiàn)錯誤或資料不同步的情形。這樣您可以設定其它的伺服器為 secondary (slave) DNS 來複製 master 上面的記錄資料﹐這樣﹐其它的電腦可以被分派到不同的 DNS 做查詢﹐既可以分擔 master 的工作﹐而且資料也可以自動進行同步工作。為確保資料的一致性,master 每次更新過資料後會以 notify 機制主動通知 slave 前來同步。此外,您可以設定 DNS 資料同步的時間間隔﹐在 dns 檔案中的 Refresh 設定就是了。

熱詞搜索:

上一篇:DNS協(xié)議結構
下一篇:安裝SP2后的配置及故障解決辦法

分享到: 收藏
主站蜘蛛池模板: 永吉县| 开原市| 梧州市| 齐河县| 阿坝县| 天台县| 昌乐县| 郸城县| 迁安市| 陵水| 四子王旗| 额尔古纳市| 专栏| 合川市| 长治县| 建瓯市| 高雄市| 大关县| 甘南县| 济源市| 青岛市| 仁寿县| 霍邱县| 武义县| 伊宁市| 永寿县| 惠安县| 襄城县| 长宁县| 石嘴山市| 新巴尔虎左旗| 乌兰县| 山阳县| 鸡泽县| 钟祥市| 昌平区| 岑巩县| 盘锦市| 汉寿县| 三亚市| 炉霍县|