天天看點

DNS基礎知識

今天百度三面電話面,太扯了,問了DNS查詢方式才發現什麼都記不起來了。現在把最基本的總結一下。以後好複習。

DNS名稱解析的查詢模式

1、遞歸查詢:當收到用戶端的遞歸查詢請求後,目前DNS伺服器隻會向DNS用戶端傳回兩種資訊:要麼是在該DNS伺服器上查詢到的結果,要麼是查詢失敗,如果目前DNS伺服器中無法解析名稱,它并不會主動告知DNS用戶端其它可能的DNS伺服器,而是自行向其它DNS伺服器查詢并完成解析。如果其它DNS伺服器解析失敗,則DNS伺服器将向DNS用戶端傳回查詢失敗的消息。遞歸即是有來有往。

2、疊代查詢:疊代查詢通常在一台DNS伺服器向另一台DNS伺服器發出解析請求時使用。如果目前DNS收到其它DNS伺服器發來的疊代查詢請求并且未能在本地查詢到所需要的資料,則目前DNS伺服器将告訴發起查詢的DNS伺服器另一台DNS伺服器的IP位址。然後,再由發起查詢的DNS伺服器自行向另一台DNS伺服器發起查詢;依次類推,直到查詢到所需資料為止。如果到最後一台DNS伺服器仍沒有查到所需資料,則通知最初發起查詢的DNS伺服器解析失敗。疊代的意思就是若在某地查不到,該地就會告知查詢者其它地方的位址。讓查詢轉到其它地方去查。

說白就是這樣:

1.遞歸查詢:

一般客戶機和伺服器之間屬遞歸查詢,即當客戶機向DNS伺服器送出請求後,若DNS伺服器本身不能解析,則會向另外的DNS伺服器發出查詢請求,得到結果後轉交給客戶機;

2.疊代查詢(反複查詢):

一般DNS伺服器之間屬疊代查詢,如:若DNS2不能響應DNS1的請求,則它會将DNS3的IP給DNS2,以便其再向DNS3送出請求;

舉例:比如學生問老師一個問題,王老師告訴他答案這之間的叫遞歸查詢。這期間也許王老師也不會,這時王老師問張老師,這之間的查詢叫疊代查詢!

基本原理

DNS分為Client和Server,Client扮演發問的角色,也就是問Server一個Domain Name,而Server必須要回答此Domain Name的真正IP位址。而當地的DNS先會查自己的資料庫。如果自己的資料庫沒有,則會往該DNS上所設的的DNS詢問,依此得到答案之後,将收到的答案存起來,并回答客戶。

DNS伺服器會根據不同的授權區(Zone),記錄所屬該網域下的各名稱資料,這個資料包括網域下的次網域名稱及主機名稱。在每一個名稱伺服器中都有一個快取緩存區(Cache),這個快取緩存區的主要目的是将該名稱伺服器所查詢出來的名稱及相對的IP位址記錄在快取緩存區中,這樣當下一次還有另外一個用戶端到次伺服器上去查詢相同的名稱時,伺服器就不用在到别台主機上去尋找,而直接可以從緩存區中找到該筆名稱記錄資料,傳回給用戶端,加速用戶端對名稱查詢的速度。例如:DNS用戶端向指定的DNS伺服器查詢網際網路上某台主機名稱,當DNS伺服器在該資料記錄找不到使用者所指定的名稱時,會轉向該伺服器的快取緩存區找尋是否有該資料 ,當快取緩存區也找不到時,會向最接近的名稱伺服器去要求幫忙找尋該名稱的IP位址 ,在另一台伺服器上也有相同的動作的查詢,當查詢到後會回複原本要求查詢的伺服器,該DNS伺服器在接收到另一台DNS伺服器查詢的結果後,先将所查詢到的主機名稱及對應IP位址記錄到快取緩存區中 ,最後在将所查詢到的結果回複給用戶端 。

DNS伺服器的類型

DNS域名伺服器是用來存儲主機-域名映射資訊的,這些伺服器具體又可以分為3類:

(1)主DNS伺服器(primary name server):它是特定域所有資訊的權威性資訊源。它從域管理者構造的本地磁盤檔案中加載域資訊,該檔案(區檔案)包含着該伺服器具有管理權的一部分域結構的最精确資訊。主伺服器是一種權威性伺服器,因為它以絕對的權威去回答對其管轄域的任何查詢。

(2)輔助DNS伺服器(secondary name server):它可從主伺服器中複制一整套域資訊。區檔案是從主伺服器中複制出來的,并作為本地磁盤檔案存儲在輔助伺服器中。這種複制稱為"區檔案複制"。在輔助域名伺服器中有一個所有域資訊的完整拷貝,可以有權威地回答對該域的查詢。是以,輔助域名伺服器也稱作權威性伺服器。配置輔助域名伺服器不需要生成本地區檔案,因為可以從主伺服器中下載下傳該區檔案。

繼續閱讀