一、簡介
它作為將域名和IP地址相互映射的一個分布式數據庫,能夠使人更方便地訪問互聯網。
DNS使用TCP和UDP端口53。當前,對於每一級域名長度的限制是63個字符,域名總長度則不能超過253個字符。
DNS協議是用來將域名轉換為IP地址(也可以將IP地址轉換為相應的域名地址)。
作用:
DNS是一種可以將域名和IP地址相互映射的以層次結構分布的數據庫系統。
二、體系
2.1 報文:
DNS 定義了兩種報文 ,一種為查詢報文;另一種是對查詢報文的響應,稱為響應報文。無論是查詢報文還是響應報文,都有12個字節的頭和查詢問題。
2.2 服務器體系
1.根域名服務器:
- 最高層次的域名服務器,也是最重要的域名服務器,本地域名服務器如果解析不了域名就會向根域名服務器求助。
- 全球共有13個不同IP地址的根域名服務器,它們的名稱用一個英文字母命名,從a一直到m。
- 每個根服務器都有鏡像服務器,每個根服務器與它的鏡像服務器共享同一個 IP 地址
- 所有的根域名服務器都知道所有的頂級域名服務器的域名和地址
2.頂級域名服務器
- 負責管理在該頂級域名服務器下注冊的二級域名。
3.權限域名服務器
- 負責一個區的域名解析工作
4.本地域名服務器
- 當一個主機發出DNS查詢請求的時候,這個查詢請求首先就是發給本地域名服務器的。
三、工作原理
3.1解析步驟
有一台計算機:通過ISP(互聯網服務提供商)接入了互聯網,那么ISP就會給我分配一個DNS服務器,后續使用此DNS作為作為迭代查詢的首選域名服務器(也可以手動配置首選域名服務器)
在瀏覽器輸入url后(www.baidu.com):
- 先在檢查本地的Hosts表文件,看其中是否已經有相應的域名與IP地址的對應關系,如果有就會直接采用會被標記為非權威服務器的應答。
- 然后向首選域名服務器的緩存中查找,如果有對應關系則返回
- 如果沒有會從配置文件里面讀取13個根域名服務器的地址
- 然后首選服務器向其中一台根域名服務器發起請求
- 根服務器拿到這個請求后,知道他是com這個頂級域名下的,所以就會返回com域中的域名服務器記錄給首選服務器
- 然后首選服務器再次向該域名服務器(com)發起請求, 然后發現是baidu.com這個域(權威域名服務器),於是返回該域的服務器記錄給首選服務器
- 首選服務器又向baidu.com這個權威域名服務器發起請求,然后該域查到有www的這台主機,就把這個IP返回給首選服務器了。
- 然后首選服務器拿到IP之后,就返回給客戶端瀏覽器,並且把這映射關系保存在告訴緩存中
3.2注意:
-
域名對大小寫不敏感
-
域名解析總體可分為兩大步驟
第一個步驟是本機向本地域名服務器發出一個DNS請求報文,報文里攜帶需要查詢的域名;
第二個步驟是本地域名服務器向本機回應一個DNS響應報文,里面包含域名對應的IP地址。 -
DNS的查詢順序
1、本地hosts文件
2、本地DNS緩存
3、本地DNS服務器
4、發起迭代查詢 -
使用遞歸查詢+迭代查詢(從主機視角看是遞歸,從首選服務器來看是遞歸)