国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

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

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

高 楓,莊 毅,劉 驍

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

0 引 言

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

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

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

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

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

1 相關(guān)研究

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

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

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

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

2 基于跟蹤反饋的傳輸路徑可信驗(yàn)證

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

2.1 問題描述

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

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

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

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

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

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

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

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

2.2 基于跟蹤反饋的傳輸路徑可信驗(yàn)證機(jī)制

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

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

MSGverify=HASH(Header‖Timestamp)

(1)

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

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

圖2 傳輸路徑可信驗(yàn)證流程圖

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

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

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

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

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

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

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

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

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

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

(2)

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

3.2 威脅模型

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

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

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

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

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

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

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

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

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

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

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

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

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

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

3.3.2 路徑可信度計(jì)算

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

(3)

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

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

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

(4)

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

Cthreshold(path)=(ravg)|V|

(5)

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

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

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

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

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

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

輸入:網(wǎng)絡(luò)信息G=(S,L,C),源交換機(jī)節(jié)點(diǎn)ssrc,目的交換機(jī)節(jié)點(diǎn)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 實(shí)驗(yàn)與結(jié)果分析

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

4.1 實(shí)驗(yàn)設(shè)計(jì)與實(shí)驗(yàn)環(huán)境

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

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

圖4 實(shí)驗(yàn)拓?fù)銽opo1

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

圖5 實(shí)驗(yàn)拓?fù)銽opo2

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

1)性能分析。

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

圖6 路徑可信驗(yàn)證方式的時延對比

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

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

2)安全性分析。

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

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

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

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

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

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

5 結(jié)束語

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

猜你喜歡
多路徑校驗(yàn)交換機(jī)
多路徑效應(yīng)對GPS多普勒測速的影響
基于5.8G射頻的多路徑識別技術(shù)應(yīng)用探討
修復(fù)損壞的交換機(jī)NOS
爐溫均勻性校驗(yàn)在鑄鍛企業(yè)的應(yīng)用
使用鏈路聚合進(jìn)行交換機(jī)互聯(lián)
基于5.8GHz多路徑精確識別方案研究
大型電動機(jī)高阻抗差動保護(hù)穩(wěn)定校驗(yàn)研究
電測與儀表(2015年1期)2015-04-09 12:03:02
基于加窗插值FFT的PMU校驗(yàn)方法
鍋爐安全閥在線校驗(yàn)不確定度評定
PoE交換機(jī)雷擊浪涌防護(hù)設(shè)計(jì)
鹤庆县| 方城县| 田阳县| 华池县| 云浮市| 伊金霍洛旗| 乌鲁木齐市| 汝州市| 遵义市| 晋城| 勃利县| 革吉县| 京山县| 扶绥县| 崇信县| 廊坊市| 安达市| 庆云县| 峡江县| 永安市| 石狮市| 鄂托克前旗| 临澧县| 郎溪县| 邢台市| 中山市| 曲阳县| 绿春县| 韶关市| 阿坝| 郯城县| 台中县| 赤壁市| 龙胜| 抚远县| 漯河市| 镇雄县| 丹棱县| 岑溪市| 婺源县| 定远县|