DNS概念、相關概念及解析流程

DNS概念

DNS,即Domain Name System,中文翻譯爲網域名稱系統。是一項聯網的服務,本質上可以理解爲一個分佈式的數據庫,提供將域名轉換爲IP的服務。

  • 使用TCP和UDP端口53;
  • 每一級域名長度的限制是63個字符;
  • 域名總長度則不能超過253個字符;

相關概念

根服務器

是DNS中最高級別的域名服務器,負責返回頂級域的服務器地址。
目前邏輯上有13臺根服務器,13臺是因爲早期的UDP報文限制了返回報文中的資源記錄數量。簡單講就是在DNS查詢前先要初始化根服務器列表,需要先查下13臺根服務器的地址,這個過程是通過UDP報文傳輸來完成的。而UDP報文最多傳輸13組【根服務器-IP】的資源內容,所以這個數目就定在13。
然而,之所以說邏輯上有13臺,是因爲目前通過任播技術,已經將根服務器的物理服務器數量擴大至很大的數量,而我們實際做DNS解析時會用到的根服務器實際上是離我們較近的一臺物理服務器。

頂級域名

頂級域名就是域名的最後一段,例如blog.csdn.net的頂級域名就是.net。
頂級域名目前分爲三類:

  • 國家和地區頂級域名(ccTLDs):.cn,.ai等;
  • 通用頂級域名(gTLDs):.com,.net等;
  • 新頂級域名(New gTLD):.xyz,.red等;
資源類型

資源類型即通過DNS解析能得到的結果數據。一般分爲:

  • 主機記錄(A記錄):RFC 1035定義,A記錄是用於名稱解析的重要記錄,它將特定的主機名映射到對應主機的IP地址上。
  • 別名記錄(CNAME記錄): RFC 1035定義,CNAME記錄用於將某個別名指向到某個A記錄上,這樣就不需要再爲某個新名字另外創建一條新的A記錄。
  • IPv6主機記錄(AAAA記錄): RFC 3596定義,與A記錄對應,用於將特定的主機名映射到一個主機的IPv6地址。
  • 服務位置記錄(SRV記錄): RFC 2782定義,用於定義提供特定服務的服務器的位置,如主機(hostname),端口(port number)等。
  • NAPTR記錄:RFC 3403定義,它提供了正則表達式方式去映射一個域名。NAPTR記錄非常著名的一個應用是用於ENUM查詢。

DNS解析流程

DNS解析,一般指的是正向解析,也就是根據域名查找對應的IP的過程。當然也有反向解析,即根據IP查找域名。反向解析不常用,這裏也不做討論。DNS解析流程分爲兩種:遞歸和迭代。

  • 遞歸:互聯網用戶向DNS服務器解析域名的過程。
  • 迭代:多見於DNS服務器之間相互查詢。
遞歸解析

舉個例子,用戶請求blog.csdn.net的域名解析。在不考慮本地緩存的情況下:
1)請求本地DNS服務器(運營商分配)或者你指定的公共DNS服務器(例如8.8.8.8),如果有緩存返回;
2)本地DNS服務器沒有,則向根域名服務器請求.net這個頂級域名服務器的地址;
3)收到.net頂級域名服務器地址後,請求該服務器,查詢csdn.net這個域名服務器地址;
4)接着去csdn.net服務器去查詢blog.csdn.net這個域名的地址,返回後以此返回給用戶,此爲遞歸過程;

迭代解析

迭代解析:A問B,B不知,答去問C,A復問C,C亦不知,答去問D,A復問D,D答,完。

參考文獻:

  1. 根域名服務器-維基百科
  2. DNS-維基百科
  3. 百度DNS-幫助中心
  4. 根域名服務器只有13臺?(知乎)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章