[彭巍 賀曉東 李韶英 葉玉劍]
域名服務系統(tǒng)作為互聯網業(yè)務的基礎設施,是寬帶及移動互聯網的起點和入口,是全球互聯網通信的重要保障。根據《中國互聯網2021 發(fā)展報告》:中國網民規(guī)模已達9.89億人,互聯網產業(yè)蓬勃發(fā)展對國內經濟發(fā)展起到了極大的促進作用,互聯網產業(yè)是國民經濟發(fā)展的重量力量。但傳統(tǒng)的DNS 系統(tǒng)用戶查詢、應答模式基本采用UDP 協(xié)議的典型C/S 架構,其協(xié)議在網絡安全、性能等方面存在嚴重的問題,缺乏路由選擇能力,易于控制,運營商的差異化運營能力不足,在現有形勢下難于滿足互聯網業(yè)務的快速發(fā)展需求。
當前的DNS 網絡架構下,DNS 流量在網絡中不進行識別直接傳送至目的解析服務器,而近年出現黑客通過利用各種漏洞惡意篡改寬帶用戶終端的DNS 地址配置,將用戶正?;ヂ摼W訪問指向仿冒欺詐網站的情形,將導致互聯網用戶面臨嚴重安全風險、可能導致重大損失。同時DNS 網絡運營者也無法有效對各個DNS 節(jié)點間進行訪問流量分配,可能導致流量分布極不均勻,提升了網絡建設、擴容、管理的難度。而SDN 體系是一種可編程的網絡組織模式,它作為一種新型網絡組織體系的理念,在IP 網、傳輸網等均得到了廣泛應用,是一種集中控制模式的網絡調度架構。有鑒于此,本文結合DNS 網絡的現狀、發(fā)展需求以及SDN 架構的優(yōu)勢,提出了一種建立于SDN 體系的DNS 流量調度控制架構,可以實現對DNS 業(yè)務流量轉發(fā)的策略定制。通過網絡運營者事先定義的策略路由方式,將用戶的DNS查詢流量識別出來,然后根據已編程的策略轉發(fā)至相應的DNS 服務節(jié)點,保證用戶DNS 流量訪問穩(wěn)定、服務質量可靠、安全可信的域名服務節(jié)點。
DNS 域名解析分正向解析、反向解析和“遞歸查詢”,正向解析就是將域名轉換成對應的IP 地址的過程,它應用于在瀏覽器地址欄中輸入網站域名時的情形;而反向解析是將IP 地址轉換成對應域名的過程,“遞歸查詢”的基本含義就是在某個DNS 服務器上查找不到相應的域名與IP 地址對應關系時,自動轉到另外一臺DNS 服務器上進行查詢。
當用戶訪問某網站時,在輸入域名后,首先就有一臺首選DNS 服務器(通常是緩存服務器)進行解析,如果在它的域名和IP 地址映射表中查詢到相應的網站的IP 地址,則立即可以訪問,如果在當前子DNS 服務器上沒有查找到相應域名所對應的IP 地址,它就會自動把查詢請求轉到根DNS 服務器上進行查詢。如果是相應域名服務商ICP 的域名,在根DNS 服務器中可以查詢到相應域名IP 地址的,如果訪問的不是相應域名服務商域名下的網站,則會把相應查詢轉到對應域名服務商的域名服務器上。如圖1 所示。
圖1 傳統(tǒng)DNS 系統(tǒng)架構示意圖
在實際網絡中,緩存服務器、遞歸服務器屬于同一個DNS 服務節(jié)點。該查詢流程中,DNS 查詢流量基于用戶終端(PC、路由器、手機等)配置的DNS 服務器地址在網絡中傳送,即直接由用戶端發(fā)送到目標DNS 緩存服務地址,中間網絡設備只DNS 查詢流量進行透明轉發(fā)。而運營商網絡主要關注從用戶請求至DNS 緩存服務器的路徑,在當前網絡組織下存在著多種風險。
(1)在此路徑上存在著可能被域名攻擊者使用“撞 庫”的方法給用戶發(fā)送大量虛假DNS 應答包,導致用戶接收錯誤域名結果,產生嚴重的安全后果,例如將用戶正常互聯網訪問指向仿冒欺詐網頁;同時還可能存在篡改用戶配置為地址虛假惡意DNS 服務地址的情況。
(2)在運營商網絡中,DNS 服務節(jié)點實際有多個,DNS 查詢流量通過IP 選路選擇對應的DNS 節(jié)點,網絡運營者缺乏控制手段,無法實現流量均衡,也可能導致個別DNS 服務節(jié)點超限。
(3)當前DNS 查詢訪問流量規(guī)模極速擴大,且寬帶、移動網用戶的訪問也存在差異性,當前網絡組織缺乏對上述流量的調度編程能力。
SDN 的網絡體系中心設計思想是將網絡設備控制面與數據面分離,并實現可編程化控制,以統(tǒng)一集中控制的方式解決網絡的復雜性問題,包括路由計算、數據轉發(fā)。狹義的SDN 通常指基于OpenFlow 等協(xié)議的控制器、OpenFlow 交換機構成的控制平面與轉發(fā)平面。而廣義上SDN 是一種基于集中控制調度的轉發(fā)與控制分離的組網模式。本文總結SDN 的優(yōu)勢,把SDN 技術引入至DNS 網絡組織,建立一種基于SDN 控制的DNS 組織架構,使傳統(tǒng)DNS 實現轉發(fā)與控制相分離,將網絡設備及DNS 緩存設備抽象化,通過邏輯上的集中控制,實現域名服務器資源的靈活調度及新域名服務的快速部署。本文提出的體系模式如圖2 所示。
圖2 采用SDN 技術的DNS 系統(tǒng)架構示意圖
DNS 業(yè)務控制器具備開放的南北向接口,提供可編程能力,屏蔽底層物理設備的差異實現資源池化,但在邏輯上實現集中化的統(tǒng)一控制,滿足大規(guī)模DNS 部署需求。DNS 業(yè)務控制器,向域名服務應用程序展示網絡信息,把統(tǒng)計數據收集和事件通知融入管理會話的數據中。主動關聯用戶類型、安全策略、拓撲發(fā)現等多維信息編排生成控制策略及流表,通過安全隧道下發(fā)DNS 服務安全網關。
DNS 業(yè)務控制器與DNS 服務安全網關間通過OpenFlow/Netconf/XML/CLI 等協(xié)議交互,實現策略的下發(fā)和控制。DNS 服務安全網關對DNS 流量進行精確識別,匹配流表從對應的端口進行轉發(fā),并按需添加、刪除或者修改流表中的某些字段,通過建立安全隧道實現轉發(fā)路由的安全可靠,通過DNS 服務安全網關,將流量按運營商策略轉發(fā)至對應的DNS 服務節(jié)點。
在原有的網絡組織中并沒有基于SDN 架構的DNS 流量控制轉發(fā)這一部分,在不改變原有的網絡組織的前提下,集中部署DNS 業(yè)務控制器,由網絡邊緣設備將DNS 查詢流量轉發(fā)至前置DNS 服務安全網關,DNS 服務安全網關(以下簡稱DNS 網關)根據DNS 業(yè)務控制器下發(fā)的策略進行流量轉發(fā)。
網絡組織主要特點如圖3 所示。
圖3 基于轉發(fā)和控制分離的DNS 系統(tǒng)架構網絡部署
(1)各網絡邊緣設備與前置DNS 網關之間建立GRE隧道,用于轉發(fā)DNS 請求流量;
(2)前置DNS 服務安全網關終結GRE 隧道,與各DNS 網關連接,并將DNS 請求數據包分發(fā)至各DNS 網關;
(3)各DNS 網關之間不互聯,所有的DNS 服務安全網關與控制器之間通過帶內建立安全通道;
(4)各DNS 網關與出口路由器之間直聯,由各DNS網關處理后的DNS 請求數據包直接轉發(fā)至出口路由器。
基于DNS 業(yè)務控制器及DNS 服務安全網關,實現的功能包括DNS 流量實時精確識別匹配、可編程DNS 流量控制、域名安全隧道、等重要控制轉發(fā)功能,提供差異化域名服務能力。
DNS 業(yè)務控制器是一個邏輯集中的DNS 業(yè)務控制實體,其基本功能是將DNS 應用的應用業(yè)務策略轉換成具體流表下發(fā)給網關,實現DNS 安全防護功能。DNS 業(yè)務控制器可基于開源控制器進行的二次開發(fā),有5 個主要的核心模塊。
(1)拓撲發(fā)現和管理:與DNS 網關建立鏈接后,控制器發(fā)現DNS 網關間的連接關系并進行管理;
(2)鏈路狀態(tài)監(jiān)測:監(jiān)測各鏈路狀態(tài),分析各DNS網關的運行狀態(tài);
(3)流量分發(fā)策略:控制器監(jiān)測各DNS 網關運行狀態(tài),通過向前置DNS 網關下發(fā)流表將DNS 流量分發(fā)給各DNS 網關進行處理;
(4)DNS 服務節(jié)點狀態(tài)監(jiān)測:通過北向接口與DNS平臺管理系統(tǒng)連接,查詢接收DNS 服務節(jié)點運行狀態(tài);
(5)DNS 選擇策略:根據用戶分類選擇DNS 服務節(jié)點,生成流表并下發(fā)給指定DNS 網關。
在圖3 的網絡組織模式下,通過SDN 業(yè)務控制的統(tǒng)一控制,利用DNS 網關實現用戶查詢流量的牽引、調度及安全轉發(fā),實現流量均衡、安全調度等多種功能。本文提出2 種功能實現思路。
(1)流表方式。具體數據處理流程如圖4 所示。
圖4 DNS 流量調度處理流程
控制器通過接口與AAA 系統(tǒng)對接,獲取用戶屬性、區(qū)域及IP 地址等信息,建立用戶類別與IP 地址段的對應關系;根據各類用戶選擇DNS 服務節(jié)點、以及DNS 服務節(jié)點的性能的原則向各DNS 網關的table1 下發(fā)flow entry。例如:
Flow entry1:match field 源IP 地址=類型1 用戶IP地址段(IP 地址+mask);action=修改目的IP 地址為選定的DNS 服務節(jié)點a 的IP 地址、修改目的MAC 為出口路由器端口MAC,output 至各DNS 網關與前置DNS 網關連接的端口。
對于鏈路狀態(tài)監(jiān)測和流量分發(fā)策略,控制器需要監(jiān)測DNS 網關鏈路的運行狀態(tài),從而判斷前置DNS 網關應該將DNS 流量分發(fā)到各DNS 網關的比例。
(2)安全轉發(fā)隧道方式
除了通過下發(fā)流表進行DNS 業(yè)務流量轉發(fā),流量控制也可通過DNS 服務安全網關與DNS 節(jié)點間建立的隧道轉發(fā)來實現,如圖5 所示。
圖5 安全隧道進行DNS 業(yè)務流量調度
DNS 業(yè)務控制器根據用戶等級、屬性對用戶進行分組,結合用戶分組、DNS 服務器狀態(tài)等制定DNS 服務器選擇策略。DNS 服務安全網關轉發(fā)也可采用IP 路由方式,在此情形下,配置信息通過Telnet 方式下發(fā)至DNS 服務安全網關,DNS 服務安全網關接收配置信息,并根據配置信息進行DNS 流量的轉發(fā)至性能良好、安全可靠的DNS 服務地址,從而實現流量的負載均衡,保證業(yè)務流量的安全以及DNS 服務節(jié)點高效運行。
本文研究分析SDN 技術的實現以及目前DNS網絡組織中流量傳送的問題,提出了一種建立在SDN 體系上的DNS架構,可以實現對DNS查詢流量的調度、控制,應用場景可包括DNS 流量安全轉發(fā)、DNS 節(jié)點間的負載均衡等功能,可為網絡運營商提供新的DNS 網絡建設思路與方案,提供差異化業(yè)務提供能力、安全服務能力,適應5G 業(yè)務快速發(fā)展的快速、高效、準確等域名解析需求。