域名解析協議:DNS

DNS的出現

技術的產生,都是爲了解決人們的需求,在早期的互聯網,是通過靜態地址映射(hosts)的方式來訪問網址,在其中填寫IP地址與域名的對應關係,來達到通過域名訪問網址的效果。

當互聯網技術逐漸成熟,大量網站的產生,這種死板又低效的方式已經不能滿足人們的需求,另一方面,輸入IP地址的方式訪問域名記起來比較麻煩,無法記憶過多的網址,隨後DNS出現了。

DNS

域名系統(英語:Domain Name System,縮寫:DNS)是互聯網的一項服務。它作爲將域名和IP地址相互映射的一個分佈式數據庫,能夠使人更方便地訪問互聯網。DNS使用TCP和UDP端口53。當前,對於每一級域名長度的限制是63個字符,域名總長度則不能超過253個字符。

早期的域名必須以英文句號.結尾。例如,當用戶訪問www.wikipedia.org的HTTP服務時必須在地址欄中輸入:http://www.wikipedia.org.,這樣DNS才能夠進行域名解析。如今DNS服務器已經可以自動補上結尾的句號。

查詢方式

遞歸查詢:主機向本地域名服務器查詢域名,本地域名服務器不知道,本地域名服務器以DNS客戶機的方式向其他根服務器繼續查詢,但只查詢一次,並不會繼續繼續發出查詢請求,查詢結果要麼返回要查詢域名的IP地址,要麼報錯。

優點:查詢速度快,能最快應答成功或失敗的解析,常用於局域網中

缺點:無法成功解析所有域名

迭代查詢:又稱重指引,主機發送一個域名服務器無法解析的域名,域名服務器會在域樹的各分支的上下進行迭代查詢,最終將返回查詢結果給客戶機,若域名存在,一定會返回查詢域名的IP地址。

說明:A向B發送遞歸查詢請求,B向C發送迭代查詢請求(下一節將介紹迭代查詢),得到C給出的提示後,B向D發送迭代查詢請求,得到D給出的提示後, B向E發出迭代請求,得到E給出的提示後,B向F發出迭代查詢請求,得到F給出的提示後,B得到了F返回G的IP地址,B向A返回G的IP地址,整個查詢 結束。

優點:可解析所有存在的域名

缺點:速度相對於遞歸查詢較慢

DNS解析過程

解析過程爲轉載
作者:Marlous
鏈接:https://www.zhihu.com/question/23042131/answer/24922954

1) 瀏覽器緩存
當用戶通過瀏覽器訪問某域名時,瀏覽器首先會在自己的緩存中查找是否有該域名對應的IP地址(若曾經訪問過該域名且沒有清空緩存便存在);
  
2) 系統緩存  
當瀏覽器緩存中無域名對應IP則會自動檢查用戶計算機系統Hosts文件DNS緩存是否有該域名對應IP;
  
3) 路由器緩存
當瀏覽器及系統緩存中均無域名對應IP則進入路由器緩存中檢查,以上三步均爲客服端的DNS緩存;

4) ISP(互聯網服務提供商)DNS緩存
當在用戶客服端查找不到域名對應IP地址,則將進入ISP DNS緩存中進行查詢。比如你用的是電信的網絡,則會進入電信的DNS緩存服務器中進行查找;

5) 根域名服務器  
當以上均未完成,則進入根服務器進行查詢。全球僅有13臺根域名服務器,1個主根域名服務器,其餘12爲輔根域名服務器。根域名收到請求後會查看區域文件記錄,若無則將其管轄範圍內頂級域名(如.com)服務器IP告訴本地DNS服務器;

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

7) 主域名服務器
主域名服務器接受到請求後查詢自己的緩存,如果沒有則進入下一級域名服務器進行查找,並重復該步驟直至找到正確紀錄;

8)保存結果至緩存
本地域名服務器把返回的結果保存到緩存,以備下一次使用,同時將該結果反饋給客戶端,客戶端通過這個IP地址與web服務器建立鏈接。

解析

分爲正向和反向兩種,正向解析是把域名轉換爲IP地址的過程,反向解析是把IP地址轉換爲域名的過程。

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