999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

軟件定義網絡探測技術綜述

2018-10-17 01:42:44李俊強胡訊沛張鑫剛虞紅芳
關鍵詞:規則

李俊強,陳 悅,韓 晗,王 晨,胡訊沛,張鑫剛,虞紅芳

(1.電子科技大學 信息與通信工程學院, 成都 611731;2.國家計算機網絡應急技術處理協調中心, 北京 100000)

軟件定義網絡(software defined networking,SDN)是針對傳統網絡的缺陷而提出的一種新型網絡架構。2009年,美國MIT主辦的《技術評論》網站將SDN技術評選為年度十大前沿技術之一[1]。自此,SDN技術開始被學術界和工業界廣泛關注,得到了迅速發展。SDN最大的特點就是將控制平面和數據平面分離,讓2個平面具有松耦合度,同時可以通過軟件編程來對網絡資源進行集中控制。

由于控制平面和數據平面的分離以及網絡配置具有的定制化、精細化等特點,使得SDN具有跟傳統網絡不一樣的時間特征和行為特征。傳統網絡下的探測技術并不能直接移植到SDN網絡,需要開展面向SDN網絡的新探測技術。本文主要介紹的是基于SDN網絡的探測,這對深入理解SDN網絡架構、提升SDN網絡性能以及增強SDN安全性能有重要作用。

具體來講,在SDN中,網絡策略(如訪問控制列表、防火墻規則),網絡應用(如負載均衡),新型的防御機制(如移動目標防御)均可以通過SDN交換機上的流表來實現。對于攻擊者而言,如果能探測出網絡中節點之間的流表規則,就可以制定出有針對性的攻擊策略,進而對網絡實施進一步的攻擊。同樣,對于防御者來說,需要做的也是通過SDN探測來發現自身存在的安全隱患和漏洞,從而在遭受攻擊之前提前進行防范,以此達到防御威脅的目的。

需要注意的是,與網絡探測很相似的一個概念是網絡測量,但它們之間有一定的差別。網絡探測的原理是指通過探測主機主動發送探測包來探測出網絡的內部信息,類似于網絡測量中的主動測量。而且,在進行網絡探測前,探測方是不知道網絡內部情況的,把探測的網絡當做一個“黑盒”來處理。因此,探測的環境是站在攻擊者或者說“黑客”的角度來進行的,探測者無法直接對探測網絡內部的設備進行操作。如果想獲取這個網絡的信息,只能根據網絡的理論知識找到相應的漏洞從而進行探測。

目前針對SDN的探測才剛剛起步,相關的論文、資料還比較少。通過對現有的資料進行整理,從3個方面對現在的SDN探測技術進行綜述,分別是:SDN網絡類型探測、SDN流表規則探測、SDN流表容量探測。

1 SDN簡介

1.1 SDN架構

SDN架構與傳統網絡架構最大的不同就是控制平面與轉發平面分離,讓其具有低耦合度。而在傳統網絡下,無論是2層交換設備交換機,還是3層交換設備路由器,都同時具有轉發平面和控制平面。因此,可以說SDN架構是一種大的創新。

ONF(open networking foundation,開發網絡基金會)從用戶角度出發定義的SDN架構如圖1所示。該SDN架構分為3層:應用層、控制層和基礎設施層。除了這3個層次之外,還包括連接它們之間通信的接口:北向接口和南向接口。北向接口是指連接控制層與應用層之間的接口,南向接口是指連接控制層與基礎設施層的接口。其中,北向和南向是相對于控制器而言的,這也能夠說明SDN架構的核心就是控制器。值得一提的是,目前北向接口還沒有統一的標準,而南向接口已經有了統一的標準協議OpenFlow。

基礎設施層位于SDN架構的最底層,它是由不同的網絡設備組成的。這里的網絡設備主要是進行數據轉發功能的設備,比如交換機或者路由器。但在SDN網絡中,這些設備統稱為SDN交換機。與傳統網絡不同的是,這些交換設備只有數據轉發功能,并沒有控制功能?;A設施層之上的是控制層,它可以提供整個網絡的全局視圖。由于處于整個架構的中間,它既要負責為應用層提供服務接口,也需要處理基礎設施層的數據轉發工作。應用層位于最上層,其包括各自不同功能的SDN應用,例如:安全服務、網絡管理和策略實現。

ONF提出的SDN架構以及OpenFlow標準,目前得到了廣泛的應用和支持,極大地促進了SDN的發展。

圖1 基于OpenFlow的SDN架構

1.2 OpenFlow協議

OpenFlow的概念最早是由斯坦福大學的Nick McKeown教授等于2008年4月提出。OpenFlow將控制邏輯從網絡設備盒子中分離出來,供研究者對其進行任意的編程從而實現其創新的網絡拓撲、協議,而無需改動網絡設備本身。OpenFlow的提出得到各界的廣泛關注,目前成為SDN南向接口協議的主流標準之一。

2009年12月31日,OpenFlow v1.0正式發布。作為協議的第1個規范標準,OpenFlow v1.0中的很多思想都非常重要,是OpenFlow后續版本的重要基礎。

OpenFlow v1.0中有3個核心組成部分:流表、安全通道和OpenFlow協議。其整體架構如圖2所示。流表負責數據包的高速查詢和轉發,相當于傳統網絡中的轉發表;安全通道提供一個安全的數據傳輸通道,方便OpenFlow交換機與控制器進行安全可靠的通信;OpenFlow協議是控制器與OpenFlow交換機進行通信的標準,它在安全通道進行傳輸,其定義的通信消息類型有3種:Asynchronous、Controller-to-switch、Symmetric。其中,Asynchronous消息由OpenFlow交換機發起,用來將網絡事件或交換機狀態變化更新到控制器;Controller-to-switch消息由控制器發起,用來管理或獲取OpenFlow交換機的狀態;Symmetric消息可由交換機或者控制器發起?;谶@3種消息類型,控制器與交換機之間的通信便可以有序進行。

圖2 OpenFlow的整體架構

OpenFlow協議作為一種重要的南向接口協議,它的作用就是讓網絡設備的數據轉發功能與控制功能進行分離。為了實現這一目標,OpenFlow使用了流表這個結構。在傳統網絡設備中,數據鏈路層和網絡層其各自的轉發依據分別為MAC地址表和IP地址路由表。而在OpenFlow中,流表將傳統網絡中的所有轉發表進行了整合。因此,其支持的協議字段更加豐富。

流表的結構如圖3所示。流表由3部分組成:包頭域、計數器、動作。包頭域相當于傳統網絡中的數據包頭,負責記錄源、目的主機的IP地址、MAC地址等等信息。計數器用于統計匹配數據包個數,方便流量流量監管;動作的作用是告知匹配到數據包后應該進行的動作,分為必備動作和可選動作。必備動作是指所有OpenFlow交換機默認支持的,可選動作是指部分交換機支持的動作。必備動作有兩種:轉發和丟棄;可選動作有3種:轉發、排隊和修改域。

包頭域計數器動作

圖3 流表的結構

1.3 SDN探測的挑戰

隨著SDN的迅速發展,它的安全問題受到了越來越多的研究者關注。而SDN探測是研究SDN安全問題中不可或缺的一部分。一般來說,要想發動一次成功的攻擊,先決條件就是探測出目標網絡的相關信息,因此SDN探測的重要性是不言而喻的。

由于SDN中控制平面與數據平面分離的特性,使得SDN具有跟傳統網絡不一樣的時間特征和行為特征。傳統網絡下的探測技術并不能直接移植到SDN網絡,需要開展面向SDN網絡的新探測技術。總的來說,在SDN環境下進行探測存在如下的許多挑戰:

1) 如何提高探測的精度,例如在探測路徑上可能存在多臺交換機,如何確定探測信息的實際擁有者。

2) 如何降低探測的開銷,使用較小的探測代價獲得對多個匹配字段的較精確的探測結果。

3) 如何減少不穩定因素,如多次探測可能會改變流表內容等情況,因時延抖動、網絡擁塞等偶然因素可能影響探測和分析結果。

2 SDN網絡類型探測

在軟件定義網絡中,SDN網絡類型探測是指探測所屬網絡是否為SDN網絡。許多的研究者都提出了自己的探測方法。

2.1 SDN Scanner方法

Shin S等[2]首次提出了一種基于時間的指紋識別方法,以確定目標網絡是否為SDN。由于在SDN中,控制平面與數據平面分離,因此當數據平面收到不知道如何處理的數據包時,數據平面通常會向控制平面進行相應的請求以獲得相應的處理方法。利用這個關鍵屬性便可以確定目的網絡是否使用SDN/OpenFlow交換機,最終判斷出網絡類型。

為了證明這種攻擊的可行性,筆者設計了一種名為SDN Scanner的SDN網絡類型探測工具進行驗證。該工具的總體探測思路是:通過構造不同的數據包,將其發送到網絡當中,如果該數據包是交換機中沒有出現的類型,交換機無法對其匹配,便會將其發送給控制器;反之,如果出現過,則交換機可以直接轉發。假設前一個過程經過的時間為T1、后一個過程為T2,那么可以通過收集T1和T2的值,然后對T1和T2的值進行區分進而判斷該網絡是否為SDN網絡。SDN Scanner的具體工作流程如圖4所示,其探測步驟如下:

1) 首先,SDN Scanner構造具有不同頭部的數據包。每一次將2個(或更多)特定的數據包發送到目標網絡。

2) 其次,收集每個數據包的響應時間。SDN Scanner判定第1個數據包的響應時間T1,第2個數據包的響應時間為T2。

3) 然后,SDN Scanner將此次循環更新,重新構造具有不同頭部的數據包,重復前兩步的過程。

4) 最后,當循環的次數到達指定值時,退出掃描。

圖4 SDN Scanner探測流程

2.2 指紋探測法

在Shin S等第1次提出SDN網絡類型探測可行性的基礎上,不久Bifulco R等[3]在真實的網絡測試平臺上實施了指紋攻擊。通過利用2個特征的信息,即RTT值和交換分組的分組對分散度,可以非常精確地判斷出SDN交換機是否與SDN控制器進行了交互,從而以極大的概率成功對SDN網絡進行指紋攻擊。

筆者使用的實驗平臺如圖5所示。整個測試平臺由3個NEC PF5240[4]OpenFlow交換機組成,它們通過100 Mbit/s數據通道連接到數據平面。傳統的數據中心網絡通常由3層交換機組成:接入層、匯聚層和核心層[5]。每個數據包經過數據中心時,通常由每一層中的至多1個交換機處理,即每個數據包在數據中心的網絡中遍歷(最多)3個躍點。因此,這3個交換機便可以大致模擬在實際數據中心數據包的處理過程。測試平臺的交換機與Floodlight v0.9控制器連接,該控制器在具有6核Intel Xeon L5640 2.26 GHz CPU和24 GB RAM的計算機上運行。傳統以太網交換機橋接OpenFlow交換機,然后和控制器進行連接。為了模擬控制信道上的實際網絡負載,Bifulco R等將交換機的控制接口限制為100 Mbit/s。接著,通過在AMD Athlon雙核處理器3800+機器上運行的防火墻,使用100 Mbit/s鏈路將SDN網絡連接到Internet。最后,搭建了遍布全球的20個遠程客戶端,使得整個系統更具有真實性。

圖5 實驗平臺結構

通過部署,Bifulco R等收集到了很多真實的SDN數據信息。結果表明:通過利用來自交換分組的分組對分散度的信息,對SDN網絡的指紋攻擊能極大的概率成功。例如,攻擊者可以正確識別探測包是否在3個交換機上觸發規則安裝,準確度為98.54%。而且,這種指紋探測精度僅受到路徑上需要配置的SDN交換機數量的輕微影響。因此,盡管搭建的環境只有3個OpenFlow交換機,結果仍具有代表性。

2.3 細粒度指紋探測法

Minjian Zhang等[6]提出了一種細粒度指紋探測方法,并沒有采用先前的兩種粗粒度的方案,具體地說,并不是簡單地通過構造數據包然后研究網絡中是否觸發與控制器的交互來判斷網絡類型,而是通過確定SDN中流規則的匹配域來進行判斷。首先根據SDN的基本特征,提出了獲取匹配字段信息的方法,并在模擬和物理環境中進行了實驗。

Minjian Zhang等假設在同一個SDN網絡中有2個主機,一個主機作為發送者向另一個主機發送數據包。

1) 接收方接收到數據包的情況

① 交換機已經安裝了相應的流規則,因此,報文成功匹配規則,交換機直接轉發該報文。

② 交換機未找到匹配項,因此它會將此數據包發送給控制器??刂破鞣治鲈摂祿⒃诮粨Q機上安裝相應的規則來處理此流表。

③ 交換機未找到相應的流規則,同樣交換機會與控制器進行交互??刂破髦甘窘粨Q機轉發數據包,而不是下發相應的流表。

在情況②和情況③中,數據包從發送方到接收方的時間明顯長于情況①,因為該過程觸發了控制器和交換機之間的交互。

① 如果流表中沒有相應的規則,交換機將要求控制器決定處理該數據包。如果控制器未向交換機提供轉發指令或流規則,則數據包將丟失。

② 交換機根據相應的規則丟棄數據包。

③ 由于網絡擁塞或其他偶然原因,數據包丟失。

筆者在上述分析的基礎上設計了指紋探測匹配字段的方案。假設發送者和接收者在同一網絡(LAN)上并且能夠正常地相互通信,忽略偶然情況(2-c)。對于給定的頭字段,以特定的時間間隔發送具有相同頭部值的多個數據包。

在接收方接收到所有數據包的情況下,通過分析發送到接收之間的時間長短來確定該報頭字段是否是匹配字段。通過不同時間之間的差異可以區分出1)中①~③三種情況,便可以推斷出交換機對同一數據流的報文采取了不同的動作。所以這個頭部字段是匹配字段。

在所有數據包都無法到達接收方的情況下,便可以推斷出交換機對給定字段中具有不同值的不同流采取了不同的操作。所以,該頭部字段是匹配字段,因為在發送這組測試數據之前,這對主機是可以相互通信的。

2.4 方案對比

Shin S等[2]的研究暗示了指紋識別SDN網絡的可行性。然而,他們的研究并不是基于真實的網絡世界進行評估的,也沒有提供任何量化指紋探測精確度的指標。就連作者自己也在論文當中提到:“我們提供了這種攻擊的第一次可行性研究,并希望激發SDN安全領域的進一步研究?!?/p>

在Shin S等[2]的方案下,Bifulco R等在現實世界的測試平臺上實施了這種探測,而且精度也達到了98%。但是,他們的方法需要在每個測試流程之前清除交換機中的流表,這在真正的實踐中,攻擊者往往很難做到。而且他們的工作也沒有考慮到流規則失效、優先級不同的處理情況。所以他們的工作往往是一種驗證。

鹽脅迫會抑制植物的生長發育。當土壤含鹽量過高時,會嚴重影響冰葉日中花的生理生化反應,造成其減產,甚至導致植株死亡。

Minjian Zhang等[6]的研究又更進了一步,實現了一種細粒度指紋攻擊方法。通過對流表的匹配字段進行探測來確定某網絡是否為SDN網絡。但是其方法也有一定的局限性,作者僅僅使用了1個或2個OpenFlow交換機進行實驗。但是真實的網絡中拓撲結構并不是這么簡單,因此真正應用到現實網絡中還需要進一步的工作。

3 SDN流表規則探測

SDN網絡中,流規則是最關鍵的部分,它確保網絡單元在任何網絡入口以適當細粒度控制流量和部署策略,網絡策略的實現細節同樣會在流規則中體現。因此,若能探測并推斷網絡中節點間的流規則,就可制定出有針對性的攻擊策略。

3.1 INSPIRE方法

針對流表規則探測,Po-Ching Lin等[7]提出一種“INSPIRE”(INferring SDN by probIng and rule extraction)方法來發現SDN的流規則,這種方法的設計思路來源于防火墻規則探測[8-9]。

INSPIRE方法包括4個步驟:

1) 時延值的獲取。獲取方式是通過探測主機主動發送一個探測包給目的主機。其中,探測包的源IP地址是虛假的,但是與目的IP地址共存于同一個子網中。同時探測包的有效載荷中需要包含一個發送的時間戳,這樣時間差就等于接收的時間減去有效載荷中的發送時間。而流表的下發方式有兩種:主動與被動兩種模式。主動式的數據包的處理時間將會比被動式的更短,因為在主動模式下控制器已經提前下發了對應流表。通過這個時間差可以幫助推斷一條流規則是否存儲在交換機流表中。

2) 構建探測包。探測包的構造方法來源于傳統網絡中防火墻規則探測的構造數據包的方法,作用是通過構造少量的探測包就能達到較高的探測精度。文中,作者選擇使用線掃描法。這種方法能在一個大的區塊中快速發現規則,將會產生比分裂合并法更多的探測包,減少了數據集中的因網絡擁塞而產生的異常值。

3) 聚類和分類。在探測過程完成后,INSPIRE將會對探測包進行分類。對于捕獲到的報文,分為主動式和被動式兩類,基于接收時間和發送時間的差值即時延值來進行K-Means聚類。如果該探測路徑上有n個交換機,后者將會被劃分為n個子類。每個交換機都會觸發Packet-in,所以總時延取決于多少個交換機會與控制機進行交互。

4) 流規則的推測。INSPIRE使用Apriori算法來推斷出流規則。該算法是一種挖掘關聯規則的頻繁項集算法,它的主要任務就是設法發現事物之間的內在聯系。該算法統計頭部字段的出現頻率的同時搜尋高頻度出現的頭部字段的組合來當做流規則的一部分。該算法在字段組合的出現概率低于預先設定的值或者沒有更多的字段可以組合時,就會退出。

3.2 SDNMap方法

對于OpenFlow流表具體字段的探測上,Stefan Achleitner等[10]提出了一種方法,并基于此方法設計了一個開源的工具SDNMap。下面介紹其中部分字段的探測方法。

3.2.1 MAC地址的探測

SDNMap會先產生一個探測包,使用TCP報文或者ICMP報文,其中源MAC地址頭部是虛假的。

在目的主機接收到探測報文后,會先尋找源IP地址對應的MAC地址,如果查詢到,則在其本地緩存中生成帶有MAC目標地址的探測答復消息,并發送回源主機。反之,便會發送一個ARP請求報文來解析收到的源IP地址。如果收到回復,目的主機會更新其本地ARP緩存中的條目,并將探測應答包發送回源主機。

在收到探測應答或ARP請求數據包后,掃描器就可以推測出MAC源地址字段并未用于將探測數據包發送到目標主機。如幾次沒收到,則重復該過程。如多次沒有收到,則推出源MAC地址被用作將數據包傳送到目標主機的匹配標準。

如圖6中的消息3、4和5所示,首先向目標主機發送應答消息,該消息將其探測主機的IP地址的高速緩存條目更新為虛構的MAC地址。之后,發送一個正確的探測請求數據包到目的地。到達后,目的主機會查找與接收到的IP源地址對應的MAC地址。目的主機會將探測回復消息發送給請求者。如果在SDNMap主機處接收到探測回復數據包,得出結論:在傳輸規則匹配過程中,目的MAC地址未被用作傳送數據包的標準。如在定義的超時時限后沒有收到回復數據包,SDNMap會斷定流規則使用了正確的MAC目的地址標準來傳輸數據包。

3.2.2 IP地址的探測

IP地址的探測過程如圖7所示。首先探測主機會發送一個探測報文,其中IP源地址是虛假的。收到探測報文后,目的主機無法查找到該IP地址對應的MAC地址,于是發送一個ARP請求報文給探測主機。若幾次未收到ARP請求數據包,則重復該過程。若仍沒有收到,則得出結論:流規則將匹配特定IP源地址的數據包,具有虛假IP源地址的數據包將不會傳送到目的地主機。

圖6 探測MAC地址的步驟

圖7 探測IP地址的步驟

在接收到上述過程中的ARP請求報文后,SDNMap將發送一個ARP應答消息,告訴目的主機該虛假IP地址對應的MAC地址。這時會觸發目的主機生成一個回復數據包,該數據包信息包括探測主機虛假的IP地址和目的主機的IP地址,這樣就能夠出探測出目的主機的IP地址。

如果接收到1個探測回復數據包,則它會得出結論:IP目的地址不被用作流規則匹配域的一部分。如果在多次嘗試后沒有收到回復數據包,SDNMap會得出結論,匹配過程需要正確的IP目的地址,控制器會依據該字段執行“轉發” “丟棄”還是其他動作。

3.2.3 協議和端口的探測

SDNMap根據不同協議的特點來對各種協議類型的報文是否會被轉發進行判別。確定ARP報文是否會被轉發,通過發送一個ARP請求的數據包來判斷。確定ICMP報文是否會被轉發,通過發送一個ICMP請求報文,看是否收到ICMP應答報文來進行判斷。探測TCP,UDP數據包和其端口的做法是:探測方發送一個UDP數據包至目的主機的指定端口,如果隨后收到ICMP端口不可達的錯誤消息,就表明該數據包是UDP報文但是該端口是關閉的;否則,表明該端口是開放的。

3.3 方案對比

INSPIRE方法的缺點是探測的信息不夠全面,能夠探測出的流表字段較少。而且,局限性較大,因為它是假定探測主機和目的主機的權限都能獲取到。這在實際探測或者攻擊環境中很難做到。該方案的優點是推理的準確性很高,原作者經過仿真測試,結果表明準確率高達98.41%。

SDNMap方法的優點是可以推測出流規則具體的字段,比如MAC地址、IP地址等,而且相比于INSPIRE方法,它并不需要同時獲取探測主機和目的主機的權限,只需要能夠獲取到探測主機權限即可,而且精度也非常高。但是其也存在一定的缺點:首先,SDNMap探測開銷一般較大,是通過暴力方式構造探測包,這樣導致整個工具包使用效率較低;其次,SDNMap探測的信息不夠全面和精細,探測流表的字段數也較少;最后,該方法無法保證探測包響應能夠順利到達源主機,具有一定的局限性。

4 流表容量探測

SDN/OpenFlow交換機的流表容量是一個容易被忽略的網絡參數,然而流表容量在SDN網絡安全問題中也是重要的一環。流表容量問題已在許多以前的工作中提出過[11-13],他們都指出了交換機流表內存的限制以及潛在的可擴展性和安全性問題。

由于硬件和軟件的限制,SDN網絡的OpenFlow交換機一般都具有流表容量的限制。具體而言,大多數商用SDN/OpenFlow交換機的流表容量有限,從數百到數千[14]。當流表中的流表項數目達到上限,交換機和控制器之間就會進行交互,對流表進行相應操作來維持SDN網絡交換機的正常工作,而這個事件也可以被用戶捕捉到,通過觀察該事件,用戶可以推斷交換機的流表容量和流表使用情況。J.Leng等[15]提出了一種針對SDN/OpenFlow網絡的推理攻擊模型,這是SDN領域的首次針對流表容量的探測。

4.1 探測模型

在傳統網絡中,交換機和路由器是自治的,這意味著可以在本地維護其路由表而無需與外部設備交互。但由于SDN/OpenFlow的分離性質,維護交換機流表需要交換機和控制器之間的頻繁交互,使攻擊者可以利用感知的性能變化來推斷SDN網絡的內部狀態。

SDN交換機上的流表匹配過程如下:① 首先查找流表以搜索與數據包匹配的流表項,若存在直接執行該流表項的動作;② 若不存在相匹配的流表項,則與控制器交互,下發新流表;③ 在插入新流表之前,首先檢查流表狀態是否有足夠的空間。當流表已滿,就需要控制器和交換機之間的額外交互來移除某些現有的流條目以為新生成的流表項騰出空間。這3種情況中,當流表中存在匹配時,處理時間最短; 當流表中沒有匹配且流表未滿時,由于交互下發新流表規則,處理時間會更長; 當流表中沒有匹配且流表滿時,處理時間最長,因為必須額外再執行流表替換操作。因此,作為直接受處理時間影響的網絡參數,探測包的RTT可以用作流表狀態和流表項狀態的指示符。

首先需要確定RTT的閾值,如圖8所示。圖中的2個子圖表示2個協作線程,x軸表示數據包,y軸表示每個探測包的RTT。首先,在上層線程中,生成一個包含特定源目IP,源目MAC的數據包,稱之為Pkt1。將Pkt1發送到目標OpenFlow交換機并將相應的RTT記錄為T2。由于Pkt1是一個新的數據包,OpenFlow交換機中沒有相應的流表項。在時間跨度TS1之后,再次將Pkt1發送到目標OpenFlow交換機并將相應的RTT記錄為T1。如果正確選擇TS1(流表沒有因超時而被刪除),則剛下發的與Pkt1匹配的流表項應該仍然存在于OpenFlow交換機中。接著,在下層線程中,不斷地生成Pkt2、Pkt3…Pktn數據包,每個數據包都有不同的源目IP、MAC組合,并以TS2的時間間隔發送到目標OpenFlow交換機。剛開始OpenFlow交換機中流表還有存儲空間,因此記錄的RTT將與T2或T1大致相同。繼續生成和發送數據包,直到觀察到RTT的突然增加,這表明流表已滿。然后在上線程中,再次發送Pkt1并將RTT記錄為T3。為了提高精度,可以重復這個過程,并使用T1、T2和T3的平均值作為最終結果。

圖8 不同流表狀態的RTT測量

得到RTT的閾值后,通過向交換機發送探測數據包,就可以依據T1、T2和T3這3個檢測標志與得到的RTT進行比較,進而分析流表狀態:當測量的RTT在T1附近時,可以推斷流表中有相應的流表項; 當測量的RTT在T2左右時,可以推斷流表中沒有相應的流表項,流表不滿; 當測量的RTT在T3附近時,可以推斷出流表中沒有相應的流條目,流表已滿。

4.2 推測算法

推斷流表容量的關鍵就在于流表變滿時進行的流表替換操作,流表替換算法決定了SDN網絡的內部狀態轉換,因此它是推理模型的重要組成部分。流表類似操作系統和Web代理服務器中的“緩存”,所以作者使用的流表替換算法是一些常見的緩存替代算法的變體,比如FIFO[16],LRU[17]。

4.2.1 FIFO推測算法

FIFO算法的推測過程如下:通過生成并發送大量的探測數據包,每個探測包源目IP、MAC都不同,新插入的匹配流表項將其他用戶的流表項推出流表。結合記錄的插入流表項數目,就可以推斷流表容量和流表使用情況。流表狀態轉換的過程如圖9所示。

圖9 FIFO推斷原則

圖9中:A表示流表在實驗開始之前,OpenFlow交換機中其他用戶的流表項數目;B表示開始發送生成的數據包,新的流表項被插入流表;灰色矩形表示新插入的流表項,新插入的流表項不斷將其他用戶的流表項推到FIFO隊列的前面,在實驗中,應當記錄生成的數據包,包括它們的屬性和序列號;C表示流表已經變滿,此時,新下發的流表和其他用戶的流表項相加,剛好填滿整個流表;D表示檢測到插入的1個流表項已被刪除,這意味著現在流表中都是剛剛下發的流表項,沒有來自其他用戶的任何流表項。在時間點C和D分別記錄發送的探測包數量:m和n,則流表容量C=n。A時刻即剛開始流表中的流表項數目為n-m,則流表使用率為(n-m)/n。

推測算法的主要誤差來自其他用戶在插入過程中插入的流表項。作者的假設是:流表項插入速度足夠快,以便在實驗期間,新插入的流表項全部來自作者的操作。但這只是理想模型,不是事實。忽略其他用戶插入的可能的流表項將會使作者推測的流表容量略小于實際值。

4.2.2 LRU推測算法

LRU算法的實驗原理與FIFO算法的實驗原理有一些共同點,因為在這兩種情況下都可以使用某些操作保持流表項保持在緩存隊列的后面。但是,流表項維護過程存在差異。

FIFO算法的性質確保流表項的位置僅取決于插入它們的時間。與后面插入的流條目相比,前面插入的流條目肯定更接近緩存隊列的前端。但是在LRU算法中,流表項的位置不僅取決于插入它們的時間,而且還取決于最后訪問它們的時間。為了使流表項保持在緩存隊列的后面,需要不斷地訪問先前插入的流表項。在維護過程中,每次插入一個新的流條目時,都需要訪問所有先前插入的流條目一次,以將它們“提升”到緩存隊列的后面。作者將這種過程稱之為“滾動”維護過程。

LRU算法的可行性和誤差分析與FIFO算法相似。由于忽略了其他用戶在實驗過程中插入的流項,所以推斷出的流表使用和推斷出的流表容量都略小于實際值。

5 結束語

本文通過對SDN網絡類型探測、SDN流表規則探測、SDN流表容量探測進行詳細的技術綜述,來對目前的SDN探測技術做一個整理。面向SDN網絡的探測技術才剛剛起步,之前的研究做了有益的探索,但仍然存在部分局限性,如何打破上述局限性,高效、準確、精細地探測SDN網絡是未來的一個重要的研究方向。

猜你喜歡
規則
拼寫規則歌
撐竿跳規則的制定
數獨的規則和演變
依據規則的推理
法律方法(2019年3期)2019-09-11 06:26:16
善用首次銷售規則
中國外匯(2019年7期)2019-07-13 05:44:52
規則的正確打開方式
幸福(2018年33期)2018-12-05 05:22:42
顛覆傳統規則
環球飛行(2018年7期)2018-06-27 07:26:14
讓規則不規則
Coco薇(2017年11期)2018-01-03 20:59:57
TPP反腐敗規則對我國的啟示
啦啦操2010—2013版與2013—2016版規則的對比分析
運動(2016年6期)2016-12-01 06:33:42
主站蜘蛛池模板: 四虎成人精品| 亚洲精品你懂的| 国产成人8x视频一区二区| 在线观看国产黄色| 免费xxxxx在线观看网站| 国产成人乱码一区二区三区在线| 欧美成人午夜视频| 国产91丝袜在线播放动漫 | 91一级片| 亚洲不卡影院| 亚洲伊人久久精品影院| 无码人中文字幕| 99热这里只有成人精品国产| 欧美成人h精品网站| 国产成人亚洲精品蜜芽影院| 国产免费黄| 538精品在线观看| 国产女同自拍视频| 国产综合欧美| 欧美成人免费午夜全| 日本www在线视频| 精品一区二区久久久久网站| 欧美自慰一级看片免费| 国产黄在线免费观看| 日韩av手机在线| 欧美成一级| 亚洲中文久久精品无玛| 国产毛片不卡| 亚洲最大福利视频网| 亚洲欧美成aⅴ人在线观看| 九色国产在线| 狼友视频国产精品首页| 欧洲欧美人成免费全部视频| 丰满的熟女一区二区三区l| 亚洲欧美另类视频| 无码国产偷倩在线播放老年人| 国产成人av一区二区三区| 亚洲欧美一区在线| 久久伊人色| 91精品专区国产盗摄| 91综合色区亚洲熟妇p| 亚洲成人手机在线| 国产后式a一视频| 亚洲一区二区日韩欧美gif| 激情五月婷婷综合网| 亚洲欧洲AV一区二区三区| 亚洲福利网址| 亚洲青涩在线| 成人小视频网| 久久婷婷六月| 国产精品亚洲精品爽爽| 国产91小视频| 亚洲欧洲天堂色AV| 91在线精品免费免费播放| AV不卡国产在线观看| 国产99视频在线| 久久超级碰| 欧美一区二区啪啪| 国产69精品久久久久孕妇大杂乱| 国产区在线看| 成人在线观看一区| 国内精品九九久久久精品| 国产又黄又硬又粗| 国产成人91精品| 国产在线第二页| 久久精品人人做人人综合试看 | 日韩成人午夜| a免费毛片在线播放| 日韩福利视频导航| 亚洲V日韩V无码一区二区| 欧美在线国产| 喷潮白浆直流在线播放| 国产美女精品一区二区| 成人午夜在线播放| 青草国产在线视频| 亚洲人成影视在线观看| 日本www在线视频| 天堂岛国av无码免费无禁网站| 亚洲精品视频网| 亚洲欧美日韩另类在线一| 就去色综合| 免费国产在线精品一区|