DNS詳解

DNS詳解

1. DNS定義:

DNS 域名系統(Domain Name System) 的縮寫,該系統用於命名組織到域層次結構中的計算機和網絡服務。在Internet上域名與IP地址之間是一一對應的,域名雖然便於人們記憶,但機器之間只能互相認識IP地址,它們之間的轉換工作稱爲域名解析,域名解析需要由專門的域名解析服務器來完成,DNS就是進行域名解析的服務器,域名的最終指向是IP

IPv4IP是由32位二進制數組成的,將這32位二進制數分成4組每組8個二進制數,將這8個二進制數轉化成十進制數,就是IP地址,範圍是在0255之間。8個二進制數轉化爲十進制數的最大範圍就是0255現在已開始試運行、將來必將代替IPv4IPV6中,將128位二進制數表示一個IP地址。

DNSDomain Name System 域名管理系統 域名是由圓點分開一串單詞或縮寫組成的,每一個域名都對應一個惟一的IP地址,這一命名的方法或這樣管理域名的系統叫做域名管理系統

DNSDomain Name Server 域名服務器 域名雖然便於人們記憶,但網絡中的計算機之間只能互相認識IP地址,它們之間的轉換工作稱爲域名解析,域名解析需要由專門的域名解析服務器來完成,DNS就是進行域名解析的服務器。

2. 使用的是UDP53號端口

3.DNS的工作原理:

  以訪問[url]www.xxx.com[/url] 爲例,

 (1)客戶端首先檢查本地c:\windows\system32\drivers\etc\host文件,是否有對應的IP地址,若有,則直接訪問WEB站點,若無,則(2);

 (2)客戶端檢查本地緩存信息,若有,則直接訪問WEB站點,若無(3);

 (3)本地DNS檢查緩存信息,若有,將IP地址返回給客戶端,客戶端可直接訪問WEB站點,若無;

 (4)本地DNS檢查區域文件是否有對應的IP,若有,將IP地址返回給客戶端,客戶端可直接訪問WEB站點,若無;

 (5)本地DNS根據cache.dns文件中指定的根DNS服務器的IP地址,轉向根DNS查詢;

 (6)根DNS收到查詢請求後,查看區域文件記錄,若無,則將其管轄範圍內.com服務器的IP地址告訴本地DNS服務器;

 (7.com服務器收到查詢請求後,查看區域文件記錄,若無,則將其管轄範圍內.xxx服務器的IP地址告訴本地DNS服務器;

 (8.xxx服務器收到查詢請求後,分析需要解析的域名,若無,則查詢失敗,若有,返回[url]www.xxx.com[/url]IP地址給本地服務器

(9)本地DNS服務器將[url]www.xxx.com[/url]IP地址返回給客戶端,客戶端通過這個IP地址與WEB站點建立連接

4. 實例:具體看一個名字到地址的解析過程: 

當您在瀏覽器中輸入([url]www.seebod.com.[/url]),我們的電腦是如何得到IP地址的?

  1、瀏覽器發現是一個名字,於是調用我們機器內部的DNS Client軟件,這個軟件會把我們的請求發送到網卡Tcp/IP設置中的默認DNS服務器IP地址(上海電信提供DNS的服務器有3臺,其中一臺IP202.96.209.5):您可以告訴我[url]www.seebod.com.[/url]IP地址嗎?我這是一個遞歸查詢

  2 202.96.209.5DNS服務器會檢查自己的DNS緩存,如果緩存裏有,就直接返回給客戶,如果沒有,202.96.209.5就會向自己系統內部配置中負責.域的DNS服務器的IP地址(負責.域的那臺DNS服務器位於美國,共13臺,系統會隨機選一臺,這裏比如是61.1.1.1)發出請求: “您能告訴我[url]www.seebod.com.[/url]IP地址嗎?我這是一個迭代查詢

  3.DNS服務器61.1.1.1中包含負責net.域解析的IP地址,把查詢結果返回給202.96.209.5負責net.域的DNS服務器地址是54.4.4.4”

  4202.96.209.5收到上面的查詢結果後,於是詢問負責net.域的DNS服務器54.4.4.4 您能告訴我負責[url]www.seebod.com.[/url]IP地址嗎?我這是一個迭代查詢

  5、負責net.域的DNS服務器54.4.4.4把查詢後的結果返回給202.96.209.5負責seebod.com.域的dns服務器的ip地址是 211.152.17.58”

  6202.96.209.5收到上面的查詢結果夠,於是詢問負責seebod.com.域的DNS服務器211.152.17.58您能告訴我[url]www.seebod.com.[/url]所對應的IP地址嗎?

  7211.152.17.58把查詢後的結果返回給202.96.209.5“[url]www.seebod.com.[/url]對應的IP地址是211.100.26.123”

  8202.96.209.5把最終結果放到自己的DNS緩存裏,這樣以後就不用再進行上面的迭代查詢了。

  9202.96.209.5把最終結果返回給最初發起請求的客戶機。

  10、客戶機的dns client軟件把最終結果返回給瀏覽器。

  11、瀏覽器把目的IP地址連同http數據傳遞給網絡層。

  12、網絡層根據目標地址判斷路由,發現目標IP地址211.152.17.58與本機不在同一個網段(判斷是否是同一個網段使用子網掩碼與目的IP地址做與運算),於是決定把包發給網關。

  13、檢查本地arp緩存表獲得本地網關的MAC地址。

5DNS查詢

  DNS查詢可以有兩種解釋,一種是指客戶端查詢指定DNS服務器上的資源記錄(如A記錄),另一種是指查詢FQDN名的解析過程。

  一、查詢DNS服務器上的資源記錄

  您可以在Windows平臺下,使用命令行工具,輸入nslookup [url]www.baidu.com[/url] ,返回的結果包括域名對應的IP地址(A記錄)、別名(CNAME記錄)等。除了以上方法外,還可以通過一些DNS查詢站點如國外的 dnsstuff.com 國內的 dirs.cn 查詢域名的DNS信息。

  二、FQDN名的解析過程查詢

若想跟蹤一個FQDN名的解析過程,在Linux Shell下輸入dig [url]www.baidu.com[/url] +trace,返回的結果包括從跟域開始的遞歸或迭代過程,一直到權威域名服務器。

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