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):它可從主服務器中複製一整套域信息。區文件是從主服務器中複製出來的,並作爲本地磁盤文件存儲在輔助服務器中。這種複製稱爲"區文件複製"。在輔助域名服務器中有一個所有域信息的完整拷貝,可以有權威地回答對該域的查詢。因此,輔助域名服務器也稱作權威性服務器。配置輔助域名服務器不需要生成本地區文件,因爲可以從主服務器中下載該區文件。

(3)高速緩存服務器(caching-only server):可運行域名服務器軟件,但是沒有域名數據庫軟件。它從某個遠程服務器取得每次域名服務器查詢的結果,一旦取得一個,就將它放在高速緩存中,以後查詢相同的信息時就用它予以回答。高速緩存服務器不是權威性服務器,因爲它提供的所有信息都是間接信息。對於高速緩存服務器只需要配置一個高速緩存文件,但最常見的配置還包括一個回送文件,這或許是最常見的域名服務器配置。




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章