亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于深度學(xué)習(xí)的軟件定義網(wǎng)絡(luò)應(yīng)用策略沖突檢測(cè)方法

        2017-12-04 02:42:47李傳煌程成袁小雍岑利杰王偉明
        電信科學(xué) 2017年11期
        關(guān)鍵詞:沖突檢測(cè)流表表項(xiàng)

        李傳煌,程成,袁小雍,岑利杰,王偉明

        (1. 浙江工商大學(xué)信息與電子工程學(xué)院,浙江 杭州 310018;2. 美國(guó)佛羅里達(dá)大學(xué)大規(guī)模智能系統(tǒng)實(shí)驗(yàn)室,美國(guó) 佛羅里達(dá)州 蓋恩斯維爾 32611)

        基于深度學(xué)習(xí)的軟件定義網(wǎng)絡(luò)應(yīng)用策略沖突檢測(cè)方法

        李傳煌1,程成1,袁小雍2,岑利杰1,王偉明1

        (1. 浙江工商大學(xué)信息與電子工程學(xué)院,浙江 杭州 310018;2. 美國(guó)佛羅里達(dá)大學(xué)大規(guī)模智能系統(tǒng)實(shí)驗(yàn)室,美國(guó) 佛羅里達(dá)州 蓋恩斯維爾 32611)

        在基于OpenFlow的軟件定義網(wǎng)絡(luò)(SDN)中,應(yīng)用被部署時(shí),相應(yīng)的流表策略將被下發(fā)到OpenFlow交換機(jī)中,不同應(yīng)用的流表項(xiàng)之間如果產(chǎn)生沖突,將會(huì)影響交換機(jī)的實(shí)際轉(zhuǎn)發(fā)行為,進(jìn)而擾亂特定應(yīng)用的正確部署以及SDN的安全。隨著SDN規(guī)模的擴(kuò)大以及需要部署應(yīng)用的數(shù)量的劇增,交換機(jī)中的流表數(shù)量呈現(xiàn)爆炸式增長(zhǎng)。此時(shí)若采用傳統(tǒng)的流表沖突檢測(cè)算法,交換機(jī)將會(huì)耗費(fèi)大量的系統(tǒng)計(jì)算時(shí)間。結(jié)合深度學(xué)習(xí),首次提出了一種適合SDN中超大規(guī)模應(yīng)用部署的智能流表沖突檢測(cè)方法。實(shí)驗(yàn)結(jié)果表明,第一級(jí)深度學(xué)習(xí)模型的AUC達(dá)到97.04%,第二級(jí)模型的AUC達(dá)到99.97%,同時(shí)沖突檢測(cè)時(shí)間與流表規(guī)模呈現(xiàn)線性增長(zhǎng)關(guān)系。

        流表沖突檢測(cè);深度學(xué)習(xí);異常檢測(cè);軟件定義網(wǎng)絡(luò);OpenFlow

        1 引言

        隨著互聯(lián)網(wǎng)業(yè)務(wù)和服務(wù)需求的不斷增長(zhǎng),云計(jì)算網(wǎng)絡(luò)、大型數(shù)據(jù)中心網(wǎng)絡(luò)等已經(jīng)成為承載各種大型計(jì)算和存儲(chǔ)業(yè)務(wù)的重要網(wǎng)絡(luò)基礎(chǔ)設(shè)施,現(xiàn)有網(wǎng)絡(luò)架構(gòu)已經(jīng)不能有效地滿足這些新型網(wǎng)絡(luò)平臺(tái)的需求。作為下一代網(wǎng)絡(luò)技術(shù)的重要代表,軟件定義網(wǎng)絡(luò)(software defined network,SDN)技術(shù)受到了學(xué)術(shù)界和產(chǎn)業(yè)界的極大關(guān)注,而其中基于OpenFlow的SDN技術(shù)更是得到了大家的青睞[1,2],它已應(yīng)用于如Google等互聯(lián)網(wǎng)企業(yè)的大型數(shù)據(jù)中心網(wǎng)絡(luò)中。

        SDN網(wǎng)絡(luò)架構(gòu)的重要特征是控制平面與轉(zhuǎn)發(fā)平面的分離,在基于OpenFlow的SDN架構(gòu)中,用戶通過分離的控制器對(duì)網(wǎng)絡(luò)中的OpenFlow交換機(jī)下發(fā)各種類型的轉(zhuǎn)發(fā)策略,實(shí)現(xiàn)用戶特定業(yè)務(wù)的部署,如防火墻、負(fù)載均衡、流量工程等。

        SDN應(yīng)用/編排層根據(jù)某業(yè)務(wù)特征生成特定流表項(xiàng)時(shí),所生成的策略可能與系統(tǒng)內(nèi)已有的其他業(yè)務(wù)策略間產(chǎn)生沖突。如表1所示,策略1和4、策略2和3以及策略5和6之間都存在重疊內(nèi)容,且不同策略的行為互相抵觸,這些策略間都存在沖突問題。

        當(dāng)對(duì)一個(gè)大型的基于OpenFlow的SDN中的所有業(yè)務(wù)進(jìn)行自動(dòng)部署和控制時(shí),如果不對(duì)OpenFlow交換機(jī)中的流表進(jìn)行沖突檢測(cè),一旦OpenFlow控制器對(duì)OpenFlow交換機(jī)添加的某些策略與之前已有的策略間存在沖突,將使得一些已存在的流表項(xiàng)被更改或覆蓋而失效,最終對(duì)特定業(yè)務(wù)產(chǎn)生致命的影響,如,當(dāng)前策略沖突中有防火墻應(yīng)用,則會(huì)使某些本被防火墻阻止的數(shù)據(jù)分組順利通過,甚至給基于OpenFlow的SDN帶來安全隱患,也不利于大型網(wǎng)絡(luò)中SDN業(yè)務(wù)的自動(dòng)部署。

        圖1展示了一個(gè)策略沖突引起防火墻功能失效的例子,該例子的拓?fù)鋱D中包含了4臺(tái)PC機(jī)、1臺(tái)OpenFlow交換機(jī)和1臺(tái)OpenFlow控制器。PC機(jī)A的IP地址為192.168.1.10,PC機(jī)B的IP地址為 192.168.2.2,PC機(jī) C的 IP地址為192.168.3.7,PC機(jī)D的IP地址為192.168.6.5,4臺(tái)PC機(jī)分別與OpenFlow交換機(jī)相連組成一個(gè)局域網(wǎng)。OpenFlow交換機(jī)中的Flow Table 0中存在一條防火墻規(guī)則,該防火墻的規(guī)則是屏蔽源IP地址為192.168.1.0/24、目的IP地址為192.168.6.0/24的數(shù)據(jù)分組。此時(shí),OpenFlow控制器即將下發(fā)一條策略,該策略是將目的 IP地址和源 IP地址都為192.168.0.0/16的所有數(shù)據(jù)分組設(shè)置一個(gè)隊(duì)列ID。如果把該策略下發(fā)到OpenFlow交換機(jī)中,所有源IP地址為 192.168.1.0/24和目的 IP地址為192.168.6.0/24的數(shù)據(jù)分組的動(dòng)作行為將會(huì)沖突,從而導(dǎo)致原有防火墻規(guī)則的失效。

        OpenFlow相關(guān)協(xié)議本身并未提供流表沖突檢測(cè)的處理機(jī)制,當(dāng)前某些OpenFlow交換機(jī)具有簡(jiǎn)單的流表沖突檢測(cè)功能,其流表沖突檢測(cè)功能采用了基于傳統(tǒng)的算法查找 OpenFlow交換機(jī)中沖突的流表項(xiàng)的方法。如果OpenFlow交換機(jī)中的流表數(shù)目非常龐大,使用傳統(tǒng)的流表沖突檢測(cè)算法會(huì)增加OpenFlow交換機(jī)的運(yùn)行負(fù)擔(dān)、延緩流表的部署,影響數(shù)據(jù)分組正常的轉(zhuǎn)發(fā)。

        表1 存在沖突的流表策略

        圖1 策略沖突引起防火墻功能失效

        當(dāng)某個(gè)應(yīng)用在SDN中進(jìn)行具體部署時(shí),若此應(yīng)用需同時(shí)向多個(gè) OpenFlow交換機(jī)下發(fā)不同的策略,當(dāng)其中一個(gè)交換機(jī)中檢測(cè)出有流表沖突時(shí),為避免對(duì)已有應(yīng)用產(chǎn)生影響,SDN控制器需要撤銷當(dāng)前應(yīng)用下發(fā)的流表操作,并將對(duì)其他交換機(jī)已完成的操作進(jìn)行回滾,然后將處理結(jié)果通知應(yīng)用/編排層。顯然因?yàn)闆_突檢測(cè)被放置在交換機(jī)內(nèi),給部署操作帶來了冗余,增加了部署時(shí)間,也給整個(gè)部署過程帶來了更多的不確定性,所以在控制器下發(fā)策略之前進(jìn)行檢測(cè),預(yù)防沖突策略顯得十分必要。

        本文首次將SDN與深度學(xué)習(xí)結(jié)合,提出一種部署于控制器上的基于深度學(xué)習(xí)的SDN流表沖突檢測(cè)方法。該方法利用深度學(xué)習(xí)抽象化高層數(shù)據(jù)、自動(dòng)學(xué)習(xí)的特點(diǎn),相比于傳統(tǒng)的沖突查找算法,在大規(guī)模應(yīng)用部署時(shí)能更快速地對(duì)超大規(guī)模的流表項(xiàng)做出是否沖突的檢測(cè)。

        2 相關(guān)工作

        OpenFlow協(xié)議[3]中沒有給出流表沖突的具體解決策略,僅有如下描述:如果對(duì)流表中OFPFF_CHECK_OVERLAP位進(jìn)行了設(shè)置,OpenFlow交換機(jī)必須首先檢測(cè)新下發(fā)的流表與交換機(jī)中已經(jīng)存在的流表是否存在重復(fù)。當(dāng)前對(duì)OpenFlow流表沖突檢測(cè)的研究,都是基于傳統(tǒng)的查找算法。

        [4]提出了通過定義策略簡(jiǎn)化網(wǎng)絡(luò)的管理,同時(shí)提出了相關(guān)算法,可用在傳統(tǒng)網(wǎng)絡(luò)的沖突策略和不可達(dá)策略的檢測(cè)中;參考文獻(xiàn)[5,6]提出了一種基于“first-order”邏輯來定義可能沖突的方法來檢測(cè)沖突,并且在OpenFlow控制器下發(fā)流表前部署了“推理引擎”來檢測(cè)流表沖突。

        參考文獻(xiàn)[7]介紹了一種通過使用 FlowVisor技術(shù)來檢測(cè) OpenFlow網(wǎng)絡(luò)中潛在的沖突問題,F(xiàn)lowVisor是一種有著特殊用處的OpenFlow控制器,它可以在OpenFlow交換機(jī)和多臺(tái)OpenFlow控制器之間充當(dāng)一個(gè)代理,他們提出的沖突檢測(cè)算法是:基于散列字典樹(hash-trie based conflict detection,HTCD)算法及基于沖突檢測(cè)的本體論(ontology based conflict detection,OCD)。

        參考文獻(xiàn)[8]為 SDN提出了一種減少比特矢量(RBV reduced bit vector)算法對(duì)流表進(jìn)行沖突檢測(cè)。RBV算法用到了比特矢量的概念并且采用了按組分類的算法,將相同前綴長(zhǎng)度的流表分到一個(gè)組中,從而減少了多余的比特矢量。

        參考文獻(xiàn)[9]提出了安全策略執(zhí)行內(nèi)核(FortNOX)作為對(duì)開放源NOX OpenFlow控制的一個(gè)擴(kuò)展,F(xiàn)ortNOX采用了一種基于別名檢測(cè)的方法來確定每一個(gè)應(yīng)用是否都被安全授權(quán),強(qiáng)制優(yōu)先級(jí)最低的策略進(jìn)入仲裁。

        參考文獻(xiàn)[10]提出了稱為“FlowGuard”的綜合框架,應(yīng)用在動(dòng)態(tài)的OpenFlow網(wǎng)絡(luò)中檢測(cè)和解決與防火墻相沖突的策略,F(xiàn)lowGuard在網(wǎng)絡(luò)狀態(tài)更新時(shí)會(huì)對(duì)網(wǎng)絡(luò)中的流表進(jìn)行檢測(cè)是否與防火墻策略相沖突。

        參考文獻(xiàn)[11]提出全網(wǎng)內(nèi)所有轉(zhuǎn)發(fā)規(guī)則在進(jìn)行插入、更新和刪除操作時(shí),使用 VeriFlow動(dòng)態(tài)地檢測(cè)違反規(guī)則的流表,他們?cè)趥鹘y(tǒng)分組分類算法的基礎(chǔ)上提出了多維前綴樹,一棵多維前綴樹是一種用來存儲(chǔ)組合數(shù)組的有序的樹狀數(shù)據(jù)結(jié)構(gòu),這棵樹與符合流表規(guī)則的數(shù)據(jù)分組相關(guān)聯(lián);參考文獻(xiàn)[10]提出了一種形式化的模型來檢測(cè)內(nèi)部功能是否有異常,這里異常的定義是在同一個(gè)網(wǎng)絡(luò)中,是否有兩個(gè)或更多的相同功能被部署。

        參考文獻(xiàn)[13]提出了使用 ADRS(anomaly detecting and resolving for SDN)解決策略和規(guī)則中存在的異常,采用了間隔樹模型快速掃描流表,然后建立一個(gè)共享模型來分配網(wǎng)絡(luò)的優(yōu)先級(jí),通過這兩個(gè)模型,提出了一種自動(dòng)化的算法來檢測(cè)和解決SDN模型中存在的流表異常問題。

        參考文獻(xiàn)[14]提出了一種基于 FlowPath的實(shí)時(shí)動(dòng)態(tài)策略沖突檢測(cè)及解決辦法,通過獲取實(shí)時(shí)的SDN狀態(tài)檢測(cè)防火墻策略的直接和間接沖突,基于FlowPath進(jìn)行自動(dòng)化和細(xì)粒度的解決沖突。

        在以上所有相關(guān)研究中,未有對(duì)超大規(guī)模流表項(xiàng)進(jìn)行沖突檢測(cè)的研究及相關(guān)實(shí)驗(yàn)結(jié)果,也未有人提出使用與機(jī)器學(xué)相關(guān)的方法進(jìn)行檢測(cè),本文首次提出一種基于深度學(xué)習(xí)的適應(yīng)于超大規(guī)模流表項(xiàng)沖突檢測(cè)的方法。

        3 基于深度學(xué)習(xí)的沖突檢測(cè)

        3.1 沖突檢測(cè)架構(gòu)

        當(dāng)應(yīng)用/編排層部署新的應(yīng)用時(shí),需檢測(cè)下發(fā)到某一交換機(jī)內(nèi)的策略是否與之前已存在的流表項(xiàng)存在沖突,使用深度學(xué)習(xí)進(jìn)行檢測(cè)時(shí),以需要檢測(cè)的所有流表項(xiàng)的域作為模型特征。由于SDN中的交換機(jī)內(nèi)的流表項(xiàng)數(shù)目將隨著應(yīng)用的增長(zhǎng)而不斷增長(zhǎng),深度學(xué)習(xí)難以對(duì)非固定大小的輸入進(jìn)行檢測(cè),采用基于固定窗口的循環(huán)檢測(cè)方法,檢測(cè)架構(gòu)如圖2所示。

        圖2 流表沖突檢測(cè)架構(gòu)

        通常應(yīng)用/編排層(或控制器)中維護(hù)著SDN中所有交換機(jī)的流表信息,假設(shè)當(dāng)前應(yīng)用產(chǎn)生了某條策略,需要下發(fā)到某一OpenFlow交換機(jī),此時(shí)將該交換機(jī)內(nèi)獲取的所有流表信息按每X條流表項(xiàng)來分割,當(dāng)有一條新的流表項(xiàng)需要下發(fā)時(shí),將這條流表項(xiàng)與已分割的 X條流表項(xiàng)組成一個(gè)X+1條流表項(xiàng)的窗口,作為第一級(jí)深度學(xué)習(xí)模型的輸入數(shù)據(jù)。其中,第一級(jí)深度學(xué)習(xí)模型的輸入數(shù)據(jù)是X+1條流表項(xiàng)的所有信息特征。如果OpenFlow控制器中已存在的流表項(xiàng)數(shù)目不足X條,則用無效的填充信息將窗口填充到X條流表項(xiàng)。如果分割后的片段中的流表項(xiàng)數(shù)目不足X條,則用其他窗口中的流表項(xiàng)將此窗口的流表項(xiàng)數(shù)目填充到X條。分別將所有的窗口作為第一級(jí)深度學(xué)習(xí)模型的輸入來判斷這個(gè)窗口中的所有流表項(xiàng)是否存在沖突。如果存在沖突,則將該窗口的每條流表項(xiàng)與即將下發(fā)的流表項(xiàng)組成一個(gè)窗口,作為第二級(jí)深度學(xué)習(xí)模型的輸入數(shù)據(jù)來定位具體的兩條沖突的流表項(xiàng)。其中,第二級(jí)深度學(xué)習(xí)模型是以兩條流表項(xiàng)的所有特征信息作為該模型的輸入數(shù)據(jù)。

        3.2 深度學(xué)習(xí)模型

        根據(jù)OpenFlow1.5協(xié)議,OpenFlow匹配域共包括45個(gè)字段,取其中的ETH_DST、ETH_SRC、ETH_TYPE、IPv4_SRC、IPv4_DST、IPv4_SRC_MASK和IPv4_DST_MASK作為深度學(xué)習(xí)模型的輸入特征。其中,ETH_DST為目的MAC地址,ETH_SRC為源MAC地址,ETH_TYPE為以太網(wǎng)協(xié)議類型,IPv4_SRC為源IP地址,IPv4_DST為目的IP地址,IPv4_SRC_MASK為源IP地址的子網(wǎng)掩碼,IPv4_DST_MASK為目的IP地址的子網(wǎng)掩碼。最終,這些字段的值將會(huì)被轉(zhuǎn)換成二進(jìn)制值作為深度學(xué)習(xí)模型的輸入特征。

        第一級(jí)深度學(xué)習(xí)模型的輸入層為CNN層,隱藏層由M層CNN層和N層全連接層組合,輸出層為只有一個(gè)神經(jīng)元的全連接層。輸入層和隱藏層使用的激活函數(shù)為ReLU(rectified linear unit)函數(shù),該函數(shù)為非線性函數(shù),函數(shù)為:

        輸出層的激活函數(shù)為非線性激活函數(shù)Sigmoid函數(shù),為:

        為了簡(jiǎn)化第二級(jí)深度學(xué)習(xí)模型,并取效果最好的一個(gè)模型,將第二級(jí)深度學(xué)習(xí)模型總共分為兩類:一類模型包括CNN層和全連接層;另一類模型只有全連接層。前者的輸入層為CNN層,隱藏層都為全連接層,輸出層為只有一個(gè)神經(jīng)元的全連接層。輸入層和隱藏層的激活函數(shù)都為ReLU函數(shù),輸出層的激活函數(shù)為 Sigmoid函數(shù)。后者的輸入層、隱藏層和輸出層都為全連接層,激活函數(shù)的分布情況與前者相同。

        第一級(jí)深度學(xué)習(xí)模型和第二級(jí)深度學(xué)習(xí)模型的總體結(jié)構(gòu)分別如圖3、圖4所示。

        圖3 第一級(jí)深度學(xué)習(xí)模型總體結(jié)構(gòu)

        本文將使用的深度學(xué)習(xí)模型結(jié)構(gòu)用如下方式描述:

        其中,Ki= [T, L, n0, n1,…, ni,…, nL]?!癐”表示輸入層神經(jīng)元的個(gè)數(shù);“T”表示層的類型,卷積層用“C”表示,全連接層用“F”表示;“L”表示層的數(shù)量;“ni”表示隱藏層中每一層的神經(jīng)元個(gè)數(shù);“O”表示輸出層神經(jīng)元的個(gè)數(shù)。

        模型訓(xùn)練的特征個(gè)數(shù)越多,達(dá)到高精度模型所需的樣本數(shù)量就越多。由于第一級(jí)深度學(xué)習(xí)模型具有的輸入特征個(gè)數(shù)有24 000個(gè),特征數(shù)較多,所以訓(xùn)練第一級(jí)深度學(xué)習(xí)模型時(shí)采用1 200 000個(gè)樣本的數(shù)據(jù)集。為了獲取最佳的SDN策略沖突檢測(cè)的第一級(jí)深度學(xué)習(xí)模型,本文構(gòu)建了多個(gè)深度學(xué)習(xí)模型進(jìn)行比較。

        本文進(jìn)行訓(xùn)練時(shí)所使用的第一級(jí)深度學(xué)習(xí)模型如下:

        1〉C3F4_1=(24 000,[“C”,3,512,256,128],[“F”,3,128,128,128],[“F”,1]);

        2〉C3F4_2=(24 000,[“C”,3,128,128,64],[“F”,3,64,64,64],[“F”,1]);

        3〉C3F4_3=(24 000,[“C”,3,128,128,64],[“F”,3,64,32,16],[“F”,1]);

        4〉C3F3=(24 000,[“C”,3,128,64,32],[“F”,2,32,16],[“F”,1]);

        5〉C3F2=(24 000,[“C”,3,80,80,64],[“F”,1,64],[“F”,1]);

        6〉C3F5=(24 000,[“C”,3,128,128,128],[“F”,4,128,64,32,16],[“F”,1]);

        7〉C4F4=(24 000,[“C”,4,128,128,64,64],[“F”,3,64,32,16],[“F”,1]);

        8〉C5F2=(24 000,[“C”,5,128,64,32,16,8],[“F”,1,8],[“F”,1])。

        由于第二級(jí)深度學(xué)習(xí)模型具有的輸入特征個(gè)數(shù)為480個(gè),特征數(shù)較少,因此訓(xùn)練第二級(jí)深度學(xué)習(xí)模型時(shí)采用了400 000個(gè)樣本的數(shù)據(jù)集,且為了獲取最佳的第二級(jí)深度學(xué)習(xí)模型,本文構(gòu)建了兩種不同類型的多個(gè)深度學(xué)習(xí)模型進(jìn)行比較:一種類型是最簡(jiǎn)單的模型,模型中所有層都為全連接層;另一種類型是稍微復(fù)雜的模型,模型中包括卷積層和全連接層。

        根據(jù)模型的描述方式,本文進(jìn)行訓(xùn)練的不同類型的多個(gè)第二級(jí)深度學(xué)習(xí)模型的描述形式如下:

        1〉F3=(24 000,([“F”,2,256,128]),[“F”,1]);

        2〉F4=(24 000,([“F”,3,256,128,64]),[“F”,1]);

        3〉C1F4=(24 000,([‘C’,1,512],[“F”,3,512,256,128]),[“F”,1]);

        4〉C1F3=(24 000,([“C”,1,256],[“F”,2,256,128]),[“F”,1])。

        4 實(shí)驗(yàn)實(shí)現(xiàn)與評(píng)估

        4.1 數(shù)據(jù)集產(chǎn)生和預(yù)處理

        當(dāng)前使用流表項(xiàng)中的ETH_DST、ETH_SRC、IP_PROTO、IPv4_SRC、IPv4_DST、IPv4_SRC_MASK和IPv4_DST_MASK字段作為每一條流表項(xiàng)的特征。第一級(jí)深度學(xué)習(xí)模型輸入的是100條流表項(xiàng)的特征信息,所以對(duì)于第一級(jí)深度學(xué)習(xí)模型的單位模型輸入特征包括了100條流表項(xiàng)的所有特征信息。第一級(jí)深度學(xué)習(xí)模型的數(shù)據(jù)集包括了兩類數(shù)據(jù),一類為具有沖突流表項(xiàng)的數(shù)據(jù),另一類為沒有沖突流表項(xiàng)的數(shù)據(jù)。第一級(jí)深度學(xué)習(xí)模型的數(shù)據(jù)集產(chǎn)生算法如下。

        (1)產(chǎn)生沖突類型的流表項(xiàng)數(shù)據(jù)

        flow_entry_1 = GenerateRandomFlowEntry()

        flow_entry_2 = GenerateConflictFlowEntry(flow_ entry1)

        圖4 第二級(jí)深度學(xué)習(xí)模型結(jié)構(gòu)

        while true:

        flow_entry_i = GenerateRandomFlowEntry()

        if isConflict(flow_entry_i, conflict_flow_entries) == False THEN

        conflict_flow_entries.appEND(flow_entry_i)

        break

        end if

        number of conflict_flow_entries: m

        if m 〈 100 then

        go to 3

        end if

        Shuffle (conflict_flow_entries)

        conflict_sample.appEND(conflict_flow_entries)

        number of conflict_sample: n

        if n 〈 600 000 then

        go to 1

        end if

        上述算法中一個(gè)沖突樣本的生成方法:先隨機(jī)產(chǎn)生一條流表項(xiàng),后根據(jù)沖突規(guī)則生成一條與之沖突的流表項(xiàng),再生成其余與上兩條流表項(xiàng)均不沖突的98條流表項(xiàng),最后將上述100個(gè)流表項(xiàng)順序打亂。按此方法生成600 000個(gè)沖突樣本。

        (2)產(chǎn)生非沖突類型的流表項(xiàng)

        flow_entry_1 = GenerateRandomFlowEntry()

        while true:

        flow_entry_i = GenerateRandomFlowEntry()

        if isConflict(flow_entry_i, non_ conflict_ flow_entries) == false then

        non_conflict_flow_entries.appEND(flow_entry_i)

        break

        end if

        number of non_conflict_flow_entries: m

        if m 〈 100 then

        go to 2

        end if

        Shuffle(non_conflict_flow_entries)

        non_conflict_sample.appEND(flow_entries)

        number of non_conflict_sample: n

        if n 〈 600000 then

        go to 1

        end if

        一個(gè)非沖突流表項(xiàng)的生成的過程與沖突樣本生成的過程類似,但生成的規(guī)則不同,按此方法生成600 000個(gè)非沖突樣本。

        在對(duì)使用上述算法產(chǎn)生的流表項(xiàng)進(jìn)行預(yù)處理時(shí),分別將沖突類型和非沖突類型的流表項(xiàng)數(shù)據(jù)轉(zhuǎn)換成二進(jìn)制形式,并將每個(gè)沖突類型的樣本打上標(biāo)簽1,將每個(gè)非沖突類型的樣本打上標(biāo)簽0。最后將沖突類型和非沖突類型的流表項(xiàng)數(shù)據(jù)合并,并且打亂順序,最后的數(shù)據(jù)集含1 200 000個(gè)樣本,沖突和非沖突占比為1:1。在第4.2節(jié)所述的實(shí)驗(yàn)環(huán)境下,生成第一級(jí)模型的訓(xùn)練樣本時(shí)間約為5 h。

        第二級(jí)深度學(xué)習(xí)模型輸入的是 2條流表項(xiàng)的特征信息,所以對(duì)于第二級(jí)深度學(xué)習(xí)模型的單位模型輸入特征包括了 2條流表項(xiàng)的特征信息。第二級(jí)深度學(xué)習(xí)模型的數(shù)據(jù)集同樣包括兩類數(shù)據(jù),即具有沖突流表項(xiàng)的數(shù)據(jù)和沒有沖突流表項(xiàng)的數(shù)據(jù)。第二級(jí)深度學(xué)習(xí)模型的數(shù)據(jù)集產(chǎn)生算法與第一級(jí)深度學(xué)習(xí)模型的數(shù)據(jù)集產(chǎn)生流程相似。使用了用該算法產(chǎn)生的400 000個(gè)樣本對(duì)第二級(jí)模型進(jìn)行訓(xùn)練和測(cè)試,其中沖突和非沖突占比為1:1。第二級(jí)模型的訓(xùn)練樣本生成時(shí)間約為15 min。

        4.2 實(shí)驗(yàn)結(jié)果

        本文涉及的實(shí)驗(yàn)環(huán)境如下:兩塊Navidia K80的顯卡,128 GB的內(nèi)存,操作系統(tǒng)為Ubuntu14.04,使用了基于Keras的深度學(xué)習(xí)框架。

        針對(duì)表2不同的第一級(jí)深度學(xué)習(xí)模型,使用含1 200 000個(gè)樣本的數(shù)據(jù)集進(jìn)行訓(xùn)練,最后的測(cè)試精度見表2。通過表2可以看出,C3F4_3模型是測(cè)試精確度最高的模型,因此本文采取的第一級(jí)深度學(xué)習(xí)模型是C3F4_3模型。

        表2 第一級(jí)深度學(xué)習(xí)模型的測(cè)試精度

        針對(duì)表3不同的第二級(jí)深度學(xué)習(xí)模型,使用含400 000個(gè)樣本的數(shù)據(jù)集進(jìn)行訓(xùn)練,最后的測(cè)試精度見表3。通過表3可以看出F3模型是測(cè)試精度最高的模型,因此本文采取的第二級(jí)深度學(xué)習(xí)模型是F3模型。

        表3 第二級(jí)深度學(xué)習(xí)模型的測(cè)試精度

        4.3 實(shí)驗(yàn)評(píng)估

        本文對(duì)流表沖突檢測(cè)的深度學(xué)習(xí)模型與機(jī)器學(xué)習(xí)中的 RandomForest分類器[13]進(jìn)行了比較。在與第一級(jí)沖突檢測(cè)相同的硬件環(huán)境下,基于Ubuntu 14.04及scikit-learn機(jī)器學(xué)習(xí)框架,使用相同的數(shù)據(jù)集,使用 RandomForest(隨機(jī)森林)分類器進(jìn)行了實(shí)驗(yàn),與深度學(xué)習(xí)的結(jié)果比較見表4。

        表4 深度學(xué)習(xí)方法和其他機(jī)器學(xué)習(xí)方法的比較

        從該結(jié)果可以看出,訓(xùn)練相同的樣本數(shù)量,深度學(xué)習(xí)方法的測(cè)試精度比其他機(jī)器學(xué)習(xí)方法的測(cè)試精度高。其中,隨機(jī)森林分類器在訓(xùn)練1 200 000個(gè)樣本數(shù)據(jù)時(shí),由于內(nèi)存溢出而無法獲得具體的精度。

        同時(shí)對(duì)基于深度學(xué)習(xí)的檢測(cè)方法的檢測(cè)時(shí)間進(jìn)行了測(cè)試。在實(shí)驗(yàn)過程中,在不同大小的原始流表項(xiàng)作為檢測(cè)對(duì)象時(shí),第一級(jí)深度學(xué)習(xí)模型的檢測(cè)時(shí)間見表5。

        第二級(jí)深度學(xué)習(xí)模型定位出具體沖突流表項(xiàng)(即檢測(cè)100個(gè)第二級(jí)深度學(xué)習(xí)模型的窗口)的時(shí)間為0.206 s。沖突檢測(cè)總時(shí)間為第一級(jí)深度學(xué)習(xí)模型和第二級(jí)深度學(xué)習(xí)模型檢測(cè)時(shí)間之和。當(dāng)OpenFlow控制器中所有的流表項(xiàng)與即將下發(fā)的流表項(xiàng)沒有沖突流表項(xiàng)時(shí),則無需使用第二級(jí)深度學(xué)習(xí)模型進(jìn)行檢測(cè),該級(jí)時(shí)間為0;當(dāng)OpenFlow交換機(jī)中的某一條流表項(xiàng)與即將下發(fā)的流表項(xiàng)有一個(gè)沖突時(shí),第二級(jí)深度學(xué)習(xí)模型沖突檢測(cè)時(shí)間為0.206 s。當(dāng)與n個(gè)第一級(jí)深度學(xué)習(xí)模型窗口內(nèi)的流表項(xiàng)有沖突時(shí),第二級(jí)檢測(cè)時(shí)間為n×0.206 s,總時(shí)間隨著流表項(xiàng)的大小呈線性增長(zhǎng)。

        參考文獻(xiàn)[5,6]中使用的 first-order logic算法對(duì)流表沖突檢測(cè)時(shí)的檢測(cè)時(shí)間見表6。

        使用兩種檢測(cè)方法所耗費(fèi)的總時(shí)間比較如圖 5所示。從圖5中可以看出,在對(duì)小規(guī)模數(shù)量的流表項(xiàng)進(jìn)行沖突檢測(cè)時(shí),參考文獻(xiàn)[5]使用的基于first-order logic方法,與基于深度學(xué)習(xí)方法相比,檢測(cè)時(shí)間沒有太大區(qū)別;而在對(duì)大規(guī)模數(shù)量的流表項(xiàng)進(jìn)行流表沖突檢測(cè)時(shí),參考文獻(xiàn)[3]所使用的first-order logic算法,檢測(cè)時(shí)間呈指數(shù)級(jí)增長(zhǎng),而深度學(xué)習(xí)方法所需時(shí)間則呈線性增長(zhǎng),遠(yuǎn)小于傳統(tǒng)算法的檢測(cè)時(shí)間。

        圖5 深度學(xué)習(xí)方法與first-order logic方法沖突檢測(cè)時(shí)間比較

        參考文獻(xiàn)[6]提出使用HTCD算法及OCD算法對(duì)沖突進(jìn)行檢測(cè)。前者的平均算法時(shí)間復(fù)雜度為O(nd),后者為O(n)。其中,n為流表項(xiàng)總數(shù),d為數(shù)據(jù)分組頭檢測(cè)域的個(gè)數(shù)。而本文提出的基于深度學(xué)習(xí)的沖突檢測(cè)方法,如采用窗口分割方法將所有n條流表項(xiàng)分割成每個(gè)窗口含k(k〉100)條流表項(xiàng)的m個(gè)窗口,則在任何情況下時(shí)間復(fù)雜度均為O(n/k)。

        參考文獻(xiàn)[14]中提出的基于FlowPath的SDN安全策略動(dòng)態(tài)沖突檢測(cè)方法。在一個(gè)有h臺(tái)主機(jī)、l臺(tái)交換機(jī)、平均每臺(tái)交換機(jī)中的流表項(xiàng)數(shù)為n的情況下。找出全網(wǎng)的所有沖突的算法查找次數(shù)為:

        最壞情況:h×n×l次比較(全部搜索);

        平均情況:h×(n/2)×(l/2)次比較;

        最佳情況:h次比較(比較時(shí)一次命中)。

        本文采用兩級(jí)深度學(xué)習(xí)的沖突檢測(cè)算法,要完成對(duì)所有流表項(xiàng)的沖突檢測(cè),第一級(jí)只需完成對(duì)這m個(gè)窗口的基于深度學(xué)習(xí)模型的檢測(cè),檢測(cè)次數(shù)為m=[n/k]+1,第二級(jí)檢測(cè)只有在定量檢測(cè),并檢測(cè)到某個(gè)窗口存在沖突時(shí)才會(huì)被啟動(dòng),如果僅定性檢測(cè)某流表是否與系統(tǒng)內(nèi)流表存在沖突,則m=[n/k]+1次即最壞情況,該值遠(yuǎn)小于參考文獻(xiàn)[14]中提到的平均檢測(cè)次數(shù)及最壞次數(shù)。

        5 結(jié)束語

        本文通過將深度學(xué)習(xí)與基于 OpenFlow的SDN相結(jié)合,提出了一種新的用來檢測(cè)基于OpenFlow的SDN中的流表沖突的方法。該方法采用第一級(jí)深度學(xué)習(xí)模型定性判斷在所有流表中是否存在沖突,并采用第二級(jí)深度學(xué)習(xí)模型定位出具體沖突的流表項(xiàng)。通過實(shí)驗(yàn)數(shù)據(jù)可以看出,當(dāng)OpenFlow網(wǎng)絡(luò)中存在大量的流表時(shí),本文提出的方法在檢測(cè)沖突流表項(xiàng)所花費(fèi)的時(shí)間上遠(yuǎn)小于傳統(tǒng)的流表沖突檢測(cè)方法。因此,這種新方法適合于對(duì)超大規(guī)模流表進(jìn)行沖突檢測(cè)。

        表5 第一級(jí)深度學(xué)習(xí)模型的檢測(cè)時(shí)間

        表6 first-order logic方法下不同數(shù)量流表項(xiàng)沖突檢測(cè)時(shí)間

        但是,任何算法都不能保證達(dá)到100%的檢測(cè)精確度,基于深度學(xué)習(xí)的算法也存在同樣的問題,該方法的精確度與各種因素有關(guān),如訓(xùn)練模型時(shí)所使用的數(shù)據(jù)集的大小、數(shù)據(jù)集的特征選擇、深度學(xué)習(xí)模型的層數(shù)及每層所使用的模型等,在后續(xù)的研究過程中,將朝此方向努力,使該方法的精度能得到進(jìn)一步的提高。

        參考文獻(xiàn):

        [1] 韋樂平. SDN的戰(zhàn)略性思考[J]. 電信科學(xué), 2015, 31(1): 7-12.WEI L P. Strategic Thinking on SDN [J]. Telecommunications Science, 2015, 31(1): 7-12.

        [2] CLOUGHERTY M M, WHITE C A, VISWANATHAN H, et al.SDN在IP網(wǎng)絡(luò)演進(jìn)中的作用[J]. 電信科學(xué), 2014, 30(5): 1-13.CLOUGHERTY M M, WHITE C A, VISWANATHAN H, et al.Role of SDN in IP network evolution[J]. Telecommunications Science, 2014, 30(5): 1-13.

        [3] SPECIFICATION O F S. Version 1.5. 1(wire protocol 0x01)[EB]. 2015.

        [4] VERMA D C. Simplify network administration using policy-based management[J]. Network IEEE, 2002, 16(2): 20-26.

        [5] LOPES A B B, LIMA DE C G A, FERNANDEZ M P.Flow-based conflict detection in OpenFlow networks using first-order logic[C]//2014 IEEE Symposium on Computers and Communication (ISCC), April 27-May 2, 2014, Toronto, Japan.New Jersey: IEEE Press, 2014: 1-6.

        [6] BATISTA B L A, DE CAMPOS G A L, FERNANDEZ M P. A proposal of policy based OpenFlow network management[C]//2013 20th International Conference on Telecommunications(ICT), Aug 14-16, 2013, Guilin, China. New Jersey: IEEE Press,2013: 1-5.

        [7] NATARAJAN S, HUANG X, WOLF T. Efficient conflict detection in flow-based virtualized networks[C]//2012 International Conference on Computing, Networking and Communications (ICNC), Oct 8-10, 2012, Maui, Hawaii. New Jersey: IEEE Press, 2012: 690-696.

        [8] LO C C, WU P Y, KUO Y H. Flow entry conflict detection scheme for software-defined network[C]//2015 International Telecommunication Networks and Applications Conference(ITNAC), November 18, 2015, Sydney, Australia. New Jersey: IEEE Press, 2015: 220-225.

        [9] PORRAS P, SHIN S, YEGNESWARAN V, et al. A security enforcement kernel for OpenFlow networks[C]//The First Workshop on Hot Topics in Software Defined Networks, August 13, 2012, Helsinki, Finland. New York: ACM Press, 2012:121-126.

        [10] HU H, HAN W, AHN G J, et al. FLOWGUARD: building robust firewalls for software-defined networks[C]//The Third Workshop on Hot Topics in Software Defined Networking, August 22, 2014,Chicago, Illinois, USA. New York: ACM Press, 2014: 97-102.

        [11] KHURSHID A, ZOU X, ZHOU W, et al. VerIFlow: verifying network-wide invariants in real time[C]//10th USENIX Symposium on Networked Systems Design and Implementation (NSDI 13), Apr 3-5, 2013, Lombard, IL, USA. [S.l.:s.n.], 2013: 15-27.

        [12] BASILE C, CANAVESE D, LIOY A, et al. Inter‐function anomaly analysis for correct SDN/NFV deployment[J]. International Journal of Network Management, 2016, 26(1): 25-43.

        [13] WANG P, HUANG L, XU H, et al. Rule anomalies detecting and resolving for software defined networks[C]//2015 IEEE Global Communications Conference (GLOBECOM), Dec 6-10,2015, San Diego, USA. New Jersey: IEEE Press, 2015: 1-6.

        [14] 王娟, 王江, 焦虹陽, 等. 一種基于OpenFlow的SDN訪問控制策略實(shí)時(shí)沖突檢測(cè)與解決辦法[J]. 計(jì)算機(jī)學(xué)報(bào), 2015,38(4): 872-883.WANG J, WANG J, JIAO H Y, et al. A method of Open-Flow-based real-time conflict detection and resolution for SDN access control policies[J]. Chinese Journal of Computers, 2015,38(4): 872-883.

        [15] LIAW A, WIENER M. Classification and regression by randomForest[J]. R News, 2002, 2(3): 18-22.

        Policy conflict detection in software defined network by using deep learning

        LI Chuanhuang1, CHENG Cheng1, YUAN Xiaoyong2, CEN Lijie1, WANG Weiming1
        1. School of Information and Electrical Engineering, Zhejiang Gongshang University, Hangzhou 310018, China 2. LiLAB, University of Florida, Gainesville, Florida 32611, USA

        In OpenFlow-based SDN(software defined network), applications can be deployed through dispatching the flow polices to the switches by the application orchestrator or controller. Policy conflict between multiple applications will affect the actual forwarding behavior and the security of the SDN. With the expansion of network scale of SDN and the increasement of application number, the number of flow entries will increase explosively. In this case,traditional algorithms of conflict detection will consume huge system resources in computing. An intelligent conflict detection approach based on deep learning was proposed which proved to be efficient in flow entries’ conflict detection. The experimental results show that the AUC (area under the curve) of the first level deep learning model can reach 97.04%, and the AUC of the second level model can reach 99.97%. Meanwhile, the time of conflict detection and the scale of the flow table have a linear growth relationship.

        policy conflict detection, deep learning, anomaly detection, SDN, OpenFlow

        s: The National High Technology Research and Development Program (863 Program) (No.2015AA011901), The National Natural Science Foundation of China (No.61402408, No.61379120), Zhejiang Provincial Natural Science Foundation of China(No.LY18F010006), Zhejiang’s Key Project of Research and Development Plan (No.2017C03058)

        TP393

        A

        10.11959/j.issn.1000-0801.2017305

        2017?06?29;

        2017?11?10

        國(guó)家高技術(shù)研究發(fā)展計(jì)劃(“863”計(jì)劃)基金資助項(xiàng)目(No.2015AA011901);國(guó)家自然科學(xué)基金資助項(xiàng)目(No.61402408,No.61379120);浙江省自然科學(xué)基金資助項(xiàng)目(No.LY18F010006);浙江省重點(diǎn)研發(fā)計(jì)劃基金資助項(xiàng)目(No.2017C03058)

        程成(1993?),男,浙江工商大學(xué)信息與電氣工程學(xué)院碩士生,主要研究方向?yàn)檐浖x網(wǎng)絡(luò)、深度學(xué)習(xí)。

        袁小雍(1990?),男,美國(guó)佛羅里達(dá)大學(xué)博士生,主要研究方向?yàn)榫W(wǎng)絡(luò)安全、深度學(xué)習(xí)、云計(jì)算和分布式系統(tǒng)。

        岑利杰(1992?),男,浙江工商大學(xué)信息與電氣工程學(xué)院碩士生,主要研究方向?yàn)榫W(wǎng)絡(luò)安全、深度學(xué)習(xí)、軟件定義網(wǎng)絡(luò)。

        王偉明(1964?),男,博士,浙江工商大學(xué)信息與電子工程學(xué)院教授,主要研究方向?yàn)樾乱淮W(wǎng)絡(luò)架構(gòu)、開放可編程網(wǎng)絡(luò),特別是IETF ForCES、SDN及可重構(gòu)網(wǎng)絡(luò)等方面的協(xié)議、模型和算法。

        李傳煌(1980?),男,博士,浙江工商大學(xué)信息與電氣工程學(xué)院副教授,2016年美國(guó)佛羅里達(dá)大學(xué)訪問學(xué)者,主要研究方向?yàn)檐浖x網(wǎng)絡(luò)、深度學(xué)習(xí)、開放可編程網(wǎng)絡(luò)、系統(tǒng)性能預(yù)測(cè)和分析模型,發(fā)表EI/SCI檢索論文40余篇,申請(qǐng)專利15項(xiàng)。

        猜你喜歡
        沖突檢測(cè)流表表項(xiàng)
        BIM技術(shù)在建筑裝飾工程項(xiàng)目管理中的應(yīng)用研究
        北方建筑(2024年2期)2024-05-25 00:00:00
        一種改進(jìn)的TCAM路由表項(xiàng)管理算法及實(shí)現(xiàn)
        基于時(shí)序與集合的SDN流表更新策略
        基于ARMA模型預(yù)測(cè)的交換機(jī)流表更新算法
        基于緩存策略的OpenFlow流表存儲(chǔ)優(yōu)化方案研究
        簡(jiǎn)析yangUI流表控制
        軟件定義網(wǎng)絡(luò)中一種兩步式多級(jí)流表構(gòu)建算法
        SDN數(shù)據(jù)中心網(wǎng)絡(luò)基于流表項(xiàng)轉(zhuǎn)換的流表調(diào)度優(yōu)化
        獨(dú)立學(xué)院補(bǔ)考安排沖突檢測(cè)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
        計(jì)算機(jī)應(yīng)用安全策略本體研究
        狼人狠狠干首页综合网| 人妻妺妺窝人体色www聚色窝| 亚洲人成电影在线无码| 中文字幕一区二区三区在线视频 | 久久亚洲精品无码va白人极品| 久久久精品3d动漫一区二区三区| 亚洲一区二区三区在线观看蜜桃 | 粉嫩小泬无遮挡久久久久久| 午夜精品久久久久久久久久久久| 国产成+人+综合+亚洲专| 日韩日本国产一区二区| 亚洲av福利院在线观看| 海角国精产品一区一区三区糖心 | 色偷偷av一区二区三区| 中国极品少妇videossexhd| 最新永久免费AV网站| 少妇高潮久久蜜柚av| 国产无遮挡又爽又刺激的视频老师| 久久精品国产精品青草色艺| 成人免费视频自偷自拍| 美利坚日韩av手机在线| 丰满人妻被黑人猛烈进入| a级福利毛片| 在线观看国产自拍视频| 亚洲三区在线观看内射后入| 亚洲中久无码永久在线观看同| 亚洲a∨好看av高清在线观看| 久久中文字幕亚洲综合| 最新国产福利在线观看精品| 色丁香在线观看| 国语自产啪在线观看对白| 久久人人爽人人爽人人片av高请| 免费无码又爽又刺激网站| 午夜无码亚| 亚洲av成人av三上悠亚| 男女裸交无遮挡啪啪激情试看| 亚洲黄色在线看| 中文字幕日韩高清乱码| 国产精品v片在线观看不卡| 2022Av天堂在线无码| 国产在线a免费观看不卡|