DNS服務

DNS簡介

  DNS(英文全稱:Domain Name System域名系統)是互聯網的一項服務。它是將域名和ip地址相互映射的一個分佈式數據庫數據庫

  網絡通信大部分是基於TCP/IP的,而TCP/IP是基於ip地址的,因特網上的節點均可以用ip地址唯一標識,而且能夠經過ip地址被訪問。即便是將32位的二進制ip地址寫成4個0~255的十位數形式,也依然太長、太難記。所以,人們發明了域名(Domain Name),域名可將一個ip地址關聯到一組有意義的字符上去瀏覽器

  用戶訪問一個網站的時候,既能夠輸入該網站的ip地址,也能夠輸入其域名對訪問而言,二者是等價的。例如:微軟公司的Web服務器的ip地址是207.46.230.229,其對應的域名是www.microsoft.com,無論用戶在瀏覽器中輸入的是207.46.230.229仍是www.microsoft.com,均可以訪問其Web網站。緩存

  咱們訪問網站時,在瀏覽器地址欄中輸入域名,就能看到所須要的頁面,這是由於有一個叫「DNS服務器」的計算機自動把咱們的域名「翻譯」成了相應的ip地址,而後調出ip地址所對應的網頁。服務器

域名系統

  域名系統在全世界保持惟一性,也就是全球通用一份。網絡

  •   每個域名都是一個標號序列,用字母(A-Z,a-z,大小寫等價)、數字(0-9)和鏈接符(-)組成。
  •   標號序列總長度不能超過255個字符,它由點號分割成一個個的標號。
  •   每一個標號應該在63個字符以內,每一個標號均可以當作一個層次的域名。
  •   級別最低的域名寫在左邊,級別最高的域名寫在右邊。

  域名服務主要是基於UDP實現的,服務器的端口號爲53分佈式

域名服務器

  域名服務器就是裝有域名系統的主機。性能

分類 做用
根域名服務器 最高層次的域名服務器,本地域名服務器解析不了的域名就會向其求助
頂級域名服務器 負責管理在該頂級域名服務器下注冊的二級域名
權限域名服務器 負責一個區的域名解析工做
本地域名服務器 當一個主機發出DNS查詢請求時,這個查詢請求首先發給本地域名服務器

  注:一個域名服務器所負責的範圍,或者說有管理權限的範圍,就稱爲區。網站

  •   每一個層的域名上都有本身的域名服務器,最頂層的是根域名服務器。
  •   每一級域名服務器都知道下級域名服務器的IP地址。
  •   爲了提升可靠性, 每一級至少設置兩個或以上的域名服務器。

 域名解析過程

  當一個用戶在地址欄輸入www.baidu.com時,DNS解析過程大體以下:spa

  1.瀏覽器先檢查自身緩存中有沒有被解析過的這個域名所對應的ip地址,若是有(也就是命中),解析過程結束。操作系統

  瀏覽器對緩存域名的大小和緩存時間也是有限制的,一般狀況下爲幾分鐘到幾小時不等,域名緩存時間能夠經過TTL屬性設置,若是緩存時間過長,一旦域名所映射的ip地址有變化,會致使客戶沒法及時解析到變化後的ip地址,致使該域名不能正常解析;反之,若是緩存時間太短,會致使每次用戶訪問網站時都要從新解析一次域名,因此須要設置合理的緩存時間。

  2.若是瀏覽器緩存中沒有,瀏覽器會檢查操做系統緩存(也就是hosts文件)中有沒有對應的解析映射。

  在Windows中可找到C:\Windows\System32\drivers\etc\hosts文件來設置,若是你在這裏指定了一個域名對應的ip地址,那瀏覽器會使用這個域名所映射的ip地址。

  可是這種操做系統級別的域名解析規程也被不少黑客利用,經過修改你的hosts文件裏的內容把特定的域名解析到他指定的ip地址上,形成所謂的域名劫持。因此如今的hosts文件都被設置爲只讀,防止這個文件被輕易修改。

  3.若是至此尚未命中域名,本機纔會真正的請求本地域名服務器(LDNS)來解析這個域名。

  本地域名服務器通常由網絡供應商所提供,這臺服務器通常在你的城市的某個角落,距離你不會很遠,而且這臺服務器的性能都很好,通常都會緩存域名解析結果,大約80%的域名解析到這裏就完成了。

  本地域名服務器(LDNS)會檢查緩存中有沒有該域名所對應的ip地址,若是有會返回給本機,解析結束。

  4.若是本地域名服務器(LDNS)仍然沒有命中, 本地域名服務器(LDNS)會請求根域名服務器來解析。

  5.根域名服務器返回給本地域名服務器(LDNS)一個該域名應該查詢的頂尖域名服務器的地址。

  6.此時本地域名服務器(LDNS)再根據上一步返回的頂尖域名服務器的地址,請求頂尖域名服務器來解析。

  7.接受請求的頂尖域名服務器查找並返回這個域名對應的權限域名服務器的地址,這個權限域名服務器就是要請求的網站所註冊的域名服務器。

  8.而後本地域名服務器(LDNS)再根據上一步返回的權限域名服務器的地址,請求權限域名服務器來解析。

  權限域名服務器根據映射關係表找到該域名所對應的目標ip地址,返回給本地域名服務器(LDNS)。

  9.本地域名服務器(LDNS)緩存該域名和對應的ip地址,而後根據緩存來解析該域名。

  10.本地域名服務器(LDNS)把解析的結果返回給用戶,用戶根據TTL值緩存到本地瀏覽器緩存中,域名解析過程至此結束。

相關文章
相關標籤/搜索