- DNS出現及演化
網絡出現的早期 是使用IP地址通訊的,那時就幾臺主機通訊。但是隨著接入網絡主機的增多,這種數字標識的地址非常不便于記憶,UNIX上就出現了建立一個叫做hosts的文件 ( linux和windows也繼承保留了這個文件)。這個文件中記錄這主機名稱和IP地址的對應表。這樣只要輸入主機名稱,系統就會去加載hosts文件并查找對應關系,找到對應的IP,就可以訪問這個IP的主機了。
但是后來主機太多了,無法保證所有人都能拿到統一的最新的hosts文件,就出現了在文件服務器上集中存放hosts文件,以供下載使用。互聯網規模進一步擴大,這種方式也不堪負重,而且把所有地址解析記錄形成的文件都同步到所有的客戶機似乎也不是一個好辦法。這時DNS系統出現了,隨著解析規模的繼續擴大,DNS系統也在不斷的演化,直到現今的多層架構體系
- DNS概括
DNS(Domain Name System,域名系統),因特網上作為域名和IP地址互相映射的一個分布式數據庫,能夠使用戶更方便的訪問互聯網,而不用去記住能夠被機器直接讀取的IP數串。通過主機名,最終得到該主機對應的IP地址的過程叫做域名解析(或主機名解析)。DNS協議運行在UDP協議之上,使用端口號53。
DNS的分布數據庫是以域名為索引的,每個域名實際上就是一棵很大的逆向樹中路徑,這棵逆向樹稱為域名空間(domain name space),如下圖所示樹的最大深度不得超過127層,樹中每個節點都有一個可以長達63個字符的文本標號。
- DNS的作用
DNS系統的作用
正向解析:根據主機名稱(域名)查找對應的IP地址
反向解析:根據IP地址查找對應的主機域名
DNS系統的分布式數據結構
- DNS域名解析過程
首先,客戶端檢測自身緩存,如果沒有,檢測hosts文件,如果沒有,客戶端發出DNS請求翻譯IP地址或者主機名。DNS服務器在收到客戶機的請求后:
1)檢查DNS服務器的緩存,若查到請求的地址或名字,即向客戶機發出應答信息;
2)若沒有查到,則在數據庫中查找,若查到請求的地址或名字,即向客戶機發出應答信息;
3)若沒有查到,則將請求發給根域DNS服務器,并依序從根域查找頂級域,由頂級域查找二級域,二級域查找三級,直至找到要解析的地址或名字,即向客戶機所在網絡的DNS服務器發出應答信息,DNS服務器收到應答后先在緩存中存儲,然后將解析結果發給客戶機。
4)若沒有找到,則返回錯誤信息
- DNS分類
- 緩存域名服務器
也稱為 唯高速緩存服務器
通過向其他域名服務器查詢獲得域名->IP地址記錄
將域名查詢結果緩存到本地,提高重復查詢時的速度
- 主域名服務器
特定DNS區域的官方服務器,具有唯一性
負責維護該區域內所有域名->IP地址的映射記錄
- 從域名服務器
也稱為 輔助域名服務器
其維護的 域名->IP地址記錄 來源于主域名服務器
- dns查詢
第一段是查詢參數和統計
第二段是查詢內容
上面結果表示,查詢域名pool.btc.com的A記錄,A是address的縮寫,第三段是DNS服務器的答復
上面結果顯示,pool.btc.com有14個A記錄,即14個IP地址。60是TTL值(Time to live 的縮寫),表示緩存時間,即60秒之內不用重新查詢
第四段顯示stackexchange.com的NS記錄(Name Server的縮寫),即哪些服務器負責管理stackexchange.com的DNS記錄
DNS服務器的一些傳輸信息
上面結果顯示,本機的DNS服務器是192.168.124.1,查詢端口是53(DNS服務器的默認端口),以及回應長度是292字節。
指定向DNS服務器114.114.114.114查詢
指定向DNS服務器223.5.5.5查詢
查詢ip地址所在運營商
- 公共DNS服務器
- 全國各地電信DNS
- 全國各地聯通DNS






