Transcript CH11 DNS協定
CHAPTER 11 DNS協定 ► 11-7 DNS資源記錄 DNS簡介 ► 11-8 DNS客戶端的驗證 ► 11-2 DNS的架構 ► 11-3 階層且分散式的資料庫► 11-9 DNS的封包格式 ► 11-10 DNS封包的擷取分析 ► 11-4 DNS的查詢 ► 11-5 遞迴查詢與反覆查詢 ► 11-6 DNS伺服器的種類 ► 11-1 11-1 DNS簡介 ► DNS的主要功能,就是以較容易記住的FQDN轉換成 為電腦使用的IP位址,而避免一長串需記住的數字號 碼。 ► DNS系統由DNS伺服器和DNS客戶端主機組成。當客 戶端主機輸入一個FQDN後,會向DNS伺服器要求查 詢 此 FQDN 的 IP 位 址 , 稱 為 前 向 名 稱 查 詢 (Forward Name Query),伺服器會至資料庫找出對應的IP位址 並回覆給客戶端,稱為前向名稱解析(Forward Name Resolution)。 ► FQDN是由主機名稱加上網域名稱,再加上根網域「.」 所組成,以「www.hinet.net.」為例,www代表這部 Web伺服器的主機名稱;hinet.net則代表此部伺服器 的網域名稱,以及最後的那一點「.」代表在整個 DNS架構中位於樹狀階層中的最上層的根網域。 電腦網路概論 範例1:若FQDN為「www.google.com.tw」所對應的IP位 址為「61.224.52.23」。試說明查詢過程。反過來,說明反 向名稱查詢過程。 ► 解 ► DNS客戶端會依據FQDN向DNS伺服器要求查詢此FQDN 的IP位址,因而伺服器會去對照其資料庫內的資料,若 FQDN 為 「 www.google.com.tw 」 , 則 會 在 「.google.com.tw」網域內的DNS伺服器內找到一筆www 的主機對應到IP位址為「61.224.52.23」的記錄。 ► DNS 處理反向查詢時, 就必須將I P 位址反向安排, 再 附加上in-addr及arpa這兩標記, 才能為反向網域所作業。 因此,DNS 解析器收到IP位址為「61.224.52.23」,解析 器會將它變成「23.52.224.61.in-addr.arpa」,然後送到本 地 的 網 域 伺 服 器 , 找 到 一 筆 記 錄 「 23 」 對 應 到 「www.google.com.tw」的資料。 電腦網路概論 11-2 DNS的架構 ► ► DNS架構分為4層,由上而下分別是根網域(root domain)、頂 層網域(top level domain)、第二層網域(second level domain) 和主機。舉例來說,一家公司有一部主機的網域名稱為 acc.topic.com,其中的com為頂層網域;topic為com的子網域; acc則為topic.com這個網域內的一個主機名稱。 根網域管理下層稱為頂層網域(Top Level Domain;TLD), TLD又分為通用頂層網域,英文簡稱為gTLD(generic TLD), 以及國碼頂層網域,英文簡稱為ccTLD(country code TLD)。 前者的名稱是以組織性質來區分,例如com(商業)、edu(教 育)、gov(政府)、int(國際組織)、mil(軍方)、net(網路中心)、 org(組織機構)等,如圖11-1及表11-1所示;後者是以國家為 分類的,例如:cn代表中國大陸、tw代表台灣、jp代表日本、 ca代表加拿大,如圖11-2所示。 電腦網路概論 電腦網路概論 電腦網路概論 ► 第二層網域 ► 在台灣採用的頂層網域是依據c cTLD方式來命名, 即「. tw」網域。第二層網域則是以組織性質區 分的.com、.org等網域;再細分下去的網域也全 都歸類在第二層網域。 電腦網路概論 ► DNS Zone 電腦網路概論 11-3 階層且分散式的資料庫 電腦網路概論 範例2:參考圖11-5,用戶端(或稱客戶端)如何知道 www.google.com主機的IP位址。 ►解 ► 首先,用戶端向根伺服器詢問該網域名稱是記錄 在哪一部com DNS伺服器,然後用戶端從com DNS伺服器得知google.com DNS伺服器,最後用 戶端向google.com DNS伺服器查詢而得到www. google.com的IP位址。 電腦網路概論 11-4 DNS的查詢 ► 當客戶端需要查詢一個FQDN對應的IP位址時,會 交 由 DNS 解 析 器 來 負 責 查 詢 , 而 解 析 器 會 先 去 「DNS解析器的快取(DNS Resolver Cache)」查詢, 如果無法從快取得到所要的資訊,才向指定的DNS 伺服器查詢。 電腦網路概論 電腦網路概論 電腦網路概論 範例3:圖11-8中的chen.tti.edu主機要求查詢 yuan.flag.free.edu的位址。 ► 解 ► 假設本地DNS伺服器稱為dns.tti.edu;官方DNS伺服器稱 為 dns.flag.free.edu 。 圖 11-8 共 分 成 10 步 驟 , 使 得 chen.tti.edu的主機可得知yuan.flag.free.edu主機的IP位址。 步驟1:主機chen.tti.edu會先送出DNS查詢訊息至本地DNS 伺服器dns.tti.edu。注意:DNS查詢訊息包含目的端的主 機名稱yuan.flag.free.edu。 步驟2:本地DNS伺服器會將DNS要求查詢訊息轉送至根 DNS伺服器。 步驟3:根DNS伺服器會將負責edu的TLD DNS伺服器清單 回應給本地DNS伺服器。 步驟4:本地DNS伺服器dns.tti.edu重送要求查詢訊息至其中 一部TLD DNS伺服器。 電腦網路概論 步驟5:但TLD DNS伺服器只知道其中一部中間DNS伺服器 dns.free.edu才能得知yuan.flag.free.edu主機的IP位址。 步驟6:本地DNS伺服器dns.tti.edu重送要求查詢訊息至中間 TLD DNS伺服器dns.free.edu。 步驟7:當中間DNS伺服器dns.free.edu接收到dns.tti.edu的主機 查 詢 , 結 果 發 現 此 主 機 要 找 的 官 方 DNS 伺 服 器 是 dns.flag.free.edu,而它的IP位址也會傳回給dns.tti.edu。 步驟8:於是本地DNS伺服器dns.tti.edu重送要求查詢訊息至 dns.flag.free.edu。 步驟9:dns.flag.free.edu會回應本地DNS伺服器所要求查詢的相 關資訊。 步 驟 10 : 本 地 DNS 伺 服 器 會 將 得 到 的 IP 位 址 ( 指 yuan.flag.free.edu)傳給發出此要求查詢的主機chen.tti.edu。 電腦網路概論 電腦網路概論 11-5 遞迴查詢與反覆查詢 ► 當本地DNS伺服器接收到客戶端查詢時,必須要回 覆客戶端所要查詢(可能先透過DNS解析器的快取查 詢)的主機名稱解析所對應的IP位址,若找不到對應 的資料,也不會通知客戶端去查詢另一部DNS伺服 器,像這種會增加DNS伺服器在名稱解析時的負擔, 使其更為吃重的查詢稱為遞迴查詢(Recursive Query)。 例如:在圖11-8的步驟1的主機chen.tti.edu送出DNS 查詢訊息至本地DNS伺服器就屬此查詢。但接下來 的步驟2至10都是用在進行伺服器對伺服器之間的查 詢 動 作 , 且 回 覆 均 直 接 傳 回 給 本 地 DNS 伺 服 器 chen.tti.edu , 像 這 樣 反 覆 的 查 詢 稱 為 循 環 查 詢 (Iterative Query)。 電腦網路概論 11-6 DNS伺服器的種類 ► 主要名稱伺服器 ► 次要名稱伺服器 ► 快取伺服器 電腦網路概論 11-7 DNS資源記錄 ► SOA(Start Of Authority;起始授權) ► NS(Name Server;名稱伺服器) ► A(Address;位址) ► AAAA(Address;位址) ► PTR(Pointer;反向查詢指標) ► CNAME(Canonical Name;別名) ► MX(Mail Exchanger;郵件交換器) ► HINFO(Host Information;主機資訊) 電腦網路概論 11-8 DNS客戶端的驗證 電腦網路概論 11-9 DNS的封包格式 電腦網路概論 ► Query Identifier(Query ID,查詢編號)佔16bits 用戶端每次送出要求查詢封包時會自動產生此編號; 而伺服器會複製此編號到回覆的封包,用戶端也可 依此編號辨認是回覆哪一個查詢封包。 ► Query/Response(QR)佔1bit 0代表要求查詢封包;1代表回覆封包。 ► OP Codes(Operation Codes,操作碼)佔4bits 用來識別DNS封包的類型。注意:標準查詢包含前 向查詢、逆向查詢與反向查詢。反向查詢已取代逆 向查詢(逆向查詢已不再使用),如表11-2所示。 電腦網路概論 電腦網路概論 ► Flags佔4bitz s 由 左 至 右 各 佔 1bit , 分 別 是 AA (Authoritative Answer)、TC (Truncation)、RD(Recursion Desired)、 RA (Recursion Available),如表11-3所示。 電腦網路概論 ► Reserved佔3bits 保留未用,欄位值全為0。 ► RCode(Return Code)佔4bits 指出DNS查詢時,回覆封包會通知所發生的錯誤訊 息,如表11-4所示。注意:6-15保留未用。 電腦網路概論 Section 、 Answer Section 、 Authority Section、Additional Records Section各佔32bits 共4個Section,每一Section又分為NAME、TYPE、 CLASS等3個子欄位,分別作為查詢、回應、授權、 額 外 記 錄 等 封 包 的 資 訊 。 至 於 Question Count 佔 16bits,用來存放Question Section欄位的資料筆數。 其他依序為:Answer RR Count佔16bits,用來存放 Answer Section 欄 位 的 資 料 筆 數 , Authority RR Count佔16bits,用來存放Authority Section欄位的資 料 筆 數 , 以 及 Additional RR Count , 用 來 存 放 Additional Section欄位的資料筆數。 ► Question 電腦網路概論 11-10 DNS封包的擷取分析 電腦網路概論 電腦網路概論 電腦網路概論 圖11-13 本地伺服器向客戶端回覆 電腦網路概論 電腦網路概論