490 likes | 588 Views
Chapter 17 網域名稱系統. 目標. 本章結束後,您將能夠: 了解 如何構成 DNS 知道 DNS 中的網域 知道名稱或位址的 對應 如何被 解析 熟悉詢問訊息及回應訊息的格式 了解為什麼需要 DDNS. 17.1 命名空間. 因為 IP 位址是唯一的,所以指派給機器的名稱也必須是唯一的。一個 命名空間 ( name space ) 可以由以下兩種方式組成: 單層式 ( flat ) 或 階層式 ( hierarchical ) 。. 本節所討論的主題包括:. 單層式命名空間 階層式命名空間. 17.2 網域名稱空間.
E N D
目標 本章結束後,您將能夠: • 了解 如何構成 DNS • 知道 DNS 中的網域 • 知道名稱或位址的對應如何被解析 • 熟悉詢問訊息及回應訊息的格式 • 了解為什麼需要 DDNS
17.1 命名空間 因為 IP 位址是唯一的,所以指派給機器的名稱也必須是唯一的。一個命名空間 ( name space )可以由以下兩種方式組成:單層式 ( flat )或階層式 ( hierarchical )。 本節所討論的主題包括: • 單層式命名空間 • 階層式命名空間
17.2 網域名稱空間 網域名稱空間 ( domain name space )的設計就是採用階層式命名空間的方式。在這種設計之下,某個名稱被定義在一個反樹狀 ( inverted-tree ) 結構內,其根位於頂點。這顆樹最多可以有 128 個階層,從第 0 層的根到第 127 層 。 本節所討論的主題包括: • 標記 • 網域名稱 • 網域
17.3 名稱空間的分布 網域名稱空間裡的資訊被分散地儲存在很多台電腦上,我們稱這些電腦為 DNS 伺服器 ( DNS server )。 本節所討論的主題包括: • 名稱伺服器的階層架構 • 地區 • 根伺服器 • 主伺服器與副伺服器
請注意: 主伺服器由其硬碟載入所有訊息,副伺服器由主伺服器載入所有訊息。如果副伺服器下載來自主伺服器的訊息時,這稱為「地區傳送」( zone transfer )。
17.4 網際網路中的DNS 網域名稱空間 ( 樹狀 ) 可劃分成三個部分:一般網域 ( generic domain )、國家網域 ( country domain )、與反向網域 ( inverse domain )。 本節所討論的主題包括: • 一般網域 • 國家網域 • 反向網域 • 註冊機構
17.5 對應解析 將一個名稱對應到一個位址,或將一個位址對應到一個名稱,被稱為名稱位址對應解析 ( name-address resolution )。 本節所討論的主題包括: • 解析者 • 將名稱對應到位址 • 把位址對應到名稱 • 遞迴式求解 • 疊代式求解 • 快取
17.6 DNS 訊息 DNS的詢問訊息 ( query message )包含一個標頭及問題紀錄( question record );而DNS的回應訊息( response message )則包含一個標頭、問題紀錄( question record )、回答紀錄( answer record )、管轄紀錄( authoritative record ) 及一些額外紀錄( additional record ) 。 本節所討論的主題包括: • 標頭
17.7 紀錄的類型 DNS 使用 2 種類型的紀錄。問題紀錄 ( question record ) 被使用於詢問訊息及回應訊息的問題區域內。資源紀錄 ( resource record )被使用於回應訊息裡的回答區域、管轄區域、及額外資訊區域內。 本節所討論的主題包括: • 問題紀錄 • 資源紀錄
17.8 壓縮 DNS 規定其網域名稱若是重複出現時,要以差量指標( offset pointer )取代之。DNS 定義了一個 2 個位元組長的差量指標,用來指到之前出現名稱的地方。
範例1 • 一個解析者送出一個詢問訊息,向本地的 DNS 伺服器要求尋找主機 chal.fhda.edu.的 IP 位址。這個範例的詢問與回應訊息我們分開討論。 • 圖17.21說明由解析者所送出的詢問訊息。最前面 2 個位元組為識別碼 ( 1333 )做為序號及關聯相同序號的回應訊息。因為解析者可能送出很多詢問給相同的伺服器,這個識別碼可以幫忙亂序抵達之回應的排序動作。下一個位元組為旗標,其十六進位值為0x0100,而二進制值為0000000100000000,將它分成以下各欄位來表示會比較有意義: QR OpCode AA TC RD RA Reserved rCode 0 0000 0 0 1 0 000 0000
範例1 (續) • QR 位元定義此訊息為一詢問訊息。OpCode ( 運作碼 ) 為0000,代表這是標準詢問。RD 位元被設定為 1。各旗標欄位的描述請參考圖17.16。此訊息只包含一個問題紀錄,網域名稱為4chal4fhda3edu0。接下來的 2 個位元組定義其詢問類別為 IP 位址。最後 2 個位元組定義詢問等級為Internet。 • 圖17.22 說明了伺服器的回應訊息。回應與詢問相似,除了旗標不同及回答紀錄個數為 1 之外。旗標為0x8180,其二進制值為100000011000000,我們再一次將它分成以下各欄位來表示: QR OpCode AA TC RD RA Reserved rCode 1 0000 0 0 1 1 000 0000
範例1 (續) • QR 位元定義此訊息為回應訊息,OpCode ( 運作碼 ) 為0000代表標準詢問。RA、RD 都是設定為1。此訊息包括一個問題紀錄及一個回答紀錄。 • 問題紀錄和詢問訊息中的相同 ( 重複 ),所以回答紀錄有一個指標0xC00C ( 被分成兩行 ),用來指向問題紀錄,以避免重複網域名稱。 • 接下來的欄位定義網域類別( 位址 )。之後那個欄位定義網域等級 ( Internet )。數值為 12,000 那一欄是TTL ( 代表12,000秒 )。接著是資源資料的長度,之後為 IP 位址153.18.8.105。
範例2 • 一台 FTP 伺服器收到來自位址 153.2.7.9 的 FTP 用戶端封包,FTP伺服器要確認此 FTP 用戶是否為一合法授權用戶。 • FTP 伺服器可以詢問一個含有授權用戶名稱列表的檔案,但是此檔案只列出網域名稱,而 FTP 伺服器只有從剛剛收到的 IP 資料包中的來源位址獲得要求的用戶端之 IP位址。 • 所以,FTP 伺服器要求解析者 ( DNS用戶端 ) 送一個反向詢問給 DNS 伺服器,要找出這個 FTP 用戶的名稱,這個範例的詢問與回應訊息我們分開討論。
範例2 (續) • 圖17.23說明了解析者傳送給伺服器的詢問訊息。前 2 個位元組為識別碼 ( 0x1200 )。接著旗標值為0x0900,其二進制值為0000100100000000,我們將它分成以下各欄位來表示: • OpCode ( 運作碼 ) 為0001,代表是反向詢問。訊息中只有一個問題紀錄,網域名稱為19171231537in-addr4arpa。接下來的 2 個位元組定義詢問類別為 PTR。最後 2 個位元組定義詢問等級為 Internet。 QR OpCode AA TC RD RA Reserved rCode 0 0001 0 0 1 0 000 0000
範例2 (續) • 圖17.24 說明了回應訊息。旗標值為 0x8D80,二進制為1000110110000000,我們將它分成以下各欄位來表示: QR OpCode AA TC RD RA Reserved rCode 1 0001 1 0 1 1 000 0000
範例3 在 UNIX 或 Windows 系統中,nslookup 系統工具可以用來檢索位址/名稱之對應關係。下面顯示我們如何給予一個網域名稱來檢索其對應的位址。 $ nslookup fhda.eduName: fhda.eduAddress: 153.18.8.1 nslookup 系統工具也可以讓我們給予一個位址來檢索其對應的網域名稱,如下所示: $ nslookup 153.18.8.11.8.18.153.in-addr.arpa name = tiptoe.fhda.edu.
17.9 DDNS 動態網域名稱系統 ( Dynamic Domain Name System, DDNS )動態地更新 DNS 主控檔案。
17.10 封裝 當 DNS 回應訊息長度小於512 個位元組時,可以使用UDP當成傳輸層通訊協定;如果回應訊息大於 512 個位元組,那麼就要使用TCP連線。
請注意: DNS 可以使用 UDP 或 TCP 的服務, 使用公認埠53 號。