王培杰
(中移鐵通福建分公司云數(shù)據(jù)支撐中心,福州 350000)
DNS(Domain Name System)是域名和IP地址相互映射的一個分布式數(shù)據(jù)庫,是電信運營商網(wǎng)絡(luò)中關(guān)鍵的應(yīng)用系統(tǒng),用戶發(fā)起的域名請求,通過DNS解析后返回IP地址給用戶,DNS可從源頭上解決互聯(lián)網(wǎng)資源定位的優(yōu)先權(quán)問題,如果DNS解析不準確,可能會造成省內(nèi)或網(wǎng)內(nèi)已有的資源無法被用戶訪問,造成用戶出網(wǎng)訪問資源,導(dǎo)致互聯(lián)互通流量增加,影響用戶上網(wǎng)的體驗,因此通過DNS管控,實現(xiàn)訪問速度優(yōu)化和出網(wǎng)流量有效牽引顯得尤為重要。
異常DNS請求主要有以下幾個原因:
(1)集客用戶DNS設(shè)置沒有強制約束,設(shè)置異網(wǎng)DNS問題突出。
(2)小米盒子、百事通、智能路由器等互聯(lián)網(wǎng)產(chǎn)品默認設(shè)置8.8.8.8等開源DNS。
(3)騰訊電腦管家、360等網(wǎng)絡(luò)修復(fù)等軟件,默認設(shè)置指定路由器密碼修復(fù)工具。
由此可見,多種因素均可以修改用戶側(cè)DNS,造成用戶實際使用的并非運營商提供的DNS,導(dǎo)致用戶使用他網(wǎng)DNS解析目的域名,由于他網(wǎng)DNS域名解析的資源IP通常需出網(wǎng)才能訪問,最終用戶沒有就近使用網(wǎng)內(nèi)資源,而是出網(wǎng)獲取資源,使得用戶沒有獲得最佳的網(wǎng)絡(luò)體驗。
DNS管控重點要達到以下目的:
(1)挽回異網(wǎng)訪問,縮減網(wǎng)間成本。實現(xiàn)所有用戶DNS請求100%可管控,實現(xiàn)他網(wǎng)DNS請求的網(wǎng)內(nèi)解析,杜絕 網(wǎng)內(nèi)已有,網(wǎng)外訪問 的情況,減少互聯(lián)互通流量,增加IDC、CHCHE、CDN等內(nèi)容網(wǎng)絡(luò)資源流量。
(2)提升用戶感知,避免異常投訴。通過DNS管控,提升用戶感知,避免由于他網(wǎng)DNS解析造成的訪問差異投訴。
目前國內(nèi)主流的建設(shè)方案為建設(shè)專業(yè)的DNS管控平臺,將用戶DNS管控系統(tǒng)在省網(wǎng)核心層進行集中部署,管理范圍涵蓋所有網(wǎng)絡(luò)接入的用戶。平臺需要采集用戶DNS請求及解析報文;同時需要與網(wǎng)絡(luò)互通,實現(xiàn)管控后報文的轉(zhuǎn)發(fā)。
系統(tǒng)DNS數(shù)據(jù)采集可采用如下2種方式:
(1)通過分流平臺(如:SIG、FS3200、SCE等)對用戶DNS解析請求流量進行策略分流。
(2)在省干路由器實施策略鏡像(基于53端口),將流量鏡像至DNS管控平臺。
DNS數(shù)據(jù)采集可采用如上兩種方案,即:通過分流平臺分流方案和省干路由器策略鏡像方案。兩種方案都可以將用戶原始DNS流量引導(dǎo)至用戶DNS管控平臺。由管控平臺的 優(yōu)化分析服務(wù)器 負責對DNS流量進行分析,對用戶使用省內(nèi)DNS的請求不做處理,而對用戶使用他網(wǎng)DNS解析的請求首先判斷用戶所要訪問的內(nèi)容是否是網(wǎng)內(nèi)已有資源,如果是,交由DNS優(yōu)化服務(wù)器負責為用戶解析,如果不是,交由強制遞歸服務(wù)器負責把用戶使用的DNS修正為省內(nèi)DNS,平臺所有操作和處理過程均在用戶無感知和不影響使用的情況下完成。
如果省內(nèi)分流平臺未能覆蓋全部出口鏈路,可采用 省干路由器策略鏡像方案 。
該方案通常在核心層省干節(jié)點路由器上對DNS的報文進行基于53端口的鏡像策略,將DNS請求報文發(fā)送到DNS優(yōu)化分析服務(wù)器,實現(xiàn)全省DNS報文的采集輸出。
(1)兩個節(jié)點的核心路由器全業(yè)務(wù)流量分光至分流平臺,分流平臺對DNS上下行報文進行 基于策略(基于53端口)的鏡像 ,送到 DNS分析服務(wù)器 網(wǎng)卡。
(2)核心節(jié)點到DNS管控平臺間,可利用傳輸完成遠距離調(diào)度。
(3)如鏡像輸出后的鏈路多于2條,則增加二層交換機上對鏈路進行再次鏡像收斂,實現(xiàn)單端口輸出到服務(wù)器。如不多于2條,可直接送到 DNS優(yōu)化服務(wù)器 的1到2個網(wǎng)口。
系統(tǒng)拓撲結(jié)構(gòu)如下圖所示:
管控平臺要求:
(1)采集輸出DNS數(shù)據(jù)中,包括DNS上行請求和下行解析雙向報文。
(2)為保證DNS管理平臺可以分析到全網(wǎng)用戶DNS解析行為,采集輸出DNS數(shù)據(jù)中,包括本網(wǎng)DNS和出網(wǎng)DNS交互報文。
運營商現(xiàn)網(wǎng)部署了大量的防火墻,為節(jié)省成本開銷,可采用利舊防火墻的方案對DNS請求實施管控,通過防火墻NAT轉(zhuǎn)換實現(xiàn)DNS管控需求。
管控過程:
在省網(wǎng)核心層路由器,將DNS請求UDP和TCP53端口進行管控,通過策略路由將本省DNS請求放行,將其他請求該端口路由指向安全防火墻,首先將DNS請求通過源NAT,將源IP NAT為防火墻內(nèi)部地址,然后在防火墻通過策略路由將該請求進行回指,在防火墻接口出方向做目的NAT,將目的IP NAT為本省DNS,使得他網(wǎng)DNS請求轉(zhuǎn)換為本省DNS請求,用戶訪問他網(wǎng)的DNS請求通過兩次NAT,轉(zhuǎn)換為使用防火墻內(nèi)部IP(源IP)訪問本省DNS(目的IP),在用戶無感知的情況下,即使其DNS已被篡改,最終DNS請求的結(jié)果仍然與本省DNS解析結(jié)果相同。
管控結(jié)論:
通過DNS管控前后的解析結(jié)果進行對比,發(fā)現(xiàn)新浪域名www.sina.com.cn管控后使用他網(wǎng)DNS解析結(jié)果與本省DNS解析結(jié)果一致,證明管控成功。
管控效果:
(1)通過DNS管控,部分出網(wǎng)訪問的流量,得以從網(wǎng)內(nèi)獲取,使得省內(nèi)互聯(lián)互通流量下降,同時IDC及CACHE緩存流量得到提升,既降低了網(wǎng)間互聯(lián)互通的結(jié)算費用及服務(wù)器等硬件資源的投入,又提高了本網(wǎng)內(nèi)容網(wǎng)絡(luò)的服務(wù)效率。
(2)用戶原來從外網(wǎng)獲取的資源,改為就近由省內(nèi)或網(wǎng)內(nèi)提供,內(nèi)容網(wǎng)絡(luò)貼近用戶,同時避免了與外網(wǎng)用戶爭搶內(nèi)容資源,使得用戶感知獲得提升。
運營商通過他網(wǎng)DNS管控,加強了對他網(wǎng)DNS的監(jiān)管,有效的避免了由于多種原因造成的DNS篡改后的出網(wǎng)訪問情況,根據(jù)FLOW數(shù)據(jù)的挖掘,及時跟蹤DNS TOP請求排名變化,定期更新DNS管控列表,將DNS管控工作持續(xù)、深入、常態(tài)化開展,切實降低使用他網(wǎng)DNS對用戶造成的影響,從源頭上面進行保障,為用戶提供更加優(yōu)質(zhì)的互聯(lián)網(wǎng)內(nèi)容資源。
[1] 百度百科DNS技術(shù)介紹.https://baike.baidu.com/item/dns/427444?fr=aladdin[R].
[2] DPtech FW1000系列防火墻技術(shù)白皮書.http://www.dptech.com/products.php?book_info/10/1/1[R].