摘 要:針對基于固定周期或特定事件調(diào)度的網(wǎng)絡遙測在流表溢出攻擊檢測中產(chǎn)生的數(shù)據(jù)冗余問題,提出了一種面向流表溢出攻擊檢測的網(wǎng)絡遙測調(diào)度方法——F-Sense INT。F-Sense INT通過分析流表溢出攻擊流的特征,在數(shù)據(jù)平面針對性地收集對用于流表溢出攻擊檢測的網(wǎng)絡狀態(tài)信息,在降低控制器資源及南向通道帶寬占用的前提下減少遙測報告量。實驗結(jié)果表明,與原生OVS系統(tǒng)相比,在僅增加1.13%的交換機CPU占用率和4.18%的內(nèi)存占用率的情況下,F(xiàn)-Sense INT能有效地過濾網(wǎng)絡中的非流表溢出攻擊流,使遙測數(shù)據(jù)包數(shù)量減少。F-Sense INT顯著提升了面向流表溢出攻擊檢測的網(wǎng)絡遙測效率,同時也具備了較高的實用性。
關(guān)鍵詞:網(wǎng)絡遙測; 流表溢出攻擊; 數(shù)據(jù)平面
中圖分類號:TP393 文獻標志碼:A
文章編號:1001-3695(2024)11-038-3464-07
doi: 10.19734/j.issn.1001-3695.2024.03.0075
Network telemetry scheduling method for detecting flow table overflow attacks in SDN
Deng Di1,2a, 2b, Cui Yunhe1,2a, 2b?, Shen Guowei1,2a, 2b, Guo Chun1,2a, 2b, Chen Yi1,2a, 2b, Qian Qing3
(1. State Key Laboratory of Public Big Data, Guizhou University, Guiyang 550025, China; 2.a. Engineering Research Center of Text Computing amp; Cognitive Intelligence, Ministry of Education, b. Provincial Key Laboratory of Software Engineering and Information Security, College of Computer Science amp; Technology, Guizhou University,Guiyang 550025, China; 3. School of Information, Guizhou University of Finance amp; Economics,Guiyang 550025, China)
Abstract:This paper proposed a network telemetry scheduling method, F-Sense INT, aimed at solving the data redundancy issue caused by network telemetry scheduling based on fixed periods or specific event scheduling for detecting flow table overflow attacks. F-Sense INT analyzed the characteristics of flow table overflow attack traffic flows and collected network state information used for detecting such attacks. F-Sense INT decreased telemetry reporting volume while reducing the use of controller resources consumption and southbound channel bandwidth consumption. Experimental results demonstrate that F-Sense INT effectively filters out non-flow table overflow attack flows in the network. It reduces the quantity of telemetry data packets compared to the native OVS system, with only a 1.13% increase in switches CPU utilization and a 4.18% increase in memory usage. F-Sense INT significantly enhances network telemetry efficiency in the context of flow table overflow attack detection and offers high practicality.
Key words:network telemetry; flow table overflow attack; data plane
0 引言
軟件定義網(wǎng)絡(software-defined network,SDN)是一種全新的網(wǎng)絡架構(gòu),其控制和轉(zhuǎn)發(fā)相分離[1]的思想使其具有良好的可用性和可拓展性,因此被廣泛應用于數(shù)據(jù)中心[2]、物聯(lián)網(wǎng)等領(lǐng)域。但SDN的新型網(wǎng)絡架構(gòu)也帶來了新的安全問題,例如攻擊者能夠利用SDN流表項超時機制對SDN交換機發(fā)起流表溢出攻擊,使攻擊流表項在交換機中長期存在,并逐漸占滿交換機流表項存儲空間,使交換機不可用。流表溢出攻擊檢測是防御流表溢出攻擊的重要技術(shù)手段。常用的流表溢出攻擊檢測方法包括基于統(tǒng)計分析的方法和基于機器學習的方法[3]等,其中基于機器學習的SDN攻擊檢測是目前最廣泛使用的方法[4]。流表溢出攻擊使用的檢測數(shù)據(jù)由數(shù)據(jù)采集方法獲得。SDN中流表溢出攻擊檢測所用的數(shù)據(jù)采集方法通?;贠penFlow協(xié)議[5]的SDN網(wǎng)絡測量或基于sFlow等技術(shù)的傳統(tǒng)網(wǎng)絡測量,受采集路徑或交換機性能限制,使用上述網(wǎng)絡測量技術(shù)采集的數(shù)據(jù)會犧牲一定精度或不能準確反映網(wǎng)絡的性能[6]。作為一種新型的網(wǎng)絡測量技術(shù),網(wǎng)絡遙測(network telemetry)能夠獲取細粒度的網(wǎng)絡狀態(tài)信息。網(wǎng)絡遙測一般是指網(wǎng)絡設備自動化遠程收集多元異構(gòu)網(wǎng)絡狀態(tài)信息,并將其嵌入網(wǎng)絡數(shù)據(jù)包中進行傳輸?shù)倪^程[7]。與傳統(tǒng)網(wǎng)絡測量技術(shù)相比,網(wǎng)絡遙測具有更好的靈活性、實時性以及更細粒度獲取網(wǎng)絡狀態(tài)的能力。
一些研究者設計了基于網(wǎng)絡遙測的網(wǎng)絡數(shù)據(jù)收集方法。Cao等人[8]通過帶內(nèi)網(wǎng)絡遙測(in-band network telemetry,INT)感知交換機的狀態(tài)信息,并基于交換機狀態(tài)信息檢測交換機是否受到了攻擊。上述方式中,網(wǎng)絡遙測僅用于收集定位異常設備的粗粒度信息,不能為流表溢出攻擊檢測提供詳細的網(wǎng)絡流數(shù)據(jù)。此外,為了更合理地調(diào)度網(wǎng)絡遙測,有研究者提出了基于不同事件的網(wǎng)絡遙測調(diào)度方法。Wang等人[9]將網(wǎng)絡狀態(tài)分為可數(shù)網(wǎng)絡狀態(tài)和基于閾值網(wǎng)絡狀態(tài)兩類,狀態(tài)發(fā)生任何變化則意味著發(fā)生網(wǎng)絡事件的同時觸發(fā)網(wǎng)絡遙測。Castanheira等人[10]利用數(shù)據(jù)包計數(shù)的方式重點關(guān)注網(wǎng)絡中的大流,通過統(tǒng)計每條流的數(shù)據(jù)包個數(shù)并設置包數(shù)量閾值觸發(fā)網(wǎng)絡遙測調(diào)度。雖然流表溢出攻擊流和網(wǎng)絡大流都具有持續(xù)時間長的特點,但流表溢出攻擊流同時還具有數(shù)據(jù)包數(shù)量極少的特點,故上述通過判斷網(wǎng)絡流數(shù)據(jù)包數(shù)量是否超過閾值進行網(wǎng)絡遙測調(diào)度的方法不適用于流表溢出攻擊檢測場景。
綜上所述,在現(xiàn)有研究中,面向事件的網(wǎng)絡遙測調(diào)度方法是針對特定事件設計的,事件發(fā)生與流表溢出攻擊并無直接相關(guān)性,故在流表溢出攻擊檢測的應用場景中,無法根據(jù)上述網(wǎng)絡遙測調(diào)度方法進行特定的網(wǎng)絡數(shù)據(jù)收集。此外,Tang等人[11]提出了FTODefender。該方法以固定周期向交換機獲取流表信息,并從中提取四個特定的檢測特征,然后利用訓練好的機器學習檢測算法,根據(jù)提取的特征計算檢測分數(shù),以驗證是否發(fā)生了流表溢出攻擊。上述方法以1 s為固定周期頻繁獲取所有交換機的流表信息,檢測時需要從大量冗余流量信息中提取網(wǎng)絡流特征,在很大程度上增加了控制器的額外開銷。綜上,目前面向流表溢出攻擊檢測的網(wǎng)絡狀態(tài)獲取方法尚存在如下問題:
a)基于OpenFlow協(xié)議的SDN網(wǎng)絡測量技術(shù)靈活性不足,限制了其發(fā)現(xiàn)和分析網(wǎng)絡異常流量的能力[12]?;趕Flow等方法的網(wǎng)絡傳統(tǒng)測量技術(shù)需要對網(wǎng)絡數(shù)據(jù)包進行采樣和傳輸,會產(chǎn)生大量的額外采樣數(shù)據(jù)包。
b)通過固定周期收集網(wǎng)絡信息主要依靠人工經(jīng)驗確定周期,但是如何確定是一個難題,例如周期過大可能會遺漏大量網(wǎng)絡信息,周期過小導致網(wǎng)絡頻繁收集大量冗余信息,且需要消耗大量控制器資源。
c)基于事件的網(wǎng)絡遙測調(diào)度方法是針對特定事件的網(wǎng)絡狀態(tài)信息收集設計的,均不適用于流表溢出攻擊檢測方法中。目前尚沒有面向流表溢出攻擊檢測事件設計的網(wǎng)絡遙測調(diào)度方案,現(xiàn)有基于事件的網(wǎng)絡遙測調(diào)度方法只關(guān)注網(wǎng)絡流的一般特征,不考慮流表溢出攻擊的特定行為模式,因而其不適用于流表溢出攻擊檢測場景。
針對面向SDN網(wǎng)絡安全的數(shù)據(jù)采集方式所面臨的上述問題,本文提出了一種面向流表溢出攻擊檢測的網(wǎng)絡遙測調(diào)度方法,其主要貢獻如下:a)基于流表溢出攻擊流的特點,設計了面向流表溢出攻擊檢測的網(wǎng)絡遙測調(diào)度方法——F-Sense INT,同時在OpenvSwitch(OVS)中進行了部署和實現(xiàn);b)F-Sense INT通過網(wǎng)絡遙測啟動算法動態(tài)調(diào)整網(wǎng)絡遙測啟動條件,能有針對性地收集流表溢出攻擊檢測需要的網(wǎng)絡狀態(tài)信息,剔除大量無關(guān)信息,減少網(wǎng)絡遙測報告量,且無須控制器參與。
1 相關(guān)工作
1.1 流表溢出攻擊檢測
網(wǎng)絡受到流表溢出攻擊時,為了快速并準確檢測到SDN中的惡意流,研究者通常使用基于統(tǒng)計的方法和基于機器學習的方法對流表溢出攻擊進行檢測?;跈C器學習的檢測方法還可繼續(xù)細分為有監(jiān)督學習、無監(jiān)督學習、半監(jiān)督學習、強化學習和深度學習等[3],選擇合適的機器學習檢測方法可以提高對流表溢出攻擊的檢測準確性。
基于統(tǒng)計的檢測方法通過驗證網(wǎng)絡流量是否符合流量統(tǒng)計模型,以區(qū)分攻擊流量和正常流量。Rinaldi等人[13]引入了一種流量代理TACs。TACs通過OpenFlow監(jiān)控交換機獲取網(wǎng)絡流信息,使用KLD熵來對合法流和惡意流進行分類。基于機器學習的檢測方法通過獲取網(wǎng)絡流信息,并從中提取合適的數(shù)據(jù)特征用于模型訓練和攻擊檢測。Tang等人[14,15]提出了SFTO-Guard和FTOP。前者對交換機流表中的規(guī)則號進行實時監(jiān)控,通過設定閾值,使用命令通過協(xié)議接口收集交換機流表中包含的全部流規(guī)則信息,并設計流表溢出攻擊檢測算法進行檢測;后者采用預測器以固定間隔時間輪詢交換機的流條目的數(shù)量,并生成下一個時間戳計數(shù)的估計值,如果估計值超過閾值,則激活檢測器,當檢測器被激活時,輪詢交換機流表并計算特征,并將它們輸入到隨機森林分類器進行流表溢出攻擊檢測。
上述檢測策略在實際過程中被證明是有效的,但同時也面臨一些挑戰(zhàn),例如基于統(tǒng)計的方法其目標精度與需要處理的流量規(guī)模直接相關(guān),而機器學習方法缺乏高質(zhì)量和標準化的數(shù)據(jù)集、缺乏針對當前數(shù)據(jù)集的適當特征選擇方法等[16]。
1.2 面向事件的網(wǎng)絡遙測調(diào)度
網(wǎng)絡遙測代表性的技術(shù)是INT,它是由P4聯(lián)盟主導的一種數(shù)據(jù)平面帶內(nèi)網(wǎng)絡遙測思想。INT在推動可編程數(shù)據(jù)平面(programmable data-plane,PDP)發(fā)展的同時提出了INT v2.1的基本實現(xiàn)思想[17]。Gulenko等人[18]提出了在OVS交換機上INT的原型實現(xiàn),并對所收集到的數(shù)據(jù)表達能力和整體性能開銷進行了評估。一些研究者則提出了基于事件的網(wǎng)絡遙測調(diào)度方法。Castanheira等人[10]重點關(guān)注大象流,在每個交換機上檢查每個數(shù)據(jù)包在所屬流中的包計數(shù)器是否超過設定閾值,若超過該閾值則通知控制器進入收集過程,同時繼續(xù)計數(shù)數(shù)據(jù)包個數(shù)。上述方案采用先判斷、后收集的網(wǎng)絡遙測調(diào)度方式,能降低INT報告量,在一定程度上減輕了南向通道的帶寬壓力。Vestin等人[19]設計了一種可編程的事件檢測框架,事件檢測分為快速檢測和復雜的邏輯檢測。該框架在數(shù)據(jù)平面執(zhí)行事件檢測算法,若檢測到網(wǎng)絡事件則標記該數(shù)據(jù)包,在INT宿節(jié)點(INT sink node)只報告檢測到事件的INT數(shù)據(jù),自動丟棄其余INT報告。目前尚沒有面向流表溢出攻擊檢測的網(wǎng)絡遙測調(diào)度方法的相關(guān)研究。上述基于事件的網(wǎng)絡遙測調(diào)度會無差別地采集網(wǎng)絡流信息,均不考慮流表溢出攻擊流的明顯特征。因此上述調(diào)度方法只適用于本身特定的應用場景,均不適用于流表溢出攻擊檢測方法中。
2 面向流表溢出攻擊檢測的網(wǎng)絡遙測調(diào)度方法
2.1 F-Sense INT工作流程
面向流表溢出攻擊檢測的網(wǎng)絡遙測調(diào)度方法——F-Sense INT的工作流程如圖1所示。該網(wǎng)絡遙測調(diào)度方法部署在SDN數(shù)據(jù)平面中,其主要工作流程主要分為如下四個步驟:
a)網(wǎng)絡遙測啟動條件計算。交換機啟動完成后立即運行網(wǎng)絡遙測啟動條件計算算法,該算法根據(jù)交換機中各流表項狀態(tài)計算網(wǎng)絡遙測啟動條件,將啟動條件存儲在臨界區(qū)中,該臨界區(qū)通過該算法進行動態(tài)更新,并作為步驟c)的其中一個輸入。
b)數(shù)據(jù)平面流量信息獲取。數(shù)據(jù)包在數(shù)據(jù)平面進行轉(zhuǎn)發(fā)時,部署在交換機的網(wǎng)絡遙測調(diào)度機制能夠通過流表匹配機制獲取當前匹配數(shù)據(jù)包所屬流的流表項信息,隨后F-Sense INT提取流表項信息并正常轉(zhuǎn)發(fā)該數(shù)據(jù)包,流表項信息也作為步驟c)的一個輸入。
c)網(wǎng)絡遙測啟動和冗余數(shù)據(jù)過濾。在此步驟中,F(xiàn)-Sense INT啟動線程池調(diào)度和網(wǎng)絡遙測冗余數(shù)據(jù)過濾算法啟動網(wǎng)絡遙測并減少冗余網(wǎng)絡遙測報告,過濾的冗余網(wǎng)絡遙測流包括INT流以及重復網(wǎng)絡遙測流,非冗余流的流量信息和設備狀態(tài)信息將由F-Sense INT發(fā)送至步驟d)。
d)網(wǎng)絡遙測信息封裝和發(fā)送。該步驟先設置網(wǎng)絡遙測頭信息用于區(qū)分網(wǎng)絡遙測數(shù)據(jù)包和正常數(shù)據(jù)包;再將網(wǎng)絡遙測頭信息和需要網(wǎng)絡遙測的元數(shù)據(jù)依次封裝在UDP報文負載部分;最后設置網(wǎng)絡遙測數(shù)據(jù)包以太網(wǎng)包頭報文參數(shù),通過軟件交換機包轉(zhuǎn)發(fā)函數(shù)將網(wǎng)絡遙測數(shù)據(jù)包發(fā)送至網(wǎng)絡遙測服務器。
2.2 F-Sense INT
2.2.1 網(wǎng)絡遙測啟動條件計算算法
本文依據(jù)流表溢出攻擊流量的特點和空閑超時機制,設計了面向流表溢出攻擊檢測的網(wǎng)絡遙測啟動條件計算算法。在網(wǎng)絡遭受流表溢出攻擊時,該攻擊會探測流表項空閑超時大小,并設置略小于該空閑超時的攻擊周期,誘使交換機在其上安裝攻擊流表項并使攻擊流表項長期存在,在此過程中,攻擊流的持續(xù)存在時間會不斷增加。而現(xiàn)有文獻表明:在數(shù)據(jù)中心環(huán)境下的正常流,其80%的正常流量持續(xù)時間少于10 s,只有不足0.1%的正常流量持續(xù)時間超過200 s[20,21]。即數(shù)據(jù)中心轉(zhuǎn)發(fā)正常流的情況下,大部分流持續(xù)時間比較短,只有少量的流持續(xù)時間比較長。綜上,數(shù)據(jù)中心內(nèi)數(shù)量眾多、持續(xù)時間較短的網(wǎng)絡流不太可能是流表溢出攻擊流。因此,基于上述現(xiàn)象,F(xiàn)-Sense INT擬過濾上述不太可能是流表溢出攻擊的、數(shù)量眾多的、持續(xù)時間較短的網(wǎng)絡流。以此方式大幅降低需要進行網(wǎng)絡遙測的非攻擊流的數(shù)量,進而降低網(wǎng)絡遙測開銷,節(jié)省網(wǎng)絡流狀態(tài)信息傳輸需消耗的網(wǎng)絡和計算資源。假定一條網(wǎng)絡流的總持續(xù)時間為ti,匹配該流的流表項空閑超時時間為tidl,在不考慮硬超時的情況下,假定上述流表項的總存在時間為Ta,則有
Ta=ti+tidl(1)
當該流為正常流時,tidl在流表項安裝時其值固定不變,則Ta值的大小取決于該條流在網(wǎng)絡中的持續(xù)時間ti。在數(shù)據(jù)中心中,絕大部分流為老鼠流,即ti值很小,若ti值小到可以被忽視,則此時Ta值接近于tidl,數(shù)據(jù)中心同時存在少量的大象流,此時這些大象流的ti值不能被忽視。
針對流表空閑超時機制下的流表溢出攻擊,設攻擊周期為T(1≤Tlt;ti),攻擊流量的持續(xù)時間ti和攻擊周期的輪次有關(guān),設攻擊輪次為n(n≥1),則攻擊流在交換機中的流表項總存在時間為
Ta=ti+tidl=(n-1)×T+tidl(2)
網(wǎng)絡遭受攻擊時,其攻擊流在交換機中的流規(guī)則存在時間會隨著攻擊輪次的增加而線性增加。在低速的流表溢出攻擊環(huán)境下,持續(xù)時間較長的流量極大可能為攻擊流,而持續(xù)時間很短的流量極大可能為正常流[22]。在數(shù)據(jù)平面,設總流量集合為G={α,β,ε},其中α表示老鼠流,β表示大象流,ε表示流表溢出攻擊流,單條流量可表示為
α={α1,α2,…,αh}β={β1,β2,…,βk}ε={ε1,ε2,…,εs}(3)
網(wǎng)絡在正常運行的情況下,流量集合為G1={α,β},遭受流表溢出攻擊時流量集合為G2={α,β,ε},F(xiàn)-Sense INT的網(wǎng)絡遙測啟動條件計算目標為需要遙測G2中的全部ε并盡可能過濾掉G1或G2中的α。為了實現(xiàn)上述目標,本文設計了網(wǎng)絡遙測啟動條件計算算法。該算法建立在交換機自身維護的一張Expirable表的基礎之上,Expirable存儲了當前交換機中所有流表項的存在時間。同時,交換機會實時輪詢該表以刪除空閑超時的流表項。網(wǎng)絡遙測啟動條件計算算法在交換機自身輪詢列表Expirable時記錄其中的流表項個數(shù)n以及每條流表項存在的時間Ti,計算得出流表項平均存在時間Tv:
Tv=∑ni=1Tin(4)
每次輪詢后,通過Tv更新網(wǎng)絡遙測啟動條件Tc。算法首先設置網(wǎng)絡遙測啟動條件的下限值:
Tmin=tidl+C(5)
網(wǎng)絡遙測啟動的下限值Tmin即為在tidl的基礎上增加C秒,該值為常數(shù),且大小取決于定義老鼠流持續(xù)時間的最大值。若Tv≤Tmin,則Tc=Tmin,通過該條件能過濾掉數(shù)據(jù)平面中持續(xù)時間很小的老鼠流α;其次,算法限制其網(wǎng)絡遙測時間上限Tmax,即網(wǎng)絡遙測啟動條件不能無限增大,將上限值設置為x倍tidl。在SDN中,tidl取整數(shù)且最小值為1 s,則由不等式
tidl+C≤x×tidltidl≥1(tidl∈N)(6)
可得出x最小取值為x=C+1,在本文算法中設置其上限值為Tmax=(C+1)×tidl。當Tv≥Tmax時,Tc=Tmax。當Tminlt;Tvlt;Tmax時,
Tmid=η×Tr+(1-η)×Tv(7)
其中:Tr為上一輪次得出的網(wǎng)絡遙測啟動時間;Tmid為本輪得出的網(wǎng)絡遙測啟動時間;η為權(quán)重值。在該條件下意味著其網(wǎng)絡中的持續(xù)時間較長的流開始增多,其網(wǎng)絡遙測啟動條件會自適應變化。綜上,Tc的動態(tài)更新公式為
Tc=TminTv≤TminTmid
Tminlt;Tvlt;TmaxTmaxTv≥Tmax(8)
最后,算法每一輪輪詢后令Tr=Tc,同時將Tc更新到臨界區(qū),作為當前網(wǎng)絡遙測啟動和網(wǎng)絡遙測冗余數(shù)據(jù)過濾算法的一個輸入。
算法1 網(wǎng)絡遙測啟動條件計算算法
輸入:Expirable,Tr,tidl。
輸出:Tc。
a) for i←1 to N do Tall←Tall+Ti;n←n+1;end for。
//循環(huán)遍歷Expirable
b)Tv←Tall/n。 // 流表項的平均存在時間計算
c)if Tv≤tidl+C" then Tc←tidl+C;
else if tidl+Clt;Tvlt;(C+1)×tidl then
Tc←η×Tr+(1-η)×Tv;
else Tv≥(C+1)×tidl then Tc←(C+1)×tidl end if。
//網(wǎng)絡遙測啟動條件計算
d)Tr←Tc。 // 存儲本輪網(wǎng)絡遙測啟動條件
e) return Tc。 // 臨界區(qū)更新網(wǎng)絡遙測啟動條件
2.2.2 數(shù)據(jù)平面流量信息獲取
數(shù)據(jù)平面在數(shù)據(jù)轉(zhuǎn)發(fā)過程中,數(shù)據(jù)包通過匹配交換機中的流表項進行轉(zhuǎn)發(fā)。數(shù)據(jù)包到達交換機后,交換機會提取數(shù)據(jù)包的源IP、目的IP、協(xié)議類型、源端口、目的端口等信息與流表中的流表項進行匹配轉(zhuǎn)發(fā)。流表項除存儲上述流信息外,還存儲了流的最近使用時間和流創(chuàng)建時間等信息。流的詳細信息用集合Irule表示。當數(shù)據(jù)包匹配到流表規(guī)則時,可以從交換機中獲取當前數(shù)據(jù)包所屬流的Irule,提取該條流信息Irule后立即轉(zhuǎn)發(fā)數(shù)據(jù)包,同時啟動網(wǎng)絡遙測線程進行網(wǎng)絡遙測數(shù)據(jù)冗余數(shù)據(jù)過濾和網(wǎng)絡遙測啟動,Irule作為其網(wǎng)絡遙測啟動和冗余數(shù)據(jù)過濾算法的一個輸入。
2.2.3 網(wǎng)絡遙測啟動和冗余數(shù)據(jù)過濾
該步驟中,開啟單獨網(wǎng)絡遙測線程進行網(wǎng)絡遙測調(diào)度。數(shù)據(jù)包匹配流表項時,會更新流規(guī)則Irule中的最近使用時間tmd,由此可獲取該條流在交換機中的持續(xù)存在時間Tas,計算公式為
Tas=tmd-tcreat(9)
其中:tcreat是交換機中流表項的創(chuàng)建時間。將Tas與Tc進行比較。若Taslt;Tc,數(shù)據(jù)包不滿足網(wǎng)絡遙測條件,則不進行網(wǎng)絡遙測且銷毀線程;當Tas≥Tc時,數(shù)據(jù)包滿足網(wǎng)絡遙測條件,且該條流后續(xù)到來的數(shù)據(jù)包也會啟動網(wǎng)絡遙測,若為滿足網(wǎng)絡遙測條件的同一條流數(shù)據(jù)包都進行網(wǎng)絡遙測,會使數(shù)據(jù)平面產(chǎn)生大量網(wǎng)絡遙測數(shù)據(jù)冗余。為解決該問題,本文設計了網(wǎng)絡遙測冗余數(shù)據(jù)過濾算法,該算法目的在于過濾冗余網(wǎng)絡遙測信息。該方法由INT數(shù)據(jù)包過濾以及重復遙測數(shù)據(jù)包過濾兩個子方法組成。INT數(shù)據(jù)包過濾用于過濾對INT數(shù)據(jù)包本身進行遙測的情況;重復遙測數(shù)據(jù)包過濾用于避免重復遙測近期已遙測過的網(wǎng)絡流。INT數(shù)據(jù)包過濾根據(jù)INT包中特殊字段判斷其是否為INT數(shù)據(jù)包,銷毀對INT流本身進行遙測的線程,避免對INT數(shù)據(jù)流進行遙測。重復遙測數(shù)據(jù)包過濾在臨界區(qū)位置維護一張遙測流表—telTable,從輸入的當前流規(guī)則Irule中提取唯一標識網(wǎng)絡遙測流的五元組信息,并將其存儲在telTable中。一條流在telTable中僅有一條記錄,線程運行時查詢滿足網(wǎng)絡遙測條件的流在telTable中是否存在,判斷該條流是否已經(jīng)啟動過網(wǎng)絡遙測,對于遙測過的流量不再進行遙測,對于近期未遙測的流,會啟動網(wǎng)絡遙測函數(shù)進行網(wǎng)絡遙測信息封裝與發(fā)送,同時將該條流標識加入telTable中。
2.2.4 網(wǎng)絡遙測信息封裝與發(fā)送
F-Sense INT需要對滿足網(wǎng)絡遙測條件及通過冗余數(shù)據(jù)過濾的流進行網(wǎng)絡遙測數(shù)據(jù)封裝。將采集的遙測數(shù)據(jù)聚合為遙測元數(shù)據(jù),并將其與遙測頭一起按一定規(guī)則封裝成網(wǎng)絡遙測數(shù)據(jù)包。本文選取了8個數(shù)據(jù)作為遙測元數(shù)據(jù),其詳細字段如表2所示,并設計了專用的網(wǎng)絡遙測包結(jié)構(gòu)以封裝網(wǎng)絡遙測數(shù)據(jù),其數(shù)據(jù)包結(jié)構(gòu)如圖2所示。
如圖2所示,網(wǎng)絡遙測數(shù)據(jù)包由以太網(wǎng)報頭信息、遙測頭信息和元數(shù)據(jù)信息三個部分組成。以太網(wǎng)報頭信息是網(wǎng)絡數(shù)據(jù)包的常規(guī)以太網(wǎng)報文頭部;遙測頭信息主要由網(wǎng)絡遙測協(xié)議號INT Proto和網(wǎng)絡遙測標識兩個字段組成;遙測元數(shù)據(jù)部分是當前設備信息和需要遙測流的特征信息。F-Sense INT將遙測頭信息和元數(shù)據(jù)信息作為遙測數(shù)據(jù)負載依次嵌入遙測包,完成網(wǎng)絡遙測數(shù)據(jù)包封裝。F-Sense INT使用INT-XD模式收集遙測數(shù)據(jù),與INT-MD不同,INT-XD中每一臺交換機既是INT源節(jié)點也是INT宿節(jié)點,且不存在INT轉(zhuǎn)發(fā)節(jié)點。F-Sense INT部署在數(shù)據(jù)平面每一臺交換機中,在不需要網(wǎng)絡遙測路徑編排的情況下可以實現(xiàn)監(jiān)控全網(wǎng)的網(wǎng)絡遙測。網(wǎng)絡中設置一臺網(wǎng)絡遙測服務器,當網(wǎng)絡節(jié)點觸發(fā)網(wǎng)絡遙測時將遙測數(shù)據(jù)包中目的地址指向該服務器地址,從而收集該節(jié)點的遙測數(shù)據(jù)。
2.3 算法復雜度分析
F-Sense INT的時間復雜度主要是由2.2.1節(jié)的網(wǎng)絡遙測啟動條件計算和2.2.3節(jié)中的循環(huán)結(jié)構(gòu)決定的。網(wǎng)絡遙測啟動條件計算中除循環(huán)外,其余操作均為常數(shù)時間,其時間復雜度為常數(shù)。而循環(huán)的執(zhí)行次數(shù)取決于Expirable列表的長度且循環(huán)內(nèi)部操作為常數(shù)時間。設Expirable的長度為n,則網(wǎng)絡遙測啟動條件計算算法的時間復雜度為O(n)。同理,在2.2.3節(jié)中,時間復雜度取決于telTable的長度,其時間復雜度為O(n),綜上,F(xiàn)-Sense INT的時間復雜度為O(n)+O(n)=O(n)。
F-Sense INT的空間復雜度計算中,算法1執(zhí)行期間不使用動態(tài)分配內(nèi)存空間,也不使用額外的數(shù)組空間,故算法1空間復雜度取決于算法中定義的與輸入規(guī)模無關(guān)的變量,因此整體空間復雜度為O(1)。同理,在2.2.3節(jié)中,變量空間復雜度為O(1),數(shù)組空間取決于telTable的長度,該數(shù)組空間大小與表數(shù)目成正比,故數(shù)組空間復雜度為O(n)。綜上,F(xiàn)-Sense INT的整體空間復雜度為O(1)+O(n)=O(n)。
2.4 F-Sense INT實現(xiàn)
F-Sense INT實現(xiàn)如圖3所示。本文在虛擬交換機OVS中編程實現(xiàn)了F-Sense INT,并將F-Sense INT分布式部署在交換機中收集網(wǎng)絡狀態(tài)信息。F-Sense INT主要基于OVS中的ovs-vswitchd、ofptoto-dpif、ofptoto-dpif-xlate和datapath 四個模塊協(xié)同運行。
如圖3所示,ovs-vswitchd模塊在主函數(shù)中維護了OVS的守護進程。本文在該模塊中拓展了網(wǎng)絡遙測線程池,并調(diào)用thpool_init()方法初始化16個最大線程數(shù)。網(wǎng)絡遙測啟動條件計算則部署在ofptoto-dpif模塊中。本文在該模塊中使用LIST_FOR_EACH_SAFE()方法不斷輪詢流規(guī)則列表Expirable,計算得出網(wǎng)絡遙測啟動條件。本文設計了telemetry_condition update()方法,負責將網(wǎng)絡遙測啟動條件更新到臨界區(qū)中。在ofptoto-dpif-xlate模塊中,網(wǎng)絡數(shù)據(jù)包隊列在xlate_actions()方法中進行匹配,在此過程中網(wǎng)絡遙測通過數(shù)據(jù)包獲取數(shù)據(jù)平面流量狀態(tài),并從臨界區(qū)獲取網(wǎng)絡遙測啟動條件,當流滿足遙測啟動條件時由thool_add_work()方法向線程池申請啟動網(wǎng)絡遙測線程,申請成功則執(zhí)行thread_is_telemetry()方法。在該方法中,F(xiàn)lowTuple_equals()方法負責網(wǎng)絡遙測冗余數(shù)據(jù)過濾,send_net_telemtry_data()方法則完成網(wǎng)絡遙測信息封裝和發(fā)送等功能,該方法將網(wǎng)絡遙測包提交至數(shù)據(jù)通路datapath模塊中,由該模塊將其轉(zhuǎn)發(fā)至網(wǎng)絡遙測服務器。
3 實驗與分析
3.1 實驗設置
本文用于搭建網(wǎng)絡遙測調(diào)度方法實驗的軟硬件信息如表3所示。硬件方面,使用具有i7-7700處理器、內(nèi)存和硬盤大小分別是16 GB、512 GB的主機進行測試。同時,該主機安裝了Ubuntu 18.04操作系統(tǒng),利用Mininet搭建SDN網(wǎng)絡。網(wǎng)絡中包含一臺網(wǎng)絡遙測服務器,一臺RYU控制器,數(shù)據(jù)平面使用數(shù)據(jù)中心廣泛使用的胖樹結(jié)構(gòu)[23,24],其拓撲結(jié)構(gòu)如圖4所示,其中包括20臺OVS交換機和32臺終端主機,控制平面與數(shù)據(jù)平面使用OpenFlow 1.3協(xié)議通信。
實驗場景設置為無攻擊場景和有攻擊場景。實驗中的背景流量包括正常流量和攻擊流量兩個大類,流量類別如表4所示。正常流量中含有老鼠流(非流表溢出攻擊的小流)588條,大象流(非流表溢出攻擊的大流)126條,比例為4∶1,其中,一條老鼠流中每個數(shù)據(jù)包有效載荷為100 Byte,發(fā)送速率為800 bit/s,流持續(xù)時間為5 s;一條大象流中每個數(shù)據(jù)包有效載荷為1 000 Byte,發(fā)送速率為2 400 bit/s,流持續(xù)時間為15 s,且流量服從正態(tài)分布[25]。攻擊流量包含84條攻擊流,每一條攻擊流單個周期內(nèi)僅發(fā)送1個數(shù)據(jù)包,有效載荷為100 Byte,發(fā)送速率為800 bit/s,正常流量發(fā)送60 s后,以9 s為攻擊周期持續(xù)發(fā)送攻擊流量。上述流量產(chǎn)生與此前團隊在文獻[26]中工作類似,使用Nping發(fā)包工具產(chǎn)生流量。實驗部署F-Sense INT時,網(wǎng)絡遙測啟動條件計算算法中式(5)中的常數(shù)C依據(jù)文獻[19]取值為10,式(7)中的權(quán)重值η取值為0.875。
實驗分為三個部分:第一部分用于評估不同網(wǎng)絡遙測調(diào)度方法在無攻擊場景下的網(wǎng)絡遙測信息報告量;第二部分用于在有攻擊場景下評估不同網(wǎng)絡遙測調(diào)度方法的網(wǎng)絡攻擊流有效遙測比例;第三部分用于評估不同網(wǎng)絡遙測調(diào)度方法在交換機上的計算開銷。具體地,在第一和二部分,將本文方法F-Sense INT與Per-NetInfo(文獻[11]中基于固定周期網(wǎng)絡遙測調(diào)度方法,該方法通過設置一個固定1 s的時間窗口定期向網(wǎng)絡交換機收集流量信息)、PerioSync(文獻[27]中基于固定周期網(wǎng)絡遙測調(diào)度方法,該方法通過設置一個固定5 s時間窗口定期向網(wǎng)絡交換機收集流量信息)和FlowStalker(文獻[10]中基于數(shù)據(jù)包閾值網(wǎng)絡遙測調(diào)度方法,該方法統(tǒng)計每一條流數(shù)據(jù)包個數(shù)并設置閾值,超過該閾值則觸發(fā)網(wǎng)絡交換機收集流量信息)進行對比。第三部分實驗獲取了實驗平臺運行仿真實驗時的資源開銷,對比在原生OVS、PerioSync、FlowStalker和F-Sense INT 四種不同數(shù)據(jù)平面下仿真實驗平臺的計算開銷。
3.2 結(jié)果與分析
1) 無攻擊場景下網(wǎng)絡遙測報告量對比
無攻擊場景下四種網(wǎng)絡遙測調(diào)度方法在相同時間內(nèi)INT報告量如圖5所示。結(jié)果顯示,Per-NetInfo和PerioSync的遙測報告量呈線性增長,實驗過程中網(wǎng)絡遙測報告量分別達到23 140和10 818個;FlowStalker在實驗周期內(nèi)收集了618個遙測包,遙測報告量增長緩慢;F-Sense INT在300 s之后幾乎不產(chǎn)生新的遙測數(shù)據(jù)包,實驗周期內(nèi)總共收集168個遙測數(shù)據(jù)包。FlowStalker和F-Sense INT兩者與Per-NetInfo和PerioSync相比,遙測報告量存在量級差異。
在本次實驗周期內(nèi),正常流量下遙測流總數(shù)如表5所示,Per-NetInfo收集到全部588條老鼠流和全部126條大象流;PerioSync收集到496條老鼠流和全部126條大象流;FlowStalker收集到350條老鼠流和全部126條大象流;F-Sense INT收集到0條老鼠流及全部126條大象流,老鼠流過濾率為100%。
2)攻擊場景下網(wǎng)絡攻擊流有效遙測比例對比
有攻擊場景下四種網(wǎng)絡遙測調(diào)度方法在相同遙測報告量下對網(wǎng)絡攻擊流的有效遙測比例對比如圖6所示。
由于Per-NetInfo和PerioSync與另外兩種網(wǎng)絡遙測調(diào)度方法收集的遙測報告量存在量級差異,本文在攻擊流量背景實驗中以FlowStalker收集到的700個報告量為基準,驗證在收集到相同INT個數(shù)時攻擊流量的收集比例。由圖6可知,周期網(wǎng)絡遙測Per-NetInfo和PerioSync在基準值內(nèi)均未檢測到攻擊流量,原因在于攻擊流量還未發(fā)送時,周期調(diào)度已經(jīng)開始收集流表項中已有的正常流量,且這些INT報告都是冗余信息;隨著INT數(shù)量增多,F(xiàn)lowStalker最終只能收集到52.4%的攻擊流,近一半的INT報告是大象流的遙測信息;F-Sense INT對大象流和流表溢出攻擊流量均敏感,僅收集585個INT數(shù)據(jù)包即收集到100%的網(wǎng)絡攻擊流信息。有攻擊場景下四種網(wǎng)絡遙測調(diào)度方法在相同時間內(nèi)INT報告量如圖7所示。
引入攻擊流后,Per-NetInfo和PerioSync的遙測報告量依然隨時間線性增長,實驗周期內(nèi)網(wǎng)絡遙測報告量分別達到23 244和12 522個;FlowStalker在實驗周期內(nèi)僅收集709個遙測包,與圖5相比,其遙測報告量相差不大且依然增長緩慢;F-Sense INT則對攻擊流敏感,實驗周期內(nèi)共收集1 389個遙測數(shù)據(jù)包。有攻擊場景下,Per-NetInfo和PerioSync與另外兩種網(wǎng)絡遙測調(diào)度方法依然存在量級差異,與圖5相比,不同之處在于F-Sense INT在該攻擊場景下,其遙測數(shù)據(jù)包數(shù)明顯增長。
有攻擊場景下遙測流總數(shù)如表6所示,其中,Per-NetInfo收集到老鼠流588條、大象流126條、攻擊流84條,攻擊流遙測率為100%;PerioSync收集到老鼠流499條、大象流126條、攻擊流84條,攻擊流遙測率為100%;FlowStalker收集到老鼠流438條、大象流126條、攻擊流44條,攻擊流遙測率為52.4%;F-Sense INT收集到老鼠流0條、大象流126條、攻擊流84條,老鼠流過濾率為100%,攻擊流遙測率為100%。
由第一、二部分實驗得出,四種網(wǎng)絡遙測調(diào)度模式均對大象流敏感,無論在無攻擊場景或有攻擊場景下均能收集到全部大象流;對于老鼠流,由于周期大小設置的不同,Per-NetInfo和PerioSync對老鼠流的敏感性也不同。例如周期值較小的Per-NetInfo頻繁收集網(wǎng)絡流信息,該方法能收集全部老鼠流信息,但同時造成的資源開銷和冗余信息量也最大;周期值較大的PerioSync會收集大部分老鼠流信息,小部分老鼠流會在調(diào)度周期到來之前被流表超時機制刪除而不會被檢測到,PerioSync仍然造成較大資源開銷和信息冗余。FlowStalker也收集了部分老鼠流,但F-Sense INT則完全將老鼠流過濾,大大降低了信息冗余和資源開銷。對于攻擊流,Per-NetInfo和PerioSync兩者與F-Sense INT相比,雖然攻擊流遙測率均為100%,但Per-NetInfo和PerioSync收集了太多冗余信息,其遙測報告量分別是F-Sense INT的16.7倍和9倍。FlowStalker在本次實驗周期內(nèi)只能檢測到52.4%攻擊流,原因是攻擊流與大象流雖然都有流持續(xù)時間長的特性,但每條攻擊流在一個周期內(nèi)只發(fā)送極少個數(shù)據(jù)包,導致攻擊流數(shù)據(jù)包計數(shù)時難以達到數(shù)據(jù)包閾值條件,只有部分攻擊流被啟動遙測,故采用FlowStalker在該攻擊場景中并不適用。F-Sense INT能獲取每一個交換機中每一條持續(xù)時間長的流從而啟動遙測,在圖7中,與FlowStalker相比,F(xiàn)-Sense INT要收集更多攻擊流的網(wǎng)絡遙測包,而與Per-NetInfo和PerioSync相比,F(xiàn)-Sense INT只需收集少量的INT數(shù)據(jù)包即可獲取到所有攻擊流量。綜上所述,在SDN流表溢出攻擊檢測環(huán)境下使用Per-NetInfo和PerioSync收集遙測信息,雖然可以收集到全部攻擊流量,但這種無差別的收集會導致大量的信息冗余;FlowStalker使用數(shù)據(jù)包閾值啟動網(wǎng)絡遙測,該調(diào)度方式對大象流有不錯的效果,但并不適用于流表溢出攻擊檢測場景下的攻擊流信息收集。本文F-Sense INT滿足該攻擊場景下低冗余的攻擊流遙測信息收集。
3)計算開銷對比
本部分使用對原生OVS、Per-NetInfo、PerioSync、FlowStalker和F-Sense INT 五種不同數(shù)據(jù)平面的實驗仿真平臺的計算開銷進行測試,評估指標包括CPU利用率和內(nèi)存占用率。使用第二部分實驗中有攻擊場景的背景流量,分別在50~200條、間隔為50的5個大小不同的telTable系統(tǒng)中進行實驗,運行時每隔10 s進行一次采樣獲取系統(tǒng)CUP利用率和內(nèi)存占用率,最后將所有采樣結(jié)果進行處理得出系統(tǒng)運行的性能指標。
原生OVS、Per-NetInfo、PerioSync、FlowStalker和F-Sense INT的CPU利用率如圖8所示。圖8中,原生OVS的CPU平均利用率為4.08%,與之相比,引入另外四種網(wǎng)絡遙測調(diào)度方法后,CPU平均利用率都有所增加,但三者的計算開銷相差較小。F-Sense INT的CPU開銷僅增加0.33%~1.13%。原生OVS、Per-NetInfo、PerioSync、FlowStalker和F-Sense INT的內(nèi)存占用率如圖9所示。圖9中,原生OVS內(nèi)存平均占用率為37.48%,與之相比,引入三種網(wǎng)絡遙測模式后內(nèi)存平均占用率均有所增加,F(xiàn)-Sense INT的內(nèi)存開銷僅增加1.56%~4.18%。
第三部分實驗結(jié)果表明,Per-NetInfo和PerioSync相比,其內(nèi)存開銷相差不大,但CPU利用率Per-NetInfo明顯更高,原因在于Per-NetInfo的周期間隔小,導致數(shù)據(jù)平面頻繁進行數(shù)據(jù)采集。與原生OVS系統(tǒng)相比,引入四種網(wǎng)絡遙測調(diào)度方法后雖然增加了對應開銷,但其開銷較小,本文提出的網(wǎng)絡遙測調(diào)度方法F-Sense INT滿足該攻擊場景下低開銷的攻擊流遙測信息收集。
4 結(jié)束語
針對現(xiàn)有在SDN網(wǎng)絡安全中使用控制器和南向通道協(xié)議周期輪詢采集網(wǎng)絡數(shù)據(jù)造成控制器負載大、數(shù)據(jù)冗余多和現(xiàn)有的基于特定事件啟動的網(wǎng)絡遙測調(diào)度方法不適用于流表溢出攻擊檢測場景等問題,本文提出了面向流表溢出攻擊檢測的網(wǎng)絡遙測調(diào)度方法——F-Sense INT。實驗結(jié)果表明,該方法將網(wǎng)絡遙測啟動算法部署在全局網(wǎng)絡中,低開銷、低冗余地收集網(wǎng)絡中大象流或攻擊流的網(wǎng)絡遙測信息,將遙測元數(shù)據(jù)直接發(fā)送至網(wǎng)絡遙測服務器,同時釋放了控制器負載并降低了南向通道壓力。由于本文的網(wǎng)絡遙測啟動算法僅針對網(wǎng)絡中持續(xù)時間長的流啟動網(wǎng)絡遙測,本文設計的網(wǎng)絡遙測調(diào)度主要適用于融合了網(wǎng)絡遙測的流表溢出攻擊檢測場景或需要感知網(wǎng)絡大象流的應用場景,該方法在通用性方面存在不足。在未來的研究工作中,可以將該方法進行拓展,考慮融合多種攻擊場景的網(wǎng)絡遙測調(diào)度方法,例如探索面向SDN飽和攻擊檢測的網(wǎng)絡遙測方法,搭建更加通用的網(wǎng)絡遙測調(diào)度平臺,使之適用于更多的網(wǎng)絡安全應用。
參考文獻:
[1]Shu Zhaogang, Wang Jiafu, Li Di, et al. Security in software-defined networking: threats and countermeasures[J]. Mobile Networks and Applications, 2016, 21(5): 764-776.
[2]Sellami B, Hakiri A, Yahia S B,et al. Energy-aware task scheduling and offloading using deep reinforcement learning in SDN-enabled IoT network[J]. Computer Networks, 2022, 210: 108957.
[3]Singh M P, Bhandari A. New-flow based DDoS attacks in SDN: taxonomy, rationales, and research challenges[J]. Computer Communications, 2020, 154: 509-527.
[4]Cui Yunhe, Qian Qing, Guo Chun, et al. Towards DDoS detection mechanisms in software-defined networking[J]. Journal of Network and Computer Applications, 2021, 190: 103156.
[5]Lara A,Kolasani A, Ramamurthy B. Network innovation using openflow: a survey[J]. IEEE Communications Surveys amp; Tutorials, 2013, 16(1): 493-512.
[6]Tan Lizhuang, Su Wei, Zhang Wei, et al. In-band network telemetry: a survey[J]. Computer Networks, 2021, 186: 107763.
[7]郝炳煒, 崔允賀, 錢清, 等. 基于協(xié)同遷移進化的自適應網(wǎng)絡遙測路徑編排方法[J]. 計算機科學, 2023, 50(7): 270-277. (Hao Bingwei, Cui Yunhe, Qian Qing. et al. APPOINTER: adaptive network telemetry path orchestration method based on cooperative migration evolution[J]. Computer Science, 2023, 50(7): 270-277.)
[8]Cao Yongyi, Jiang Hao, Deng Yuchuan, et al. Detecting and mitigating DDoS attacks in SDN using spatial-temporal graph convolutional network[J]. IEEE Trans on Dependable and Secure Computing, 2021, 19(6): 3855-3872.
[9]Wang Shieyuan, Chen Yoru, Li Junyi, et al. A bandwidth-efficient int system for tracking the rules matched by the packets of a flow [C]// Proc of IEEE Global Communications Conference. Pisca-taway, NJ: IEEE Press, 2019: 1-6.
[10]Castanheira L,Parizotto R, Schaeffer-Filho A E. FlowStalker: comprehensive traffic flow monitoring on the data plane using P4[C]// Proc of IEEE International Conference on Communications. Pisca-taway, NJ: IEEE Press, 2019: 1-6.
[11]Tang Dan, Zheng Zhiqing, Yin Chao, et al. FTODefender: an efficient flow table overflow attacks defending system in SDN[J]. Expert Systems with Applications, 2024, 237: 121460.
[12]Saxena M, Kumar R. A recent trends in software defined networking (SDN) security[C]//Proc of the 3rd International Conference on Computing for Sustainable Global Development. Piscataway, NJ: IEEE Press, 2016: 851-855.
[13]Rinaldi G, Adamsky F, Soua R,et al. Softwarization of SCADA: lightweight statistical SDN-agents for anomaly detection[C]// Proc of the 10th International Conference on Networks of the Future. Pisca-taway, NJ: IEEE Press, 2019: 102-109.
[14]Tang Dan, Zhang Dongshou, Qin Zheng, et al. SFTO-guard: real-time detection and mitigation system for slow-rate flow table overflow attacks[J]. Journal of Network and Computer Applications, 2023, 213: 103597.
[15]Tang Dan, Zheng Zhiqing, Li Keqin, et al. FTOP: an efficient flow table overflow preventing system for switches in SDN[J]. IEEE Trans on Network Science and Engineering, 2023, 11(3): 2524-2536.
[16]Valdovinos I A, Pérez-díaz J A, Choo K K R, et al. Emerging DDoS attack detection and mitigation strategies in software-defined networks: taxonomy, challenges and future directions[J]. Journal of Network and Computer Applications, 2021, 187: 103093.
[17]P4.org Applications Working Group. In-band network telemetry(INT)dataplane specification[EB/OL]. (2020-11-11). https://p4.org/p4-spec/docs/INT_v2_1.pdf.
[18]Gulenko A, Wallschl?ger M, Kao O. A practical implementation of in-band network telemetry in open vSwitch[C]// Proc of the 7th International Conference on Cloud Networking. Piscataway, NJ: IEEE Press, 2018: 1-4.
[19]Vestin J, Kassler A, Bhamare D,et al. Programmable event detection for in-band network telemetry[C]// Proc of the 8th International Confe-rence on Cloud Networking. Piscataway, NJ: IEEE Press 2019: 1-6.
[20]Kandula S, Sengupta S, Greenberg A,et al. The nature of data center traffic: measurements amp; analysis[C]// Proc of the 9th ACM SIGCOMM Conference on Internet Measurement. New York: ACM Press, 2009: 202-208.
[21]陳珂, 劉亞志, 王思晗. 基于流量特征的流調(diào)度策略研究綜述[J]. 計算機應用研究, 2020, 37(10): 2889-2894. (Chen Ke, Liu Yazhi, Wang Sihan. Survey of research on flow scheduling strategies based on traffic characteristics[J]. Application Research of Computers, 2020, 37(10): 2889-2894.)
[22]Polat H, Turkoglu M, Polat O. Deep network approach with stacked sparse autoencoders in detection of DDoS attacks on SDN-based VANET[J]. IET Communications, 2020, 14(22): 4089-4100.
[23]Hu Siquan, Wang Xinyu, Shi Zhiguo. A software defined network scheme for intra datacenter network based on fat-tree topology[J]. Journal of Physics: Conference Series, 2021, 2025(1): 012106.
[24]農(nóng)黃武, 黃傳河, 黃曉鵬. 基于SDN的胖樹數(shù)據(jù)中心網(wǎng)絡的多路徑路由算法[J]. 計算機科學, 2016, 43(6): 32-34, 76. (Nong Huangwu, Huang Chuanhe, Huang Xiaopeng. SDN-based multipath routing algorithm for fat-tree data center networks[J]. Computer Science, 2016, 43(6): 32-34, 76.)
[25]Peng Jincheng, Cui Yunhe, Qian Qing, et al. ADVICE: towards adaptive scheduling for data collection and DDoS detection in SDN[J]. Journal of Information Security and Applications, 2021, 63: 103017.
[26]Ran Longyan, CuiYunhe, Guo Chun, et al. Defending saturation attacks on SDN controller: a confusable instance analysis-based algorithm[J]. Computer Networks, 2022, 213: 109098.
[27]Ye Jin, Cheng Xiangyang, Zhu Jian,et al. A DDoS attack detection method based on SVM in software defined network[J]. Security and Communication Networks, 2018, 2018: 9804061.