TCP/IP詳解學習筆記(10)-- DNS:域名系統


1.DNS

     DNS 是計算機域名系統(Domain Name System 或Domain Name Service) 的縮寫,它是由解析器以及域名服務器組成的。域名服務器是指保存有該網絡中所有主機的域名和對應IP地址,並具有將域名轉換為IP地址功能的服務器。DNS使用TCP與UDP端口號都是53,主要使用UDP,服務器之間備份使用TCP。
  • 域名解析過程:
    • 當某個應用進程需要將主機名解析為IP地址時,該應用進程就調用解析程序,並成為DNS的一個客戶,將待解析的域名放在DNS請求報文中,以UDP數據報方式發給本地域名服務器。本地域名服務器在查找域名后,將對應的IP地址放在回答的報文中返回。應用進程獲得目的主機的IP地址后即可進行通信。
  • 域名結構:
    • 域名:任何一個鏈接在因特網上的主機或路由器,都擁有一個唯一的層次結構名字,該名字為域名。
    • 域:名字空間中的一個可被管理的划分,可以繼續划分為子域。
    • 設計原則:域名的結構由若干個分量組成,各分量之間用點隔開,如:….三級域名.二級域名.頂級域名
      • 每一級域名都由英文字母和數字組成(不超過63個字符,不區分大小寫字母),除連字符外不能使用其他標點符號。
      • 類別最低的域名寫在最左邊,級別最高的頂級域名寫在最右邊
      • 完成的域名不超過255個字符。
  • 域名的層次結構如圖所示
2.DNS的報文格式
     DNS定義了一個用於查詢和響應的報文格式。這個報文由12字節長的首部和4個長度可變的字段組成
  • 標識字段:由客戶程序設置並由服務器返回結果。客戶程序通過他來確定響應與查詢是否匹配。
  • 標志字段:16bit的標志字段被划分為若干子段,如圖所示

  

    • QR:0表示查詢報文,1表示響應報文
    • opcode:0標准查詢,1反向查詢,2服務器狀態請求。
    • AA:表示“授權回答”,該名字服務器是授權於該域的。
    • TC:表示“可截斷的”,使用UDP時,它表示當應答的總長度超過512字節時, 只返回前512個字節。
    • RD:表示“期望遞歸”。這個表示告訴名字服務器必須處理這個查詢,也稱為一個遞歸查詢。
    • RA:表示“可用遞歸”。如果名字服務器支持遞歸查詢,則在相應中將該比特設置為1。
    • zero:3bit為0
    • rcode:返回碼字段。0為沒有差錯,3名字差錯。
  • 問題部分
    • 問題部分中每個問題的格式如圖所示,通常只有一個問題:
    • 查詢名是要查找的名字,它是一個或多個標識符的序列。
    • 每個問題有一個查詢類型,而每個相應也有一個類型。大約有20個不同的類型只,其中有一部分已經過時,最常用的查詢類型是A類型,表示期望獲得查詢名的IP地址。

    

  • DNS報文最后三個字段:回答字段、授權字段和附加信息字段,均采用一種稱為資源記錄RR的相同格式。如圖所示:

  

    • 域名是記錄中資源數據對應的名字
    • 類型說明RR的類型碼
    • 生存時間是客戶程序保留該資源記錄的秒數
3.DNS高速緩存
     為了減少Internet上的DNS的通信量,所有的名字服務器均使用高速緩存,存放最近用過的名字以及從何處獲得名字映射信息的記錄。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM