dns的優(yōu)化
計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)論文—— 域名系統(tǒng)的性能優(yōu)化主編1: 郭鵬 (學(xué)號(hào)1107300311)副編2:劉江昆(學(xué)號(hào)1107300304)副編3:韋志敏(學(xué)號(hào)1107300312)開課學(xué)期: 第5學(xué)期指導(dǎo)
計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)論文
—— 域名系統(tǒng)的性能優(yōu)化
主編1: 郭鵬 (學(xué)號(hào)1107300311)
副編2:劉江昆(學(xué)號(hào)1107300304)
副編3:韋志敏(學(xué)號(hào)1107300312)
開課學(xué)期: 第5學(xué)期
指導(dǎo)教師: 梁正友
,1|、序
1.1摘要
DNS是Internet 及Internet 上的一項(xiàng)基礎(chǔ)服務(wù),它為網(wǎng)絡(luò)應(yīng)用程序提供域名解析及服務(wù)(資源)定位服務(wù)。在理解DNS 工作原理基礎(chǔ)上,優(yōu)化DNS ,可以縮短DNS 查詢響應(yīng)時(shí)間,減少不必要的網(wǎng)絡(luò)流量,同時(shí)對(duì)于各種分布式服務(wù)的部署都有一定的借鑒意義。
2、主要內(nèi)容
,一、域名空間
在tcp/ip網(wǎng)絡(luò)中,IP 地址唯一合法地標(biāo)識(shí)每一臺(tái)主機(jī),然而IP 地址是純數(shù)字的,不便于人們記憶,因此IEFT (Internet 工程任務(wù)組)在RFC1034,RFC1035中定義了DNS 服務(wù),該服務(wù)允許Internet 用戶通過域名(易于記憶的字符串)訪問主機(jī)。在Internet 上所有主機(jī)域名的集合構(gòu)成了域名空間。如圖所示:

域根對(duì)域名空間擁有控制權(quán),在它之下建立了九個(gè)通用頂級(jí)域和數(shù)百個(gè)國家頂級(jí)域。根域常用“. ”表示,然而可以省略。.example.com 域是.com 域的子域;同樣.example.com 是.sam1.example.com 域的父域。www.example.com 及SMTP.sam2.example.com 是完整的域
,名,可以用來表明該主機(jī)提供何種服務(wù)、所屬部門、公司、所屬行業(yè)等。原則上對(duì)于的層數(shù)沒有限制,不過每個(gè)標(biāo)識(shí)符(像example 、sam1、com )長度不超過63個(gè)字節(jié),完整的DNS 名稱不超過255個(gè)字節(jié)。
要在父域下建立子域必須得到父域的授權(quán)。
二、DNS 體系結(jié)構(gòu)及分布式部署
(一)DNS 采用客戶機(jī)/服務(wù)器體系結(jié)構(gòu)

Resolver :位于用戶計(jì)算機(jī)上的域名解析器,又稱DNS 客戶機(jī);
Name Server:名稱服務(wù)器,為DNS 客戶機(jī)提供域名解析服務(wù)。
Master Files :名稱服務(wù)器上的文本文件,稱為區(qū)域數(shù)據(jù)庫,它以資源記錄(RR )的形式存儲(chǔ)了與域名相關(guān)的數(shù)據(jù)。重要的RR 有:
1、SOA RR:授權(quán)的開始資源記錄。該RR 指明了區(qū)域的源名稱,如.example.com ,并指明了作為區(qū)域信息主要來源的服務(wù)器的名稱。還指明了區(qū)域的其它一些屬性,比如資源記錄緩存時(shí)間。它是創(chuàng)建區(qū)域時(shí)第一個(gè)記錄。也是區(qū)域的最根本的一條記錄。
2、NS RR :名稱服務(wù)器資源記錄。它定義了能夠?qū)υ搮^(qū)域中的域名查詢做出權(quán)威回答的名稱服務(wù)器。
3、A RR:地址資源記錄,定義了域名對(duì)應(yīng)的IP 地址。
4、其它一些資源記錄,如:CNAME RR、MX RR、PTR RR等。注意這些記錄及A RR是
,應(yīng)用型記錄,即該記錄中的數(shù)據(jù)直接用于回答DNS 客戶機(jī)查詢。而SOA RR、NS RR定義了區(qū)域的根本屬性。
(二)域名空間的分布式部署
名稱服務(wù)器以其所存儲(chǔ)的區(qū)域數(shù)據(jù)庫為DNS 客戶機(jī)提供域名解析服務(wù)。很顯然,Internet 上整個(gè)域名空間的余名數(shù)據(jù)庫不可能以整體的形式存放在一臺(tái)名稱服務(wù)器上,而是分布地存放在隸屬于不同組織、部門的名稱服務(wù)器上。這樣為名稱空間的維護(hù)、更新和提供域名解析服務(wù)提供了現(xiàn)實(shí)的途徑。例如:.com 域和.example.com 域是父子關(guān)系,但負(fù)責(zé)創(chuàng)建和維護(hù).com 域的名稱服務(wù)器(簡稱.com 名稱服務(wù)器),只負(fù)責(zé).sohu 、.example 、.sina 這些子域名稱的注冊(cè)服務(wù),而不過問在.example 域下創(chuàng)建任何子域(例如(.sam1、.sam2、.sam3) 和主機(jī)名(www)的活動(dòng),即www 、.sam 這些主機(jī)和子域的資源記錄并不保存在.com 名稱服務(wù)器,而是保存在.example 名稱服務(wù)器上,甚而.sam 子域的資源記錄也獨(dú)立地保存在.sam 名稱服務(wù)器上。父域和子域的資源記錄獨(dú)立地保存在各自的服務(wù)器上,那么父子關(guān)系又如何體現(xiàn)呢?.example 域要注冊(cè)到.com 域下,必須得到.com 域的授權(quán)。授權(quán)以粘合記錄的形式保存在.com 域名服務(wù)器上,粘合記錄格式如下:
.example.com NS dns.example.com;(注:這是.example 名稱服務(wù)器的域名)
dns.example.com A 192.168.0.10;( 注:.example 名稱服務(wù)器IP 地址)
可以想象,.com 域也需得到域根的授權(quán),這也是以粘合記錄的形式保存在域根服務(wù)器上的。正是由于粘合記錄的存在,從原則上說,只要知道域根服務(wù)器的IP 地址,從查詢域根服務(wù)器開始,可以查詢到任何域名的權(quán)威名稱服務(wù)器,從而得到該域名的權(quán)威回答。這就是域名空間的分布式部署。
三、優(yōu)化DNS
通過優(yōu)化DNS 部署,可以縮短DNS 查詢響應(yīng)時(shí)間,減少不必要的網(wǎng)絡(luò)流量??梢詮囊韵聨?/p> ,
方面優(yōu)化DNS 部署:
(一)使用輔助區(qū)域
Internet域名空間是一個(gè)分層次的邏輯結(jié)構(gòu),父域和子域之間是包含與被包含關(guān)系,然而,父域和子域下的資源記錄,在物理上可以有兩種形式存在:
1、共存于一臺(tái)名稱服務(wù)器上,這樣所有記錄位于一區(qū)域中;
2、父域和子域下的資源記錄分別存在于兩臺(tái)或以上的名稱服務(wù)器上,每一臺(tái)名稱服務(wù)器上的資源記錄物理上是一個(gè)獨(dú)立部分,各形成一個(gè)區(qū)域。
所謂使用輔助區(qū)域,就是在額外設(shè)立的DNS 服務(wù)器上建立區(qū)域的副本。這樣,在一個(gè)大型網(wǎng)絡(luò)中,將若干臺(tái)名稱服務(wù)器分布在不同的地區(qū)網(wǎng)絡(luò)中,使得用戶可以就地訪問,從而加快了查詢速度,減少了網(wǎng)間流量,提高了可用性和容錯(cuò)。
要建立輔助區(qū)域,必須實(shí)施區(qū)域復(fù)制,有兩種方式:
a、完全區(qū)域復(fù)制
主DNS 服務(wù)器 SOA資源記錄中知名的服務(wù)器 將區(qū)域數(shù)據(jù)的完整副本發(fā)送到輔助DNS 服務(wù)器。在初次建立輔助區(qū)域時(shí)必須使用該方式。
b、增量區(qū)域復(fù)制
主DNS 服務(wù)器僅將區(qū)域數(shù)據(jù)的變動(dòng)部分發(fā)送到輔助DNS 服務(wù)器,這件受啊了網(wǎng)間數(shù)據(jù)流量,對(duì)網(wǎng)絡(luò)性能影響最小。
區(qū)域復(fù)制的時(shí)機(jī)可這樣確定:(1)主DNS 服務(wù)器在區(qū)域數(shù)據(jù)被修改后像輔助DNS 發(fā)出更改通知;或(2)輔助DNS 定期查詢主DNS 是否有數(shù)據(jù)被修改。
(二)使用緩存專用服務(wù)器
根據(jù)域名歸屬地不同.DNS 服務(wù)分為本地域服務(wù)與Cache 服務(wù),這兩種服務(wù)的工作原理差異較大,由同一臺(tái)DNS 服務(wù)器混合提供服務(wù)時(shí)難以精確定制服務(wù)策略和提高服務(wù)質(zhì)量。在
,DNS 優(yōu)化中,將本地域服務(wù)與Cache 服務(wù)相分離,并分別為兩套DNS 系統(tǒng)設(shè)計(jì)準(zhǔn)確的服務(wù)和安全策略。
緩存專用服務(wù)器是僅執(zhí)行查詢、緩存應(yīng)答和返回結(jié)果的DNS 服務(wù)器。它并不創(chuàng)建和維護(hù)任何域,它所包含的資源記錄限于解析查詢時(shí)已緩存的內(nèi)容。在慢速的廣域鏈路中,在靠近用戶側(cè),安裝一臺(tái)緩存專用DNS 服務(wù)器可能會(huì)很理想。這是因?yàn)橐坏┙⒘司彺妫瑥V域鏈路通信量便會(huì)減少。另外,緩存專用服務(wù)器不執(zhí)行區(qū)域傳輸,這種傳輸可能導(dǎo)致廣域網(wǎng)環(huán)境中的網(wǎng)絡(luò)通信量增大。
要注意當(dāng)該服務(wù)器吃次啟動(dòng)時(shí),它并沒有緩存任何信息。
(三)使用轉(zhuǎn)發(fā)器
轉(zhuǎn)發(fā)器也是標(biāo)準(zhǔn)的DNS 服務(wù)器,它為地區(qū)網(wǎng)絡(luò)中一組DNS 服務(wù)器接收到的,但不能根據(jù)器本地區(qū)域應(yīng)答的任何查詢提供遞歸的搜索。

地區(qū)網(wǎng)絡(luò)
在此圖中,DNS4是轉(zhuǎn)發(fā)器,DNS1,DNS2,DNS3 配置為啟用轉(zhuǎn)發(fā)器支持。配置使用轉(zhuǎn)發(fā)器的DNS 服務(wù)器DNS1,2,3 ,本質(zhì)上作為器轉(zhuǎn)發(fā)器的DNS 客戶機(jī)。
,加入地區(qū)網(wǎng)絡(luò)至Internet 的鏈接是慢速的,DNS1、DNS2、DNS3接受不同用戶的請(qǐng)求(該請(qǐng)求是對(duì)同一名稱的查詢),南無都將該查詢轉(zhuǎn)發(fā)到了該轉(zhuǎn)發(fā)器,而轉(zhuǎn)發(fā)器只需進(jìn)行一次遠(yuǎn)程查詢,就可以應(yīng)答三臺(tái)DNS 服務(wù)器的三次查詢,從而減少了通過慢速鏈接的通信量。
(四)負(fù)載均衡
為了擴(kuò)展DNS 服務(wù)器能力,按原來方法需要增加四層交換機(jī),如圖1所示,通過四層交換機(jī),將用戶的DNS 請(qǐng)求包分發(fā)到多臺(tái)DNS 上,實(shí)現(xiàn)負(fù)載分擔(dān)。根據(jù)DNS 工作特點(diǎn),可以提出一種設(shè)想:利用路由設(shè)備負(fù)載均衡能力來實(shí)現(xiàn)DNS 負(fù)載分擔(dān)。以圖為例,具體連接情況如圖2所示。DNSl 更改IP 地址,僅做權(quán)威DNS 服務(wù)器,只完成DNS 的名字服務(wù)器功能,不提供遞歸查詢功能。DNS2、DNS3和DNS4配成Cache only DNS,只為用戶做遞歸查詢,即實(shí)現(xiàn)DNS 的解析器功能。將原DNSl 的p 地址當(dāng)作虛擬地址配置到這3臺(tái)DNS 服務(wù)器上,并在路由設(shè)備上配置靜態(tài)路由,將DNS 虛IP 地址分別指到3臺(tái)DNS 上。這樣。當(dāng)用戶使用原DNSl 口地址做域名解析時(shí).會(huì)被路由設(shè)備均勻地分配到3臺(tái)DNS 上,而用戶并不知道具體是哪一臺(tái)DNS 為他提供域名解析服務(wù)。該方案可行.將其他DNS 逐臺(tái)修改IP 地址和配置,改造完后,被廣大用戶熟知的DNS IP地址均有多臺(tái)服務(wù)器支撐。系統(tǒng)穩(wěn)定性和處理能力將大大提高,同時(shí)可以隨時(shí)根據(jù)用戶的發(fā)展情況.方便地對(duì)系統(tǒng)進(jìn)行擴(kuò)容,提高了升級(jí)和擴(kuò)展能力。

圖1 原來負(fù)載均衡方案

圖2 DNS優(yōu)化
(五) 分布部署
本次DNS 優(yōu)化采納國際上先進(jìn)的IPv4 aIlvcast新概念,在網(wǎng)絡(luò)中分布部署DNS 服務(wù)器,使用戶熟知的DNS IP地址不僅限于一臺(tái)或一組DNS 服務(wù)器,而是在網(wǎng)絡(luò)中分布署容量幾乎無窮的DNS 服務(wù)器。根據(jù)用戶解析量分布情況,方便地將DNS 服務(wù)器增加到任何一臺(tái)路由器上,實(shí)現(xiàn)DNS 服務(wù)的本地化。
(六)啟用PC 服務(wù)器
DNS負(fù)載均衡的實(shí)現(xiàn).降低了對(duì)DNS 服務(wù)器的硬件要求,改變了必須使用價(jià)格昂貴的服務(wù)器來做DNS 服務(wù)器的現(xiàn)狀,可以使用價(jià)格低廉且性能較好的PC 機(jī)來做DNS 服務(wù)器。
(七) 異地備份、容災(zāi)
由于DNS 服務(wù)器是在網(wǎng)絡(luò)中分布部署的。利用IPv4 anycast概念,可以將DNS IP地址部
,署到任一組DNS 服務(wù)器上,可以方便地實(shí)現(xiàn)DNS 服務(wù)的異地備份和容災(zāi)。
四、近況
隨著InterNet 在全球的發(fā)展,特別是國內(nèi)互聯(lián)網(wǎng)的快速發(fā)展和普及、用戶規(guī)模、在線時(shí)長以及應(yīng)用復(fù)雜性不斷發(fā)展和演化,互聯(lián)網(wǎng)已經(jīng)成為廣大網(wǎng)民生活的一部分,域名解析作為互聯(lián)網(wǎng)基礎(chǔ)的后臺(tái)支撐服務(wù)扮演了更加復(fù)雜和更加重要的角色。 用戶的發(fā)展、應(yīng)用服務(wù)的復(fù)雜多樣使得運(yùn)營商需要全面考慮其域名系統(tǒng)的整體安全,而現(xiàn)在運(yùn)營商域名系統(tǒng)所面臨的主要安全問題有:網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)、系統(tǒng)平臺(tái)復(fù)雜、大規(guī)模的DOS&DDOS攻擊、緩存中毒、域名解析軟件維護(hù)、類似暴風(fēng)的客戶端安全缺陷、客戶域名設(shè)置缺陷引發(fā)的故障投訴等。下面就從拓?fù)浒踩?、系統(tǒng)平臺(tái)安全、解析軟件安全、安全維護(hù)手段幾個(gè)方面做個(gè)介紹。
一)、合理安全的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)是保證域名系統(tǒng)整體安全和高可用性的基礎(chǔ)
運(yùn)營商DNS 系統(tǒng)經(jīng)歷了單機(jī)、雙機(jī)、采用四層交換技術(shù)的負(fù)載均衡集群,到現(xiàn)在基于anycast 負(fù)載均衡集群與分布式混合的架構(gòu),是從實(shí)際應(yīng)用出發(fā)不斷探索發(fā)展的結(jié)果。 在互聯(lián)網(wǎng)初步發(fā)展時(shí),基于單、雙機(jī)DNS 系統(tǒng)見證了國內(nèi)互聯(lián)網(wǎng)發(fā)展的起步;隨著網(wǎng)絡(luò)用戶的發(fā)展,特別是ADSL 等高速接入技術(shù)和各種基于網(wǎng)絡(luò)的業(yè)務(wù)應(yīng)用快速發(fā)展,域名解析服務(wù)作為用戶上網(wǎng)應(yīng)用的第一步,經(jīng)受了越來越大的服務(wù)壓力,采用四層交換技術(shù)構(gòu)架集群的DNS 系統(tǒng)成為各大運(yùn)營商最初解決方案; 最近幾年互聯(lián)網(wǎng)以更快地速度發(fā)展,各類應(yīng)用如雨后春筍般涌現(xiàn),網(wǎng)民規(guī)模和在線應(yīng)用的復(fù)雜性,以及域名服務(wù)本身的安全構(gòu)架和服務(wù)特點(diǎn),使得許多地方的四層交換技術(shù)出現(xiàn)了性能瓶頸;尤其是在遭到病毒沖擊和惡意攻擊時(shí),首先導(dǎo)致四層交換機(jī)堵塞,正常用戶的請(qǐng)求無法通過四層交換機(jī)建立新的session 到達(dá)后面的DNS 服務(wù)器,以致DNS 服務(wù)中斷產(chǎn)生域名服務(wù)故障; 如何應(yīng)對(duì)大規(guī)模用戶產(chǎn)生的高達(dá)10萬QPS ,甚至更高的并發(fā)查詢量;如何應(yīng)對(duì)因?yàn)椴《颈l(fā)、客戶端插件缺陷、惡意的DOS&DDOS攻擊等并發(fā)超過百萬級(jí)的攻擊數(shù)據(jù)量;如何構(gòu)建開放、高效的DNS 系統(tǒng),可按需靈活擴(kuò)展支持百萬,甚