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 之外, 其餘欄位的
意義都相同。