• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    一種基于路徑跟蹤反饋的SDN網(wǎng)絡(luò)可信傳輸方案

    2022-12-30 14:09:44楓,莊毅,劉
    計算機與現(xiàn)代化 2022年12期
    關(guān)鍵詞:多路徑校驗交換機

    高 楓,莊 毅,劉 驍

    (1.南京航空航天大學計算機科學與技術(shù)學院,江蘇 南京 211106; 2.上海航天電子技術(shù)研究所,上海 201109)

    0 引 言

    軟件定義網(wǎng)絡(luò)(Software Defined Network, SDN)[1]憑借可編程和集中管理的特點,在互聯(lián)網(wǎng)各個領(lǐng)域的應(yīng)用中得到廣泛認可,被認為是下一代互聯(lián)網(wǎng)的核心技術(shù)之一。SDN通過明確分離控制平面和數(shù)據(jù)平面,取代傳統(tǒng)網(wǎng)絡(luò)設(shè)備數(shù)據(jù)與控制的耦合機制,實現(xiàn)了對網(wǎng)絡(luò)的集中控制,并以軟件可編程的形式向上層應(yīng)用提供接口。網(wǎng)絡(luò)管理員可以自定義網(wǎng)絡(luò)路由和傳輸規(guī)則策略,借助邏輯集中的控制器為數(shù)據(jù)平面的轉(zhuǎn)發(fā)設(shè)備(例如OpenFlow交換機)下發(fā)轉(zhuǎn)發(fā)規(guī)則,加快了新網(wǎng)絡(luò)服務(wù)的部署和開發(fā),能夠有效解決傳統(tǒng)網(wǎng)絡(luò)架構(gòu)在可靠性、擴展性和靈活性方面存在的許多問題。然而,SDN技術(shù)的應(yīng)用也帶來了新的安全威脅[2]。區(qū)別于分布式的傳統(tǒng)網(wǎng)絡(luò),SDN體系結(jié)構(gòu)包含數(shù)據(jù)平面、控制平面、應(yīng)用平面以及南北向2個接口,均面臨一定程度的安全風險。

    數(shù)據(jù)平面作為SDN的底層架構(gòu),負責接收控制器的命令并承載流量傳輸?shù)墓δ埽c網(wǎng)絡(luò)的實際行為密切相關(guān),是整個網(wǎng)絡(luò)正常運行的基礎(chǔ)。SDN數(shù)據(jù)平面主要由SDN交換機組成,與傳統(tǒng)的網(wǎng)絡(luò)交換機不同,SDN交換機只負責數(shù)據(jù)轉(zhuǎn)發(fā),不做決策。當SDN交換機接收到無法匹配的報文時,通過南向通道將報文信息發(fā)送到控制平面查詢處理方法,應(yīng)用程序根據(jù)自定義策略制定轉(zhuǎn)發(fā)規(guī)則發(fā)送到SDN交換機流表,當再次遇到相匹配的數(shù)據(jù)包時,會根據(jù)現(xiàn)有規(guī)則對該數(shù)據(jù)包進行轉(zhuǎn)發(fā)處理。流表是SDN交換機的重要組成部分之一,負責流規(guī)則存儲、數(shù)據(jù)包匹配和轉(zhuǎn)發(fā)。每個流表都包含一組流規(guī)則條目,每個條目由匹配字段、計數(shù)器和一組應(yīng)用于匹配數(shù)據(jù)包的指令組成。

    目前,基于SDN的研究與應(yīng)用主要集中在借助控制平面的全局視野和可編程性實現(xiàn)對數(shù)據(jù)平面的靈活調(diào)度。雖然SDN在發(fā)展過程中考慮了安全問題,但大多數(shù)SDN規(guī)范側(cè)重于在控制器和交換機之間建立可信控制通道,而忽視了數(shù)據(jù)平面中轉(zhuǎn)發(fā)設(shè)備自身的安全性。通常,數(shù)據(jù)平面中的網(wǎng)絡(luò)設(shè)備被認為是可信的,它們能夠正確執(zhí)行指定的網(wǎng)絡(luò)轉(zhuǎn)發(fā)策略。然而,隨著SDN網(wǎng)絡(luò)應(yīng)用規(guī)模的逐漸擴大,數(shù)據(jù)平面中的網(wǎng)絡(luò)設(shè)備極易受到惡意攻擊者的威脅。同時,SDN也缺乏相應(yīng)的問責機制來驗證轉(zhuǎn)發(fā)規(guī)則的正確執(zhí)行和傳輸數(shù)據(jù)的完整性。一旦設(shè)備失效或被劫持,所有依賴的網(wǎng)絡(luò)服務(wù)將立即受到影響,造成災(zāi)難性的問題。

    SDN交換機作為數(shù)據(jù)平面最重要的設(shè)備之一,成為惡意攻擊者的主要目標[3]。攻擊者不僅可以利用交換機操作系統(tǒng)中的漏洞和后門來破壞交換機,從而執(zhí)行竊聽數(shù)據(jù)、篡改轉(zhuǎn)發(fā)規(guī)則等惡意操作[4];也能夠利用控制器和交換機之間的控制信道(例如OpenFlow南向接口)對交換機發(fā)起攻擊,由于在OpenFlow1.0之后,SSL/TLS的使用變成了可選的而非強制性的[5],這使得攻擊者可以通過控制通道插入或修改交換機流表中的轉(zhuǎn)發(fā)規(guī)則,這種方式在某種程度上類似于中間人攻擊。借助上述方式,攻擊者甚至可以通過刪除或操縱針對防火墻的規(guī)則,使一些未知的數(shù)據(jù)包繞過防火墻,因此,現(xiàn)有的針對傳統(tǒng)網(wǎng)絡(luò)的安全解決方案并不適用于SDN。

    目前基于SDN架構(gòu)實現(xiàn)可信傳輸?shù)难芯看蠖鄶?shù)集中在識別或檢測惡意交換機,通過控制器周期性的主動探測來驗證轉(zhuǎn)發(fā)規(guī)則的正確性以確定SDN交換機的可信性,并為受影響的流量規(guī)劃新的傳輸路徑。很顯然,這種檢測方式會耗費控制器大量的計算資源,并且規(guī)劃傳輸路徑時僅以可達性為目標,而沒有考慮如何安全可靠地實現(xiàn)容錯數(shù)據(jù)傳輸。為此,本文提出一種基于路徑跟蹤反饋的SDN可信傳輸方案,通過傳輸路徑的可信驗證和多路傳輸?shù)霓D(zhuǎn)發(fā)策略,擴展了SDN的安全性與可靠性。具體貢獻如下:1)設(shè)計基于跟蹤反饋的傳輸路徑可信驗證機制,由控制器計算并下發(fā)加密的探測數(shù)據(jù)包,根據(jù)路徑中SDN交換機的反饋信息,驗證傳輸路徑的可達性和傳輸數(shù)據(jù)的安全性。2)考慮到SDN中數(shù)據(jù)傳輸依賴于SDN交換機流規(guī)則驅(qū)動的特性,本文提出一種基于路徑跟蹤反饋的不相交多路徑可信路由算法DMTRA-PTF(Disjoint Multipath Trusted Routing Algorithm based on Path Tracking Feedback),能夠通過路徑跟蹤反饋得到的信任信息實現(xiàn)傳輸路徑的可信評估,以此為路由請求選擇合適的多路徑傳輸方式,可保障SDN中數(shù)據(jù)的可信傳輸。3)使用Ryu控制器和Mininet構(gòu)建了SDN網(wǎng)絡(luò)仿真環(huán)境,并通過相關(guān)實驗驗證所提出的可信傳輸方案的有效性。

    1 相關(guān)研究

    由于網(wǎng)絡(luò)設(shè)備不可避免的故障以及網(wǎng)絡(luò)攻擊的頻繁發(fā)生,網(wǎng)絡(luò)通信安全一直是研究熱點。針對SDN網(wǎng)絡(luò)可信傳輸?shù)难芯抗ぷ髦饕譃?個方向,確保傳輸路徑的可達性和傳輸數(shù)據(jù)的安全性。

    確保傳輸路徑的可達性是SDN數(shù)據(jù)傳輸?shù)幕疽?,借助控制器主動對受損的SDN交換機進行故障檢測,并從網(wǎng)絡(luò)的全局視野為數(shù)據(jù)傳輸規(guī)劃可靠的路徑。在軟件定義網(wǎng)絡(luò)中,通常采用主動式和被動式恢復(fù)方案實現(xiàn)對發(fā)生物理故障的組件提供容錯機制[6]。它們的區(qū)別在于,被動式方案在故障發(fā)生后計算替代路徑;而在主動式方案中,資源和備份路徑在故障發(fā)生之前被預(yù)先編程,當故障發(fā)生時,不需要控制器的額外處理就可以直接將受影響的業(yè)務(wù)流遷移到備份路徑上。然而,存在安全風險的SDN交換機可能被攻擊者修改轉(zhuǎn)發(fā)規(guī)則而導致轉(zhuǎn)發(fā)功能故障。Shukla等[7]提出了一種SDN數(shù)據(jù)平面一致性檢測方法,通過主動發(fā)送探測包來驗證流規(guī)則執(zhí)行的正確性并確定單個交換機的安全性。Sasaki等[8]提出了SDN安全擴展網(wǎng)絡(luò)SDNsec,使用消息認證碼(Message Authentication Code, MAC)來檢查轉(zhuǎn)發(fā)路徑是否與網(wǎng)絡(luò)策略相一致。但是,隨著需要檢查的轉(zhuǎn)發(fā)路徑數(shù)量的增加,使用消息驗證碼會導致控制通道產(chǎn)生大量的帶寬開銷。為此,Zhang等[9]使用壓縮MAC的規(guī)則執(zhí)行驗證方法,從而顯著降低帶寬成本,并且提出了一種啟發(fā)式流選擇算法,能夠最小化控制器驗證規(guī)則所需的檢測數(shù)據(jù)包的數(shù)量,提高了檢測效率。

    在滿足可達性的條件下,確保SDN傳輸數(shù)據(jù)的安全性成為研究的另一個重要目標。Mohammadi等[10]提出了一種利用數(shù)據(jù)包頭部信息的SDN網(wǎng)絡(luò)入侵檢測方案,將整個網(wǎng)絡(luò)視為一個入侵檢測系統(tǒng),通過關(guān)聯(lián)網(wǎng)絡(luò)的轉(zhuǎn)發(fā)狀態(tài)(即安裝的轉(zhuǎn)發(fā)規(guī)則)與數(shù)據(jù)包的轉(zhuǎn)發(fā)狀態(tài)(即真實的數(shù)據(jù)包路由),能夠快速檢測產(chǎn)生錯誤消息、復(fù)制竊取流量或惡意丟棄某些類型數(shù)據(jù)包的交換機。Li等[11]提出了一種檢測和繞過執(zhí)行數(shù)據(jù)包修改攻擊的惡意交換機的方法,首先在終端主機和SDN控制器之間建立通信通道,通過加密認證方案來驗證接收到的數(shù)據(jù)包的正確性,并將驗證結(jié)果報告給控制器,對檢測到的交換機惡意行為做出應(yīng)對,為數(shù)據(jù)流重新選擇可信任的路徑從而實現(xiàn)安全可靠的傳輸。然而,在終端主機和控制器之間建立新的連接或使用控制器頻繁地收集信息進行校驗無疑增加了鏈路成本和控制器的負載。由于SDN采用中心化的控制平面能方便地實現(xiàn)對路由的精準控制,多路徑路由成為提升SDN傳輸安全性的另一個重要手段。Guillen等[12]提出了一種基于k最大不相交路徑的SDN多路徑路由算法,不僅提高了整體吞吐量和資源利用率,而且保證了多路徑下網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)陌踩?。Ren等[13]提出了一種基于多路徑彈性路由的內(nèi)生安全SDN網(wǎng)絡(luò)框架,包含多路徑比較轉(zhuǎn)發(fā)、多路徑加權(quán)轉(zhuǎn)發(fā)和多路徑隨機轉(zhuǎn)發(fā)的路由方案,設(shè)計了一種基于加密認證的中間信息反饋機制,通過動態(tài)比較一定時間內(nèi)多異構(gòu)路徑數(shù)據(jù)的一致性來保證流規(guī)則和數(shù)據(jù)內(nèi)容的正確性,并且可以準確識別惡意交換機。雖然在SDN中使用多路徑路由能夠提升網(wǎng)絡(luò)攻擊的復(fù)雜度和花費,降低攻擊成功率,提升傳輸數(shù)據(jù)的安全性,但其由于缺乏主動檢測和恢復(fù)的機制,容易造成較大的資源浪費。

    綜上所述,雖然在SDN網(wǎng)絡(luò)可信傳輸領(lǐng)域已有較多的研究成果,但是仍然存在以下不足:1)利用SDN交換機/終端主機檢測數(shù)據(jù)異常的方法往往需要額外的設(shè)備成本,檢測機制復(fù)雜且不具有通用性;2)通過控制器下發(fā)探測信息對路徑轉(zhuǎn)發(fā)功能進行檢測的方法通常建立在端到端可達性的基礎(chǔ)之上,不能涵蓋SDN交換機被攻擊后的多種情形;3)基于多路徑路由的SDN網(wǎng)絡(luò)傳輸機制,往往將可達性和安全性分開考慮,難以應(yīng)對真實網(wǎng)絡(luò)環(huán)境下的安全威脅,仍有改進空間。

    2 基于跟蹤反饋的傳輸路徑可信驗證

    SDN中的數(shù)據(jù)平面由SDN交換機和主機等設(shè)備組成,是網(wǎng)絡(luò)通信的基礎(chǔ)。如果控制器無法衡量SDN交換機的可信性,就不能保證分配的路由路徑是安全的,難以有效部署網(wǎng)絡(luò)資源。為此,本文設(shè)計一種基于跟蹤反饋的傳輸路徑可信驗證機制,兼顧傳輸路徑的可達性和傳輸數(shù)據(jù)的安全性,能夠快速定位路徑中的惡意交換機并將驗證信息反饋給控制器進行動態(tài)路由調(diào)度。

    2.1 問題描述

    區(qū)別于傳統(tǒng)分布式網(wǎng)絡(luò)中逐跳計算的路由決策方式[14],SDN具備邏輯上集中的控制平面,能夠收集網(wǎng)絡(luò)狀態(tài)和拓撲信息,為上層網(wǎng)絡(luò)控制應(yīng)用程序提供高級視圖。由控制器負責決定如何根據(jù)策略處理數(shù)據(jù)包,然后將這些決定以下發(fā)流表規(guī)則的形式推送到構(gòu)成網(wǎng)絡(luò)的SDN交換機。在SDN中,傳輸?shù)男畔⒈怀橄鬄榱鞯母拍睿丛谝欢〞r間內(nèi)經(jīng)過同一網(wǎng)絡(luò)的一系列具有相同屬性的報文集合[15]。因此,SDN交換機對于數(shù)據(jù)平面中的任何數(shù)據(jù)報文,只需使用相應(yīng)的流表進行匹配并執(zhí)行對應(yīng)操作。但是,當SDN交換機出現(xiàn)故障或遭受惡意攻擊時,會造成流量傳輸異常,嚴重威脅端到端通信的可靠性和安全性。如何保證實時、可信的信息傳輸是本文研究的主要問題。

    當SDN交換機被攻破時,攻擊者可能會發(fā)起2種攻擊,被動攻擊和主動攻擊[16]。被動攻擊很難檢測到,因為被攻破的SDN交換機依然可以正確執(zhí)行轉(zhuǎn)發(fā)功能,攻擊者可以悄無聲息地獲取其中的所有信息。對于主動攻擊,攻擊者將命令被攻破的SDN交換機執(zhí)行異常操作或?qū)φ9ぷ鞯腟DN交換機發(fā)起拒絕服務(wù)攻擊等方式[17],從而使其不能正確接受和執(zhí)行SDN控制器的指令。在這種情況下,盡管SDN控制器能夠向SDN交換機發(fā)送命令請求SDN交換機將流表信息上傳給控制器,但攻擊者可以輕易操作SDN交換機向控制器回傳攜帶正確流表信息的報文,實際運行過程中則無需遵循這些轉(zhuǎn)發(fā)規(guī)則[18]。所以控制器主動查詢SDN交換機中的流表規(guī)則不能成為有效的檢測方法。本文致力于解決主動攻擊導致的路徑可信問題,攻擊者可能會操縱SDN交換機執(zhí)行如下惡意行為:

    1)拒絕服務(wù)導致的路徑傳輸中斷。

    2)流規(guī)則篡改導致的不正確的轉(zhuǎn)發(fā)。

    攻擊者可以篡改被攻破SDN交換機中的流表,導致其不遵循控制器下發(fā)的流規(guī)則。例如,圖1中正確的轉(zhuǎn)發(fā)路徑為S1-S2-S3-S4-S5,若該路徑中的SDN交換機S2被攻擊者劫持并修改流表規(guī)則,則可能出現(xiàn)下列的不正確轉(zhuǎn)發(fā)情形:①路徑錯誤偏移,經(jīng)過SDN交換機S2的轉(zhuǎn)發(fā)操作,數(shù)據(jù)包偏離正確路徑并且不會返回到正確路徑的下游SDN交換機;②路徑收縮偏移,SDN交換機S2將數(shù)據(jù)包從錯誤的端口轉(zhuǎn)發(fā),跳過路徑上的部分交換機最終到達正確的目的SDN交換機S5,即數(shù)據(jù)包僅由正確路徑中SDN交換機的子集轉(zhuǎn)發(fā);路徑繞道偏移,經(jīng)過SDN交換機S2轉(zhuǎn)發(fā)后,數(shù)據(jù)包偏離正確路徑但稍后又返回到正確的下一跳下游SDN交換機,最終到達正確的目的SDN交換機S5。

    圖1 流規(guī)則篡改導致的SDN交換機惡意行為

    3)數(shù)據(jù)包篡改。

    攻擊者可能會通過被攻破的SDN交換機修改數(shù)據(jù)包內(nèi)容,導致接收方接收到錯誤的傳輸信息。盡管數(shù)據(jù)包可能受到加密技術(shù)的保護,但這種攻擊可能會導致解密錯誤而阻止后續(xù)的所有通信。

    2.2 基于跟蹤反饋的傳輸路徑可信驗證機制

    由于缺乏路徑驗證機制,SDN控制器不知道數(shù)據(jù)包傳輸?shù)膶嶋H路徑,在本文提出的SDN傳輸路徑可信驗證機制中,由SDN控制器負責計算網(wǎng)絡(luò)傳輸路徑,同時為途經(jīng)的SDN交換機下發(fā)添加向控制器反饋動作的轉(zhuǎn)發(fā)規(guī)則。從而實現(xiàn)對路徑探測信息的逐跳跟蹤,驗證傳輸路徑的可達性;并通過校驗反饋數(shù)據(jù)包與探測數(shù)據(jù)包中攜帶探測信息的一致性,驗證數(shù)據(jù)傳輸?shù)恼_性。并且,該方法的驗證流程中無需為SDN交換機添加額外的硬件功能,具有良好的通用性。

    本文通過五元組(源/目標IP、源/目標端口號和傳輸協(xié)議)信息識別流,并為其部署待驗證路徑。同時,為了增加控制器發(fā)現(xiàn)惡意行為的能力,需要根據(jù)流信息實時計算探測信息并作加密處理以保證其安全性,探測信息MSGverify計算方法如式(1):

    MSGverify=HASH(Header‖Timestamp)

    (1)

    其中,符號‖表示連接,HASH是密碼哈希函數(shù),用于防止探測信息被攻擊者識別或篡改;Header是從路由請求頭部提取的的五元組信息,例如TCP頭部結(jié)構(gòu)中的五元組信息;Timestamp是計算探測信息的時間戳,用于防止重放攻擊。

    設(shè)計的傳輸路徑可信驗證流程如圖2所示,主要步驟如下:

    圖2 傳輸路徑可信驗證流程圖

    1)源節(jié)點主機發(fā)送流flow;2)源節(jié)點主機連接的源SDN交換機S1收到flow的第一個數(shù)據(jù)包后,通過PACKET_IN消息將結(jié)果發(fā)送給控制器;3)控制器計算待驗證路徑,并以流表的形式向路徑中的SDN交換機下發(fā)對應(yīng)路徑轉(zhuǎn)發(fā)規(guī)則,各SDN交換機在轉(zhuǎn)發(fā)探測信息的同時復(fù)制反饋給控制器;4)控制器根據(jù)流信息計算并發(fā)送匹配對應(yīng)流表規(guī)則且?guī)в刑綔y信息MSGverify的探測數(shù)據(jù)包;5)當探測數(shù)據(jù)包通過路徑中的SDN交換機時,控制器會依次收到傳輸路徑中SDN交換機的反饋信息,以此來校驗數(shù)據(jù)包是否被正確轉(zhuǎn)發(fā)以及是否被篡改,能夠細粒度地驗證路徑的可信性??紤]到出現(xiàn)惡意SDN交換機節(jié)點導致路徑不可達的情形,經(jīng)過多次實驗,本文設(shè)置相鄰SDN交換機校驗數(shù)據(jù)包等待時延為10 ms,超出該時間限制未收到反饋信息,則認為可信驗證失敗。

    當且僅當路徑中的SDN交換機能按序反饋探測數(shù)據(jù)包且攜帶的探測信息與下發(fā)內(nèi)容一致,則該路徑被認為是可信的,各SDN交換機正確校驗反饋的次數(shù)與轉(zhuǎn)發(fā)校驗信息的總次數(shù)均自增1;否則,定位首個未反饋探測數(shù)據(jù)包或反饋的探測信息MSGverify與下發(fā)內(nèi)容不一致的SDN交換機,將其視為惡意交換機,如圖2(c)所示,將路徑中位于惡意交換機之前的SDN交換機正確校驗反饋的次數(shù)與轉(zhuǎn)發(fā)校驗信息的總次數(shù)均自增1,并且將惡意交換機的轉(zhuǎn)發(fā)校驗信息的總次數(shù)增加1。

    路徑可信驗證成功的情況如圖2(b)所示,當路徑可信驗證成功后,只需要修改途經(jīng)SDN交換機流表項中多余的匹配動作,即去掉復(fù)制數(shù)據(jù)包轉(zhuǎn)發(fā)到SDN控制器的動作。這樣帶來的好處是,在修改過程中不需要考慮該更新操作的一致性問題,可保證傳輸?shù)男省?/p>

    3 基于路徑跟蹤反饋的SDN網(wǎng)絡(luò)可信傳輸方案

    目前,網(wǎng)絡(luò)對安全性的需求越來越大?,F(xiàn)有的單路徑傳輸方案由于缺乏魯棒性考慮,當發(fā)生交換機故障或遭受攻擊時,不可避免地會導致流量中斷或錯誤。不相交路徑提供的多樣性可以提高通信網(wǎng)絡(luò)的生存能力,本文在構(gòu)造基于跟蹤反饋的傳輸路徑可信驗證機制的條件下,提出傳輸路徑信任度動態(tài)評估方法,能夠為數(shù)據(jù)傳輸選擇多條不相交可信路徑,以保證傳輸方案的安全性和可靠性。

    3.1 網(wǎng)絡(luò)模型及假設(shè)

    傳輸路徑是典型的串聯(lián)可靠性系統(tǒng),一旦其中的某個轉(zhuǎn)發(fā)節(jié)點由于遭受攻擊或出現(xiàn)故障而失去作用時,會給整條路徑所承擔的傳輸任務(wù)造成嚴重危害。本文借助路徑跟蹤反饋機制動態(tài)采集計算SDN交換機可信度,并以此設(shè)計了路徑評估方法。為了簡化對存在SDN交換機安全風險的網(wǎng)絡(luò)環(huán)境進行有效的路徑評估,本節(jié)作出如下假設(shè):

    1)網(wǎng)絡(luò)由邏輯上集中的SDN控制器、若干SDN交換機以及終端主機組成;2)網(wǎng)絡(luò)具有恰當?shù)慕Y(jié)構(gòu)設(shè)計與硬件資源配置,端到端存在不相交的多條傳輸路徑;3)SDN控制器是安全的,且控制器與SDN交換機之間的控制通道使用TLS協(xié)議進行保護。

    基于以上假設(shè),可以把SDN網(wǎng)絡(luò)看成一個無向圖G=(S,L,C)。集合S是一組網(wǎng)絡(luò)轉(zhuǎn)發(fā)節(jié)點,其中每個節(jié)點表示網(wǎng)絡(luò)中的一個SDN交換機。集合L={lij=|si,sj∈S}是連接S中轉(zhuǎn)發(fā)節(jié)點的一組邊,每條邊代表一條相鄰SDN交換機間的邏輯鏈路,并且都是雙向的。集合C是網(wǎng)絡(luò)轉(zhuǎn)發(fā)節(jié)點的校驗反饋計數(shù)的集合,對于每個轉(zhuǎn)發(fā)節(jié)點,都存在(Countproper,i,Counttotal,i)∈C與之關(guān)聯(lián),Countproper,i表示SDN交換機si正確校驗反饋的次數(shù),Counttotal,i表示SDN交換機si轉(zhuǎn)發(fā)校驗信息的總次數(shù)。

    在路徑跟蹤反饋過程中,控制器收集每臺SDN交換機的驗證反饋信息并記錄其正確驗證次數(shù)和總驗證次數(shù),由此計算SDN交換機的可信度值,計算方法如式(2):

    (2)

    其中,Countproper,i表示交換機si正確校驗反饋的次數(shù),Counttotal,i表示交換機si轉(zhuǎn)發(fā)校驗信息的總次數(shù)。

    3.2 威脅模型

    本文提出的SDN網(wǎng)絡(luò)可信傳輸方案面向以下威脅模型:

    1)本文重點關(guān)注網(wǎng)絡(luò)中核心交換機的安全性,而惡意邊緣交換機不在本文的研究范圍內(nèi)。

    2)攻擊者有能力向SDN交換機發(fā)起拒絕服務(wù)攻擊,導致傳輸路徑的中斷。

    3)攻擊者可以利用SDN交換機的漏洞和后門來操縱數(shù)據(jù)包或流規(guī)則,使數(shù)據(jù)流不按指定路徑傳輸或遭到篡改。

    4)網(wǎng)絡(luò)構(gòu)建之初是安全的,SDN控制器能夠獲取初始網(wǎng)絡(luò)拓撲結(jié)構(gòu),攻擊發(fā)生在網(wǎng)絡(luò)建立后。

    3.3 基于路徑跟蹤反饋的SDN網(wǎng)絡(luò)可信傳輸框架

    基于路徑跟蹤反饋的SDN網(wǎng)絡(luò)可信傳輸框架包含邏輯集中的控制器和由若干SDN交換機及終端主機組成數(shù)據(jù)平面,如圖3所示。控制器中包括多路徑計算模塊、轉(zhuǎn)發(fā)路徑下發(fā)模塊和驗證反饋模塊,借助網(wǎng)絡(luò)運行信息庫中的網(wǎng)絡(luò)狀態(tài)信息,實現(xiàn)可信傳輸?shù)哪繕恕?/p>

    圖3 基于路徑跟蹤反饋的SDN網(wǎng)絡(luò)可信傳輸框架

    在控制器中,多路徑計算模塊從網(wǎng)絡(luò)運行信息庫中獲取網(wǎng)絡(luò)拓撲和SDN交換機信任信息,使用可信路由算法計算轉(zhuǎn)發(fā)路徑,交由轉(zhuǎn)發(fā)路徑管理模塊和驗證反饋模塊對該轉(zhuǎn)發(fā)路徑進行可信驗證,并收集跟蹤反饋信息,篩選合適的傳輸路徑并確定多路徑傳輸方式;轉(zhuǎn)發(fā)路徑下發(fā)模塊負責處理多路徑計算模塊輸出的路徑信息,以流/組表的形式下發(fā)給SDN交換機執(zhí)行;驗證反饋模塊負責對轉(zhuǎn)發(fā)路徑管理模塊下發(fā)的待驗證路徑下發(fā)探測信息進行可信驗證,收集路徑中每個SDN交換機是否正確完成轉(zhuǎn)發(fā)功能的驗證結(jié)果反饋給網(wǎng)絡(luò)信息庫,記錄各SDN交換機正確校驗反饋的次數(shù)和轉(zhuǎn)發(fā)校驗信息的總次數(shù),同時將檢測到的惡意交換機信息反饋給多路徑計算模塊,以調(diào)度轉(zhuǎn)發(fā)路徑管理模塊及時清除驗證失敗路徑對應(yīng)的轉(zhuǎn)發(fā)規(guī)則。

    3.3.1 不相交多路徑設(shè)計

    SDN借助流表實現(xiàn)靈活的路由調(diào)度和特定的數(shù)據(jù)包處理,SDN交換機使用三態(tài)內(nèi)容尋址存儲器TCAM(Ternary Content Addressable Memory)[19]來存儲流表信息,由于TCAM中每個bit位除了擁有0和1這2個狀態(tài)之外,還有一個“don’t care”狀態(tài),使得其既能進行精確匹配查找,又能進行模糊匹配查找,適用于數(shù)據(jù)包的快速匹配和轉(zhuǎn)發(fā)。然而,SDN交換機中的TCAM空間非常有限,流表通常只能夠安裝數(shù)千條流規(guī)則[20]。為了限制多路徑路由隨著網(wǎng)絡(luò)規(guī)模的擴大和路由任務(wù)的增加而導致的SDN交換機中轉(zhuǎn)發(fā)規(guī)則數(shù)量的爆發(fā)式增長,本文對多路徑傳輸?shù)穆窂綌?shù)目和路由策略進行改進。

    不相交多路徑能夠有效保證路徑各自獨立,互不影響。當某條路徑中斷導致路由失敗時,與其不相交的備用路徑能夠繼續(xù)執(zhí)行傳輸任務(wù),從而有效提高傳輸?shù)倪B續(xù)性;在安全情況下,也能使用并行傳輸?shù)牟呗詠硖岣邆鬏斝?。路徑不相交可以通過節(jié)點不相交[21]和鏈路不相交[22]這2種方式實現(xiàn)。相較于鏈路不相交,節(jié)點不相交的多條路徑之間,除了共享源節(jié)點以及目的節(jié)點外,不存在共享的節(jié)點和鏈路,能夠保證在傳輸時不存在節(jié)點或鏈路的單點故障,因此又被稱為完全不相交路由。其容錯能力更強,形成的多條路徑也更為安全可靠,但其對網(wǎng)絡(luò)結(jié)構(gòu)存在一定的要求。同時,對于網(wǎng)絡(luò)整體而言,端到端傳輸路徑數(shù)量并不是越多越好,過多的冗余路徑會增大路由計算的開銷和轉(zhuǎn)發(fā)規(guī)則的部署時延。在本文研究的網(wǎng)絡(luò)模型中,重點關(guān)注SDN交換機節(jié)點的安全性,因此采用節(jié)點不相交雙路徑路由方案,以降低對網(wǎng)絡(luò)結(jié)構(gòu)及SDN交換機轉(zhuǎn)發(fā)規(guī)則存儲空間的要求,擴大傳輸方案的適用范圍。

    本文使用的多路徑傳輸方式包括并行轉(zhuǎn)發(fā)和復(fù)制轉(zhuǎn)發(fā),如表1所示。源交換機的報文匹配流表規(guī)則后,將報文轉(zhuǎn)發(fā)到指定組表中執(zhí)行相應(yīng)動作,使用其中的SELECT操作,每次選擇一個端口轉(zhuǎn)發(fā)一份數(shù)據(jù)包,本文為每條路徑設(shè)置相同的權(quán)重用于分配數(shù)據(jù)包以實現(xiàn)提升資源利用率和負載均衡;使用ALL操作為每個指定的端口復(fù)制轉(zhuǎn)發(fā)一份數(shù)據(jù)包實現(xiàn)復(fù)制轉(zhuǎn)發(fā)的傳輸方式,能夠在存在路徑安全風險的情況下最大程度保證傳輸?shù)陌踩浴?/p>

    表1 2種多路徑轉(zhuǎn)發(fā)方式

    3.3.2 路徑可信度計算

    面向可信傳輸?shù)亩嗉s束最優(yōu)路徑問題和不相交路徑選擇是NP-hard問題,需要滿足如最小跳數(shù)、選用較高可信度節(jié)點、多路徑節(jié)點不相交等條件,難以在多項式時間內(nèi)求解[23]。為了簡化路徑計算復(fù)雜度,本節(jié)給出了路徑可信度及其閾值的計算方法,滿足可信度閾值要求,即可信度大于等于可信度閾值的路徑可用于可信傳輸。SDN交換機平均節(jié)點可信度ravg計算方法如式(3):

    (3)

    其中,|S|表示網(wǎng)絡(luò)G=(S,L,C)中SDN交換機節(jié)點集合S中元素的數(shù)量,即SDN交換機節(jié)點的總數(shù),r(si)表示第i臺SDN交換機si的可信度。

    假設(shè)某條傳輸路徑為path=(V,E),V?S為該路徑經(jīng)過的SDN交換機節(jié)點集合,E?L為該路徑經(jīng)過的鏈路集合。那么該路徑的可信度C(path)計算方法如式(4):

    C(path)=∑v∈Vr(v)

    (4)

    其中,v表示路徑經(jīng)過的SDN交換機節(jié)點,則該路徑可信度閾值Cthreshold(path)計算方法如式(5):

    Cthreshold(path)=(ravg)|V|

    (5)

    其中,|V|表示傳輸路徑path途經(jīng)的SDN交換機節(jié)點集合中元素的數(shù)量,ravg為當前網(wǎng)絡(luò)中SDN交換機平均節(jié)點可信度,路徑可信度閾值的計算方式為ravg的|V|次方。

    3.3.3 基于路徑跟蹤反饋的不相交多路徑可信路由算法

    在本文提出的可信傳輸方案中,SDN控制器為路由請求計算每條傳輸路徑時,均使用當前時刻的節(jié)點可信度信息和網(wǎng)絡(luò)拓撲。采用深度優(yōu)先算法獲取源節(jié)點和目的節(jié)點之間所有路徑,然后將所有路徑依據(jù)路徑長度進行排序并按序遍歷,搜索滿足可信度閾值要求的路徑,若未找到則選取可信度最高的路徑,進行路徑可信驗證并根據(jù)反饋結(jié)果更新節(jié)點可信度信息。重復(fù)上述步驟直至得到2條通過可信驗證的不相交路徑,若2條路徑可信度均大于等于可信度閾值,則采用并行轉(zhuǎn)發(fā)的方式傳輸,提升鏈路資源利用率以提高傳輸速度;否則,采用復(fù)制轉(zhuǎn)發(fā)的傳輸方式,以滿足應(yīng)用層通過對比路徑傳輸數(shù)據(jù)的一致性,從而在存在路徑安全風險的情況下最大程度保證傳輸?shù)目尚判?。算法具體步驟如下:

    Step1 讀取當前時刻的網(wǎng)絡(luò)信息G=(S,L,C)作為算法的輸入,包括拓撲結(jié)構(gòu)、SDN交換機的正確校驗反饋的次數(shù)和轉(zhuǎn)發(fā)校驗信息的總次數(shù),同時解析路由請求中對應(yīng)的源交換機節(jié)點ssrc和目的交換機節(jié)點sdst;Step2 根據(jù)式(3)計算網(wǎng)絡(luò)中所有交換機節(jié)點的可信度平均值;Step3 使用深度優(yōu)先算法計算源節(jié)點ssrc和目的節(jié)點sdst之間的所有可行路徑集合Paths;Step4 按照路徑長度從小到大排序后,按序遍歷Paths集合中的每條路徑pathi,根據(jù)式(4)和式(5)計算并搜索首次可信度值大于等于可信度閾值的路徑作為待驗證路徑patht,若找到,則跳轉(zhuǎn)到Step6;Step5 挑選Paths中可信度最高的路徑pathm作為待驗證路徑patht,跳轉(zhuǎn)到Step6;Step6 對路徑patht進行可信驗證反饋,更新交換機節(jié)點的對應(yīng)驗證次數(shù),驗證正確則保留該路徑加入不相交可信傳輸路徑集合Pathstrust,并從讀取的拓撲信息中刪除該路徑經(jīng)過的除源節(jié)點和目的節(jié)點之外的節(jié)點信息;否則,跳轉(zhuǎn)到Step2;Step7 若不相交可信傳輸路徑總數(shù)為1,則跳轉(zhuǎn)到Step2;Step8 若源節(jié)點ssrc和目的節(jié)點sdst間用于傳輸?shù)?條路徑均能滿足可信度值大于等于可信度閾值,則采用并行轉(zhuǎn)發(fā)的傳輸方式;否則,采用復(fù)制轉(zhuǎn)發(fā)的傳輸方式。

    本文提出的基于路徑跟蹤反饋的不相交多路徑可信路由算法的偽代碼如算法1所示。

    算法1 基于路徑跟蹤反饋的不相交多路徑可信路由算法

    輸入:網(wǎng)絡(luò)信息G=(S,L,C),源交換機節(jié)點ssrc,目的交換機節(jié)點sdst

    輸出:不相交可信傳輸路徑集Pathstrust,傳輸方式Ts(Ts為1表示并行轉(zhuǎn)發(fā),0則表示復(fù)制轉(zhuǎn)發(fā))

    1.setPathstrust=[],Paths=[],Ts=0

    2.whilePathstrust.size()<2

    3.calculater(si)from Countproper,i,Counttotal,iof switch nodesiaccording to (2)

    4.setpathm=NULL,patht=NULL

    5.generate the set Paths of all feasible paths betweenssrcandsdstand sort them by length

    6.forpathinPaths

    7.calculateC(path) andCthreshold(path) according to (4~5),then update pathm

    8.ifC(path)≥Cthreshold(path)

    9.patht=path

    10.break

    11.endif

    12.endfor

    13.ifpatht=NULL

    14.Ts=0

    15.patht=pathm

    16.endif

    17.iftransmission path pathttrust verification succeeded by tracking feedback

    18.delete all nodes in pathtexceptssrcandsdstfrom the networkG

    19.Pathstrust.add(patht)

    20.endif

    21.endwhile

    4 實驗與結(jié)果分析

    本文使用仿真和建模分析方法,分別對提出的基于路徑跟蹤反饋的SDN網(wǎng)絡(luò)可信傳輸方案的性能和安全性進行分析。

    4.1 實驗設(shè)計與實驗環(huán)境

    本實驗環(huán)境的操作系統(tǒng)為Ubuntu16 64位系統(tǒng),在Ryu控制器中開發(fā)部署可信傳輸方案,并對其性能和安全性進行驗證。同時,使用Mininet對SDN中數(shù)據(jù)平面的網(wǎng)絡(luò)環(huán)境進行仿真,包括支持OpenFlow協(xié)議的SDN交換機、數(shù)據(jù)鏈路和終端主機,構(gòu)建網(wǎng)絡(luò)拓撲;Ryu控制器與虛擬交換機之間通過OpenFlow協(xié)議連接,對路由策略的計算和下發(fā)進行集中式控制,本文在此基礎(chǔ)之上實現(xiàn)了基于路徑跟蹤反饋的SDN可信路徑驗證機制。路徑驗證機制的部署在提高路由安全性的同時,不可避免會帶來路由開銷,且隨著路徑長度的增長而增加。

    為了準確衡量路徑驗證機制帶來的開銷時延,本文采用線性拓撲結(jié)構(gòu)Topo1,如圖4所示,對單條路徑進行驗證并與文獻[13]中采用路徑末端校驗的驗證方式進行對比,研究隨著路徑中轉(zhuǎn)發(fā)節(jié)點數(shù)量的增加,對應(yīng)驗證時間開銷的變化。采用文獻[24]中的拓撲結(jié)構(gòu)Topo2,在網(wǎng)絡(luò)鏈路不同帶寬條件下,對本文提出的可信傳輸方案的帶寬進行測試。

    圖4 實驗拓撲Topo1

    同時,為了驗證本文提出的基于路徑跟蹤反饋的不相交多路徑可信路由算法的有效性,本文采用建模分析的方法建立網(wǎng)絡(luò)模型,并模擬所有終端主機之間建立路由的過程。整個實驗基于Python2.7實現(xiàn),利用Python中Networkx庫建立如圖5所示的網(wǎng)絡(luò)模型,并使用內(nèi)置的all_simple_path()函數(shù)直接用于計算源節(jié)點到目標節(jié)點間的所有可行路徑集合,既節(jié)省了開發(fā)時間,又降低了代碼故障率。本文對網(wǎng)絡(luò)模型中的所有SDN交換機節(jié)點的校驗總次數(shù)初始化為10次,正確校驗反饋的次數(shù)分別初始化為10次、9次和8次,共3種網(wǎng)絡(luò)環(huán)境分別進行實驗。將拓撲中心位置的交換機s7設(shè)置為惡意交換機,即無法正確轉(zhuǎn)發(fā)數(shù)據(jù)并能被本文的跟蹤反饋機制定位。實驗過程使用本文提出的不相交多路徑可信路由算法為所有終端主機(h1~h6)之間建立傳輸路徑,與文獻[25]中未采用可信評估的不相交多路徑路由方法進行對比,分析交換機可信度在路由過程的變化與對路徑選擇的影響。

    圖5 實驗拓撲Topo2

    4.2 實驗結(jié)果分析

    1)性能分析。

    如圖6所示,在路徑末端可達性的前提下,本文比較分析了路徑末端校驗和本文提出的路徑跟蹤反饋校驗方式的時間開銷,隨著路徑中交換機節(jié)點數(shù)量的增加,從控制器收到路由請求到下發(fā)校驗數(shù)據(jù)包完成路徑可信驗證的時延也在不斷增加。而由于控制器與SDN交換機之間存在傳輸時延,無法保證每個校驗數(shù)據(jù)包按序到達控制器,因此路徑跟蹤反饋所需的時間開銷稍高于路徑末端校驗,在路徑中的交換機數(shù)量10臺以內(nèi)的額外時延開銷約為15%。然而路徑末端校驗建立在可達性的基礎(chǔ)之上,無法應(yīng)對SDN交換機轉(zhuǎn)發(fā)功能異常的全部情形。本文提出的路徑跟蹤反饋機制則能細粒度地對路徑中的每個節(jié)點轉(zhuǎn)發(fā)進行校驗,及時地檢測SDN交換機節(jié)點的惡意行為,為實現(xiàn)可信路由建立基礎(chǔ),有效提升網(wǎng)絡(luò)傳輸服務(wù)的可信性。

    圖6 路徑可信驗證方式的時延對比

    圖7為傳統(tǒng)的最短路徑(單路徑)路由和本文提出的不相交多路徑(2條路徑)傳輸方式下,不同鏈路帶寬的端到端傳輸總帶寬對比。可以看出,隨著網(wǎng)絡(luò)中鏈路帶寬的增加,端到端傳輸?shù)目値捯苍谠黾?,不相交多路?2條路徑)傳輸?shù)目値拵缀跏亲疃搪窂?單路徑)路由的2倍。

    圖7 不同路由方式的帶寬比較

    2)安全性分析。

    表2給出了不相交多路徑路由算法和本文提出的可信路由算法DMTRA-PTF在實驗拓撲Topo2中為所有終端主機對,共計15次路由調(diào)度中能夠找到2條可信路徑的概率。由于沒有路徑跟蹤反饋和可信評估模型的幫助,基于最短路徑的不相交多路徑路由算法借助圖5所示網(wǎng)絡(luò)拓撲的中心節(jié)點s7以降低轉(zhuǎn)發(fā)路徑跳數(shù),因此僅在終端主機h2和h5之間找到2條安全路徑;而本文提出的不相交多路徑可信路由算法能夠借助基于路徑跟蹤反饋的可信路徑驗證方法有效識別惡意節(jié)點,并借助路徑評估引導后續(xù)路徑進行規(guī)避,為所有終端主機之間找到2條可信路徑用于傳輸數(shù)據(jù)。

    表2 找到2條可信路徑的概率

    通過圖8可以直觀地體現(xiàn)基于SDN的網(wǎng)絡(luò)中交換機節(jié)點s7的可信度在3種具有不同SDN交換機節(jié)點可信初始條件的網(wǎng)絡(luò)環(huán)境中,隨著路由過程的變化趨勢。在網(wǎng)絡(luò)環(huán)境初始化之初,由于SDN控制器并未收集任何新的SDN交換機節(jié)點信任信息,僅借助各節(jié)點默認初始可信度信息進行路徑計算,且潛在的惡意SDN交換機節(jié)點s7位于網(wǎng)絡(luò)拓撲結(jié)構(gòu)中的中心位置,滿足路徑可信度閾值要求的待校驗路徑往往經(jīng)過惡意節(jié)點。然而,隨著路由次數(shù)的增加,SDN交換機節(jié)點s7的惡意行為被多次檢測識別,其可信度不斷下降,直至不再有新的路徑經(jīng)過。由此可見,本文提出的基于路徑跟蹤反饋的不相交多路徑可信路由算法能夠有效地識別并通過可信評估引導新的路徑規(guī)避惡意交換機節(jié)點,減少后續(xù)路由校驗的次數(shù)。并且SDN交換機節(jié)點可信度初始條件越好,路由算法對交換機惡意行為導致的可信度變化越敏感,完成路由過程所需的總路徑校驗次數(shù)越少,本文提出的可信路由算法的優(yōu)越性更明顯。如校驗總次數(shù)和正確校驗反饋次數(shù)均初始化為10次時,僅首次建立路由途經(jīng)惡意SDN交換機節(jié)點s7,完成路徑跟蹤校驗后更新交換機節(jié)點的可信度信息,便能使后續(xù)路由過程均能借助路徑評估機制實現(xiàn)對惡意節(jié)點的規(guī)避。

    圖8 節(jié)點信任信息初始化值對路由過程的影響

    表3顯示了SDN交換機節(jié)點的校驗總次數(shù)初始化為10次,正確校驗反饋的次數(shù)初始化為8次條件下,為所有終端主機之間建立不相交多路徑可信路由完成后網(wǎng)絡(luò)中所有SDN交換機節(jié)點可信度的整體情況,可以看到,本文提出的路徑跟蹤反饋機制能夠準確識別惡意交換機節(jié)點。

    表3 路由完成后SDN交換機節(jié)點可信度

    5 結(jié)束語

    由于SDN網(wǎng)絡(luò)自身的特點,需要由SDN控制器調(diào)度轉(zhuǎn)發(fā)設(shè)備進行相互協(xié)作才能完成數(shù)據(jù)傳輸,因而對轉(zhuǎn)發(fā)設(shè)備行為的監(jiān)測分析對保障網(wǎng)絡(luò)服務(wù)的安全可靠具有重要的意義。本文詳細論述了基于路徑跟蹤反饋的SDN網(wǎng)絡(luò)可信傳輸方案,借助基于跟蹤反饋的傳輸路徑可信驗證機制,收集信任信息分析節(jié)點的可信性,以此評估路徑的可信度用于引導可信路由。同時,為了增加資源利用率和端到端傳輸?shù)目尚判?,采用?gòu)建2條不相交路徑的路由方式,為存在安全風險的網(wǎng)絡(luò)環(huán)境提供可信的傳輸方案。應(yīng)用于常見網(wǎng)絡(luò)拓撲的初步結(jié)果表明,該方案優(yōu)于SDN控制器中默認實施的單路徑方法,提高了整體吞吐量和資源利用率;同時兼顧惡意SDN交換機的檢測與評估功能,能夠以較小的性能代價準確識別惡意交換機,提出的不相交多路徑可信路由算法DMTRA-PTF能以此為后續(xù)路由動態(tài)規(guī)劃可信路徑,提升網(wǎng)絡(luò)系統(tǒng)的可信性。

    猜你喜歡
    多路徑校驗交換機
    多路徑效應(yīng)對GPS多普勒測速的影響
    基于5.8G射頻的多路徑識別技術(shù)應(yīng)用探討
    修復(fù)損壞的交換機NOS
    爐溫均勻性校驗在鑄鍛企業(yè)的應(yīng)用
    使用鏈路聚合進行交換機互聯(lián)
    基于5.8GHz多路徑精確識別方案研究
    大型電動機高阻抗差動保護穩(wěn)定校驗研究
    電測與儀表(2015年1期)2015-04-09 12:03:02
    基于加窗插值FFT的PMU校驗方法
    鍋爐安全閥在線校驗不確定度評定
    PoE交換機雷擊浪涌防護設(shè)計
    宁武县| 尚志市| 建平县| 迁安市| 贵德县| 九寨沟县| 云霄县| 琼结县| 台湾省| 清新县| 呼玛县| 彭阳县| 铅山县| 兴宁市| 天门市| 阿鲁科尔沁旗| 兴宁市| 延吉市| 青冈县| 攀枝花市| 通州区| 太仆寺旗| 朝阳区| 沂水县| 伊金霍洛旗| 清苑县| 常宁市| 新沂市| 重庆市| 教育| 辽宁省| 大理市| 安图县| 商洛市| 呼伦贝尔市| 武功县| 漠河县| 南平市| 六盘水市| 崇文区| 景德镇市|