DNS服務器類型及查詢過程

什么是DNS

  DNS(Domain Name System,域名系統),因特網上作為域名和IP地址相互映射的一個分布式數據庫,能夠使用戶更方便的訪問互聯網,而不用去記住能夠被機器直接讀取的IP數串。通過主機名,最終得到該主機名對應的IP地址的過程叫做域名解析(或主機名解析)。

DNS域名稱

  域名系統作為一個層次結構和分布式數據庫,包含各種類型的數據,包括主機名和域名。DNS數據庫中的名稱形成一個分層樹狀結構稱為域命名空間。域名包含單個標簽分隔點,例如:im.qq.com。

d1.jpg

  • FQDN:(Fully Qualified Domain Name)完全合格域名/全稱域名,唯一地標識在 DNS 分層樹中的主機的位置,通過指定的路徑中點分隔從根引用的主機的名稱列表。

下圖顯示與主機稱為 im 內 qq.com DNS 樹的示例。 主機的 FQDN 是 im.qq.com。

DNS域的名稱層次結構

d2.jpg

  • 根域:dns域名中使用時,規定有尾部句點(.)來指定名稱位于根或更高級別的域層次結構

  • 頂級域:用來指示某個國家/地區或組織使用的名稱的類型名稱,例如:.com

  • 二級域:個人或組織在Internet上使用的注冊名稱,例如:qq.com

  • 子域:已注冊的二級域名衍生的域名,通俗的講就是網站名,例如:www.qq.com

  • 主機名:通常情況下,DNS域名的最左側的標簽標識網絡上的特定計算機,例如:h1.www.qq.com

DNS服務器的類型:

  DNS域名服務器是用來存儲主機-域名映射信息的,這些服務器具體又可以分為以下幾類:

1、主域名服務器(primary name server)

  它是特定域所有信息的權威性信息源。它從域管理員構造的本地磁盤文件中加載域信息,該文件(區文件)包含著該服務器具有管理權的一部分域結構的最精確信息。主服務器是一種權威性服務器,因為它以絕對的權威去回答對其管轄域的任何查詢。

2、從域名服務器(secondary name server)

  它可從主服務器中復制一整套域信息。區文件是從主服務器中復制出來的,并作為本地磁盤文件存儲在輔助服務器中。這種復制稱為"區文件復制"。在輔助域名服務器中有一個所有域信息的完整拷貝,可以有權威地回答對該域的查詢。因此,輔助域名服務器也稱作權威性服務器。配置輔助域名服務器不需要生成本地區文件,因為可以從主服務器中下載該區文件。

3、緩存名稱服務器(caching-only server)

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

4、轉發域名服務器

  負責所有非本地域名的本地查詢。轉發域名服務器接到查詢請求時,在其緩存中查找,如找不到把請求依次轉發到指定的域名服務器,直到查詢到結果為止,否則返回無法映射的結果。

DNS查詢過程

  當客戶端程序要通過一個主機名稱來訪問網絡中的一臺主機時,它首先要得到這個主機名稱所對應的IP地址,因為IP數據報中允許放置的是目地主機的IP地址,而不是主機名稱。可以從本機的hosts文件中得到主機名稱所對應的IP地址,但如果hosts文件不能解析該主機名稱時,只能通過向客戶機所設定DNS服務器進行查詢了。

可以以不同的方式對DNS查詢進行解析:

  • 第一種是本地解析,就是客戶端可以使用緩存信息就地應答,這些緩存信息是通過以前的查詢獲得的。

  • 第二種是直接解析,就是直接由所設定的DNS服務器解析,使用的是該DNS服務器的資源記錄緩存或者其權威回答(如果所查詢的域名是該服務器管轄的)。

  • 第三種是遞歸查詢,即設定的DNS服務器代表客戶端向其他DNS服務器查詢,以便完全解析該名稱,并將結果返回至客戶端。

  • 第四種是迭代查詢,即設定的DNS服務器向客戶端返回一個可以解析該域名的其他DNS服務器,客戶端再繼續向其他DNS服務器查詢。

1、本地解析
  本地解析的過程如圖所示。客戶機平時得到的DNS查詢記錄都保留在DNS緩存中,客戶機操作系統上都運行著一個DNS客戶端程序。當其他程序提出DNS查詢請求時,這個查詢請求要傳送至DNS客戶端程序。DNS客戶端程序首先使用本地緩存信息進行解析,如果可以解析所要查詢的名稱,則DNS客戶端程序就直接應答該查詢,而不需要向DNS服務器查詢,該DNS查詢處理過程也就結束了。

d4.png

2、直接解析
  如果DNS客戶端程序不能從本地DNS緩存回答客戶機的DNS查詢,它就向客戶機所設定的局部DNS服務器發一個查詢請求,要求局部DNS服務器進行解析。如圖所示,局部DNS服務器得到這個查詢請求,首先查看一下所要求查詢的域名是不是自己能回答的,如果能回答,則直接給予回答,如是不能回答,再查看自己的DNS緩存,如果可以從緩存中解析,則也是直接給予回應。

d5.png

3、遞歸解析
       當局部DNS服務器自己不能回答客戶機的DNS查詢時,它就需要向其他DNS服務器進行查詢。此時有兩種方式,如圖所示的是遞歸方式。局部DNS服務器自己負責向其他DNS服務器進行查詢,一般是先向該域名的根域服務器查詢,再由根域名服務器一級級向下查詢。最后得到的查詢結果返回給局部DNS服務器,再由局部DNS服務器返回給客戶端。

d6.png

4、迭代解析
       當局部DNS服務器自己不能回答客戶機的DNS查詢時,也可以通過迭代查詢的方式進行解析,如圖所示。局部DNS服務器不是自己向其他DNS服務器進行查詢,而是把能解析該域名的其他DNS服務器的IP地址返回給客戶端DNS程序,客戶端DNS程序再繼續向這些DNS服務器進行查詢,直到得到查詢結果為止。

d7.png

一次完整的DNS解析過程圖解

DNS域名解析過程.gif 

原創文章,作者:641348038@qq.com,如若轉載,請注明出處:http://www.www58058.com/67736

(6)
641348038@qq.com641348038@qq.com
上一篇 2017-02-08
下一篇 2017-02-08

相關推薦

  • 定制SecureCRT配色

    定制SecureCRT配色 SecureCRT默認的配色方案不怎么喜歡,結合網上其他人的總結+自己的探索,總結怎樣定制自己的配色。配出自己喜歡的界面,還是會很有成就感的。 使用SecureCRT自帶主題 效果圖 圖中個文件的類型: compress.tar.gz 壓縮文件 directory 目錄 file.txt 普通文件&n…

    Linux干貨 2017-09-03
  • Linux系統認知

    前言 在認識Linux系統之前先介紹下計算機的組成構造及其功能: 1,簡單來說計算機可以劃分為軟件系統和硬件系統: (1)軟件系統自不必說就是各種不同的程序,協助用戶更好地使用電腦。 (2)硬件系統指的是主機、顯示器、鼠鍵等硬件設備。 2,按馮諾依曼體系可將計算機按邏輯構成分為: (1)CPU(運算器、控制器)。運算器是數據處理裝置,用來完成對數據的算術運算…

    Linux干貨 2016-09-20
  • Linux的哲學思想和文件系統

    Linux的哲學思想 Linux是一個自由的操作系統,其內部也有著自己獨特的一些特定的規則,就是我們所說的關于Linux的哲學思想。 Linux系統的哲學思想 1.一切皆文件:Linux系統把幾乎所有的系統資源全部都抽象為文件形式,包括硬件設備,甚至通信的接口都是以文件形式存在的。 2.Linux系統是由許許多多的小程序組成的,這些小程序的功能性單一,組合這…

    Linux干貨 2016-11-01
  • 推薦-LVS專題: LVS的工作模型和調度算法介紹

    LVS專題: LVS的工作模型和調度算法介紹 LVS專題: LVS的工作模型和調度算法介紹 前言 什么是負載均衡? 什么是LVS? LVS的架構: LVS的實現模型: NAT實現原理: DR實現原理: TUN實現原理: FULLNAT實現原理: LVS的調度算法 靜態調度算法(4種) 動態調度算法(6種): 總結 前言 本文大概介紹一下LVS的工作方式和實現…

    Linux干貨 2016-04-05
  • linux網絡管理之二

     IP 地址由兩部分組成:                        網絡ID: 最前面連續位                …

    2017-03-18
  • grep與文本處理工具

    grep:基本正則表達式,-E  -F egrep:擴展正則表達式,-G -F fgrep: 不支持正則表達式,-F  egrep:          支持擴展的正則表達式實現類似于grep文本過濾功能; grep -E          …

    Linux干貨 2016-12-23

評論列表(1條)

  • luoweiro
    luoweiro 2017-02-23 07:22

    對dns原理和解析過程整理的非常詳細

欧美性久久久久