[王素彬 曹維華 鄭忠民 張玉珊]
基于SDN的智能流量管理系統(tǒng)
[王素彬 曹維華 鄭忠民 張玉珊]
網(wǎng)絡(luò)的發(fā)展和業(yè)務(wù)的多樣性帶來了網(wǎng)絡(luò)性能和網(wǎng)絡(luò)安全問題的挑戰(zhàn)。立足于網(wǎng)絡(luò)虛擬化的SDN解決方案,將SFLOW報文檢測技術(shù)和SDN控制功能相結(jié)合,提出了一種基于SDN的智能流量管理系統(tǒng)。該系統(tǒng)的主要功能是實現(xiàn)異常流量實時檢測,并在此基礎(chǔ)上通過預(yù)定義的策略實現(xiàn)流量流向的轉(zhuǎn)發(fā)控制。
SDN ODL sflow openflow
王素彬
中國電信股份有限公司廣東研究院工程師,從事IP網(wǎng)絡(luò)技術(shù)和下一代互聯(lián)網(wǎng)研究。
曹維華
中國電信股份有限公司廣東研究院高級工程師,主要研究方向為移動互聯(lián)網(wǎng)。
鄭忠民
中國電信股份有限公司廣東研究院工程師,從事IP網(wǎng)絡(luò)技術(shù)和下一代互聯(lián)網(wǎng)研究。
張玉珊
中國電信股份有限公司四川分公司工程師,從事移動互聯(lián)網(wǎng)、IP承載網(wǎng)技術(shù)研究。
“互聯(lián)網(wǎng)+”時代下的信息化建設(shè)和數(shù)據(jù)應(yīng)用已經(jīng)成為企業(yè)的核心組成部分和企業(yè)的核心資產(chǎn)。企業(yè)希望從信息化建設(shè)中提高生產(chǎn)效率,降低運營成本,在信息共享中促進(jìn)創(chuàng)新,加快業(yè)務(wù)和產(chǎn)品交付和應(yīng)用。而與此同時,隨著信息化和數(shù)據(jù)應(yīng)用的普及的同時,信息安全面臨著極大挑戰(zhàn)。有數(shù)據(jù)表明中國企業(yè)信息安全事件,在過去的一年中平均數(shù)量上升了5倍。同時,實時的網(wǎng)絡(luò)狀態(tài)諸如網(wǎng)絡(luò)帶寬使用情況,承載業(yè)務(wù)情況等內(nèi)容也越來越被電信運營商和企業(yè)用戶所關(guān)注。
網(wǎng)絡(luò)上的攻擊和違規(guī)行為源于網(wǎng)絡(luò)上設(shè)備的轉(zhuǎn)發(fā),我們的目標(biāo)是研究一種簡單、開放且靈活的方式,提前檢測影響網(wǎng)絡(luò)性能的事件或網(wǎng)絡(luò)攻擊信息,并采取合適的網(wǎng)絡(luò)行為?;谏鲜隹紤],我們圍繞兩個關(guān)鍵技術(shù)進(jìn)行研究:檢測和控制。
2.1檢測技術(shù)
基于數(shù)據(jù)報文的檢測以及流量采樣是應(yīng)對信息安全事件的針對性分析,也是業(yè)界多方嘗試并尋求的解決方案。從報文采集角度來看的話,目前主要有兩種流行的方式:(1)基于流量鏡像或分光的方式,(2)基于流量采樣的方式。
其中,我們重點研究了基于流量采集的實現(xiàn)方式;即通過流量采集協(xié)議SFLOW所含豐富的信息實現(xiàn)對網(wǎng)絡(luò)上的流量特征進(jìn)行自動化分析。
SFLOW技術(shù)基于IETF的網(wǎng)絡(luò)標(biāo)準(zhǔn)協(xié)議RFC3176。作為網(wǎng)絡(luò)流量檢測技術(shù),它采用數(shù)據(jù)流隨機采樣技術(shù),可提供完整的第2層到第4層,甚至全網(wǎng)絡(luò)范圍內(nèi)的流量信息,讓用戶詳細(xì)、實時地分析網(wǎng)絡(luò)傳輸流的性能、趨勢和存在的問題。同時,SFLOW可以支持上萬個千兆、萬兆端口,使得大規(guī)模、高速的網(wǎng)絡(luò)均能得到精確監(jiān)視。
雖然SFLOW不同于轉(zhuǎn)發(fā)所有數(shù)據(jù)包的“鏡像端口”或“網(wǎng)絡(luò)旁路”技術(shù),但它可以提供適合安全監(jiān)視和策略執(zhí)行的大量信息,其優(yōu)勢在于能夠向安全采集器提供實時的采樣數(shù)據(jù)進(jìn)行分析,從而提供整個網(wǎng)絡(luò)的連續(xù)監(jiān)視能力。
2.2網(wǎng)絡(luò)控制
軟件定義網(wǎng)絡(luò)(SDN)是目前流行的全新網(wǎng)絡(luò)架構(gòu)。SDN通過將網(wǎng)絡(luò)設(shè)備控制層與數(shù)據(jù)層分離,深刻改變了現(xiàn)有網(wǎng)絡(luò)管理和運維習(xí)慣。SDN控制器開放了用戶對網(wǎng)絡(luò)設(shè)備的控制和接入,并通過靈活可定義的策略實現(xiàn)網(wǎng)絡(luò)轉(zhuǎn)發(fā)行為控制。輔以預(yù)定義的策略進(jìn)而可實現(xiàn)自動化方式管理網(wǎng)絡(luò)流量、流向控制以及業(yè)務(wù)部署。
SFLOW在結(jié)合SDN控制器的管理層控制功能后,即克服了SFLOW只能“測”,不能“做”的弊端,又能夠以主動的方式,針對2~4層業(yè)務(wù)實現(xiàn)流量控制。比如,實現(xiàn)提升網(wǎng)絡(luò)資源利用率、檢測攻擊并抑制攻擊,減少網(wǎng)絡(luò)擁塞等。
因此,如何實現(xiàn)兩種技術(shù)的融合,將網(wǎng)絡(luò)流量的抽樣檢測和SDN控制的無縫結(jié)合是我們研究的重點。
將SFLOW報文檢測技術(shù)和SDN控制功能相結(jié)合,實現(xiàn)異常流量實時檢測,并在此基礎(chǔ)上通過預(yù)定義的策略實現(xiàn)流量流向的轉(zhuǎn)發(fā)控制;這樣的系統(tǒng)我們稱之為基于SDN的智能流量管理系統(tǒng)。該系統(tǒng)的主要功能設(shè)計包括:
(1)網(wǎng)絡(luò)流量的實時可視性;
(2)檢測并管理大型網(wǎng)絡(luò)的2~4層流量,精細(xì)的控制;
(3)通過SDN控制器下發(fā)控制策略,用以改變網(wǎng)絡(luò)轉(zhuǎn)發(fā)行為,消除網(wǎng)絡(luò)擁塞或攻擊;
(4)網(wǎng)絡(luò)流量控制的自動化功能,自動避免網(wǎng)絡(luò)故障和拒絕服務(wù)攻擊事件;
(5)基于SDN控制器的人機交互的WEB用戶管理配置界面,提供一種開放式的SDN解決方案;
(6)與第三網(wǎng)絡(luò)運維/運營平臺的解耦合要求,通過SDN北向REST API接口與云協(xié)同系統(tǒng)的簡單集成。
3.1動態(tài)流量監(jiān)控系統(tǒng)架構(gòu)
系統(tǒng)架構(gòu)如圖1所示。
圖1 動態(tài)流量監(jiān)控系統(tǒng)架構(gòu)
其中:
(1)網(wǎng)元設(shè)備①是網(wǎng)絡(luò)基礎(chǔ)設(shè)備,要求支持SFLOW協(xié)議和openflow1.3協(xié)議,同時作為SFLOW協(xié)議的代理設(shè)備。
(2)設(shè)備②為SFLOW收集器,負(fù)責(zé)收集流量采集數(shù)據(jù)。
(3)設(shè)備③是流量監(jiān)測管理器,用于分析、管理流量,并提供圖形化界面和RESTAPI接口;通過RESTAPI可實現(xiàn)與大型云計算管理平臺實現(xiàn)對接。流量監(jiān)測管理器以獨立應(yīng)用的形式運行在服務(wù)器上,也可與SDN控制器集成在一臺服務(wù)器部署。
(4)設(shè)備④是定制SDN控制器,用于實現(xiàn)Openflow1.3的規(guī)則定義,并下發(fā)流表給網(wǎng)元設(shè)備①。
3.2 SDN控制器設(shè)計
基于開源架構(gòu)的OpenDaylight控制器的最大優(yōu)勢是開放的模塊化的設(shè)計架構(gòu)、豐富的南向接口和開放的北向接口(API),具備網(wǎng)元設(shè)備控制和用戶界面設(shè)計的高度可集成性。
OpenDaylight控制器的體系結(jié)構(gòu)如圖2所示。
圖2 ODL控制器的體系結(jié)構(gòu)
ODL控制器是流量監(jiān)測管理器實現(xiàn)對網(wǎng)元設(shè)備控制的重要組成部分。ODL通過南向接口對網(wǎng)絡(luò)設(shè)備端口進(jìn)行了重新定義。ODL通過北向API接口,實現(xiàn)與流量管理器的控制交互和集成。同時,基于ODL的開放性和對OPENFLOW設(shè)備的廣泛支持能力,也決定了流量管理器對廣泛網(wǎng)元設(shè)備的快速支持能力;另外,更重要的是,通過ODL控制器將流量監(jiān)控策略、流量閾值參數(shù)以及流量行為控制策略推送至Openflow端口,實現(xiàn)了網(wǎng)絡(luò)及網(wǎng)元的按需引流,真正做到不動網(wǎng)、不斷網(wǎng)的運維管理要求。
3.3流量監(jiān)測管理器的功能
流量監(jiān)測管理器作為一個獨立的SDN(ODL)APP形式部署。在功能上,一方面要不斷收集SFLOW代理發(fā)送的數(shù)據(jù)報文,并對數(shù)據(jù)報文進(jìn)行實時分析,獲得網(wǎng)絡(luò)流量;另外一方面,作為ODL控制器的APP擴(kuò)展應(yīng)用,還需要具備智能的策略定義和交互功能。具體定義如下:
(1)判斷流量類型,支持L2~L4層協(xié)議分析;
(2)判斷端口流量大小,并判斷是否超過預(yù)定義帶寬利用率的閾值;
(3)定義策略判斷流量是否超閾值,對超過閾值的流量實施執(zhí)行相應(yīng)預(yù)定義策略,比如限速,重定向,鏡像或者其他流量管理策略;
(4)流量管理策略的能力定義如下:
① 匹配過濾器策略可發(fā)現(xiàn)大流量流
② 匹配黑白名單可發(fā)現(xiàn)大流量流
③ 通過匹配過濾器發(fā)現(xiàn)并學(xué)習(xí)流
④ 通過學(xué)習(xí)可自動創(chuàng)建、自定義流
⑤ 配置過濾器策略可發(fā)現(xiàn)用戶自定義流
⑥ 刪除用戶自定義流
⑦ 用戶流可設(shè)置時間限制
(5)提供基于Web 的圖形用戶管理界面(GUI);提供簡單的配置文件配置、詳細(xì)的控制面板視圖以及相關(guān)設(shè)置;
① 實時性事件的展示和統(tǒng)計
② 實時性相關(guān)的攻擊信息、監(jiān)控信息設(shè)置及展示
③ 超過閾值的流量統(tǒng)計和告警的設(shè)置
④ 基于歷史數(shù)據(jù)的報表統(tǒng)計及展示
(6)提供與SDN控制器交互的API接口。借助可編程REST API 可方便地完成配置、運行和分析IT DevOps的自動化,從而以自定義方式與現(xiàn)有網(wǎng)絡(luò)環(huán)境和云協(xié)同系統(tǒng)集成。
① 支持用于獲取配置列表的REST接口
② 支持用于創(chuàng)建/編輯/刪除/使能/失效/改變用戶屬性的REST接口
③ 支持用于匹配過濾器獲取事件列表的REST接口
④ 支持用于獲取流量管理器配置的REST接口
⑤ 支持用于增加/編輯/刪除流量管理器配置的REST接口
⑥ 支持用于編輯/刪除流量管理器用于自定義流的REST接口
⑦ 支持用于獲取歷史和實時性能數(shù)據(jù)的REST接口
⑧ 支持XML和JSON
3.4流量監(jiān)測管理器的策略管理
策略管理是體現(xiàn)如何通過系統(tǒng)將流量定義、管理和執(zhí)行的重要內(nèi)容,而配置文件是策略管理的具體表述方式。因此,配置文件作為系統(tǒng)的重要組件在實現(xiàn)匹配流量特征行為之外,還要能夠?qū)崿F(xiàn)前文流量檢測管理器功能一章中提到的,針對流量的多種操作行為。
具體來說,配置文件不僅僅定義了對流量的識別,流量大小的閾值,還定義了當(dāng)實時的流量超過閾值時,系統(tǒng)對流量轉(zhuǎn)發(fā)所做的自動執(zhí)行的動作,諸如特定轉(zhuǎn)發(fā)、限速、中斷以及鏡像等操作。配置文件通過設(shè)定如下參數(shù)實現(xiàn):
(1)被檢測流所屬網(wǎng)絡(luò)層(L2~L4)
(2)被檢測流之所以被認(rèn)定為超大流的條件
(3)被檢測流在檢測出來后將要執(zhí)行的策略或動作,包括
① 不執(zhí)行
② 丟棄
③ 重定向
④ 統(tǒng)計
⑤ 鏡像
⑥ 遠(yuǎn)程觸發(fā)黑洞(RTBH)
(4)所執(zhí)行策略或動作的持續(xù)時間和閾值
通過上述配置文件的定義則可實現(xiàn)對流量的深度管理。
4.1流量可視化
網(wǎng)絡(luò)質(zhì)量和網(wǎng)絡(luò)流量的測量是網(wǎng)絡(luò)運維人員日常重點關(guān)注的工作。無論是傳統(tǒng)網(wǎng)絡(luò)或者SDN 都有很多成熟的工作和方案。比如NETFLOW,SFLOW,SNMP或者結(jié)合OPENFLOW的SDN等。但是有多少個方案能夠?qū)⑼ㄟ^檢測得到的分析結(jié)果反饋到網(wǎng)絡(luò)上,從而提升網(wǎng)絡(luò)的可靠性和利用效率呢?
下面的應(yīng)用場景將從日常流量的可視化這個角度去探討如何實現(xiàn)SFLOW流量采集和SDN控制分析相結(jié)合,并實現(xiàn)網(wǎng)絡(luò)L2~L4的流量監(jiān)控和管理的功能。
業(yè)務(wù)應(yīng)用場景如圖3所示。
圖3 網(wǎng)絡(luò)流量可視化
在這個場景里,我們可以實現(xiàn)這些功能:
(1)基于SDN的流量測量,并支持SDN配置和操作;
(2)監(jiān)控特定流量帶寬使用情況及流量分析(支持MAC,IP,VLAN & VM flows);
(3)園區(qū)用戶計費統(tǒng)計流量管理,ISP計費和服務(wù)能力;
(4)流量控制,實現(xiàn)丟棄,限速和轉(zhuǎn)發(fā);
(5)差異化QoS保障;
(6)大數(shù)據(jù)分析;
(7)故障分析。
4.2網(wǎng)絡(luò)攻擊防護(hù)
當(dāng)今網(wǎng)絡(luò)安全問題仍然是最受關(guān)注的問題之一。業(yè)務(wù)系統(tǒng)的不斷擴(kuò)充和發(fā)展,導(dǎo)致網(wǎng)絡(luò)缺陷以及網(wǎng)絡(luò)漏洞無處不在。分布式拒絕服務(wù)攻擊DDOS就是其中一種常見的通過大量合法的請求占用大量網(wǎng)絡(luò)資源,以達(dá)到癱瘓網(wǎng)絡(luò)的目的。傳統(tǒng)的防范方式是在網(wǎng)絡(luò)上部署專用的網(wǎng)絡(luò)設(shè)備,但是當(dāng)攻擊范圍及規(guī)模不斷增長的情況,這種方式缺乏部署靈活性,并且在成本上也不經(jīng)濟(jì)。
在采用了SFLOW報文分析+SDN流量管理器的SDN智能流量管理系統(tǒng)后,我們不僅能夠?qū)崿F(xiàn)基于靈活的配置策略防范DDOS攻擊,而且能夠基于預(yù)先定義的策略在網(wǎng)絡(luò)的邊緣設(shè)備實施主動攻擊防范。比如,通過下發(fā)Openflow流表實現(xiàn)對報文的丟棄,網(wǎng)絡(luò)端口限速或者網(wǎng)絡(luò)流量的重定向等功能。
據(jù)統(tǒng)計,平均一個DDOS攻擊的持續(xù)時間為58分鐘。傳統(tǒng)的檢測方案通常需要15分鐘至幾個小時,反應(yīng)非常慢。而基于SDN的智能流量管理系統(tǒng)則可以在最短1分鐘的情況下發(fā)現(xiàn)攻擊行為,大大降低了DDOS攻擊給網(wǎng)絡(luò)帶來的影響。
流量監(jiān)測管理器可應(yīng)用大型網(wǎng)絡(luò)的檢測和控制。部署上萬節(jié)點的SFLOW代理以及高速端口的支持,使得該管理方案具備無以倫比的擴(kuò)展性和網(wǎng)絡(luò)架構(gòu)彈性。在不改變原有網(wǎng)絡(luò)結(jié)構(gòu)的情況下實現(xiàn)2 至4 層流量檢測,并主動緩解基于NTP Reflection、UDP Flooding、DNS Reflection和ICMP Ping Flooding 的網(wǎng)絡(luò)攻擊。這可以解決2 層和3層VPN 服務(wù)提供商重點關(guān)注的問題,確保大型流量為合法流量而非會影響甚至關(guān)閉整個網(wǎng)絡(luò)的高容量攻擊。
該場景部署拓?fù)淙鐖D4所示。
(1)網(wǎng)絡(luò)流量從在配置為SFLOW代理的設(shè)備接口被sflow檢測并抽樣;
(2)SFLOW代理將抽樣流量送至SFLOW收集器;
(3)流量監(jiān)測管理器匹配策略判斷為網(wǎng)絡(luò)攻擊(DDOS);并通過API接口將向?qū)?yīng)的流量控制策略發(fā)
10.3969/j.issn.1006-6403.2016.08.010