1. 程式人生 > >DNS與域名解析

DNS與域名解析

DNS是一整套從域名對映到IP的系統。

TCP/IP中使用IP地址和埠號來確定網路上的一臺主機的一個程式,但是IP地址不方便記憶。於是人們用一個字串來表示這個IP地址,這個字串就叫做主機名。並且使用一個host檔案來描述主機名和IP地址的關係。

最初,通過網際網路資訊中心來管理這個hosts檔案。這時候如果一個新的計算機要接入網路,或者某個計算機IP變更,都需要到資訊中心申請變更hosts檔案,其它計算機也需要定期下載更新新版本的hosts檔案才能正確上網。

這樣很麻煩,於是產生了DNS系統。這是一個組織的系統管理機構,來維護系統內的每個主機的IP和主機名的對應關係;如果新的計算機接入網路,將這個資訊註冊到網路中。

使用者輸入域名時候,會優先查詢計算機上的hosts檔案,如果沒有,會自動查詢DNS伺服器,由DNS伺服器檢索資料庫,得到對應的IP地址。

1 域名

主域名是用來識別主機名稱和主機所屬的組織機構的一種分層結構。

比如:www.baidu.com

com:一級域名,表示這是一個企業域名。同級的還有“net”(網路提供商)等,“org”(非盈利組織等)

baidu:二級域名,公司名

www:只是一種習慣用法。

2 域名伺服器

域名是分層結構,域名伺服器也是對應的層級結構。

  • 每個層的域名上都有自己的域名伺服器。最頂層的是根域名伺服器
  • 每一級的域名伺服器都知道下級域名伺服器的IP地址
  • 為了容災,每一級至少設定兩個或以上的域名伺服器

3 域名解析過程

  1. 輸入域名後,先查詢自己主機對應的域名伺服器
  2. 域名伺服器先查詢自己的資料庫中的資料。如果沒有,就向上級域名伺服器進行查詢,以此類推。
  3. 最多回溯到根域名伺服器,肯定可以找到這個域名的IP地址
  4. 域名伺服器自身也會進行一些快取。把曾經訪問過的域名和對應的IP地址快取起來,可以加速查詢過程