鄧成俊,劉 穎
(1.重慶電力高等??茖W校,重慶 400053;2. 重慶市軌道交通(集團)有限公司,重慶 400010)
域名解析系統(tǒng)作為互聯網中一個重要的核心基礎設施,其主要作用是基于域名自動查詢對應IP地址,繼而封裝數據包并實現查找任務[1]。絕大部分基于網絡的應用服務皆需要該系統(tǒng)的支持才可以實現正常的運轉,比如常見的E-mail服務、辦事大廳服務、教務系統(tǒng)及其他的Web應用服務。傳統(tǒng)模式之下的域名解析系統(tǒng)主要是靠分層與迭代查詢,一層一層地將域名解析工作完成,并借助各種服務器實現將域名映射到IP地址的功能。當用戶對某域名提出解析請求之時,首先可通過本地的域名服務器對自身緩存中的用戶所需映射項目進行查詢,若查詢到有符合用戶的項目就直接給予用戶反饋,若未查詢到符合項目的映射信息,則用本地的域名服務器來代替用戶接著向根服務器發(fā)送查詢請求,如此反復循環(huán),直到獲得用戶所需的IP為止,同時可向用戶反饋該信息[2]。在以往網絡規(guī)模比較小的時候,傳統(tǒng)的域名解析系統(tǒng)運作方式充分發(fā)揮了作用,基本滿足用戶查詢的需求,但在網絡環(huán)境復雜多變的今天,該模式的許多問題逐漸被暴露出來,如容錯性差、管理復雜以及DNS查詢與更新延遲等問題。這些問題導致傳統(tǒng)的域名解析系統(tǒng)不能滿足現在用戶查詢的需求。因此,為有效提升現有系統(tǒng)在運行上的效率及可靠性,本文將基于云的存儲特點、內容發(fā)布等特征,提出新的可滿足當代需求的DNS系統(tǒng),并借助增量部署的方式實現系統(tǒng)擴容,無縫對接現有系統(tǒng)。
因當前Web應用服務網頁頁面常常同時和多個業(yè)務系統(tǒng)進行嵌入式對接,所以當對一個Web應用網頁服務進行訪問解析時,就需要從多個域名系統(tǒng)中獲得多份數據。DNS查詢的延遲直接關系著訪問Web應用服務網頁的打開時間,因此DNS記錄的緩存對于域名解析系統(tǒng)查詢速度的提高有所幫助;但域名解析系統(tǒng)在解析未緩存域名時,需要通過遞歸的方式進行查詢及訪問各級的服務器。除此之外,域名解析的請求會因為服務器的不可達而造成部分數據分組丟失;參考各方面收集的資料來看,傳統(tǒng)DNS域名解析查詢的過程未響應的概率達到5%左右。
傳統(tǒng)的域名解析系統(tǒng)常采用TTL機制來更新DNS記錄,DNS更新的延遲主要是由DNS記錄之中的TTL字段導致的。TTL值的大小會影響DNS記錄緩存時間,但設置一個適當的TTL值并非易事,TTL值過小不利于DNS查詢時間縮短;TTL值過大則對于DNS記錄的更新與服務搬遷產生不利。
解析一個域名采用的域名服務器可能僅有一個,若有網絡攻擊或者故障發(fā)生,其就會受到影響而不能正常地提供服務。雖然有些域名解析具有3個及以上服務器,但服務器多為相同自治域內域名,且多屬于相同網段,這導致域名解析的服務在DoS攻擊與網絡故障上應變力較低。
節(jié)點的分布廣泛屬于云技術主要特征之一,因此可有效利用這一特征,將云技術之中各節(jié)點的服務器結合在一起,并通過內容儲存和發(fā)布機制逐步完成域名解析信息項目相關的操作,通過推送的方式可以快速整理以及輸送DNS信息,繼而有效提高域名解析系統(tǒng)工作的效率。
基于云技術架構域名解析系統(tǒng)的模型如圖1所示,其不僅包含傳統(tǒng)域名解析服務器,還包括云節(jié)點的服務器,通過兩個公網的IP地址,使得兩個服務器之間實現無縫銜接,并具備良好兼容性。DNS的解析流程:DNS記錄可通過云技術推送方式來發(fā)布,即借助云內容管理方面的服務器,把DNS相關信息發(fā)布至各云節(jié)點的服務器上,以此提高更新和同步域名系統(tǒng)信息項目的速度,使得服務的覆蓋區(qū)域可以大大超過傳統(tǒng)的該類系統(tǒng)。對于云節(jié)點服務器,其在域名解析過程之中所充當的是權威域名服務器的角色,可以和域名的所有者直接進行交互,繼而可以有效保障域名信息的可靠性和準確性。經更新過的域名信息會第一時間向各節(jié)點的服務器發(fā)布,如此便使得域名的同步延時問題得到有效解決。
圖1 基于云技術域名解析系統(tǒng)模型
對于DNS信息管理和更新方面,域名的所有者主要負責及時發(fā)布域名變化,之后的維護工作主要由云系統(tǒng)負責,可在客戶端的軟件上對DNS 記錄進行管理。為了防止惡意攻擊,就需要確保只有域名的所有者才能對相關信息進行修改,唯有經過域名的所有者認證之后,更新的相關信息記錄才會及時同步至各節(jié)點的服務器上。如此,A類的DNS記錄將會維持在云節(jié)點的服務器上[3],且不需要對NS類的DNS記錄進行相應配置,這樣一來,就可以大大降低由域名解析中出現的錯誤配置帶來的不良影響。在DNS記錄發(fā)布方面,主要通過云的發(fā)布機制以推送方式將DNS記錄發(fā)布出去,經過認證與授權之后,云系統(tǒng)上的內容管理器就會將具有權威性的DNS記錄發(fā)布至各節(jié)點的服務器上。由于權威DNS記錄不會受到TTL機制限制,就可不采用TTL字段。對于DNS記錄更新方面,通常來說,域名中的DNS記錄是相對穩(wěn)定的,多保持數月或更長的時間不變。只有在內容的服務器進行相關資源重新分配或者服務搬遷之時,DNS記錄才隨之進行更新,而這種事件發(fā)生的頻率比較低,域名信息一般會穩(wěn)定存在數月。就本方案而言,在進行更新的操作之時,內容管理方面的服務器就會發(fā)布新的DNS記錄,各節(jié)點的服務器接收到新信息之后,就會采取該信息覆蓋原始冗余信息的措施。
基于云技術的域名解析系統(tǒng)服務部署須有域名的所有者參與支持與配合,其借助云內容發(fā)布的機制將DNS記錄發(fā)送分布至各節(jié)點的服務器上,如此可提高域名解析系統(tǒng)運行的效率,但由于現有的域名解析系統(tǒng)太過龐大,直接將舊設備替換掉,就需要花費高額成本[4]。因此,從節(jié)約成本的角度來看,最好的方法就是將新系統(tǒng)與舊系統(tǒng)良好銜接起來。本文采取的是增量部署服務模型(如圖2所示),其在兼容DNS系統(tǒng)上具有良好表現,可達成增量部署。在部署的過程中,無論用戶所歸屬的服務器是何種,也無論域名的所有者是如何對DNS信息進行發(fā)布的,都不會影響到模型系統(tǒng)中的運行。與此同時,因為域名的所有者可以直接對信息進行發(fā)布以及對于普通用戶的修改權限加以限制,所以該系統(tǒng)在安全性能上面就可以得到有效保障。
圖2 增量部署服務模型
對于現行的DNS系統(tǒng)所存在的問題,利用本設計的基于云技術架構的域名解析系統(tǒng)后得到了一定的解決。查詢延遲方面的問題得到有效改善。本文所提出的模型通過節(jié)點的服務器直接對域名解析的請求予以響應,不需要再對其他的服務器進行訪問就可以直接響應。而更新延遲的問題主要是由TTL機制造成的,本文設計是將權威DNS記錄直接發(fā)布至節(jié)點的服務器,如此便可不被TTL機制限制,這一問題也就得到了解決。DoS攻擊與網絡故障上的應變能力也有所提高。當某節(jié)點的服務器遭受DoS攻擊或網絡故障時,本文所設計的模型,就會借助IPAnycast路由將域名解析的請求定向到另外正常運行節(jié)點的服務器上,域名解析由此可順利完成。管理上的復雜性也降低了,域名的所有者可直接將服務器外包給云維護。DNS 濫用方面也得到了限制。通過返回權威DNS記錄[5],可以有效避免DNS記錄被偽造、緩存被污染等問題,就能有效防止惡意攻擊。此外,本文設計的模型中,DNS的更新記錄都會將由云內容管理方面的服務器直接發(fā)布至各節(jié)點的服務器。
綜上所述,本文針對域名解析系統(tǒng)目前所具有的問題,提出了基于云技術的域名解析系統(tǒng),將云節(jié)點的服務器看作傳統(tǒng)域名解析系統(tǒng)之中的權威域名服務器,且在該基礎上對系統(tǒng)模型進行設計。在此系統(tǒng)模型之下,傳統(tǒng)的DNS遞歸查詢方式得以改變,直接通過節(jié)點服務器就可以對用戶域名解析的請求給予相應回應,如此便可大大提高DNS查詢的效率。