1 / 31

DNS協定

DNS協定. 11-7 DNS 資源記錄 11-8 DNS客戶端的驗證 11-9 DNS的封包格式 11-10 DNS封包的擷取分析. 11-1 DNS簡介 11-2 DNS的架構 11-3 階層且分散式的資料庫 11-4 DNS的查詢 11-5 遞迴查詢與反覆查詢 11-6 DNS伺服器的種類. 11-1 DNS 簡介. DNS 的主要功能,就是以較容易記住的 FQDN 轉換成為電腦使用的 IP 位址,而避免一長串需記住的數字號碼。

agrata
Download Presentation

DNS協定

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. DNS協定 • 11-7 DNS資源記錄 • 11-8 DNS客戶端的驗證 • 11-9 DNS的封包格式 • 11-10 DNS封包的擷取分析 • 11-1 DNS簡介 • 11-2 DNS的架構 • 11-3 階層且分散式的資料庫 • 11-4 DNS的查詢 • 11-5 遞迴查詢與反覆查詢 • 11-6 DNS伺服器的種類

  2. 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架構中位於樹狀階層中的最上層的根網域。

  3. 範例1:若FQDN為「www.google.com.tw」所對應的IP位址為「61.224.52.23」。試說明查詢過程。反過來,說明反向名稱查詢過程。範例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」的資料。

  4. 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所示。

  5. 第二層網域 • 在台灣採用的頂層網域是依據c cTLD方式來命名, 即「. tw」網域。第二層網域則是以組織性質區分的.com、.org等網域;再細分下去的網域也全都歸類在第二層網域。

  6. DNS Zone

  7. 11-3 階層且分散式的資料庫

  8. 範例2:參考圖11-5,用戶端(或稱客戶端)如何知道www.google.com主機的IP位址。範例2:參考圖11-5,用戶端(或稱客戶端)如何知道www.google.com主機的IP位址。 • 解 • 首先,用戶端向根伺服器詢問該網域名稱是記錄在哪一部com DNS伺服器,然後用戶端從com DNS伺服器得知google.com DNS伺服器,最後用戶端向google.com DNS伺服器查詢而得到www. google.com的IP位址。

  9. 11-4 DNS的查詢 • 當客戶端需要查詢一個FQDN對應的IP位址時,會交由DNS解析器來負責查詢,而解析器會先去「DNS解析器的快取(DNS Resolver Cache)」查詢,如果無法從快取得到所要的資訊,才向指定的DNS伺服器查詢。

  10. 範例3:圖11-8中的chen.tti.edu主機要求查詢yuan.flag.free.edu的位址。範例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伺服器。

  11. 步驟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。

  12. 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)。

  13. 11-6 DNS伺服器的種類 • 主要名稱伺服器 • 次要名稱伺服器 • 快取伺服器

  14. 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;主機資訊)

  15. 11-8 DNS客戶端的驗證

  16. 11-9 DNS的封包格式

  17. Query Identifier(Query ID,查詢編號)佔16bits  用戶端每次送出要求查詢封包時會自動產生此編號;而伺服器會複製此編號到回覆的封包,用戶端也可依此編號辨認是回覆哪一個查詢封包。 • Query/Response(QR)佔1bit 0代表要求查詢封包;1代表回覆封包。 • OP Codes(Operation Codes,操作碼)佔4bits  用來識別DNS封包的類型。注意:標準查詢包含前向查詢、逆向查詢與反向查詢。反向查詢已取代逆向查詢(逆向查詢已不再使用),如表11-2所示。

  18. Flags佔4bitz s  由左至右各佔1bit,分別是AA (Authoritative Answer)、TC (Truncation)、RD(Recursion Desired)、RA (Recursion Available),如表11-3所示。

  19. Reserved佔3bits  保留未用,欄位值全為0。 • RCode(Return Code)佔4bits  指出DNS查詢時,回覆封包會通知所發生的錯誤訊息,如表11-4所示。注意:6-15保留未用。

  20. Question 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欄位的資料筆數。

  21. 11-10 DNS封包的擷取分析

  22. 圖11-13 本地伺服器向客戶端回覆

More Related