計算機網絡應用層----DNS協議:因特網的目錄服務

計算機網絡應用層----DNS協議:因特網的目錄服務

DNS : (domain name system) 域名系統

由於IP地址非常複雜難以記憶,我們平時訪問網站時,輸入的都是字母組成的字符串,而不是直接輸入IP地址,但是數據在網絡中傳播需要IP地址,因此就需要有效管理主機名和IP地址之間的關係的系統,也就是DNS系統。

DNS系統可以維護一個用來標識組織內部主機名和IP地址之間對應關係的數據庫。

DNS組成:

  • 一個由分層的DNS服務器實現的分佈式數據庫
  • 一個使得主機能夠查詢分佈式數據庫的應用層協議

DNS協議是運行在UDP基礎上的 (爲了速度更快、負載更低)

DNS協議的運行過程:

  • 用戶主機上運行着DNS客戶端
  • 當向瀏覽器輸入對應的URL後,將對應的主機名傳給DNS客戶端
  • DNS客戶向DNS服務器發送一個包含主機名的請求
  • DNS客戶最終會受到一份回答報文,包含有主機名對應的IP地址
  • 一旦瀏覽器接收到來自DNS的該IP地址,則將通過該IP地址可以發起TCP連接

DNS的服務:

  • 進行主機名到IP地址的轉換
  • 主機別名。有着複雜主機名的主機能擁有一個或多個別名,應用程序可以調用DNS來獲得主機別名對應的規範主機名以及主機的IP地址
  • 郵件服務器別名。電子郵件應用程序可以調用DNS,對提供的郵件服務器別名進行解析,以獲得該主機的規範主機名及IP地址
  • 負載分配。 DNS用於冗餘的服務器之間進行負載均衡

DNS工作原理概述

由於單一DNS服務器將有單點故障(DNS服務器崩潰則整個因特網崩潰)、通信容量(巨量的查詢)、遠距離查詢(非常慢的查詢)、難以維護等諸多問題,且難以擴展。故DNS採用的是分佈式的設計方案

[

DNS使用了大量的DNS服務器,以層次方式組織,遍佈在世界範圍。

DNS服務器分爲三種:

  • 根DNS服務器。通常存儲的是頂級域與其對應的頂級域服務器IP地址之間的映射關係
  • 頂級域DNS服務器。通常成存儲的是域名與其對應的權威服務器的IP地址之間的映射關係
  • 權威DNS服務器。存儲的是本地的域名與其對應的IP地址之間的映射關係

還有本地DNS服務器,雖然不屬於域名服務器的層次結構,但對DNS層次結構非常重要。當一個主機發出DNS查詢請求時,這個查詢請求報文就發送給本地域名服務器,一般做一個代理的作用。

DNS查詢過程:查詢 gaia.cs.umass.edu

在這裏插入圖片描述

  • 主機首先向本地DNS服務器發送DNS查詢報文,如果本地DNS服務器有該域名對應的IP地址直接返回即可
  • 如果本地DNS服務器沒有存儲該域名,則本地DNS服務器將該報文轉發給根DNS服務器
  • 根DNS服務器解析域名發現前綴 edu ,將向本地DNS服務器返回負責 edu 的頂級域服務器的IP地址列表
  • 本地DNS服務器收到後,將向這些頂級域服務器之一發送查詢報文
  • 該頂級域服務器注意到 umass.edu 的前綴,將向本地DNS服務器返回權威DNS服務器的IP地址
  • 本地DNS服務器將報文轉發到權威DNS服務器,該權威DNS服務器將發送目標IP地址到本地DNS服務器
  • 本地DNS服務器將目標IP地址發送到請求主機
  • 主機獲得目標IP地址後將進行之後的TCP/IP連接

DNS在進行區域傳輸的時候使用TCP,普通的查詢使用UDP

客戶端到本地DNS服務器是屬於遞歸查詢(發出一次請求,得到一次準確結果,但消耗資源),而DNS服務器之間的交互查詢就是迭代查詢(發出多次請求)

DNS緩存

爲了改善時延並減少因特網上傳輸的DNS報文數量,DNS廣泛採用了緩存技術。

原理:DNS服務器收到一個DNS回答後,將會把該回答存儲到本地緩存存儲器中,下一次如果有相同的查詢將直接返回對應IP地址即可。(緩存具有生命週期,當一段時間沒有訪問後將丟棄該緩存信息)

查看本地DNS配置
在這裏插入圖片描述

我採用的是自動獲得DNS服務器地址,也可以自己配置對應的DNS服務器地址。

查詢我的DNS服務器地址:
在這裏插入圖片描述

DNS安全問題
1.針對域名系統的惡意攻擊:DDOS攻擊造成域名解析癱瘓。
2.域名劫持:修改註冊信息、劫持解析結果。
3.國家性質的域名系統安全事件:“.ly”域名癱瘓、“.af”域名的域名管理權變更。
4.系統上運行的DNS服務存在漏洞,導致被黑客獲取權限,從而篡改DNS信息。
5.DNS設置不當,導致泄漏一些敏感信息。提供給黑客進一步攻擊提供有力信息。

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