龐 峰,竇立君
(南京林業(yè)大學(xué)網(wǎng)絡(luò)安全和信息化辦公室,江蘇 南京 210037)
隨著網(wǎng)絡(luò)結(jié)構(gòu)愈加復(fù)雜,無線局域網(wǎng)正面臨著安全性問題。無線局域網(wǎng)一直沿用波束切換天線與路由技術(shù)的IEEE802.11系列協(xié)議,以多區(qū)域間用戶群的服務(wù)質(zhì)量為目標(biāo),具有窄波束傳播的特點(diǎn)[1-3]。在用戶使用網(wǎng)絡(luò)密集的情況下,路由協(xié)議將直接影響到網(wǎng)絡(luò)的傳輸質(zhì)量,如何在多域間保證用戶群的服務(wù)質(zhì)量,提高無線局域網(wǎng)的安全性是亟待解決的問題[4]。
文獻(xiàn)[5]設(shè)計(jì)基于OpenFlow的用戶群服務(wù)質(zhì)量系統(tǒng),將網(wǎng)絡(luò)中的流量分為服務(wù)模式的普通流量和具有用戶群服務(wù)質(zhì)量保障的流量,并采用不同路由算法對(duì)兩種流量的資源使用情況進(jìn)行處理,當(dāng)網(wǎng)絡(luò)擁堵時(shí),采用重路由機(jī)制對(duì)其進(jìn)行保護(hù)。文獻(xiàn)[6]提出基于機(jī)會(huì)路由的想法,該方法區(qū)別于傳統(tǒng)路由協(xié)議,根據(jù)數(shù)據(jù)包中潛在的下一跳節(jié)點(diǎn),由路由度量進(jìn)行判斷,動(dòng)態(tài)地選擇出最優(yōu)下一跳節(jié)點(diǎn),該方法可提高無線局域網(wǎng)的吞吐量。文獻(xiàn)[7]設(shè)計(jì)了由區(qū)分服務(wù)組件和多路由組件構(gòu)成的HiQoS系統(tǒng),通過IP地址對(duì)服務(wù)的類型進(jìn)行區(qū)分,基于改進(jìn)Dijkstra算法對(duì)滿足QoS需求的源地址與目的地址間的路徑進(jìn)行計(jì)算,當(dāng)有報(bào)文時(shí),選擇源地址與目的地址間寬帶使用率較低的路徑,避免網(wǎng)絡(luò)堵塞,該方法可以較好的計(jì)算路由。
基于以上研究,本文通過探測(cè)包的發(fā)送時(shí)間等信息對(duì)無線局域網(wǎng)的可用寬帶進(jìn)行評(píng)估,對(duì)單邊寬帶進(jìn)行修正,求出鏈路可用帶寬。將系統(tǒng)采取3個(gè)層次的結(jié)構(gòu)設(shè)計(jì),使系統(tǒng)能夠支持多種配置工具,具有靈活擴(kuò)展性,并根據(jù)網(wǎng)絡(luò)節(jié)點(diǎn)判斷是否需要發(fā)起重路由機(jī)制。
無線局域網(wǎng)不需要額外的控制設(shè)備,網(wǎng)絡(luò)中的節(jié)點(diǎn)不僅可以作為用戶端,還可以作為服務(wù)端,實(shí)現(xiàn)設(shè)備間的相互通信。無線局域網(wǎng)中的路由協(xié)議主要完成選擇路由和執(zhí)行數(shù)據(jù)分組兩方面工作,路由協(xié)議的目的是選擇一條穩(wěn)定、高速的最佳路徑,使數(shù)據(jù)轉(zhuǎn)發(fā)過程中具有較高的吞吐量,達(dá)到更好的性能適應(yīng)于不同場(chǎng)合。
路由度量是影響無線局域網(wǎng)性能的主要指標(biāo),在路由協(xié)議中具有重要的作用。路由度量作為路徑選擇的判斷依據(jù),能有效反映路由算法的性能,以便在不同網(wǎng)絡(luò)規(guī)模和應(yīng)用場(chǎng)所中獲得最佳性能,因此有很多路由度量的方法。
期望傳輸次數(shù)是針對(duì)鏈路的丟包率與最小跳數(shù)缺陷設(shè)計(jì)的方法,通過廣播探測(cè)幀對(duì)前、反向送達(dá)率的鏈路測(cè)量,計(jì)算出成功傳輸數(shù)據(jù)包的平均次數(shù)。設(shè)節(jié)點(diǎn)成功發(fā)送數(shù)據(jù)包的概率為Nsen,節(jié)點(diǎn)成功接收數(shù)據(jù)包的概率為Nrec,那么期望傳輸次數(shù)公式可表示為
(1)
雖然期望傳輸次數(shù)優(yōu)于最小跳數(shù)度量,但其沒有考慮到不同帶寬的問題,導(dǎo)致檢測(cè)到的數(shù)據(jù)包遠(yuǎn)少于實(shí)際的數(shù)據(jù)包,不能很好的反映出丟包率。
期望傳輸時(shí)間是針對(duì)丟包率、帶寬和數(shù)據(jù)包大小等因素進(jìn)行設(shè)計(jì)。設(shè)探測(cè)包的大小為Spro,鏈路帶寬為Blin,那么期望傳輸時(shí)間公式可表示為
(2)
然而期望傳輸時(shí)間并沒有對(duì)剩余寬帶進(jìn)行考慮,在總寬帶較高的情況下,會(huì)導(dǎo)致鏈路不同,且沒有對(duì)流內(nèi)干擾和負(fù)載情況進(jìn)行優(yōu)化。
空時(shí)鏈路度量是針對(duì)數(shù)據(jù)幀在傳輸過程中信道的消耗總量進(jìn)行設(shè)計(jì)的方法。設(shè)信道接入開銷為Prec,MAC協(xié)議開銷為Parg,測(cè)試幀大小為Fpro,傳輸速率為v,那么時(shí)空鏈路度量公式可表示為
(3)
其中,ε表示誤差。空時(shí)鏈路度量的主要缺點(diǎn)是沒有考慮到負(fù)載情況。綜合考慮,本文對(duì)期望傳輸次數(shù)采取優(yōu)化,并作為路由的度量。為保證無線局域網(wǎng)的傳輸速率,鏈路的可用寬帶是衡量鏈路寬帶資源的重要指標(biāo),對(duì)其進(jìn)行研究有十分重要的意義。在無線局域網(wǎng)中,可用寬帶表示端到端可獲得數(shù)據(jù)的最大傳輸速率,其可直接反映鏈路上可用的剩余寬帶數(shù)量,因此可作為路由選擇的度量。
(4)
若探測(cè)包傳輸速率比可用寬帶小,那么延遲時(shí)間較小,若探測(cè)包傳輸速率比可用寬帶大,那么會(huì)造成鏈路堵塞,延遲時(shí)間增長(zhǎng),因此捕捉到這個(gè)變化的臨界點(diǎn),便可獲得可用帶寬。設(shè)同一傳輸介質(zhì)中的傳播時(shí)延為Treg,傳輸時(shí)間為T,數(shù)據(jù)包的大小為Sdat,那么鏈路帶寬公式可表示為
(5)
在數(shù)據(jù)的傳輸過程中,數(shù)據(jù)的碰撞會(huì)導(dǎo)致消耗過多的寬帶資源,為此提出計(jì)算收發(fā)雙方同步概率的方法,結(jié)合拉格朗日算法,通過數(shù)據(jù)包的碰撞情況計(jì)算碰撞率,公式可表示為
Pass=Pcol*f(m)
(6)
其中,Pcol表示數(shù)據(jù)包統(tǒng)計(jì)的碰撞概率。進(jìn)而可以得到整體估計(jì)公式
Tess=(1-C)(1-Pcol)×E
(7)
其中,C表示退避引起的消耗;E表示收發(fā)節(jié)點(diǎn)同步后修正的可用寬帶。當(dāng)信道處于忙碌狀態(tài),系統(tǒng)認(rèn)為信道不能用于收發(fā)數(shù)據(jù),于是可用寬帶公式可表示為
(8)
其中,Tidle表示周期內(nèi)信道處于空閑狀態(tài)的時(shí)間;Tbusy表示周期內(nèi)信道處于忙碌狀態(tài)的時(shí)間;Ccap表示信道容量;Tsen表示節(jié)點(diǎn)在一個(gè)周期內(nèi)監(jiān)聽信道為忙碌狀態(tài)的時(shí)間。通過獲得收發(fā)雙方的雙發(fā)最小值,便可求出鏈路可用帶寬。
端到端安全重路由的系統(tǒng)主要按三個(gè)分層進(jìn)行設(shè)計(jì):接口層、數(shù)據(jù)層和管理層。接口層包含各種配置工具,主要功能是對(duì)用戶輸入的配置請(qǐng)求進(jìn)行解析,將解析后的結(jié)果交給管理層的組件進(jìn)行處理。管理層根據(jù)設(shè)置好的信息模型對(duì)配置信息中的數(shù)據(jù)進(jìn)行檢查,并與相關(guān)的組件關(guān)聯(lián),將配置數(shù)據(jù)保存到數(shù)據(jù)庫中,各個(gè)組件通過數(shù)據(jù)庫中的配置數(shù)據(jù)對(duì)請(qǐng)求進(jìn)行處理。
接口層起到用戶和路由器間交互的作用,用戶可用配置工具對(duì)輸入請(qǐng)求進(jìn)行配置。CLI是用戶和路由器交互的一種可視化工具,系統(tǒng)包含多個(gè)命令視圖,用戶進(jìn)入不同的命令視圖輸入配置請(qǐng)求后,接口層對(duì)命令進(jìn)行接收、匹配和檢查等,獲得用戶相應(yīng)的配置信息,與此同時(shí)CLI為用戶提供在線幫助。CLI對(duì)用戶命令解析需要5個(gè)階段,具體階段和功能如表1所示。
表1 CLI對(duì)用戶命令解析階段及功能
管理層主要通過協(xié)議對(duì)配置的信息模塊與設(shè)定的信息模塊采取數(shù)據(jù)檢測(cè),與相應(yīng)的功能組件關(guān)聯(lián),生成數(shù)據(jù)保存到數(shù)據(jù)庫中。用戶端通過網(wǎng)絡(luò)配置管理協(xié)議對(duì)網(wǎng)絡(luò)設(shè)備進(jìn)行管理,并向服務(wù)器發(fā)送查詢或修改具體參數(shù)的請(qǐng)求。服務(wù)器不僅需要維護(hù)網(wǎng)絡(luò)系統(tǒng),還要對(duì)用戶端的請(qǐng)求作出響應(yīng),把相關(guān)數(shù)據(jù)回復(fù)給發(fā)出請(qǐng)求的用戶端。服務(wù)器對(duì)接收到的請(qǐng)求進(jìn)行解析,并在管理框架的支持下處理請(qǐng)求。
不同網(wǎng)絡(luò)設(shè)備配置的模型不同,需要固定的數(shù)據(jù)模型將配置數(shù)據(jù)解析成一致的格式,以完成自動(dòng)化配置。根據(jù)配置接口層,本文增加新的模型定義。在新模型中,使用“grouping”聲明把節(jié)點(diǎn)存入容器中,當(dāng)被調(diào)用時(shí),可根據(jù)不同的作用更新grouping的定義。在容器節(jié)點(diǎn)中定義三個(gè)葉節(jié)點(diǎn):鏡像節(jié)點(diǎn)地址、目的地址和VPN接口地址,如果三個(gè)節(jié)點(diǎn)被標(biāo)記為“config false”,則表示是狀態(tài)數(shù)據(jù),不可對(duì)其進(jìn)行配置;如果三個(gè)節(jié)點(diǎn)被標(biāo)記為“config true”,則表示是配置數(shù)據(jù),可對(duì)其進(jìn)行配置。
數(shù)據(jù)層的主要作用是建立APP靜態(tài)命令行的模型,結(jié)合配置參數(shù)調(diào)用APP組件。組件的數(shù)據(jù)均封裝在本地?cái)?shù)據(jù)區(qū)域中,組件之間可通過異步消息方式進(jìn)行通信,根據(jù)不同需求可增加組件間的交互接口,根據(jù)需求分析,本文在組件上新增一些交互接口。
1) 鏡像節(jié)點(diǎn)模塊:當(dāng)收到配置信息時(shí),路由計(jì)算組件鏡像節(jié)點(diǎn)的配置信息,檢查位置標(biāo)識(shí)所對(duì)應(yīng)的網(wǎng)段路由是否存在、是否有鏡像保護(hù)。鏈路狀態(tài)數(shù)據(jù)庫組件收到預(yù)發(fā)布的鏡像信息后,將其保存在對(duì)應(yīng)的位置標(biāo)識(shí)處,并通知路由計(jì)算組件,對(duì)遠(yuǎn)端的網(wǎng)斷路由進(jìn)行添加或刪除。
2) 優(yōu)先級(jí)路由源模塊:路由計(jì)算組件對(duì)信息解析,生成低優(yōu)先級(jí)路由源,并對(duì)鏡像標(biāo)記進(jìn)行保存。如果低優(yōu)先級(jí)被選中,給路由管理組件下發(fā)標(biāo)記,標(biāo)明該路由只用來轉(zhuǎn)發(fā)。
3) 鏡像生成模塊:鏈路狀態(tài)組件將解析的鏡像節(jié)點(diǎn)作為節(jié)點(diǎn)屬性發(fā)送給路由組件,路由計(jì)算組件根據(jù)拓?fù)浣Y(jié)構(gòu)對(duì)其區(qū)分,根據(jù)優(yōu)選規(guī)則選擇鏡像節(jié)點(diǎn)地址,向分段路由組件下發(fā)索引更新。
在無線局域網(wǎng)中,常常因?yàn)橛脩艟W(wǎng)絡(luò)節(jié)點(diǎn)等問題導(dǎo)致原有路由失效。為保持連續(xù)的通信且通信效果最佳,需要對(duì)原路由更新,進(jìn)行重路由操作。
重路由需要滿足用戶路徑端到端的安全需求,安全重路由請(qǐng)求由五部分組成Rreq{Nsou,Nobj,Treq,Gsaf,Ncon}。其中Nsou表示源節(jié)點(diǎn),Nobj表示目的節(jié)點(diǎn),Treq表示用戶請(qǐng)求類型,Gsaf表示用戶請(qǐng)求安全等級(jí),Ncon表示會(huì)話編號(hào)。為了保證重路由請(qǐng)求具有唯一性,網(wǎng)絡(luò)節(jié)點(diǎn)依據(jù)ID判斷是否需要發(fā)起重路由。
重路由設(shè)計(jì)的目標(biāo)是:在滿足用戶網(wǎng)絡(luò)多域間端到端安全的前提下,最大化鏈路復(fù)用率,并將重路由路徑構(gòu)建時(shí)間最小化處理,數(shù)學(xué)模型可表示為
(9)
且
(10)
其中,R表示原有鏈路復(fù)用率;Rrun表示重路由運(yùn)行時(shí)間;i表示用戶請(qǐng)求類型;l表示鏈路;Rs_d表示源節(jié)點(diǎn)到目的節(jié)點(diǎn)的路徑;bl表示鏈路帶寬;dl表示鏈路延遲;jl表示延遲抖動(dòng);ll表示鏈路出錯(cuò)率。當(dāng)重路由條件被觸發(fā)后,建立一條安全、可信的重路由路徑是無線局域網(wǎng)研究的重點(diǎn),因此本節(jié)著重考慮鏈路的帶寬和信任值對(duì)重路由進(jìn)行設(shè)計(jì)。對(duì)鏈路帶寬進(jìn)行歸一化處理,公式可表示為
(11)
(12)
其中,t表示鏈路信任值;η和κ均表示調(diào)節(jié)因子。經(jīng)過設(shè)計(jì)后的重路由,當(dāng)鏈路可用寬帶和信任值較大的情況下,啟發(fā)費(fèi)用會(huì)較小,表示鏈路有較大概率可以被選擇。這樣既能滿足用戶對(duì)無線局域網(wǎng)資源的需求,也有利于均衡網(wǎng)絡(luò)負(fù)載。
為了驗(yàn)證無線局域網(wǎng)多域間端到端安全重路由方法的有效性,本文針對(duì)重路由的成功率、運(yùn)行時(shí)間兩個(gè)性能指標(biāo)對(duì)重路由機(jī)制進(jìn)行驗(yàn)證。
隨機(jī)選擇源、目的節(jié)點(diǎn)和用戶應(yīng)用類型構(gòu)建用戶的路由請(qǐng)求,依據(jù)重路由機(jī)制,找到一條安全的路徑。為了更好模擬無線局域網(wǎng)絡(luò)流量,設(shè)置5種流量等級(jí),產(chǎn)生100個(gè)路由請(qǐng)求,求解出安全且可信的路徑。設(shè)置不同節(jié)點(diǎn),測(cè)試重路由成功率,并將本文重路由機(jī)制與傳統(tǒng)機(jī)制進(jìn)行比較,比較結(jié)果如圖1所示。
圖1 重路由成功率對(duì)比
從圖中可以看出,隨著無線局域網(wǎng)絡(luò)流量等級(jí)的增加,兩種重路由機(jī)制的成功率均有下降趨勢(shì)。但本文機(jī)制的重路由成功率明顯好于傳統(tǒng)重路由機(jī)制,重路由成功率較高,這是由于本文設(shè)計(jì)的節(jié)點(diǎn)數(shù)較大,即使有故障出現(xiàn),也不會(huì)受到較大的影響。
為了驗(yàn)證重路由選路所需要的時(shí)間,設(shè)定流量等級(jí)為3時(shí),測(cè)試重路由平均運(yùn)行時(shí)間,并將本文重路由機(jī)制與傳統(tǒng)機(jī)制進(jìn)行比較,結(jié)果如圖2所示。
圖2 重路由時(shí)間對(duì)比
從圖中可以看出,傳統(tǒng)重路由時(shí)間較長(zhǎng),這是因?yàn)閭鹘y(tǒng)機(jī)制在路徑尋優(yōu)時(shí)的整合運(yùn)算較復(fù)雜,而本文采用的機(jī)制是將最短路徑進(jìn)行了擴(kuò)展,重路由尋路徑所需要的時(shí)間很短。
本文設(shè)計(jì)的無線局域網(wǎng)多域間端到端安全重路由機(jī)制主要以帶寬路由度量為基礎(chǔ),采用主動(dòng)估計(jì)算法對(duì)無線局域網(wǎng)的可用寬帶進(jìn)行評(píng)估,結(jié)合拉格朗日算法計(jì)算收發(fā)雙方同步概率。從接口層、數(shù)據(jù)層和管理層對(duì)端到端安全重路系統(tǒng)進(jìn)行設(shè)計(jì),為了均衡網(wǎng)絡(luò)負(fù)載,對(duì)鏈路帶寬進(jìn)行歸一化處理。依據(jù)本文設(shè)計(jì)的重路由機(jī)制,隨機(jī)選擇源、目的節(jié)點(diǎn)和路由請(qǐng)求,對(duì)重路由的成功率、運(yùn)行時(shí)間兩個(gè)性能指標(biāo)進(jìn)行驗(yàn)證。實(shí)驗(yàn)結(jié)果表明本文方法重路由成功率較高,并且重路由在路徑尋優(yōu)時(shí)具有較高的效率。