王芳鳴,王 斌,陳志浩,常承偉,趙 磊
(中國航天科工集團(tuán)第二研究院 七〇六,北京 100854)
目前比較典型的匿名通信系統(tǒng)有Tor[1]、Anonymizer[2]、I2P[3]、Freenet[4]等。其中第二代洋蔥路由Tor作為目前使用率最高的匿名通信系統(tǒng),具有擁塞控制、前向加密、目錄服務(wù)等機(jī)制,在一定程度上保證通信的匿名性,防止個(gè)人敏感信息的泄露。然而目前Tor在實(shí)際應(yīng)用中依然存在一些問題,比如通信鏈路建立前,客戶端選擇網(wǎng)絡(luò)路由存在著一定的盲目性和不確定性,一旦受控節(jié)點(diǎn)被選為出口節(jié)點(diǎn),攻擊者就可以向Tor用戶發(fā)動(dòng)中間人攻擊,對數(shù)據(jù)進(jìn)行竊取或篡改。此外,Tor系統(tǒng)由于在數(shù)據(jù)傳輸過程中涉及到復(fù)雜的加解密過程,會(huì)使網(wǎng)絡(luò)延遲明顯增大,給用戶帶來不好的體驗(yàn)。
本文基于SDN[5]集中控制理念和集群思想提出一種匿名通信系統(tǒng)架構(gòu),由一個(gè)控制中樞來對底層網(wǎng)絡(luò)設(shè)備下發(fā)控制指令,利用多約束最優(yōu)路徑規(guī)劃算法建立匿名通信路徑,保證系統(tǒng)匿名性的同時(shí),降低數(shù)據(jù)包的轉(zhuǎn)發(fā)時(shí)延,也使網(wǎng)絡(luò)架構(gòu)具有更好的可控性和抗攻擊能力。
本文結(jié)合SDN網(wǎng)絡(luò)集中控制理念和集群思想提出一種新型匿名通信系統(tǒng)的設(shè)計(jì)方案,方案中匿名通信網(wǎng)絡(luò)由統(tǒng)一的控制中心和多個(gè)集群構(gòu)成,每個(gè)集群由一個(gè)管理員和若干個(gè)具有匿名通信需求的普通成員構(gòu)成。控制器是整個(gè)系統(tǒng)的計(jì)算者和控制者,管理員負(fù)責(zé)管理本集群內(nèi)的普通成員。
匿名通信網(wǎng)絡(luò)建立后,控制器通過OpenFlow協(xié)議定期獲取網(wǎng)絡(luò)中節(jié)點(diǎn)的剩余帶寬和在線時(shí)長等信息,動(dòng)態(tài)的選擇相應(yīng)節(jié)點(diǎn),利用多約束最優(yōu)路徑規(guī)劃算法建立匿名通信路徑。路徑建立后,系統(tǒng)采用轉(zhuǎn)發(fā)機(jī)制來實(shí)現(xiàn)匿名功能,控制器下發(fā)流表到路徑中各個(gè)交換機(jī)來指揮數(shù)據(jù)包的轉(zhuǎn)發(fā),使系統(tǒng)能夠在短時(shí)間內(nèi)對主機(jī)的匿名請求做出響應(yīng)。在通信過程中,接收者不知道信息的發(fā)送者是誰,發(fā)送者和接收者也無法獲取對方的真實(shí)地址,路徑中的中繼節(jié)點(diǎn)只具有單純的轉(zhuǎn)發(fā)功能,實(shí)現(xiàn)了發(fā)送者與接收者的不可關(guān)聯(lián)性,從而使匿名通信服務(wù)更加安全、可靠。
本文結(jié)合SDN網(wǎng)絡(luò)集中控制理念和集群思想提出一種匿名通信系統(tǒng)架構(gòu),并對傳統(tǒng)的Dijkstra算法進(jìn)行拓展,實(shí)現(xiàn)多約束條件下的路徑選優(yōu),基于SDN的匿名通信系統(tǒng)設(shè)計(jì)如圖1所示。
圖1 基于SDN的匿名通信系統(tǒng)設(shè)計(jì)
1.2.1 系統(tǒng)架構(gòu)
軟件定義網(wǎng)絡(luò)的主要特點(diǎn)是將控制功能從網(wǎng)絡(luò)設(shè)備中提取出來,網(wǎng)絡(luò)的控制平面在控制器上,轉(zhuǎn)發(fā)平面在網(wǎng)絡(luò)設(shè)備上,實(shí)現(xiàn)了控制層與數(shù)據(jù)轉(zhuǎn)發(fā)層的分離?;赟DN的匿名通信網(wǎng)絡(luò)架構(gòu)如圖2所示,從上往下分為應(yīng)用層、控制層以及數(shù)據(jù)層。應(yīng)用層包含了匿名通信服務(wù)等相關(guān)網(wǎng)絡(luò)應(yīng)用??刂破矫尕?fù)責(zé)網(wǎng)絡(luò)控制,主要功能為協(xié)議處理與計(jì)算??刂破鳙@取系統(tǒng)中網(wǎng)絡(luò)設(shè)備之間的連接信息,并對連接信息進(jìn)行處理,通過OpenFlow協(xié)議定期獲取網(wǎng)絡(luò)中主機(jī)的剩余帶寬等信息,根據(jù)這些信息挑選最優(yōu)轉(zhuǎn)發(fā)節(jié)點(diǎn)來建立最優(yōu)轉(zhuǎn)發(fā)路徑。數(shù)據(jù)平面搭建網(wǎng)絡(luò)拓?fù)?,交換機(jī)根據(jù)控制平面下發(fā)的流表完成數(shù)據(jù)的轉(zhuǎn)發(fā)和處理。
圖2 基于SDN的匿名通信網(wǎng)絡(luò)架構(gòu)
系統(tǒng)可以看作是由一個(gè)控制器和多個(gè)交換機(jī)及主機(jī)組織起來的覆蓋網(wǎng)絡(luò),將網(wǎng)絡(luò)中的主機(jī)劃分為多個(gè)集群,每個(gè)集群中有一個(gè)主機(jī)作為該集群的管理員。其中,SDN控制器負(fù)責(zé)維護(hù)網(wǎng)絡(luò)中交換機(jī)節(jié)點(diǎn)的相關(guān)信息,建立匿名通信路徑以及指揮網(wǎng)絡(luò)中的數(shù)據(jù)包轉(zhuǎn)發(fā)。各集群管理員負(fù)責(zé)維護(hù)該集群中普通成員的地址映射關(guān)系,為該集群中普通成員請求并建立匿名通信。
Fat-Tree網(wǎng)絡(luò)基于傳統(tǒng)的樹形拓?fù)?,該網(wǎng)絡(luò)結(jié)構(gòu)共分為3層,如圖3所示,從下到上依次為邊緣層、匯聚層和核心層。3層的網(wǎng)絡(luò)架構(gòu)為使用者提供了多種數(shù)據(jù)包傳輸路徑選擇,在一定程度上提高鏈路資源的利用率,保證網(wǎng)絡(luò)負(fù)載均衡,提升系統(tǒng)容錯(cuò)性。邊緣層由各集群管理員組成,管理員主機(jī)上部署的交換機(jī)與普通成員主機(jī)直連,連接同一管理員交換機(jī)的普通成員屬于同一集群。在管理員主機(jī)上部署OVS交換機(jī),OVS是一個(gè)支持多層數(shù)據(jù)轉(zhuǎn)發(fā)的虛擬交換機(jī),提供在虛擬化環(huán)境中遠(yuǎn)程管理的OpenFlow協(xié)議,可應(yīng)用于SDN網(wǎng)絡(luò)。匯聚層處于邊緣層和核心層中間,主要負(fù)責(zé)提高網(wǎng)絡(luò)資源利用率,保證網(wǎng)絡(luò)負(fù)載均衡,避免網(wǎng)絡(luò)擁堵。核心層交換機(jī)主要負(fù)責(zé)轉(zhuǎn)發(fā)匯聚層交換機(jī)之間的數(shù)據(jù)包。
圖3 基于SDN的匿名通信網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
1.2.2 匿名通信機(jī)理
匿名通信過程中,控制器接收并響應(yīng)發(fā)送方的匿名通信請求,動(dòng)態(tài)選擇相應(yīng)交換機(jī)節(jié)點(diǎn),建立匿名通信路徑。假設(shè)Alice和Bob是匿名通信系統(tǒng)中的兩個(gè)普通成員,Alice作為發(fā)送方要與接收方Bob進(jìn)行匿名通信,Alice所在集群的管理員為管理員A,匿名通信的請求與建立過程如圖4所示:
圖4 匿名通信的請求與建立
(1)Alice向其所在集群的管理員A發(fā)送與Bob的匿名通信請求;
(2)管理員A向控制器提出與Bob進(jìn)行匿名通信的請求;
(3)控制器向各集群管理員發(fā)送流表,詢問Bob是否在該集群中;
(4)Bob所在集群的管理員返回Bob的IP地址、mac地址等地址信息以及Bob的公鑰B給控制器;
(5)控制器根據(jù)OpenFlow協(xié)議定期獲取的交換機(jī)節(jié)點(diǎn)相關(guān)信息,通過多約束最優(yōu)路徑規(guī)劃算法為管理員A建立一條通往Bob的匿名通信路徑??刂破饔米约旱乃借€C給公鑰B加密,生成數(shù)字簽名B??刂破鲗⒐€B和數(shù)字簽名B整合到一起生成證書,將證書和證書的公鑰C一起發(fā)送給管理員A;
(6)管理員A轉(zhuǎn)發(fā)證書和證書的公鑰C給Alice,表示Alice通往Bob的匿名通信路徑已建立完成;
(7)Alice收到證書,并用公鑰C對證書中的數(shù)字簽名解密,得到哈希值B。同時(shí)對公鑰B進(jìn)行哈希運(yùn)算,并將結(jié)果與哈希值B對比,如果相同,則證書合法。Alice將要發(fā)送的信息和自己的公鑰A打包,用Bob的公鑰B加密后發(fā)送給管理員A;
(8)管理員A轉(zhuǎn)發(fā)中繼消息給Bob;
(9)Bob收到數(shù)據(jù)包后用自己的私鑰B解密,再用Alice 的公鑰A加密應(yīng)答消息發(fā)送給管理員A;
(10)管理員A將返回的中繼消息轉(zhuǎn)發(fā)給Alice,Alice用自己的私鑰A對數(shù)據(jù)包進(jìn)行解密。
控制器建立匿名通信路徑后,通過OpenFlow網(wǎng)絡(luò)協(xié)議向交換機(jī)下發(fā)流表,交換機(jī)通過解析流表對數(shù)據(jù)包進(jìn)行匹配并轉(zhuǎn)發(fā)。整個(gè)過程中由控制器建立匿名通信路徑并指揮數(shù)據(jù)包的轉(zhuǎn)發(fā),保證了通信過程的匿名性??刂破髟谕ㄐ沤⒌倪^程中充當(dāng)中介的角色,但在實(shí)際上數(shù)據(jù)包在各個(gè)交換機(jī)之間直接進(jìn)行轉(zhuǎn)發(fā)??刂破魇钦麄€(gè)系統(tǒng)的計(jì)算者和控制者,系統(tǒng)中傳輸?shù)臄?shù)據(jù)包通過由控制器建立的通信路徑中的若干交換機(jī)節(jié)點(diǎn),這些交換機(jī)節(jié)點(diǎn)根據(jù)控制器下發(fā)的流表對數(shù)據(jù)包進(jìn)行轉(zhuǎn)發(fā)。
系統(tǒng)中管理員充當(dāng)轉(zhuǎn)發(fā)代理的角色,普通成員的匿名通信請求通過管理員代為轉(zhuǎn)發(fā),控制器不維護(hù)普通成員的地址映射,也無法獲取數(shù)據(jù)包的發(fā)送方信息,在一定程度上降低了控制器的負(fù)載和單點(diǎn)攻擊的威脅。
在整個(gè)通信過程中,信息接收方不知道信息發(fā)送方是誰,發(fā)送方和接收方也無法獲取對方的真實(shí)地址。通信路徑中的每一個(gè)交換機(jī)節(jié)點(diǎn)只會(huì)根據(jù)控制器下發(fā)的流表對數(shù)據(jù)包進(jìn)行單純的轉(zhuǎn)發(fā),每個(gè)交換機(jī)節(jié)點(diǎn)只知道通信路徑中的上一跳和下一跳,但不能確定上一跳節(jié)點(diǎn)是否是發(fā)送者,下一跳節(jié)點(diǎn)是否是接收者,獲得發(fā)送者與接收者的不可關(guān)聯(lián)性。
1.2.3 多約束最優(yōu)路徑規(guī)劃算法
通常傳統(tǒng)網(wǎng)絡(luò)中的路徑選擇依據(jù)是通過路由協(xié)議計(jì)算出的最優(yōu)傳輸路徑,但結(jié)果可能會(huì)導(dǎo)致網(wǎng)絡(luò)中部分路徑流量擁塞。當(dāng)采用SDN網(wǎng)絡(luò)架構(gòu)時(shí),SDN控制器可以根據(jù)網(wǎng)絡(luò)流量狀態(tài)調(diào)整傳輸路徑,提升網(wǎng)絡(luò)資源利用率。此外,控制器根據(jù)節(jié)點(diǎn)在線時(shí)長選擇信譽(yù)度較高的節(jié)點(diǎn)作為轉(zhuǎn)發(fā)節(jié)點(diǎn),可以一定程度上降低路徑選擇攻擊的威脅。
最優(yōu)路徑規(guī)劃流程如圖5所示,控制器收到發(fā)送方的匿名通信請求后獲取發(fā)送方和接收方的IP地址等信息。拓?fù)涓兄K負(fù)責(zé)獲取網(wǎng)絡(luò)中交換機(jī)與主機(jī)之間的連接信息,并對連接信息進(jìn)行處理,形成網(wǎng)絡(luò)拓?fù)?。鏈路信息收集模塊負(fù)責(zé)獲取網(wǎng)絡(luò)中交換機(jī)節(jié)點(diǎn)的剩余帶寬、在線時(shí)長等信息。控制器在收到上述信息后,利用多約束最優(yōu)路徑規(guī)劃算法建立匿名通信路徑。
圖5 最優(yōu)路徑規(guī)劃流程
在OpenFlow網(wǎng)絡(luò)協(xié)議中,控制器通過南向接口實(shí)時(shí)獲取網(wǎng)絡(luò)節(jié)點(diǎn)狀態(tài),根據(jù)網(wǎng)絡(luò)情況不同做出相應(yīng)處理策略。系統(tǒng)中SDN控制器通過Openflow協(xié)議定期獲取網(wǎng)絡(luò)中交換機(jī)的剩余帶寬、在線時(shí)長等信息,實(shí)時(shí)感知網(wǎng)絡(luò)狀態(tài),并針對當(dāng)前網(wǎng)絡(luò)狀態(tài)進(jìn)行動(dòng)態(tài)最優(yōu)路徑規(guī)劃。最優(yōu)路徑規(guī)劃后,控制器將數(shù)據(jù)包轉(zhuǎn)發(fā)命令通過OpenFlow協(xié)議以流表的形式映射到相應(yīng)交換機(jī)中??刂破魍ㄟ^實(shí)時(shí)獲取網(wǎng)絡(luò)節(jié)點(diǎn)狀態(tài),對網(wǎng)絡(luò)整體進(jìn)行感知,能夠有效避免網(wǎng)絡(luò)擁塞??刂破鲃?dòng)態(tài)獲取當(dāng)前網(wǎng)絡(luò)節(jié)點(diǎn)狀態(tài),建立源節(jié)點(diǎn)至目的節(jié)點(diǎn)間的最優(yōu)路徑,實(shí)現(xiàn)了對數(shù)據(jù)流量的靈活傳輸。
系統(tǒng)以Dijkstra算法為基礎(chǔ),根據(jù)Fat-Tree拓?fù)涞慕Y(jié)構(gòu)特點(diǎn),綜合考慮節(jié)點(diǎn)間的距離、節(jié)點(diǎn)剩余帶寬、節(jié)點(diǎn)在線時(shí)長3種因素,提出多約束條件下的最優(yōu)路徑規(guī)劃算法。算法首先對各條邊的參數(shù)權(quán)值進(jìn)行分析,使用最小-最大規(guī)范化方法對權(quán)值進(jìn)行歸一化處理,合理設(shè)計(jì)代價(jià)函數(shù),計(jì)算各條邊的最終權(quán)值,變多約束問題為單約束問題,最終通過Dijkstra最短路徑規(guī)劃算法建立匿名通信路徑。本系統(tǒng)中將節(jié)點(diǎn)間的距離、節(jié)點(diǎn)剩余帶寬和節(jié)點(diǎn)在線時(shí)長3項(xiàng)因素作為約束條件,建立最優(yōu)路徑選擇模型。
假設(shè)匿名通信網(wǎng)絡(luò)中共有n個(gè)節(jié)點(diǎn),其中一條匿名通信路徑P由節(jié)點(diǎn)1,節(jié)點(diǎn)2,…,節(jié)點(diǎn)i組成,數(shù)據(jù)包通過該路徑的傳輸距離可以表示為
式中:Sk,k+1表示節(jié)點(diǎn)k與節(jié)點(diǎn)k+1之間的傳輸距離。
節(jié)點(diǎn)在線時(shí)長是衡量節(jié)點(diǎn)信譽(yù)度的主要因素,節(jié)點(diǎn)在線時(shí)長越長,信譽(yù)度越高,數(shù)據(jù)包成功傳輸?shù)母怕室簿驮酱蟆9?jié)點(diǎn)k的在線時(shí)長用tk表示,網(wǎng)絡(luò)中節(jié)點(diǎn)的最長在線時(shí)長用M(t) 表示,最短在線時(shí)長用m(t) 表示
M(t)=max{t1,t2,…,tn}
m(t)=min{t1,t2,…,tn}
利用最小-最大規(guī)范化方法對節(jié)點(diǎn)在線時(shí)長進(jìn)行線性變換,將在線時(shí)長映射到 [0,1] 之間。節(jié)點(diǎn)k成功轉(zhuǎn)發(fā)或接收數(shù)據(jù)包的概率pk可以表示為
節(jié)點(diǎn)k與節(jié)點(diǎn)k+1之間成功傳輸?shù)母怕视肞k,k+1來表示,成功通過概率Pk,k+1與節(jié)點(diǎn)k成功轉(zhuǎn)發(fā)或接收數(shù)據(jù)包的概率pk之間的關(guān)系屬于乘法約束
Pk,k+1=pk*pk+1,pk≤1,pk+1≤1
即節(jié)點(diǎn)k與節(jié)點(diǎn)k+1之間成功傳輸?shù)母怕蔖k,k+1等于兩節(jié)點(diǎn)成功轉(zhuǎn)發(fā)或接收的概率乘積。對于乘法約束,將等式兩邊取對數(shù),將乘法約束表示為加法約束
lnPk,k+1=lnpk+lnpk+1,pk≤1,pk+1≤1
由于pk≤1, 等式兩邊均為負(fù)數(shù),兩邊同乘-1得
鏈路帶寬在一定程度上影響系統(tǒng)的網(wǎng)絡(luò)吞吐量,控制器傾向于選擇剩余帶寬較高的節(jié)點(diǎn)作為備選轉(zhuǎn)發(fā)節(jié)點(diǎn)。節(jié)點(diǎn)k的剩余帶寬用bk表示,網(wǎng)絡(luò)中節(jié)點(diǎn)最大剩余帶寬用M(b) 表示,最小剩余帶寬用m(b) 表示
M(b)=max{b1,b2,…,bn}
m(b)=min{b1,b2,…,bn}
將剩余帶寬映射到[0,1]之間,對節(jié)點(diǎn)剩余帶寬進(jìn)行線性變換
節(jié)點(diǎn)k與節(jié)點(diǎn)k+1之間的帶寬權(quán)值函數(shù)可以表示為
Qk,k+1=qk*qk+1,qk≤1,qk+1≤1
將乘法約束表示為加法約束
lnQk,k+1=lnqk+lnqk+1,qk≤1,qk+1≤1
等式兩邊均為負(fù)數(shù),兩邊同乘-1得
在最優(yōu)路徑選擇過程中,把節(jié)點(diǎn)間的距離、節(jié)點(diǎn)在線時(shí)長和節(jié)點(diǎn)剩余帶寬3個(gè)約束條件融合,設(shè)計(jì)代價(jià)函數(shù)
如果一條路徑P上有i個(gè)節(jié)點(diǎn),則該條路徑的權(quán)值可以表示為
將多約束問題轉(zhuǎn)化為單約束問題,最終通過Dijkstra最短路徑規(guī)劃算法建立匿名通信路徑。
本文基于Fat-Tree拓?fù)浣Y(jié)構(gòu)搭建實(shí)驗(yàn)環(huán)境,確定了交換機(jī)和終端數(shù)目后,按照Fat-Tree拓?fù)涞倪B接規(guī)則,分別對控制器、交換機(jī)以及主機(jī)之間進(jìn)行連接與配置。
為什么這樣理解科學(xué)管理呢?因?yàn)楣芾淼哪康膽?yīng)該是實(shí)現(xiàn)雇主最大限度富裕的同時(shí)也要實(shí)現(xiàn)雇員的最大限度富裕,但問題是人們總是把雇主的利益和雇員的利益擺在對立的位置,認(rèn)為他們是存在利益矛盾的,將雙方的利益視為此長彼短的關(guān)系。為了破解這種錯(cuò)誤的思想,泰勒呼吁雇員和雇主需要一場心理革命。
匿名通信系統(tǒng)的延遲和吞吐量是衡量系統(tǒng)性能最重要指標(biāo)的兩個(gè)指標(biāo)。在系統(tǒng)中影響系統(tǒng)延遲的因素主要有數(shù)據(jù)長度和中間節(jié)點(diǎn)個(gè)數(shù)兩個(gè)方面。
下面通過對比實(shí)驗(yàn)的方式來說明系統(tǒng)延遲與數(shù)據(jù)長度及中間節(jié)點(diǎn)個(gè)數(shù)之間的關(guān)系。系統(tǒng)通過多跳交換機(jī)節(jié)點(diǎn)來轉(zhuǎn)發(fā)信息,圖6顯示了系統(tǒng)在不同條件下的延時(shí),即一個(gè)信息由初始節(jié)點(diǎn)發(fā)出到目標(biāo)節(jié)點(diǎn)收到所經(jīng)過的時(shí)間。可以看出中間節(jié)點(diǎn)跳數(shù)越多,數(shù)據(jù)長度越大,處理過程復(fù)雜,整個(gè)數(shù)據(jù)的接收延遲也就越大。
圖6 轉(zhuǎn)發(fā)延遲與跳數(shù)及數(shù)據(jù)長度的關(guān)系
表1展示了目前最為廣泛使用的匿名通信系統(tǒng)Tor與本系統(tǒng)的轉(zhuǎn)發(fā)延遲比較結(jié)果。表中的轉(zhuǎn)發(fā)延遲指的是從初始節(jié)點(diǎn)發(fā)出請求到請求的內(nèi)容完全返回初始節(jié)點(diǎn)所用的時(shí)間。通過比較可以看出,本系統(tǒng)的延遲要小于Tor系統(tǒng)。Tor系統(tǒng)由于其復(fù)雜多重的加解密操作,導(dǎo)致延遲較大,但Tor系統(tǒng)已被廣泛應(yīng)用和認(rèn)可,因此可以認(rèn)為本方案中的系統(tǒng)設(shè)計(jì)可以滿足匿名通信的基本性能需求。
表1 本系統(tǒng)與Tor系統(tǒng)轉(zhuǎn)發(fā)延遲的比較
網(wǎng)絡(luò)吞吐量能夠準(zhǔn)確反映網(wǎng)絡(luò)的傳輸能力,是評價(jià)匿名通信網(wǎng)絡(luò)性能的一項(xiàng)重要指標(biāo)。網(wǎng)絡(luò)吞吐量是指單位時(shí)間內(nèi)網(wǎng)絡(luò)能正確傳輸?shù)牧髁康拇笮?,參?shù)R和T分別表示系統(tǒng)中能夠正確傳輸?shù)牧髁亢拖鄬?yīng)的時(shí)間,網(wǎng)絡(luò)吞吐量η可以表示為
本文針對傳統(tǒng)的Dijkstra算法和系統(tǒng)中的多約束路徑規(guī)劃算法進(jìn)行鏈路負(fù)載測試,觀察匿名通信網(wǎng)絡(luò)吞吐量隨鏈路負(fù)載增加的變化情況。傳統(tǒng)Dijkstra算法與多約束最優(yōu)路徑規(guī)劃算法之間的網(wǎng)絡(luò)吞吐量對比如圖7所示,由實(shí)驗(yàn)結(jié)果可知,當(dāng)鏈路負(fù)載較小時(shí),使用兩種路徑規(guī)劃算法的網(wǎng)絡(luò)吞吐量近乎相同,鏈路帶寬能夠滿足數(shù)據(jù)包的傳輸要求。但是當(dāng)鏈路負(fù)載超過0.3之后,傳統(tǒng)的Dijkstra算法網(wǎng)絡(luò)吞吐量開始逐漸低于多約束最優(yōu)路徑規(guī)劃算法。當(dāng)流量負(fù)載增大至0.7時(shí),Dijkstra算法網(wǎng)絡(luò)吞吐量開始下降,兩種算法之間的網(wǎng)絡(luò)吞吐量差距更加明顯。由于Dijkstra算法只考慮最短傳輸路徑這一因素,當(dāng)鏈路承載達(dá)到一定時(shí),路徑規(guī)劃無法考慮到網(wǎng)絡(luò)狀態(tài)變化,進(jìn)而造成網(wǎng)絡(luò)擁塞,導(dǎo)致數(shù)據(jù)流被丟棄。而本課題中所提出的多約束最優(yōu)路由算法通過定期獲取網(wǎng)絡(luò)中交換機(jī)的剩余帶寬,實(shí)時(shí)感知網(wǎng)絡(luò)狀態(tài),針對當(dāng)前網(wǎng)絡(luò)狀態(tài)進(jìn)行最優(yōu)路徑規(guī)劃,提升網(wǎng)絡(luò)資源利用率,從而增強(qiáng)了網(wǎng)絡(luò)吞吐性能。
圖7 網(wǎng)絡(luò)吞吐量與鏈路負(fù)載的關(guān)系
匿名通信系統(tǒng)的安全性主要取決于系統(tǒng)的抗攻擊能力,當(dāng)前比較典型的攻擊方法主要有合謀攻擊、流量分析攻擊、時(shí)間攻擊等,下面分別針對這些主流的攻擊方式來分析本文中系統(tǒng)的抗攻擊能力。
(1)合謀攻擊
合謀攻擊是指攻擊者向系統(tǒng)中植入多個(gè)惡意節(jié)點(diǎn),結(jié)合各個(gè)節(jié)點(diǎn)所獲取的信息來推斷系統(tǒng)中用戶的通信關(guān)系。Tor不能很好地抵御該攻擊,在建立匿名通信路徑時(shí),惡意節(jié)點(diǎn)可以通過上報(bào)虛假帶寬等信息來提高被選為轉(zhuǎn)發(fā)節(jié)點(diǎn)的概率,進(jìn)而誘使系統(tǒng)選擇惡意節(jié)點(diǎn)作為轉(zhuǎn)發(fā)節(jié)點(diǎn),多個(gè)攻擊者合謀得到系統(tǒng)中通信用戶的信息。
(2)流量分析攻擊
流量分析攻擊是指攻擊者通過對網(wǎng)絡(luò)流量的監(jiān)測和分析,從報(bào)文時(shí)間、大小以及類型等方面來發(fā)現(xiàn)通信雙方的關(guān)聯(lián)性,進(jìn)而推斷信息的發(fā)送者和接收者。
本系統(tǒng)中通過控制器下發(fā)流表到交換機(jī)的方式來建立匿名通信路徑,因此整個(gè)網(wǎng)絡(luò)中包含各種報(bào)文,除了主機(jī)與交換機(jī)間的通信報(bào)文外,還有交換機(jī)與控制器之間的通信報(bào)文等,因此匿名網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)進(jìn)出的實(shí)時(shí)流量比較混雜,攻擊者很難對通信雙方進(jìn)行關(guān)聯(lián)。
(3)時(shí)間攻擊
時(shí)間攻擊是指攻擊者通過獲取匿名通信網(wǎng)絡(luò)中的報(bào)文時(shí)間標(biāo)志,通過時(shí)間對比來分析報(bào)文間的關(guān)聯(lián)。
時(shí)間攻擊與流量分析攻擊類似,由于本系統(tǒng)中充斥了各類混雜報(bào)文信息,因此攻擊者進(jìn)行時(shí)間攻擊比較困難。
本文提出了一種基于SDN集中控制理念和集群思想的匿名通信系統(tǒng)架構(gòu),系統(tǒng)融合了節(jié)點(diǎn)選擇限制、多約束最優(yōu)路徑規(guī)劃等策略,采用控制器向中交換機(jī)下發(fā)流表的方式建立匿名通信,保證了通信過程的匿名性。理論分析表明基于SDN的網(wǎng)絡(luò)架構(gòu)可以在一定程度上抵御合謀攻擊、流量分析攻擊、時(shí)間攻擊等主流攻擊方式。仿真實(shí)驗(yàn)結(jié)果表明,其滿足匿名通信的基本性能需求,且同一網(wǎng)絡(luò)環(huán)境下本系統(tǒng)轉(zhuǎn)發(fā)延遲明顯低于Tor。
目前研究中存在單一控制器失效的問題,下一步工作主要是研究多控制器協(xié)調(diào)的工作方式,建立多個(gè)控制器組成的分布式網(wǎng)絡(luò)架構(gòu),降低單一控制器的負(fù)載和安全威脅。