歐陽帆
一、引言
域名系統(DNS)是一種用于TCP/IP應用程序的分布式數據庫,它提供主機名字和lP地址之間的轉換及有關電子郵件的選路信息。這里的分布式是指在Internet上的單個站點不能擁有所有的信息。每個站點保留它自己的信息數據庫,并運行一個服務器程序提供Internet上的其他系統(客戶程序)查詢。DNS提供了允許服務器和客戶程序相互通信的協議。
在因特網中幾乎每個用戶的每次訪問都會使用到域名解析,所以域名解析的準確程度和響應速度對整個網絡的服務質量的影響非常重要。如何保證對域名的管理和解析統一、及時、準確,成為一個必須關注的問題。
隨著寬帶業務的迅速發展,用戶對網絡響應速度的要求越來越高,傳統設備負載比較高,部分設備CPU負載達60%左右,存在安全隱患。高性能域名服務器將徹底解決傳統的域名解析系統存在的上述問題,提高運營商本地資源競爭優勢,提高用戶訪問質量。
二、高性能域名服務器介紹
為應對運營商大規模增長的域名查詢、提高遞歸查詢效率和用戶上網體驗而推出的純緩存和遞歸系統;該系統采用了授權和緩存拆分的構架,只提供遞歸和緩存功能,使用事件驅動的內存尋址技術,以及更高效的遞歸任務管理機制,可以達到現在傳統BIND系統性能的4-6倍。
高性能域名服務器,單臺設備具備160萬QPS緩存和320萬QPS防護能力,基本具備三倍系統冗佘能力,并且具備通過軟件license擴容能力。
(一)工作原理
工作原理比較簡單,它工作在二層透明模式下。對所有進出的數據包可以進行二層的數據比對,從而按照相應的策略攔截和過濾相關的數據包.正常的數據包則放行至DNS緩存系統。
既然所有的數據包都會通過高性能域名服務器,則高性能服務器就可以對這些數據包進行檢測、過濾和控制。由于工作在二層,因此其工作效率極高。后面的內容我們將會詳細介紹該性能夠實現的安全防護功能。
(二)成功應答率
根據運營商入網測試的結果和實際使用情況可以知道,高性能域名服務器能夠最大程度地保證后臺服務的正常運行。即使在承受800萬qps甚至更高的DDOS攻擊時,以及其它的遞歸攻擊、放大攻擊、中毒攻擊、錯誤域名攻擊等情況時,后臺緩存系統解析成功率依然可以保持在99.5%以上。
(三)不影響用戶
高性能域名服務器如果出現故障,系統具備下面多種冗余措施,保證不會對用戶流量產生影響:anycast架構中設備的健康檢查功能,鏈路bypass功能,設備支持網卡bypass功能,即在遇到某些特殊情況時,如斷電、系統故障時,系統不對數據包進行任何處理,而直接交給后面的系統完成相關的功能。
(四)失敗保護
高性能域名服務器具備豐富的失敗保護機制,即失敗跳接。具體情況如下:
1.設備硬件故障
當系統出現硬件故障,如網絡中斷、宕機、掉電等情況時,用戶流量將會自動的跳接給原有的DNS系統,網管系統可以進行告警。
2.系統故障
系統帶有健康檢查模塊,該模塊可以實時的對高速緩存系統的狀態進行檢測,當發現存在嚴重問題或是可能要出現嚴重故障時,健康檢查系統可以自動將高速緩存系統進行失敗跳接,并發出告警。
3.手工失敗跳接
不論在任何情況下,如果管理員需要進行失敗跳接,系統都可以進行強制的跳接工作。
4.工作流程
系統具體是按照如下的流程進行工作的:1、用戶請求數據包,通過網絡和網卡進入高速緩存服務器2、緩存空間中如果有相關的記錄,則直接將結果返回用戶。3、如果緩存空間中沒有相關的記錄,則請求包將繼續發送給遞歸系統。4、遞歸系統接收到相關的請求,并進行相關的遞歸查詢。5、遞歸查詢的結果將會返回給高速緩存服務器。6、該遞歸結果將被緩存至高速緩存空間中以便后續使用,可以采用分布式部署方式實現的針對DNs系統的防護功能,且支持性能上的線性疊加。該系統部署支持串接、旁掛及流量牽引模式。
5.工作原理(軟+硬)
高速緩存之所以能夠在相同的配置下實現極高的響應性能,這是和其極高的運行效率分不開的。我們以osl的七層模型為例,看看普通DNS緩存服務器和高新能服務器的區別。普通的DNS緩存服務器針對用戶請求進行緩存查詢和響應的工作,是在應用層上完成的,也就是說用戶請求,通過網絡到達普通緩存服務器后,會通過物理層的網卡進入數據鏈路層、網絡層、傳輸層、會話層、表示層、應用層,最終在應用層進行相關的處理,然后再逐級下行,并將結果返回用戶。這樣的數據,將會返回貫穿7層模型中的所有層次。高新能服務器則工作在第二層,即用戶數據包只需要進入DNS服務器的第二層即可獲得答案,并將結果返回給用戶。
三、高性能域名服務器的應用
面向用戶的域名系統直接向用戶提供高性能的域名解析服務。作為純遞歸應用為支持復雜業務應用的BIND系統提供緩存分享,建立緩存與遞歸拆分的二級構架,該結構在2007年已經在國內運營商使用,實現了遞歸合并與緩存分享,支持多種硬件平臺,可直接在現有BIND平臺上部署,提供軟硬綁定的一體化系統。
同一節點內采用RNS與BIND系統的混合模式,即保留了業務復雜支持的能力,又增加了域名系統整體的處理能力;采用anycast技術部署RNS系統,使其組網結構靈活在遭受攻擊時,可以通過路由調整負載提高系統抗攻擊能力;平時還可以作為小節點的一級遞歸。
根據攻擊的模式可以動態組合多種形式提高系統穩定性,如:遞歸攻擊、反射攻擊、UDP Flood等。
以高性能RNS系統構建一級遞歸系統,提供高效遞歸查詢;采用anycast架構部署,接收本節點和臨近節點的遞歸查詢;作為省內遞歸查詢出口,與其它BIND系統分享緩存結果;應用TTL優化,建立可控制的TTL調整機制;一級遞歸系統實現全網的遞歸查詢匯聚,自動合并重復的遞歸查詢,減少出網的遞歸查詢量;在遭受遞歸攻擊時,實現遞歸隊列緩沖,避免單層架構遞歸隊列迅速占滿引發的系統故障;預混合模式相同,這個系統在遭到其他類型攻擊時,可以調整工作狀態,加入到本地工作組或分流其它節點的攻擊流量。
四、高性能域名服務器的必要性
解析系統主要應用于支撐IP寬帶業務,根據遼寧省通信管理局網站信息,互聯網寬帶用戶數量全國排名第十。隨著互聯網業務的普及,終端接入帶寬的增長,寬帶接入業務預計在未來幾年內,業務用戶數和業務流量將會有更大增長。特別是隨著市場競爭的激烈,用戶ARPU值也呈微幅下降的趨勢。根據綜合規劃,未來幾年將持續推進寬帶升級提速,提高寬帶業務在家庭市場的滲透率,提升寬帶作為全業務發展基礎的戰略地位。促進固網寬帶與移動互聯網應用結合,大力發展基于家庭網關的“語音+數據+終端+應用”一體化解決方案,開展深度經營,加大業務捆綁營銷。
高速緩存系統完全可以單機獨立運行,就和普通的DNs緩存服務器的使用方式一樣。不同的是其緩存直接解析性能可以達到160萬qps以上。遞歸解析性能可以達到7萬qps以上。通過這樣的方式,我們可以簡單的沿用anycast架構的靈活的擴容方式,在交換機下增加高速緩存服務器即可大幅提高該節點內系統的整體性能。為了達到最大性能,建議采用10GE交換機或接口。
五、結語
普通的域名服務器由于工作在應用層,因此它上面的系統,如BIND可以支持多種復雜的功能、配置,適合完成多種復雜的、多變的應用。高性能域名服務器,由于只工作在數據鏈路層,因此針對緩存應用工作效率極高,是傳統BIND系統性能的4-6倍且部署也相對靈活。