第9章 應用層(1)_域名系統DNS
1. 域名系統DNS
1.1 主機名和域名的關係
(1)完全限定域名(Fully Qualified Domain Name, FQDN) = 主機名 + 域名
①一個域名下可以有多個伺服器/主機(如上圖中有3臺伺服器/主機)。
②主機名更多的代表一個服務或應用,它物理伺服器並有沒有一一對應的關係。如www、blog、bbs三個服務網站位於同一臺伺服器,而edu在一個獨立的伺服器上。
③通常所說的網站域名,嚴格來說是完全限定域名。
(2)域名的層次結構
①所有的域名都是以英文“.”開始,是域名的根,根下面是頂級域名,然後依次是二級、三級域名、…。如
②企業申請域名後,可以在該域名下新增多個主機名,也可以根據需要建立子域名,子域名下又可以有多個主機名。
1.2 域名的解析過程
(1)域名伺服器
①每臺域名伺服器並不知道其上一級DNS是誰?但他們都知道根域名伺服器。
②DNS伺服器可以建立委派,將其下的某個子域名委派給其他DNS伺服器來解析。
(2)解析過程(以Client1查詢www.sohu.com為例)
①Client1向DNS伺服器(13.2.1.2)傳送域名解析請求
②B伺服器只負責net域名解析,並不知道哪個DNS伺服器負責com域名解析,但它知道根DNS伺服器,於是將域名解析的請求轉發給根DNS伺服器
③根DNS伺服器返回查詢結果,告訴B去查詢C伺服器。
④B伺服器將域名解析請求轉發到C伺服器
⑤C伺服器只負責com名稱解析,但sohu.com名稱解析委派給了E伺服器,於是C伺服器告訴B去查詢E伺服器。
⑥B伺服器將域名解析請求轉發到了E伺服器。
⑦E伺服器上有sohu.com域名下的www主機記錄,於是將www.sohu.com的IP返回給B伺服器。
⑧B伺服器將費盡周析查詢到的結果快取一份到本地,將解析到的www.sohu.com的IP地址返回給Client1。這個查詢結果是B伺服器從其他伺服器查詢得到的(非權威應答)快取解析的結果。
⑨Client2的DNS也指向了13.2.1.2,現在Client2也需要解析
⑩B伺服器將剛剛快取的www.sohu.com的查詢結果直接返回給Client2。
(3)其它
①權威應答和非權威應答:當Client1向B伺服器查詢www.inhe.net時,由於B伺服器本身存在這條主機記錄,這時它向Client1返回的結果被稱為權威應答。否則,如果B伺服器對域名的解析是從其他伺服器查詢到的,則為非權威應答(如client查詢sohu網站的過程)
②client3向E伺服器查詢www.xueit.com域名時,由於E伺服器不存在這條主機記錄,因此會向根伺服器查詢(不是C伺服器)。因為對於E來說他只知道根伺服器,而並不知道其上一級(C)伺服器的存在!
1.3 實戰:在Win2003系統上搭建DNS伺服器
(1)網路拓撲圖
(2)測試環境的搭建
①將xp主機和Win2003伺服器放入VMNnet8網路。xp的DNS伺服器設定192.168.80.20。
Win2003伺服器的“首選的DNS伺服器”也設定為192.168.80.20,即Win2003伺服器除了為區域網內的其他主機提供DNS解析,本身所需要的DNS解析也由自己提供。
②建立DNS正向查詢區域:如www.abc.com→192.168.80.10→www.abc.com(注意:要選啟用DNS服務:“控制面板”→“管理工具”→“服務”→啟動“DNS Server”)
A.正向查詢區域:“新建區域”→輸入區域名稱“abc.com”→選擇“建立新檔案”(一個區域用一個檔案記錄),然後一直next。
B.新建主機:右鍵“abc.com” →“新建主機”→在主機名中填入“www”,IP為192.168.80.10。
③建立DNS反向查詢區域:(如192.168.80.10→www.abc.com)
A.反向查詢區域:“新建區域”→“主要區域”→在“網路ID”填入“192.168.80” →選擇“建立新檔案”。
B.“新建指標(ptr)” →在主機IP號中填入“10”,主機名為www。
(3)檢視和設定DNS伺服器的“根伺服器”: DNS管理器中選擇伺服器名→“屬性”→“根提示”
(4)測試域名解析
①使用ping命令:如ping www.abc.com
②檢視快取中的域名解析結果:ipconfig /displaydns
③清空DNS快取:ipconfig /flushdns
④nslookup測試域名解析:如nslookup www.baidu.com。或輸入nslookup,然後在互動模式下輸入想要查詢的域名,exit退出。
【測試結果】
C:\Documents and Settings\Administrator>nslookup
*** Can't find server name for address 192.1
*** Default servers are not available
Default Server: UnKnown
Address: 192.168.80.20
> www.abc.com //正向查詢
Server: UnKnown
Address: 192.168.80.20
Name: www.abc.com
Address: 192.168.80.10
> 192.168.80.10 //反向查詢
Server: UnKnown
Address: 192.168.80.20
Name: www
Address: 192.168.80.10
> www.baidu.com //查詢外網的baidu
Server: UnKnown
Address: 192.168.80.20
Non-authoritative answer:
Name: www.a.shifen.com
Addresses: 163.177.151.110, 163.177.151.109
Aliases: www.baidu.com
>exit
1.4 實戰:抓包分析域名解析過程
(1)在Win2003上執行抓包工具,然後在XP主機ping www.51cto.com
(2)Internet上DNS返回的結果
①DNS解析的4種資料包:域名解析請求(第3個數據包)、域名解析請求轉發(第4個數據包)、轉發包的應答(第7個數據包)及最終查詢結果(第9個數據包)
②Authoritative nameservers欄位中列舉了負責解析51cto.com的DNS伺服器域名,其IP在Additional record欄位中。
(3)返回給客戶端的域名解析最終結果
、