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地址轉換爲域名的過程。