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的通訊量,全部的名字服務器均使用高速緩存,存放最近用過的名字以及從何處得到名字映射信息的記錄。
相關文章
相關標籤/搜索