《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 基于OpenFlow校園網(wǎng)異常流量的管理
基于OpenFlow校園網(wǎng)異常流量的管理
來(lái)源:微型機(jī)與應(yīng)用2013年第24期
閆曉潔,于廣輝
(大連理工大學(xué) 網(wǎng)絡(luò)與信息化中心,遼寧 大連116024)
摘要: 隨著高校數(shù)字化校園的推進(jìn),通過(guò)網(wǎng)絡(luò)傳輸?shù)囊曨l、音頻、圖像和其他網(wǎng)絡(luò)應(yīng)用業(yè)務(wù)不斷增多,從而使網(wǎng)絡(luò)流量行為日趨復(fù)雜,對(duì)服務(wù)質(zhì)量和網(wǎng)絡(luò)安全提出更高的要求。OpenFlow是近年來(lái)支持網(wǎng)絡(luò)創(chuàng)新研究而提出的基于流分類的新型網(wǎng)絡(luò)技術(shù),能解決當(dāng)前網(wǎng)絡(luò)設(shè)備工作負(fù)載過(guò)重的問(wèn)題。通過(guò)分析OpenFlow的體系架構(gòu),針對(duì)校園網(wǎng)的異常流量進(jìn)行識(shí)別、分類和轉(zhuǎn)發(fā)的策略,并通過(guò)模擬實(shí)驗(yàn)平臺(tái)Mininet驗(yàn)證該策略的有效性,從而有效地改善了網(wǎng)絡(luò)性能并提高了網(wǎng)絡(luò)的安全性。
Abstract:
Key words :

摘  要: 隨著高校數(shù)字化校園的推進(jìn),通過(guò)網(wǎng)絡(luò)傳輸?shù)囊曨l、音頻、圖像和其他網(wǎng)絡(luò)應(yīng)用業(yè)務(wù)不斷增多,從而使網(wǎng)絡(luò)流量行為日趨復(fù)雜,對(duì)服務(wù)質(zhì)量和網(wǎng)絡(luò)安全提出更高的要求。OpenFlow是近年來(lái)支持網(wǎng)絡(luò)創(chuàng)新研究而提出的基于流分類的新型網(wǎng)絡(luò)技術(shù),能解決當(dāng)前網(wǎng)絡(luò)設(shè)備工作負(fù)載過(guò)重的問(wèn)題。通過(guò)分析OpenFlow的體系架構(gòu),針對(duì)校園網(wǎng)的異常流量進(jìn)行識(shí)別、分類和轉(zhuǎn)發(fā)的策略,并通過(guò)模擬實(shí)驗(yàn)平臺(tái)Mininet驗(yàn)證該策略的有效性,從而有效地改善了網(wǎng)絡(luò)性能并提高了網(wǎng)絡(luò)的安全性。
關(guān)鍵詞: OpenFlow;異常流量;網(wǎng)絡(luò)性能;流量管理

    隨著信息化時(shí)代計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的快速發(fā)展,促使高校數(shù)字化校園[1]不斷地進(jìn)行信息化建設(shè),上網(wǎng)流量需求和用戶的日益增多以及多元化給網(wǎng)絡(luò)數(shù)據(jù)流量帶來(lái)急劇增長(zhǎng),網(wǎng)絡(luò)設(shè)備運(yùn)轉(zhuǎn)負(fù)荷倍增,網(wǎng)絡(luò)帶寬擴(kuò)容面臨巨大壓力,成為網(wǎng)絡(luò)管理的瓶頸。因此網(wǎng)絡(luò)監(jiān)控管理已成為不可或缺的部分,尤其是在網(wǎng)絡(luò)安全以及網(wǎng)絡(luò)規(guī)劃方面有非常重要的意義。
    網(wǎng)絡(luò)流量作為網(wǎng)絡(luò)用戶上網(wǎng)記錄和活動(dòng)的一個(gè)重要反應(yīng),通過(guò)監(jiān)控和分析網(wǎng)絡(luò)上各種應(yīng)用的網(wǎng)絡(luò)帶寬的使用情況,剖析用戶流量行為,從而合理地分配和規(guī)劃帶寬,尤其是當(dāng)發(fā)現(xiàn)網(wǎng)絡(luò)流量產(chǎn)生異常時(shí),可以迅速根據(jù)流量監(jiān)控分析的結(jié)果采取相應(yīng)的控制手段,從而達(dá)到對(duì)攻擊源進(jìn)行有效隔離,防止各類網(wǎng)絡(luò)攻擊,從而保障關(guān)鍵業(yè)務(wù)應(yīng)用的正常運(yùn)行。
1 OpenFlow技術(shù)
1.1  OpenFlow網(wǎng)絡(luò)

    OpenFlow[2]是斯坦福大學(xué)Clean Slate計(jì)劃資助的一個(gè)開(kāi)放式協(xié)議標(biāo)準(zhǔn),主要用于在現(xiàn)有網(wǎng)絡(luò)上設(shè)計(jì)新的協(xié)議和部署新的業(yè)務(wù)應(yīng)用,其最終目標(biāo)是重新設(shè)計(jì)互聯(lián)網(wǎng),其核心內(nèi)容是對(duì)網(wǎng)絡(luò)數(shù)據(jù)流的分類算法來(lái)達(dá)到對(duì)網(wǎng)絡(luò)進(jìn)行可編程。
    OpenFlow網(wǎng)絡(luò)由OpenFlow交換機(jī)、FlowVisor和Controller三部分組成。OpenFlow交換機(jī)進(jìn)行數(shù)據(jù)層的轉(zhuǎn)發(fā);FlowVisor對(duì)網(wǎng)絡(luò)進(jìn)行虛擬化;Controller對(duì)網(wǎng)絡(luò)進(jìn)行集中控制,實(shí)現(xiàn)控制層的功能。OpenFlow網(wǎng)絡(luò)組成如圖1所示。

1.2 OpenFlow交換機(jī)
    OpenFlow交換機(jī)由三部分構(gòu)成:數(shù)據(jù)流表對(duì)應(yīng)一個(gè)轉(zhuǎn)發(fā)規(guī)則操作,用以指示交換機(jī)如何處理該數(shù)據(jù)流。安全通道用于實(shí)現(xiàn)OpenFlow交換機(jī)與控制器之間的指令和數(shù)據(jù)包的安全傳遞;OpenFlow協(xié)議用來(lái)描述控制器和交換機(jī)之間相互所用信息的標(biāo)準(zhǔn),以及控制器和交換機(jī)的接口標(biāo)準(zhǔn)。
    OpenFlow交換機(jī)[3]是整個(gè)OpenFlow網(wǎng)絡(luò)的核心部件,主要管理數(shù)據(jù)層的轉(zhuǎn)發(fā)。OpenFlow交換機(jī)接收到數(shù)據(jù)包之后,首先在本地的流表上查找轉(zhuǎn)發(fā)目標(biāo)端口,如果沒(méi)有匹配,則把數(shù)據(jù)包轉(zhuǎn)發(fā)給Controller,由控制層決定轉(zhuǎn)發(fā)端口。其組成結(jié)構(gòu)如圖2所示。

2.2 異常流量識(shí)別模塊
    該模塊通過(guò)異常流量識(shí)別算法[4]進(jìn)行處理,利用改進(jìn)的Adapted-Bloom-Filter防抖動(dòng)的地址聚集算法來(lái)更好地檢測(cè)異常流量,對(duì)流量進(jìn)行特征提取和區(qū)分過(guò)濾。采用M-CUSUM算法對(duì)網(wǎng)絡(luò)端口輸入輸出流量的變化進(jìn)行監(jiān)控,及時(shí)地檢測(cè)出流量的異常,從而實(shí)現(xiàn)對(duì)異常流量攻擊采取綜合整治。
2.3 異常流量分類模塊
    該模塊主要功能是進(jìn)一步對(duì)異常流量進(jìn)行聚集分類[5],縮小異常流量范圍。實(shí)現(xiàn)的方法是使用基于特征分析的統(tǒng)計(jì)方法來(lái)識(shí)別具有異常流量的聚集。首先要對(duì)IP流進(jìn)行分類,依據(jù)各協(xié)議包使用比例和出現(xiàn)幾率,將IP包分為TCP包、UDP包和ICMP包。其中TCP和UDP流量是網(wǎng)絡(luò)中的主要流量,而TCP聚集還可以再細(xì)分為TCP控制包和TCP數(shù)據(jù)包。
2.4 流表管理模塊
    OpenFlow交換機(jī)擁有一個(gè)或多個(gè)流表,流表中包含多個(gè)流表項(xiàng),每個(gè)流表項(xiàng)都包含規(guī)則、操作和計(jì)數(shù)三部分。當(dāng)一個(gè)分組到達(dá)OpenFlow交換機(jī)時(shí),該分組頭部信息被提取出來(lái)并被用來(lái)與流表項(xiàng)進(jìn)行匹配,如果交換機(jī)的流表中不存在該分組匹配的流表項(xiàng),則該分組的全部或部分被轉(zhuǎn)發(fā)到控制器,并由控制器來(lái)決定如何對(duì)該分組或此類流進(jìn)行處理,如果匹配成功,將會(huì)按照所匹配的流表項(xiàng)的操作字段的內(nèi)容對(duì)分組進(jìn)行轉(zhuǎn)發(fā)處理。
    OpenFlow主要存在兩種類型的流表:線性表和哈希表,當(dāng)向OpenFlow交換機(jī)中插入一條流表項(xiàng)時(shí),如果流表項(xiàng)中用來(lái)匹配分組的12元組信息都含有一個(gè)確定值,那么這條流表項(xiàng)將先插入到哈希表中,在哈希表滿的情況下才會(huì)向線性表插入;如果12元組中某些字段是以通配符的方式進(jìn)行提供,那這條流表項(xiàng)只能插入到線性表中。流量查詢算法如下:
    Input:分組packet
    Output:相應(yīng)的處理流表項(xiàng)flow或false
    Flow_key = extract(packet); //在分組packet中
提取分組頭部
    Hash_key = hash(flow_key);  //計(jì)算首部的哈希值
    For i=1 to n do            //查找n個(gè)哈希表
        If hash_table[i][hash_key] != NULL
            Do return flow = hash_table[i][hash_key];
//返回處理流表項(xiàng)
    Linear_flow = linear_list -> next;
    While linear_flow != NULL    //查詢線性表
        If match (linear_flow, flow_key) do
            Return flow = linear_flow; //返回處理表項(xiàng)flow
        Else do Linear_flow = linear_flow -> next;
            Return false;//查找不到處理流表項(xiàng),返回false
2.5 超時(shí)處理模塊
    由于流表項(xiàng)存在超時(shí)問(wèn)題,所以當(dāng)流表項(xiàng)的存在時(shí)間超過(guò)最大生存時(shí)間時(shí),流表項(xiàng)管理模塊需要?jiǎng)h除該規(guī)則??紤]到流表項(xiàng)具有相同的最大生存時(shí)間,刪除流表項(xiàng)的順序與流表項(xiàng)進(jìn)入的順序相同,所以采用鏈表結(jié)構(gòu)存放流表項(xiàng)。當(dāng)流表項(xiàng)管理模塊為新進(jìn)規(guī)則生存鏈表節(jié)點(diǎn)時(shí),將當(dāng)前時(shí)間置為該鏈表節(jié)點(diǎn)的時(shí)間項(xiàng)。管理模塊每隔一個(gè)虛擬單位時(shí)間檢查一次超時(shí)鏈表各節(jié)點(diǎn)的時(shí)間項(xiàng),如果當(dāng)前時(shí)間與規(guī)則進(jìn)入時(shí)間之差大于流表項(xiàng)最大生存時(shí)間,則刪除超時(shí)表項(xiàng),釋放存放表項(xiàng)的鏈表節(jié)點(diǎn)。
3 仿真實(shí)驗(yàn)
    為了驗(yàn)證本文的設(shè)計(jì),決定采用虛擬網(wǎng)絡(luò)環(huán)境Mininet仿真平臺(tái),它可以在一臺(tái)機(jī)器上創(chuàng)建一張多至數(shù)百個(gè)節(jié)點(diǎn)的大規(guī)模虛擬網(wǎng)絡(luò),節(jié)點(diǎn)類型和拓?fù)浣Y(jié)構(gòu)可以自行定義,并且支持OpenFlow協(xié)議,具體的實(shí)驗(yàn)拓?fù)淙鐖D4所示。

    圖中C0是中心控制器,下面連著兩個(gè)OpenFlow交換機(jī)S1和S2,往下分別連著虛擬機(jī)H1、H2、H3和H4。由H1向系統(tǒng)主動(dòng)發(fā)起正常網(wǎng)絡(luò)流量3 370 430 KB和TCP flooding攻擊,攻擊流量的數(shù)據(jù)包為固定大小40 B,Ack和Flag不固定,源端口固定,目的端口隨機(jī),大小為844 297 KB。設(shè)置系統(tǒng)把檢測(cè)到的異常流量全部轉(zhuǎn)發(fā)給主機(jī)H4,正常流量隨機(jī)轉(zhuǎn)到H2和H3主機(jī)上。

 


    經(jīng)過(guò)反復(fù)測(cè)試3次取平均值,對(duì)主機(jī)H4進(jìn)行流量統(tǒng)計(jì),發(fā)現(xiàn)共統(tǒng)計(jì)到流量818 880 KB,H2和H3主機(jī)共統(tǒng)計(jì)到流量為3 370 430 KB,說(shuō)明系統(tǒng)中正常流量都通過(guò)了,異常流量基本被捕獲攔截,攔截率為96.99%,基本符合預(yù)期的目標(biāo)。
    在復(fù)雜的網(wǎng)絡(luò)環(huán)境當(dāng)中,網(wǎng)絡(luò)流量的增長(zhǎng)不僅僅給路由器交換機(jī)等網(wǎng)絡(luò)設(shè)備帶來(lái)沉重的負(fù)載,而且通常會(huì)隱藏著異常流量引起的網(wǎng)絡(luò)安全問(wèn)題。本文基于OpenFlow新型的可編程的網(wǎng)絡(luò)平臺(tái),對(duì)網(wǎng)絡(luò)環(huán)境中的流量進(jìn)行了識(shí)別和分類,通過(guò)對(duì)OpenFlow流表進(jìn)行編程來(lái)設(shè)計(jì)對(duì)異常數(shù)據(jù)包的轉(zhuǎn)發(fā)處理,并通過(guò)在仿真網(wǎng)絡(luò)平臺(tái)上進(jìn)行測(cè)試驗(yàn)證,達(dá)到了預(yù)計(jì)的效果。
參考文獻(xiàn)
[1] YMCKEOWN N,ANDERSON T,BALAKRISHNAN H,et al. OpenFlow: enabling innovation in campus networks[J].ACM SIGCOMM Computer Communication Review,2008,38(2):69-74.
[2] OpenFlow[EB/OL].[2013-07-20].http://www.OpenFlow.org.
[3] SHERWOOD R,CHAN M,COVINGTON A,et al.Carving research slices out of your production networks with Open-Flow[J].ACM SIGCOMM Computer Communication Review,2010,40(1):129-130.
[4] 鄭曉霞.校園網(wǎng)異常流量分析系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].青島:中國(guó)海洋大學(xué),2012.
[5] 楊新存.校園網(wǎng)流量管理及異常監(jiān)測(cè)系統(tǒng)的研究與實(shí)現(xiàn)[D].蘭州:蘭州理工大學(xué),2012.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。