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

?

基于多傳輸通道的單向傳輸技術(shù)研究

2017-04-24 10:24:56王若冰
計算機(jī)應(yīng)用與軟件 2017年4期
關(guān)鍵詞:傳輸速率網(wǎng)卡單向

楊 越 王若冰 劉 瑞 張 博 佟 軼

(中國航天工程咨詢中心 北京 100048)

基于多傳輸通道的單向傳輸技術(shù)研究

楊 越 王若冰 劉 瑞 張 博 佟 軼

(中國航天工程咨詢中心 北京 100048)

在對單向數(shù)據(jù)傳輸技術(shù)研究的基礎(chǔ)上,分析了現(xiàn)有的光閘系統(tǒng)中存在的一些不足。針對這些不足,提出基于多傳輸通道的單向數(shù)據(jù)傳輸設(shè)計。首先闡述了多傳輸通道傳輸方案的基本思路,利用通用的光纖網(wǎng)卡實現(xiàn)了數(shù)據(jù)的單向傳輸,然后結(jié)合前向糾錯技術(shù)進(jìn)行可靠性設(shè)計,并給出了多通道數(shù)據(jù)傳輸?shù)恼{(diào)度算法。最后進(jìn)行了系統(tǒng)的架構(gòu)的設(shè)計。通過實驗驗證了該方案可以實現(xiàn)快速、單向、可靠的數(shù)據(jù)傳輸。

單向傳輸 多通道 調(diào)度算法 光閘

0 引 言

隨著國家安全形勢的不斷變化,數(shù)字信息的安全受到高度重視。依據(jù)國家保密安全規(guī)范,必須采用物理隔離的方式,將處理涉密信息的網(wǎng)絡(luò)系統(tǒng)與其他網(wǎng)絡(luò)環(huán)境隔離,不同密級網(wǎng)絡(luò)之間的數(shù)據(jù)交換必須進(jìn)行全生命周期的監(jiān)控和審計。隨著涉密網(wǎng)內(nèi)業(yè)務(wù)工作的擴(kuò)展,物理隔離造成了涉密網(wǎng)絡(luò)的信息“孤島”效應(yīng),業(yè)務(wù)管理和科研生產(chǎn)工作對外部信息持續(xù)、快速的獲取需求逐漸凸顯,采用多批次人工導(dǎo)入方式已經(jīng)很難滿足需求,在一定程度上已經(jīng)影響了日常科研生產(chǎn)工作。

針對于這一缺陷,現(xiàn)在很多部門采用網(wǎng)閘、光閘等單向傳輸設(shè)備實現(xiàn)數(shù)據(jù)單向、安全、快速地從低密級的網(wǎng)絡(luò)傳輸?shù)礁呙芗壍木W(wǎng)絡(luò)中。同網(wǎng)閘相比,光閘傳輸速率極高,可以實現(xiàn)實時傳輸[1]。近幾年國內(nèi)研究的技術(shù)主要是基于光閘的單向傳輸系統(tǒng)[2]。王海洋等設(shè)計了一款基于單模光纖的數(shù)據(jù)單向傳輸系統(tǒng),解決了非涉密網(wǎng)絡(luò)中的數(shù)據(jù)單向?qū)肷婷苡嬎銠C(jī)的問題[3]。姜黎等通過光電單向轉(zhuǎn)換的物理原理設(shè)計了基于光纖通信技術(shù)的數(shù)據(jù)單向傳輸設(shè)備[4];李佩玥等將無源光隔離器應(yīng)用于單光纖的數(shù)據(jù)傳輸過程,結(jié)合前向糾錯碼和物理層編碼保證單光纖無反饋傳輸鏈路極低誤碼率[5]。國外對光閘的研究文獻(xiàn)較少,但在單向傳輸技術(shù)上也有深入的研究,主要代表為Kang等提出了數(shù)據(jù)泵的概念[6-7]以及澳大利亞亞特尼克斯數(shù)據(jù)門公司研制的“數(shù)據(jù)二極管”設(shè)備[8-9]。

通過對現(xiàn)有國內(nèi)外文獻(xiàn)的研究,發(fā)現(xiàn)現(xiàn)有的傳輸技術(shù)存在著一些不足: 1) 一般的單向傳輸設(shè)備都是基于單通道進(jìn)行單向傳輸,使用前向糾錯(FEC)技術(shù)保證數(shù)據(jù)傳輸?shù)目煽啃?,但仍然存在著單通道失效的可能性?) 利用單通道實現(xiàn)的單向傳輸設(shè)備的可靠性及傳輸速率是已確定的,不具備擴(kuò)展的能力,實際應(yīng)用中,不同的應(yīng)用數(shù)據(jù)對傳輸速率和可靠性具有不同的需求,現(xiàn)有的單向傳輸設(shè)備很難滿足這樣的需求;3) 文獻(xiàn)[3-5]中提到的硬件設(shè)備需要依靠定制才能生產(chǎn)出來,對采用通用的網(wǎng)絡(luò)硬件設(shè)備來實現(xiàn)單向傳輸?shù)年U述不足。

為加強(qiáng)單向數(shù)據(jù)傳輸系統(tǒng)的健壯性、靈活性和可靠性,本文擬采用多模冗余容錯的方式,設(shè)計基于多個通道的數(shù)據(jù)單向傳輸方案。該方案利用常見的硬件設(shè)備,在確保系統(tǒng)經(jīng)濟(jì)性的同時保障了數(shù)據(jù)單向性,有效地避免了單通道失效造成的數(shù)據(jù)丟失,并可以通過動態(tài)地增減傳輸通道來調(diào)整數(shù)據(jù)傳輸?shù)目煽啃院蛡鬏斔俾省?/p>

1 基本思路

通過單向光通道技術(shù)途徑,多路單向傳輸系統(tǒng)在物理隔離網(wǎng)絡(luò)環(huán)境下,實現(xiàn)從低密級網(wǎng)絡(luò)向高密級網(wǎng)絡(luò)的嚴(yán)格單向數(shù)據(jù)傳輸,達(dá)到零比特回傳的安全指標(biāo)。在跨網(wǎng)的單向傳輸鏈路上,采用了私有的數(shù)據(jù)傳輸/封裝協(xié)議,提高了數(shù)據(jù)安全性和可信性。數(shù)據(jù)單向傳輸系統(tǒng)由多個單向傳輸通道、發(fā)送端和接收端組成。為解決單向傳輸固有的傳輸可靠性難題,本方案采用冗余傳輸與FEC技術(shù)相結(jié)合的設(shè)計思想,首先采用FEC技術(shù)對應(yīng)用數(shù)據(jù)進(jìn)行處理,然后通過多路單向通道進(jìn)行冗余傳輸時,可以保證數(shù)據(jù)傳輸?shù)目煽啃?。在保證一定可靠性的前提下,為解決大容量數(shù)據(jù)傳輸?shù)膸捚款i,利用多條通道同時并發(fā)傳輸數(shù)據(jù)。此外,調(diào)度子系統(tǒng)支持在傳輸可靠性和傳輸帶寬之間進(jìn)行適應(yīng)性設(shè)置,以適應(yīng)數(shù)據(jù)傳輸?shù)牟煌枨?;并可以配置不同?shù)量的單向傳輸通道,使得系統(tǒng)具備一定的動態(tài)擴(kuò)展能力。

方案的原理如圖1所示,在物理隔離的外部網(wǎng)絡(luò)和內(nèi)部網(wǎng)絡(luò)分別部署外網(wǎng)主機(jī)與內(nèi)網(wǎng)主機(jī),外網(wǎng)主機(jī)與內(nèi)網(wǎng)主機(jī)配對安裝發(fā)送網(wǎng)卡和接收網(wǎng)卡,每對網(wǎng)卡及其連接光纖構(gòu)成了一條單向傳輸通道。通過這些傳輸通道,外網(wǎng)主機(jī)可以將數(shù)據(jù)單向的傳遞給內(nèi)網(wǎng)主機(jī),并可以采用增減網(wǎng)卡對數(shù)的方式,動態(tài)調(diào)整單向傳輸通道的數(shù)量。

針對單條通道失效所帶來的數(shù)據(jù)丟失問題,通過多路單向通道對數(shù)據(jù)進(jìn)行冗余傳輸。此外,為避免同一條數(shù)據(jù)的所有拷貝重復(fù)通過一條單向通道進(jìn)行冗余傳輸,仍存在通道失效造成數(shù)據(jù)丟失的可能性。本方案規(guī)定同一條數(shù)據(jù)的多個拷貝只能通過不同的單向通道進(jìn)行傳輸,使得單條通道失效只能造成一條數(shù)據(jù)的一份拷貝的丟失,確保仍可通過其他通道獲取足夠的數(shù)據(jù)拷貝進(jìn)行數(shù)據(jù)恢復(fù)與重組。

圖1 系統(tǒng)原理圖

在通信系統(tǒng)中,用于糾正傳輸差錯的方法主要有兩種:自動重傳(ARQ)技術(shù)和FEC技術(shù)。在單向通道數(shù)據(jù)傳輸中,無法通過交互進(jìn)行數(shù)據(jù)重傳來糾正數(shù)據(jù)錯誤或丟失。現(xiàn)有的單向傳輸技術(shù)主要使用FEC技術(shù)保證單向傳輸?shù)目煽啃?。本文中針對?shù)據(jù)傳輸?shù)目煽啃?,將冗余傳輸與FEC技術(shù)相結(jié)合,進(jìn)行了數(shù)據(jù)傳輸?shù)目煽啃栽O(shè)計。其中有助于提高數(shù)據(jù)傳輸可靠性的手段主要包括冗余傳輸、FEC編碼、交織處理和CRC編碼。為實現(xiàn)傳輸可靠性和傳輸帶寬之間的適應(yīng)性設(shè)置,方案中根據(jù)數(shù)據(jù)的傳輸需求設(shè)計了傳輸質(zhì)量參數(shù),包括數(shù)據(jù)傳輸優(yōu)先級、是否進(jìn)行FEC編解碼、冗余傳輸次數(shù)三個參數(shù)。對數(shù)據(jù)傳輸優(yōu)先級進(jìn)行設(shè)置可以調(diào)整數(shù)據(jù)傳輸?shù)膬?yōu)先順序,高優(yōu)先級適用于實時性要求較高的數(shù)據(jù)。對FEC編解碼以及冗余傳輸次數(shù)進(jìn)行設(shè)置可以調(diào)整數(shù)據(jù)傳輸?shù)目煽啃?,冗余傳輸次?shù)的增加(減少)可以提高(降低)數(shù)據(jù)傳輸?shù)目煽啃裕幌鄳?yīng)地,應(yīng)用數(shù)據(jù)傳輸所需的時間也隨之增加(減少)。

在發(fā)送端,應(yīng)用數(shù)據(jù)被拆分并封裝成一組原始數(shù)據(jù)塊,對這一組原始數(shù)據(jù)塊進(jìn)行FEC編碼和交織處理以應(yīng)對連續(xù)丟幀,并在數(shù)據(jù)塊頭部加入序號、CRC編碼、數(shù)據(jù)幀類型等信息,形成含冗余數(shù)據(jù)塊的數(shù)據(jù)塊傳輸組。之后通過冗余傳輸調(diào)度將數(shù)據(jù)塊子分組交給傳輸通道打包成數(shù)據(jù)幀進(jìn)行冗余傳輸。由于一組數(shù)據(jù)塊在單向無反饋的傳輸過程中,可能存在數(shù)據(jù)塊丟失的情況,因此,在接收端,需要通過數(shù)據(jù)塊頭部的CRC檢測出錯的數(shù)據(jù)塊,并通過數(shù)據(jù)選取從多個數(shù)據(jù)塊冗余拷貝中選取正確的數(shù)據(jù)塊。數(shù)據(jù)塊排序后通過編號確定丟失的數(shù)據(jù)塊在數(shù)據(jù)塊組中位置,若不存在傳輸失敗的數(shù)據(jù)塊,則可直接獲得原始數(shù)據(jù)塊;若存在傳輸失敗的數(shù)據(jù)塊,在丟包恢復(fù)的能力范圍之內(nèi)恢復(fù)出丟失的數(shù)據(jù)塊。最后經(jīng)數(shù)據(jù)重組還原為原始應(yīng)用數(shù)據(jù)。

2 主要設(shè)計及實現(xiàn)

2.1 數(shù)據(jù)單向傳輸

在本方案中,數(shù)據(jù)單向傳輸?shù)挠布A(chǔ)是由普通千兆光纖網(wǎng)卡改造而來的單向網(wǎng)卡,如圖2所示。普通的千兆光纖網(wǎng)卡以光纖為介質(zhì)進(jìn)行數(shù)據(jù)、信號傳輸,通過光模塊與光纖進(jìn)行數(shù)據(jù)交換。光模塊由光電子器件、功能電路、光接口等構(gòu)成,光接口包含光發(fā)送接口和光接收接口兩個部分,其中光發(fā)送接口將光信號發(fā)送到光纖上,光接收接口從光纖接收光信號。

圖2 千兆光纖網(wǎng)卡及光模塊

如圖3所示,光網(wǎng)卡數(shù)據(jù)傳輸?shù)脑硎牵菏褂?根光纖將2個網(wǎng)卡光模塊的光接收接口RX與光發(fā)送接口TX進(jìn)行交叉連接的實現(xiàn)數(shù)據(jù)的雙向傳輸。根據(jù)此原理,只需將其中1根光纖以及兩個網(wǎng)卡分別對應(yīng)的光發(fā)送接口和光接收接口失效即可構(gòu)成1條單向傳輸通道。發(fā)送網(wǎng)卡由普通網(wǎng)卡將光模塊接收接口失效后得到,接收網(wǎng)卡由普通網(wǎng)卡將光模塊發(fā)送接口失效后得到。由于沒有從接收網(wǎng)卡到發(fā)送網(wǎng)卡的數(shù)據(jù)通道存在,實現(xiàn)了網(wǎng)絡(luò)數(shù)據(jù)的單向隔離,可以應(yīng)用到不需要對端響應(yīng)的網(wǎng)絡(luò)連接協(xié)議。

圖3 單向傳輸通道

由于基于單向傳輸網(wǎng)卡的數(shù)據(jù)傳輸不存在反向數(shù)據(jù)傳輸,在傳輸層就不能采用面向連接的TCP協(xié)議[10]。另外,由于無法通過交互進(jìn)行數(shù)據(jù)的重傳來糾正出現(xiàn)的數(shù)據(jù)錯誤或數(shù)據(jù)丟失,基于無連接的UDP協(xié)議也無法滿足數(shù)據(jù)傳輸要求。在傳輸層傳輸時需將數(shù)據(jù)包提交給數(shù)據(jù)鏈路層進(jìn)行進(jìn)一步的拆分和封裝,會降低數(shù)據(jù)傳輸?shù)膫鬏斔俾?。為提高單向傳輸?shù)臄?shù)據(jù)可靠性和傳輸速率,結(jié)合系統(tǒng)的應(yīng)用需求,本方案在鏈路層采用數(shù)據(jù)幀的方式進(jìn)行數(shù)據(jù)傳輸。發(fā)送數(shù)據(jù)時只需知道接收端網(wǎng)卡的MAC地址,無需建立連接就可以直接發(fā)送數(shù)據(jù)。方案中,應(yīng)用程序交下來的數(shù)據(jù)被看作成無結(jié)構(gòu)的字符串。傳輸系統(tǒng)不關(guān)心字符串的含義,將數(shù)據(jù)經(jīng)過拆分、封裝、協(xié)議打包后,形成一組數(shù)據(jù)幀進(jìn)行傳輸。

對于多個單向傳輸通道利用,主要存在兩種方式:

方式一 對各條通道針對于數(shù)據(jù)的傳輸需求分成不同優(yōu)先級的通道,一組待傳輸數(shù)據(jù)幀在傳輸時交給一條對應(yīng)優(yōu)先級的通道單獨發(fā)送。

方式二 將多個通道看作成一條擴(kuò)展了帶寬的傳輸通道,一組待傳輸數(shù)據(jù)幀在傳輸時會占用所有的通道進(jìn)行統(tǒng)一發(fā)送。

在發(fā)送端,會對應(yīng)用數(shù)據(jù)進(jìn)行拆分、封裝等操作,一個原始數(shù)據(jù)將生成一組待傳輸?shù)臄?shù)據(jù)幀。在接收端,會對這一組數(shù)據(jù)幀進(jìn)行校驗和重組等操作,這會占用接收端計算機(jī)大量的內(nèi)存和計算資源。相對于發(fā)送端,接收端的計算更復(fù)雜,工作負(fù)載更大,需要盡可能的降低接收端的計算壓力。方式一意味著在同一時間段內(nèi),同時存在著多組待數(shù)據(jù)幀在進(jìn)行傳輸;方式二類似于原子操作,即在同一時間內(nèi),只有一組數(shù)據(jù)幀在發(fā)送。在一組數(shù)據(jù)幀發(fā)送完畢后,才能進(jìn)行下一組數(shù)據(jù)幀的發(fā)送。與方式一相比,采用方式二,在一段時間內(nèi),接收端緩存的數(shù)據(jù)幀將會大大減少,占用的內(nèi)存資源會降低很多。

此外,方案要求能夠動態(tài)擴(kuò)展傳輸通道。每次需要增添或刪減傳輸通道時,方式一需要對所有傳輸通道進(jìn)行相應(yīng)的調(diào)整。同方式一相比,方式二會方便很多,只需要對新增的傳輸通道進(jìn)行配置即可。

綜合以上兩方面因素,本方案采用方式二來使用單向傳輸通道,這樣就意味著將多條傳輸通道看作是一條擴(kuò)展了帶寬的傳輸通道。在傳輸一組數(shù)據(jù)幀時,多個通道將同時并發(fā)的進(jìn)行傳輸。

對于每條通道,應(yīng)盡可能地確保通道可以正常工作,所以需要一種方式可以檢測通道狀態(tài)。系統(tǒng)設(shè)計中采用了一種心跳機(jī)制[11]。即發(fā)送端在每條傳輸通道空閑時,定時發(fā)送一個同步信號,接收端以此判斷單向傳輸通道的連通性。接收端在一段時間內(nèi)發(fā)現(xiàn)從某一條數(shù)據(jù)通道未接受到任何數(shù)據(jù),就可以確定此通道發(fā)生故障,進(jìn)行報警操作。

每條傳輸通道在發(fā)送時,會生成一個連續(xù)的流水號Sn,每條傳輸通道的接收端同樣會存在一個接收數(shù)據(jù)流水號Rn。在接收到每幀后會對流水號進(jìn)行判斷,根據(jù)這個流水號的連續(xù)性,若出現(xiàn)Rn

2.2 可靠性設(shè)計

2.2.1 數(shù)據(jù)糾錯分組

FEC是一種為數(shù)據(jù)傳輸而設(shè)計的差錯控制技術(shù)。發(fā)送端在根據(jù)需要傳輸?shù)臄?shù)據(jù)生成冗余數(shù)據(jù),然后將原始數(shù)據(jù)與冗余數(shù)據(jù)一起傳輸。接收端則可以根據(jù)冗余數(shù)據(jù)檢測原始數(shù)據(jù)中錯誤數(shù)據(jù)并糾正。

數(shù)據(jù)塊級的FEC進(jìn)行編碼時,對字節(jié)長度統(tǒng)一固定為L的K個原始數(shù)據(jù)塊進(jìn)行FEC編碼后,得到M(M>0)個冗余數(shù)據(jù)塊。這K個原始數(shù)據(jù)塊和M個冗余數(shù)據(jù)塊組成的一個FEC子分組。數(shù)據(jù)塊級的編碼過程如圖4所示,K個原始數(shù)據(jù)塊為b=b0,b1,…,bK-1,M個冗余數(shù)據(jù)塊為r=r0,r1,…,rM-1;從每個數(shù)據(jù)塊頭部開始,依次選取每個數(shù)據(jù)塊上相同位置的字節(jié)得到K個字節(jié)B0,1,B1,1,…,BK-1,1,通過FEC編碼生成M個冗余字節(jié)R0,1,R1,1,…,RM-1,1,這M個冗余字節(jié)對應(yīng)于冗余數(shù)據(jù)塊相同位置的字節(jié)。

圖4 數(shù)據(jù)塊FEC編碼

在接收端進(jìn)行解碼,可以通過數(shù)據(jù)塊的序號確定傳輸失敗的數(shù)據(jù)塊。從每個數(shù)據(jù)塊頭部開始,依次選取每個數(shù)據(jù)塊上相同位置的字節(jié),通過FEC解碼器恢復(fù)出丟失的字節(jié),并用這些字節(jié)重組為丟失的數(shù)據(jù)塊,完成丟失數(shù)據(jù)塊的恢復(fù)。根據(jù)糾刪碼原理,接收端只需要在M+K個數(shù)據(jù)塊中接收到K個數(shù)據(jù)塊就可以恢復(fù)K個原始數(shù)據(jù)塊。不同的FEC編解碼類型和M值在糾錯能力和編解碼效率上存在著差異。在實際應(yīng)用中最好根據(jù)實際效果選擇FEC編解碼類型和M的值。

本方案中,在實現(xiàn)FEC編解碼算法時采用軟件編程,比較復(fù)雜的FEC編解碼算法會占用到較多的計算資源,影響到數(shù)據(jù)的傳輸速度。本方案中采用奇偶校驗碼的數(shù)據(jù)幀層的編解碼,每k個數(shù)據(jù)塊的對應(yīng)為XOR(異或)運算后會得到1個冗余數(shù)據(jù)塊,其中k的值可以根據(jù)實際的可靠性需求和傳輸速率需求進(jìn)行調(diào)整。k值越小,冗余度就越高糾刪能力就越強(qiáng);而編解碼所占用的時間會增加,整體的傳輸速率會隨之降低。這種方式編解碼復(fù)雜度低,計算比較簡單,時延較小。如果k+1個數(shù)據(jù)塊中出現(xiàn)1個數(shù)據(jù)塊丟失,則可利用其它k個數(shù)據(jù)塊恢復(fù),同樣是進(jìn)行XOR操作。

發(fā)送數(shù)據(jù)時,一條應(yīng)用數(shù)據(jù)經(jīng)拆分、封裝和FEC編碼之后會生成一個由多個FEC子分組構(gòu)成的數(shù)據(jù)塊傳輸組,這一個數(shù)據(jù)塊傳輸組會交給調(diào)度程序統(tǒng)一發(fā)送。

為避免相鄰數(shù)據(jù)被連續(xù)丟棄,造成一個FEC子分組內(nèi)丟失數(shù)據(jù)過多,導(dǎo)致數(shù)據(jù)不能恢復(fù),在進(jìn)行FEC編碼之前,方案中采用數(shù)據(jù)塊層面的交織方式對原始數(shù)據(jù)塊進(jìn)行FEC分組。交織本身不能恢復(fù)丟失數(shù)據(jù),但可以把連續(xù)丟幀離散成隨機(jī)丟幀。進(jìn)行交織的深度越大,就有更多的分組去承擔(dān)連續(xù)丟幀,對于單獨的一個FEC子分組造成影響就會越小。

本方案中,將對數(shù)據(jù)進(jìn)行拆分,每個數(shù)據(jù)塊長度固定為L個字節(jié),不足用零填充。將得到一組數(shù)據(jù)塊,個數(shù)為t。然后會對這些數(shù)據(jù)塊每組k個數(shù)據(jù)塊分成g個FEC子分組。然后采用FEC編碼,生成r個冗余數(shù)據(jù)塊。為使分組比較均衡,先計算得出FEC子分組個數(shù)g的值。

令:

a=tmod(k)

(1)

則:

(2)

然后利用分組數(shù)g進(jìn)行數(shù)據(jù)塊分組:

j=imod(g) i={0,1,…,t-1}

(3)

如圖5所示,t個原始數(shù)據(jù)塊分成g個子分組進(jìn)行FEC編碼,其中i為數(shù)據(jù)塊的序號,j值相等的數(shù)據(jù)塊為同一FEC子分組。數(shù)據(jù)塊傳輸仍按數(shù)據(jù)塊的序號依次進(jìn)行傳輸,冗余數(shù)據(jù)塊會在原始數(shù)據(jù)塊后進(jìn)行傳輸。

圖5 交織分組

2.2.2 冗余傳輸

為進(jìn)一步提高數(shù)據(jù)在傳輸過程中的可靠性,可以采取冗余傳輸?shù)姆绞?。冗余傳輸?shù)拇螖?shù)越多,數(shù)據(jù)的可靠性就越高。冗余傳輸?shù)姆绞酱嬖趦煞N:

方式一 每條數(shù)據(jù)幀選取多條通道并發(fā)地進(jìn)行冗余傳輸;

方式二 一組待傳輸數(shù)據(jù)幀統(tǒng)一進(jìn)行多次重復(fù)發(fā)送。

兩種方案各有優(yōu)劣。方式一,發(fā)送端在每條數(shù)據(jù)幀發(fā)送完畢之后就可以將數(shù)據(jù)幀丟棄,但因為存在多通道同時丟幀的可能性,可能導(dǎo)致某一幀冗余發(fā)送均會失敗。第二種方案中,每條數(shù)據(jù)幀的冗余發(fā)送之間間隔較長,可以避免冗余發(fā)送失敗,但發(fā)送端需等待整個數(shù)據(jù)重復(fù)發(fā)送完畢才可以將整組數(shù)據(jù)丟棄,這就意味著在此發(fā)送過程中發(fā)送端須一直緩存這一組數(shù)據(jù)塊。

在設(shè)計中,冗余發(fā)送時采用第二種方案。主要考慮到存在連續(xù)丟幀的可能性,以及在傳輸過程中,接收端的數(shù)據(jù)處理所占用的資源會比發(fā)送端要多,適當(dāng)降低發(fā)送端的發(fā)送速度,減輕接收端的處理數(shù)據(jù)的負(fù)荷,會進(jìn)一步提高數(shù)據(jù)傳輸?shù)目煽啃?。此外,考慮到某一條通道失效的可能性,在數(shù)據(jù)幀重復(fù)發(fā)送時,會記錄之前已經(jīng)發(fā)送過的通道,再次發(fā)送時避開此通道,選用其它的通道進(jìn)行發(fā)送。

數(shù)據(jù)采用冗余發(fā)送經(jīng)各傳輸通道發(fā)送到接收端后,每條數(shù)據(jù)塊會在接收端收到多個數(shù)據(jù)塊拷貝。調(diào)度層程序從這些拷貝中選取正確的數(shù)據(jù)塊進(jìn)行數(shù)據(jù)重組。本文采用投票的方式確定正確的數(shù)據(jù)塊。

在投票之前,首先會對數(shù)據(jù)塊進(jìn)行CRC校驗。數(shù)據(jù)選取時,會提取校驗通過的數(shù)據(jù)塊中有效數(shù)據(jù)載荷進(jìn)行統(tǒng)計。相同的有效載荷的個數(shù)會作為票數(shù)。將得票數(shù)最多的有效載荷作為正確數(shù)據(jù)塊進(jìn)行后續(xù)處理。若存在得票數(shù)相同的多個有效載荷,則可借助傳輸數(shù)據(jù)塊拷貝的所有數(shù)據(jù)通道的丟包率進(jìn)行判斷,綜合選取傳輸通道可靠性較高的有效載荷作為正確數(shù)據(jù)。

2.3 傳輸調(diào)度算法

利用多個單向通道進(jìn)行數(shù)據(jù)傳輸時,需要綜合考慮應(yīng)用數(shù)據(jù)的傳輸需求(時效性、可靠性等),調(diào)度算法的性能。檢驗一種調(diào)度算法通常有以下幾個方面:算法是否完善、資源分配是否合理、調(diào)度速率是否滿足實時性的要求、是否解決通道過載和空閑的現(xiàn)象、調(diào)度模塊的響應(yīng)是否足夠快、通道資源是否合理利用以及能否做到實現(xiàn)代價小等[12]。

為提高傳輸速率,減少調(diào)度所需的次數(shù),將一個數(shù)據(jù)塊傳輸組分成m個待發(fā)送的待傳輸子分組,每個待傳輸子分組中的數(shù)據(jù)塊個數(shù)為H,具體的值根據(jù)實際傳輸情況設(shè)定。傳輸調(diào)度模塊在傳輸一個數(shù)據(jù)塊傳輸組時會根據(jù)用戶數(shù)據(jù)配置的服務(wù)質(zhì)量參數(shù),得到數(shù)據(jù)幀所需傳輸?shù)娜哂啻螖?shù)r。然后依次調(diào)取每個待傳輸子分組進(jìn)行發(fā)送。

在獲取待傳輸子分組后,傳輸調(diào)度模塊繼而會輪詢每條傳輸通道的狀態(tài),若傳輸通道當(dāng)前空閑且可用,則向當(dāng)前傳輸通道傳遞傳輸子分組進(jìn)行發(fā)送。

數(shù)據(jù)塊傳輸組發(fā)送調(diào)度流程:

1) 傳輸調(diào)度線程從傳輸緩存隊列中獲取一組數(shù)據(jù)塊傳輸組。

2) 根據(jù)用戶數(shù)據(jù)配置的服務(wù)質(zhì)量參數(shù)得到數(shù)據(jù)幀所需傳輸?shù)娜哂啻螖?shù),以及數(shù)據(jù)塊傳輸組的子分組個數(shù)。

3) 從數(shù)據(jù)塊傳輸組中選取一個待傳輸子分組以待發(fā)送。

4) 傳輸調(diào)度線程輪詢每條傳輸通道狀態(tài),選取空閑傳輸通道。

5) 若選取的傳輸通道從未傳輸過此數(shù)據(jù)幀分組,執(zhí)行下一步驟,否則返回步驟4)重新選擇傳輸通道。

6) 將待傳輸子分組傳遞給傳輸通道進(jìn)行傳輸。

7) 若此待傳輸子分組是數(shù)據(jù)塊傳輸組的最后一個子分組,執(zhí)行下一步驟,否則返回步驟3)繼續(xù)循環(huán)處理。

8) 若數(shù)據(jù)幀組傳輸次數(shù)是否已達(dá)到冗余次數(shù)要求,則執(zhí)行下一步驟,不是則轉(zhuǎn)到步驟3)繼續(xù)循環(huán)處理。

9) 此數(shù)據(jù)塊傳輸組發(fā)送完成,轉(zhuǎn)到步驟1)循環(huán)執(zhí)行。

具體調(diào)度算法如圖6所示。

圖6 數(shù)據(jù)發(fā)送流程圖

3 系統(tǒng)架構(gòu)

多通道單向數(shù)據(jù)傳輸系統(tǒng)的系統(tǒng)架構(gòu)如圖7所示。

圖7 系統(tǒng)架構(gòu)圖

從圖7中可以看出,在發(fā)送端和接收端的宿主和物理層之間都存在著三個層次,即服務(wù)層、調(diào)度層和鏈路層。在發(fā)送端,來自宿主系統(tǒng)的數(shù)據(jù)依次通過服務(wù)層、調(diào)度層和鏈路層的處理后會封裝成一組數(shù)據(jù)幀經(jīng)單向網(wǎng)卡進(jìn)行傳輸。接收端接收到單向網(wǎng)卡傳來的數(shù)據(jù)幀后,依次通過鏈路層、調(diào)度層和服務(wù)層處理,還原成宿主原始數(shù)據(jù)并發(fā)送給宿主系統(tǒng)。

服務(wù)層:在發(fā)送端,服務(wù)層主要負(fù)責(zé)緩存來自宿主系統(tǒng)的數(shù)據(jù)并根據(jù)數(shù)據(jù)的優(yōu)先級依次交給調(diào)度層處理。在接收端,服務(wù)層主要負(fù)責(zé)緩存調(diào)度層重組后的數(shù)據(jù),并提交給宿主系統(tǒng)。

調(diào)度層:在發(fā)送端,調(diào)度層會對數(shù)據(jù)進(jìn)行數(shù)據(jù)拆分、協(xié)議封裝、冗余塊生成、校驗碼生成等數(shù)據(jù)處理,然后將生成的一組數(shù)據(jù)塊調(diào)度分配給鏈路層中各傳輸通道。在接收端,調(diào)度層接收來自鏈路層的數(shù)據(jù)塊,進(jìn)行數(shù)據(jù)校驗、協(xié)議解析、丟包恢復(fù)、數(shù)據(jù)重組等數(shù)據(jù)處理操作,將還原后的數(shù)據(jù)提交給服務(wù)層。

鏈路層:面向各條傳輸通道。在發(fā)送端,鏈路層主要負(fù)責(zé)對數(shù)據(jù)塊進(jìn)行數(shù)據(jù)幀打包、發(fā)送等操作。在接收端,鏈路層主要負(fù)責(zé)接收數(shù)據(jù)、數(shù)據(jù)塊提取等操作。

4 測試結(jié)果

測試環(huán)境為兩臺服務(wù)器,型號為HPDL580G7,分別作為外部網(wǎng)絡(luò)終端和內(nèi)部網(wǎng)絡(luò)終端。配置為:CPU:InterXeon2.00GHz雙核,內(nèi)存:32GB,操作系統(tǒng):Windows2008R2。測試中采用了3條傳輸通道,即3對千兆單向傳輸網(wǎng)卡通過光纖連接。因為之前所述的通道傳輸方式,本方案將多條傳輸通道看作為一條擴(kuò)展了帶寬的傳輸通道,所以單條通道傳輸與多條通道傳輸僅在傳輸速率上存在區(qū)別。

每條應(yīng)用數(shù)據(jù)為10MB,進(jìn)行FEC編碼時,采用奇偶校驗碼編碼,每10個數(shù)據(jù)塊生成1個冗余數(shù)據(jù)塊。此外,改變測試數(shù)據(jù)的產(chǎn)生速率,可以調(diào)整系統(tǒng)的傳輸速率。在測試時,選取了兩種不同的傳輸速率作為對比。為了證明系統(tǒng)的傳輸效率和穩(wěn)定性,對傳輸參數(shù)進(jìn)行了選擇,如表1所示。

表1 測試參數(shù)

從表2可以看出,丟幀率與傳輸速率相關(guān),通過測試1、測試3、測試5可以看出在傳輸速率為190MB/s左右時,10個小時以內(nèi)幾乎沒有丟幀出現(xiàn)。在傳輸速率為280MB/s左右時,丟幀出現(xiàn)較多。通過測試2看出,F(xiàn)EC編解碼可以解決部分丟幀問題,測試4表明冗余傳輸與FEC編解碼相比,可靠性會更高。這與FEC編解碼選擇的編碼算法和冗余度有關(guān)。在實際應(yīng)用中,如果條件許可,可以選擇更為有效的FEC編碼算法,本方案中的可靠性設(shè)計可以進(jìn)一步優(yōu)化。此外,測試2與測試4、測試6相比,通道傳輸速率基本相同的情況下,測試2的應(yīng)用數(shù)據(jù)的產(chǎn)生速率是測試4、測試6的兩倍左右,這是由數(shù)據(jù)冗余傳輸造成的。

表2 測試結(jié)果

5 結(jié) 語

本文針對一般單向傳輸系統(tǒng)中存在的單通道失效的可能性,以及可靠性及傳輸速率無法動態(tài)調(diào)整等問題,提出了利用多條通道進(jìn)行傳輸?shù)南到y(tǒng)方案。方案中首先闡述了如何改造通用的光纖網(wǎng)卡構(gòu)建單向傳輸通道,提出了一套利用多通道冗余傳輸結(jié)合前向糾錯技術(shù),以提高數(shù)據(jù)傳輸可靠性的傳輸機(jī)制;在此基礎(chǔ)上,進(jìn)行了傳輸調(diào)度的設(shè)計,旨在提高數(shù)據(jù)的傳輸效率。在單向傳輸系統(tǒng)測試中,使用3個傳輸通道進(jìn)行了傳輸可靠性和傳輸性能測試,證明了方案的可行性。方案存在一些需要改進(jìn)的不足:由于單向傳輸通道不存在反饋信息,方案不可能確保完全可靠的傳輸,方案中的可靠性設(shè)計中的前向糾錯算法可以采用糾錯性能更優(yōu)的算法,并使用硬件實現(xiàn)的方式實現(xiàn);因多個通道的原因,本方案實現(xiàn)的系統(tǒng)會比單通道占用更多的計算機(jī)資源。綜上所述,本方案解決了現(xiàn)有的單向傳輸系統(tǒng)的一些不足,提高傳輸?shù)目煽啃院退俾剩⒖梢詣討B(tài)地調(diào)整可靠性與傳輸速率以適應(yīng)不同應(yīng)用數(shù)據(jù)傳輸需求,具有很好的可擴(kuò)展性,這些都使得本方案在內(nèi)外網(wǎng)安全領(lǐng)域具有很廣闊的應(yīng)用前景。

[1] 劉波,陳曙輝.一種基于Bell-LaPadula模型的單向傳輸通道[J].計算機(jī)科學(xué),2012,39(10):26-29.

[2] 包益民.基于光閘單向安全傳輸系統(tǒng)的研究與實現(xiàn)[D].杭州:浙江工業(yè)大學(xué),2011.

[3] 王海洋,孟凡勇.基于光纖的數(shù)據(jù)單向傳輸系統(tǒng)設(shè)計與實現(xiàn)[J].信息網(wǎng)絡(luò)安全,2011(9):107-109.

[4] 姜黎,高志軍,曹新星.基于光纖通信技術(shù)的數(shù)據(jù)單向傳輸設(shè)備研究[J].計算機(jī)與數(shù)字工程,2012,40(3):83-85.

[5] 李佩玥,石俊霞,陳雪,等.單纖單向數(shù)據(jù)隔離系統(tǒng)的設(shè)計與實現(xiàn)[J].電子測量技術(shù),2014,37(6):115-118.

[6]KangMH,MoskowitzIS.APumpforRapid,Reliable,SecureCommunication[C]//Proceedingsofthe1stACMConferenceonComputerandCommunicationsSecurity.NewYork:ACMPress,1993:119-129.

[7]KangMH,MoskowitzIS,ChincheckS.Thepump:adecadeofcovertfun[C]//21stAnnualComputerSecurityApplicationsConference(ACSAC’05),2005:352-360.

[8]AustralianSignalsDirectorate.Tenixdefencesystemsinteractivelinkdatadiodedevice[DB/OL].http://www.dsd.gov.au/library/pdfdocs/EPL-Listings-ST-CRs/network-security-pdf/Tenix/IL-DDD-CER-4.0.Pdf.

[9]TenixAmerica.Tenixdatadiode-absoluteinformationprotection[EB/OL].http://www.tenixamerica.com/images/whitepapers/datasheet-datadiode.pdf.

[10] 萬月亮,朱賀軍,劉宏志,等.基于光閘的單向傳輸系統(tǒng)可靠性研究[J].信息網(wǎng)絡(luò)安全,2010(12):25-27.

[11] 王文波,唐成華.可靠的無反饋數(shù)據(jù)傳輸方案設(shè)計[J].科技資訊,2014(3):46-47.

[12] 陳宇賢.基于多通道的實時視頻傳輸關(guān)鍵技術(shù)研究[D].哈爾濱:哈爾濱工程大學(xué),2012.

STUDY OF ONE-WAY TRANSMISSION TECHNOLOGY BASED ON MULTIPLE TRANSMISSION CHANNELS

Yang Yue Wang Ruobing Liu Rui Zhang Bo Tong Yi

(ChinaAerospaceEngineeringConsultationCenter,Beijing100048,China)

Based on the research of the one-way data transmission technology, we analyze some shortages existing in optical gap system. Aiming at these shortages, a one-way data transmission design based on multiple transmission channels is proposed. Firstly, the basic idea of data transmission scheme of multi-transmission channels is expounded, and the one-way data transmission is achieved with universal optical network card. Then the forward error correction technique is used to design the reliability, and the scheduling algorithm based on multichannel data transmission is given. At last, the architecture of the system is designed. Experiments show that the scheme can achieve fast, single and reliable data transmission.

One-way transmission Multiple transmission channels Scheduling algorithm Optical gap

2016-01-26。楊越,碩士生,主研領(lǐng)域:信息安全。王若冰,研究員。劉瑞,高級工程師。張博,本科。佟軼,碩士。

TP309.2

A

10.3969/j.issn.1000-386x.2017.04.024

猜你喜歡
傳輸速率網(wǎng)卡單向
在DDS 中間件上實現(xiàn)雙冗余網(wǎng)卡切換的方法
碳纖維/PPS熱塑性單向預(yù)浸帶進(jìn)入市場
用“單向?qū)m排除法”解四宮數(shù)獨
單向截止閥密封失效分析
Server 2016網(wǎng)卡組合模式
跨山通信中頻段選擇與傳輸速率的分析
黑龍江電力(2017年1期)2017-05-17 04:25:16
數(shù)據(jù)傳輸速率
CHIP新電腦(2016年9期)2016-09-21 10:31:09
挑戰(zhàn)Killer網(wǎng)卡Realtek網(wǎng)游專用Dragon網(wǎng)卡
新一代全球衛(wèi)星通信網(wǎng)絡(luò)將百倍提升傳輸速率
單向度
新聞前哨(2015年2期)2015-03-11 19:29:30
山阳县| 囊谦县| 抚远县| 丹阳市| 左权县| 昭通市| 勃利县| 涟源市| 杂多县| 黄大仙区| 瑞金市| 遂溪县| 鲁甸县| 庆城县| 湟源县| 肃宁县| 宁城县| 汾阳市| 睢宁县| 敦化市| 上栗县| 东海县| 孙吴县| 娄烦县| 于田县| 涪陵区| 巢湖市| 玉树县| 赤水市| 汾阳市| 怀化市| 临汾市| 神农架林区| 兴城市| 田东县| 尼木县| 昌吉市| 应用必备| 沧州市| 惠水县| 金堂县|