網路概論第十三章DNS

Download Report

Transcript 網路概論第十三章DNS

網路概論第十三章
DNS
N49617023簡正泓
N49617050吳睿哲
DNS簡介

網際網路國內外連通,目前多數網路應用,
幾乎都必須透過 DNS 來作網路服務指引的
動作,因此 DNS 系統運作的順暢與否,往
往是決定整體網路服務的一個很重要的指標。
從學理上來看,DNS 系統採分層負責,階
層式的管理架構,主要包括正解(forward
zones)及反解(reverse zones)兩大部分。
DNS網域


網域是一群在地理位置或商業類型上有關聯的電腦。網域名稱
是一個由字元和/或數字組成的字串,用來表示一個 Internet 網
站的數字位址,通常是一個名稱或是縮寫。在 Internet 上使用
網域可以解決定址上的問題,
Internet有 200 個以上的優先層網域,如下所示:



.us - 美國
.uk - 英國
另外也有使用通用的名稱,如下所示:





.edu - 教育機構網站
.com - 商業網站
.gov - 政府網站
.org - 非營利網站
.net - 網路服務
FQDN ( 完整網域名稱 )



Fully Qualified Domain Name。
『主機名稱』 + 『網域名稱』 + 『.』
如:www.ee.tnit.edu.tw


www:該伺服器的主機名稱。
ee.tnit.edu.tw.:該伺服器所在的網域名稱。
DNS 的工作就是 IP ←→ FQDN 的轉換
名稱查詢與名稱解析



名稱查詢:用戶端要求 DNS 伺服器由
FQDN 查出 IP 位址。
名稱解析:DNS 伺服器查出 IP 位址並回傳
給用戶端。
由 IP 位址查詢 FQDN 稱為反向查詢。而伺
服器所對應的動作稱為反向解析。
DNS/DNS Server


DNS:Domain Name System「網域名稱系統」,
其主要的目的是用來解釋網際網路上的電腦主機名
稱與IP位址之間的關係,進而能正確的在網際網路
上找到該主機並傳送正確的訊息。
DNS Server:網域名稱伺服器 (DNS) 是網路上管
理領域名稱的設備,它可以回應客戶端的請求,將
領域名稱轉譯為相對的 IP 位址。DNS 系統是一種
可以建立不同 DNS 伺服器層級的階層式系統。
DNS的架構

根網域

頂層網域

第二層網域

主機
Root Domain (根網域)


DNS 架構的最上層。
當下層的任何一台 DNS 伺服器無法解析某
個 DNS 名稱時,便可以向 Root DNS 伺服
器尋求協助。
Top Level Domain (頂層網域)-1

在美國以外的國家,大多以 ISO 3116 所制定的
『國碼』 (Country Code)來區分:
Top Level Domain (頂層網域)-2

在美國以『組織性質』來區分,較少用國碼:
Second Level Domain (第二層網域)



台灣採用 ccTLD 命名方式,這一層即
為 .com、.net 等以組織性質區分的網域
這些類別網域之下開放給所有人申請,名稱
則由申請者自訂。
每個網域名稱在這一層必須是唯一的。
Host (主機)


由各個網域的管理員自行建立,不需要透過
管理網域名稱的機構。
例如可以在 『.ee.tnit.edu.tw.』 這個網域下
再建立 『www.ee.tnit.edu.tw.』。
區域 (Zone) -1

區域 (Zone) -1

例如 flag
網域的下
層若沒有
子網域:
區域 (Zone) -2

若 flag 網域的下層有子網域:
區域 (Zone) -3

如果 flag 的
子網域更多,
而且每個子
網域都自成
一個區域:
區域 (Zone) -4
DNS伺服器類型

主要名稱伺服器


次要名稱伺服器


是架設在某個網域下面,被授權並控制所有名稱紀錄的主控
名稱伺服器,所有相關於該網域下的紀錄資料全部都放在主
要名稱伺服器中,這些記錄只有主要名稱伺服器可以更改。
DNS伺服器 沒有規定網路上誰可以使用誰不能使用,因此可
以指定任何一台DNS幫忙做主機名稱的查詢,這種方式,可
以減輕主要名稱伺服器的負擔。而次要名稱伺服器上面的紀
錄來自主要名稱伺服器的同步資料。不具更改資料的權限。
快取伺服器
DNS 的查詢流程
以上分為兩種查詢模式:
 用戶端對伺服器的查詢 (第 3、4 步驟) 。
 伺服器和伺服器之間的查詢 (第 5 步驟)。
DNS查詢流程(2)

遞迴查詢


用戶端要求 DNS 伺服器解析 DNS 名稱時,採
用的多是『遞迴查詢』 (Recursive Query)。
反覆查詢

反覆查詢 (Iterative Query) 一般多用在伺服器
對伺服器之間的查詢動作。
反覆查詢

反覆查詢 (Iterative Query) 一般多用在伺服器對伺服器之間
的查詢動作。
轉送程式

將用戶端的要
求導向特定的
DNS 伺服器
完整的查詢流程
DNS 資源記錄







SOA (Start of Authority,起始授權)
NS (Name Server,名稱伺服器)
A (Address,位址)
CNAME (Canonical Name,別名)
MX (Mail Exchanger,郵件交換器)
PTR (Pointer,反向查詢指標)
HINFO (Host Information,主機資訊)
SOA (起始授權) -1

記錄此區域的授權資訊,包含主要名稱伺
服器與管理此區域的負責人之電子郵件帳
號…等。
SOA (起始授權) -2






『@』 :此區域的名稱。
1 ; serial number:此記錄的版次。
36000 ; refresh [10h]: Secondary DNS 伺服器
每次比對、複製區域檔案的間隔時間。
600 ; retry [10m]:當 Secondary DNS 伺服器無
法順利比對、複製區域檔案時,重試的間隔時間。
86400 ; expire [1d]:此區域檔案的有效期間
3600 ; min TTL [1h]:最小的 TTL 時間。
NS (名稱伺服器)

記錄管轄此區域的名稱伺服器,它包含了
主要名稱伺服器和次要名稱伺服器:
A (位址)

表示 FQDN 所對應的 IP 位址。
CNAME (別名)


記錄某台主機的別名。
一台主機可以設定多個別名。
MX (郵件交換器)

設定此一網域所使用的郵件伺服器。
PTR (反向查詢指標)


當我們在做反向查詢 (由 IP 位址查出
FQDN) 時,便會利用此種記錄類型。
IP 位址的寫法是將原本的數字由右向左寫
回來:
HINFO (主機資訊)

儲存某一主機的軟硬體資料,例如 CPU
的類型、作業系統的類型等。
DNS 封包格式


了解 DNS 的運作原理後, 接著我們就來看看 DNS 協
定的封包格式。在傳輸層 (Transport Layer) 傳送
DNS 封包時, 採用的是 UDP 協定, 所使用的 UDP
Port編號為 53。
DNS 的封包格式如下圖:
 DNS
封包的表頭包含以下欄位:



Query Identifier (Query ID, 查詢編號)
DNS 的封包編號, 長度為 16 Bits。當發送端送出查詢封包
時會自動產生此編號, 而收到回覆的封包時, 也會檢查此編
號, 辨識此回覆封包是回應那一個查詢封包。
Request/Response (QR, 要求/ 回覆)
長度為 1 Bit, 當欄位值為 0 時, 表示是 Request (要求查詢)
封包, 為 1 則表示Response (回覆)封包。
Operation Code (OP Code, 操作代碼)
長度為 4 Bits, 用來識別這個 DNS 封包的類型。
Flags
長度為 4 Bits:
每個 Bit 代表的意義如下表:
DNS 封包表頭


Reserved
保留未使用, 長度為 3 Bits, 欄位值全為 0。
Return Code (R Code , 回覆代碼)
長度為 4 Bits, 表示在 DNS 查詢時所發生的錯誤
訊息:
DNS 封包表頭




Question count
存放 Question Section 欄位的資料筆數。
Answer RR Count
存放 Answer Section 欄位的資料筆數。
Authority RR Count
存放 Authority Section 欄位的資料筆數。
Additional RR Count
存放 Additional Section 欄位的資料筆數。
Question Section (查詢部分)

Question Section 包含了 3 個部分:
Question Name
此欄位存放的是所要解析的 FQDN, 因此長度
不固定。
Question Type
長度為 2 Bytes, 表示要查詢的資源紀錄類型, 下表
僅列出常用的類型
Question Class
這個欄位表示要在那一類的網路上做 DNS 查詢,
目前僅有使用 IN (Internet) 而已, 欄位值固定為 1。
Answer Section (回應部分)

Answer Section 存放了要回應給用戶端的資料, 包括以下
6 個欄位:
Resource Name (資源名稱)
存放查詢的 FQDN, 欄位長度視 FQDN 長度而定。
Resource Type (資源紀錄類型)
存放此次查詢的資源紀錄類型, 相當於前述
Quest- ion Section 中的Question Type 欄位, 長度
為 16 Bits。
Resource Class (資源類型)
表示查詢的 FQDN 所屬的網路類型, 目前都是屬
於 Internet 網路, 所以欄位值固定為 1。
TTL (存活時間)
長度為 32 Bits, 表示此筆資料保留在 DNS
伺服器快取中的時間, 以秒為計量單位, 若為
0, 表示不存放在快取中。
Resource Data Length
長度為 16 Bits, 存放 Resource Data 欄位
的長度, 以 Byte 為單位。
Resource Data
存放查詢的結果, 通常是存放 IP 位址或
FQDN。欄位長度不一定, 視資料格式不同而
改變。
Authority Section (授權部分)

此部分表示在查詢 FQDN 時, 所找到可供查
詢的 DNS 伺服器資訊, 其格式如同 Answer
Section, 亦包括 6 個欄位, 除了最後一個欄
位 Resource Data 存放的不是 IP 位址, 而
是 DNS 伺服器的 FQDN 之外, 其餘欄位的
意義都相同。