1.引言
隨著互聯(lián)網(wǎng)的廣泛應(yīng)用,網(wǎng)絡(luò)信息安全已成為人們越來越關(guān)注的問題。但是目前國內(nèi)外采用最普遍的網(wǎng)絡(luò)安全措施防火墻類軟件存在如下缺陷:第一防火墻隔離的網(wǎng)絡(luò)還是基于TCP/IP協(xié)議來進(jìn)行信息交換的,而TCP/IP協(xié)議是存在漏洞,因此它無法防止協(xié)議本身的漏洞;第二防火墻的運(yùn)行離不開操作系統(tǒng),操作系統(tǒng)和防火墻軟件都可能存在未知的漏洞,從而不能禁止利用這些漏洞而進(jìn)行的網(wǎng)絡(luò)入侵和攻擊的發(fā)生,使得整個(gè)防護(hù)體系十分脆弱;第三防火墻類軟件在可信網(wǎng)絡(luò)與不可信網(wǎng)絡(luò)之間提供了網(wǎng)絡(luò)的直連通道,但是它并不能保證準(zhǔn)許放行的數(shù)據(jù)的安全性,同時(shí)在對入侵檢測上也存在局限性。而物理隔離技術(shù)通過中斷內(nèi)部網(wǎng)絡(luò)與互聯(lián)網(wǎng)的直接連接,不支持TCP/IP協(xié)議,不依賴于操作系統(tǒng),只允許內(nèi)外網(wǎng)間進(jìn)行適度的原始數(shù)據(jù)交換,從而在根本上解決了防火墻的缺陷,為內(nèi)部可信網(wǎng)絡(luò)可以提供更好的安全性保護(hù)。所以我國在《計(jì)算機(jī)信息系統(tǒng)國際互聯(lián)網(wǎng)管理規(guī)定》第六條中規(guī)定涉及國家秘密的計(jì)算機(jī)必須實(shí)行物理隔離。
2.物理隔離網(wǎng)閘
物理隔離網(wǎng)閘(以下簡稱網(wǎng)閘)是一種采用物理隔離技術(shù),由帶有多種控制功能專用硬件在電路上切斷網(wǎng)絡(luò)之間的鏈路層連接,并能夠在網(wǎng)絡(luò)間進(jìn)行安全適度的應(yīng)用數(shù)據(jù)交換的網(wǎng)絡(luò)安全設(shè)備,它通過使內(nèi)外部主機(jī)在任何時(shí)間都完全斷開,對TCP/IP協(xié)議及應(yīng)用協(xié)議的剝離和重建,實(shí)現(xiàn)內(nèi)外網(wǎng)在OSI模型七層的網(wǎng)絡(luò)隔離。通常具備有安全隔離、內(nèi)核防護(hù)、協(xié)議轉(zhuǎn)換、病毒查殺、訪問控制、安全審計(jì)和身份認(rèn)證,七大安全功能模塊。其硬件設(shè)備主要由三部分組成:外部處理單元、內(nèi)部處理單元、隔離硬件。
目前網(wǎng)閘的技術(shù)路線主要有基于SCSI的開關(guān)技術(shù)和基于總線的開關(guān)技術(shù)兩種?;诳偩€的實(shí)時(shí)開關(guān)技術(shù)的網(wǎng)閘采用雙端口靜態(tài)存儲器(Dual Port SRAM,以下簡稱DPRAM)配合基于獨(dú)立的CPLD或FPGA的控制電路,雙端口各自通過開關(guān)與獨(dú)立的計(jì)算機(jī)主機(jī)連接(如圖1)。CPLD(或FPGA)作為獨(dú)立的控制電路保證雙端口靜態(tài)存儲器的每一端口上存在一個(gè)開關(guān),且兩個(gè)開關(guān)不能同時(shí)閉合即K1×K2=0?;赟CSI開關(guān)技術(shù)的網(wǎng)閘和圖1相似,只是數(shù)據(jù)通道換為SCSI硬盤接口,而存儲介質(zhì)使用的是SCSI硬盤,控制單元使用專門設(shè)計(jì)的硬件電路板實(shí)現(xiàn)。
但是目前采用上述實(shí)現(xiàn)技術(shù)的網(wǎng)閘系統(tǒng)普遍存在數(shù)據(jù)交換速度低、數(shù)據(jù)交換實(shí)時(shí)性差的問題。為克服這些問題,我們在進(jìn)行MIPS網(wǎng)閘設(shè)計(jì)中提出并應(yīng)用了基于總線的雙通道循環(huán)緩沖區(qū)實(shí)時(shí)開關(guān)技術(shù)。
3. 基于總線的雙通道循環(huán)緩沖區(qū)實(shí)時(shí)開關(guān)技術(shù)
在圖1原有的設(shè)計(jì)中,進(jìn)行數(shù)據(jù)交換時(shí),內(nèi)部和外部處理單元在任何時(shí)刻只有一方與隔離硬件相連。如果數(shù)據(jù)通道的速度為A bps,那么內(nèi)外部處理單元間的數(shù)據(jù)交換速度最高只能達(dá)到A/2 bps,未能充分利用發(fā)揮數(shù)據(jù)通道的能力。為此我們提出如圖2的設(shè)計(jì)。
將原有設(shè)計(jì)中的DPRAM存儲區(qū)域分為A(a1,a2,…an)和B(b1,b2,…bn)兩塊(ai、bi為n個(gè)相等的小塊存儲區(qū)),K1和K2的約束為K1ai×K2ai=0且K1bi×K2bi=0(K1ai表示K1與ai相連,K2ai、K1bi、K2bi與此相同)。如此一來就將原有圖1設(shè)計(jì)中的一個(gè)雙向數(shù)據(jù)通道變?yōu)榱藘蓚€(gè)單向的數(shù)據(jù)通道,當(dāng)內(nèi)外部主機(jī)中的一方對ai或bi進(jìn)行訪問時(shí),另一方仍可以對aj或bj(i≠j)進(jìn)行訪問,同時(shí)實(shí)現(xiàn)了傳輸數(shù)據(jù)的隔離。
假設(shè)開關(guān)K1,K2與每一存儲區(qū)域ai,bi的訪問是隨機(jī)進(jìn)行的,那么在足夠長的一段時(shí)間內(nèi),開關(guān)K1,K2與每一存儲區(qū)域ai,bi的連接概率都是相等的,因此
我們對ai、bi區(qū)域的訪問控制進(jìn)行設(shè)計(jì),使其分別組成兩個(gè)循環(huán)緩沖區(qū),這將進(jìn)一步的減少內(nèi)外部處理單元對隔離硬件訪問讀寫沖突的發(fā)生,同時(shí)也提高了交換數(shù)據(jù)的實(shí)時(shí)性。通過這樣的設(shè)計(jì)能使系統(tǒng)總線數(shù)據(jù)通道工作于“全雙工”狀態(tài),提高了數(shù)據(jù)交換的速度和實(shí)時(shí)性,提升了系統(tǒng)的整體性能,滿足系統(tǒng)更高的應(yīng)用需求。
4.硬件設(shè)計(jì)實(shí)現(xiàn)
在我們設(shè)計(jì)的網(wǎng)閘系統(tǒng)中其內(nèi)外部處理單元由基于MIPS處理器的嵌入式計(jì)算機(jī)系統(tǒng)組成,隔離硬件模塊為雙端口RAM卡,其包含通斷控制電路,讀寫保護(hù)邏輯和數(shù)據(jù)存儲電路。隔離硬件與內(nèi)外部處理單元采用SDRAM總線連接。
4.1內(nèi)外部處理單元的設(shè)計(jì)實(shí)現(xiàn)
內(nèi)外部處理單元MIPS主板的硬件電路結(jié)構(gòu)上與PC機(jī)相似,如圖3所示。
圖3 MIPS主板的硬件電路框圖
內(nèi)外處理單元與內(nèi)外網(wǎng)的連接通過板上的千兆網(wǎng)卡實(shí)現(xiàn)的,監(jiān)控主機(jī)系統(tǒng)與網(wǎng)閘系統(tǒng)的連接是通過百兆網(wǎng)絡(luò)口實(shí)現(xiàn)的,該百兆口是對網(wǎng)閘進(jìn)行設(shè)置的唯一端口且不和其它網(wǎng)絡(luò)相連接。同時(shí)該嵌入式計(jì)算機(jī)系統(tǒng)還對外提供了如PCI、IDE、串口等常用接口。獨(dú)立的嵌入式主機(jī)為內(nèi)(外)網(wǎng)提供了該側(cè)的全部硬件和軟件資源,保證了系統(tǒng)內(nèi)數(shù)據(jù)可以獲得及時(shí)的處理。
4.2雙端口RAM卡的設(shè)計(jì)實(shí)現(xiàn)
由于在MIPS網(wǎng)閘中實(shí)現(xiàn)數(shù)據(jù)交換的過程是通過對雙端口RAM卡上的存儲芯片的讀寫來完成的。存儲芯片作為為內(nèi)外網(wǎng)絡(luò)的數(shù)據(jù)交換存儲區(qū),其訪問設(shè)計(jì)方案決定了MIPS網(wǎng)閘交換的整體速度。為了最大限度的提高M(jìn)IPS網(wǎng)閘的數(shù)據(jù)交換速度,我們MIPS網(wǎng)閘項(xiàng)目組采用了基于SDRAM總線的雙通道循環(huán)緩沖區(qū)實(shí)時(shí)開關(guān)技術(shù),使得MIPS網(wǎng)閘數(shù)據(jù)交換速度有了突破性的提高。 圖4為雙端口RAM卡的硬件框圖。
設(shè)計(jì)中采用IDT70V3579S作為內(nèi)外網(wǎng)間的數(shù)據(jù)緩沖區(qū),Xilinx Virtex-II XC2V40作為控制單元。設(shè)計(jì)中采用兩片70V3579S,使得數(shù)據(jù)存儲區(qū)域和SDRAM位寬相同(64bit數(shù)據(jù)位8bit校驗(yàn)位)。整個(gè)數(shù)據(jù)存儲區(qū)域?yàn)?2K×72bit,容量為256KB,在設(shè)計(jì)中A、B存儲區(qū)域大小均為128KB,同時(shí)將A、B分別劃分成64段ai、bi,每段大小為2KB(因?yàn)镸IPS處理器RM7065C的cache頁替換每次為2KB,如此設(shè)置有助于提高系統(tǒng)性能)。如此一來DPRAM地址將分為兩部分:高位地址(段地址)和低位地址(段內(nèi)地址)。
在MIPS網(wǎng)閘中雙端口RAM卡與內(nèi)外部處理單元間數(shù)據(jù)交換非常頻繁,根據(jù)第3節(jié)的設(shè)計(jì)原理我們利用FPGA來解決內(nèi)外網(wǎng)機(jī)對雙口RAM讀寫的操作沖突,提高速據(jù)傳輸速度。在FPGA內(nèi)設(shè)置有如下寄存器:REG_L_W是用于控制左端寫入的6位段地址寄存器,可以直接對應(yīng)DPRAM的左端寫入段地址;REG_R_R是用于控制右端讀出的6位段地址寄存器,可以直接對應(yīng)DPRAM的右端讀出段地址;REG_L_RES是對應(yīng)于64段ai資源使用情況的64位段標(biāo)志寄存器;REG_R_W是用于控制右端寫入的6位段地址寄存器,可以直接對應(yīng)DPRAM的右端寫入段地址;REG_L_R是用于控制左端讀出的6位段地址寄存器,可以直接對應(yīng)DPRAM的左端讀出段地址;REG_R_RES是對應(yīng)于64段bi資源使用情況的64位段標(biāo)志寄存器。通過寄存器REG_L_W、REG_R_R、REG_R_W、REG_L_R將ai、bi組成循環(huán)緩沖區(qū),同時(shí)實(shí)現(xiàn)K1、K2與不同的段的連接。通過寄存器REG_L_RES、REG_R_RES指示判斷段資源的使用情況,并通知系統(tǒng)北橋。
當(dāng)北橋向DPRAM寫入或讀出數(shù)據(jù)時(shí),由FPGA根據(jù)其內(nèi)部管理寄存器,發(fā)出高7位地址L/R_SEGADD[6:0]控制北橋具體訪問的數(shù)據(jù)段ai、bi,而且在FPGA中硬件設(shè)置使兩端不能同時(shí)對同一目標(biāo)段進(jìn)行訪問,從而控制K1、K2與ai、bi的連接,實(shí)現(xiàn)數(shù)據(jù)的隔離。
對于雙端口RAM卡與SDRAM接口的連接實(shí)現(xiàn)如下:首先,MIPS網(wǎng)閘是一個(gè)數(shù)據(jù)交換類的共享存儲系統(tǒng),而MIPS主板中北橋GT芯片支持UMA(同一地址架構(gòu),Unified Memory Architecture),這一特性為設(shè)計(jì)共享存儲系統(tǒng)提供了很高的靈活性,為我們設(shè)計(jì)實(shí)現(xiàn)提供了便利。其次,在設(shè)計(jì)中采用的XC2V40芯片能與外部存儲器(如SDR/DDR SDRAM,SDR/DDR SRAM )之間建立高性能接口,非常適合我們MIPS網(wǎng)閘系統(tǒng)的應(yīng)用要求。最為關(guān)鍵的是,通過比較DPRAM與SDRAM在讀寫的操作時(shí)序,兩者具有相似性,其主要時(shí)序兩者基本一致。DPRAM與SDRAM讀寫操作的最大不同在于DPRAM進(jìn)行讀寫操作時(shí),其地址是一次輸出同時(shí)數(shù)據(jù)線上信號也發(fā)生變化,而SDRAM的地址是分行列地址發(fā)出的,在發(fā)送行地址等待TRCD周期后,發(fā)送列地址,在此時(shí)刻數(shù)據(jù)信號才出現(xiàn)在數(shù)據(jù)線上。因此根據(jù)以上的比較分析,我們可以通過FPGA的設(shè)計(jì)使得DPRAM對于北橋來說運(yùn)行于SDRAM情況之下,即北橋GT對DPRAM的操作符合SDRAM規(guī)范。
具體設(shè)計(jì)辦法如下:在北橋GT對雙端口RAM卡進(jìn)行訪問并發(fā)出行地址時(shí),我們設(shè)計(jì)北橋同時(shí)選通FPGA,在經(jīng)過FPGA內(nèi)部的運(yùn)算后,經(jīng)過TRCD的延遲,在北橋向雙端口RAM卡發(fā)出列地址及CAS的同時(shí),F(xiàn)PGA發(fā)出運(yùn)算后的合適的DPRAM高位地址(段地址)。此時(shí),高位地址與低位地址將組合成為完整的DPRAM地址并同時(shí)到達(dá)DPRAM,然后再進(jìn)行讀寫操作。從而實(shí)現(xiàn)在邏輯上北橋?qū)PRAM的訪問操作等同于SDRAM。
在系統(tǒng)運(yùn)行中,高7位段地址與北橋發(fā)出的列地址中的低8位DADDR[7:0]拼接為雙端口靜態(tài)存儲器的完整地15位地址DPRAM_ADDR[14:0],完成對段內(nèi)單元的訪問。FPGA的控制功能還包括:判斷DPRAM是否有數(shù)據(jù)及通知北橋數(shù)據(jù)可讀,DPRAM是否寫滿及通知北橋放棄寫過程,判斷是否DPRAM已寫到最后的地址及循環(huán)到起始地址等。FPGA還對北橋提供了L/R_SEG_FULL(A、B段寫滿信號)和L/R_INT_README(A、B段讀允許信號),這些信號均連接到GT64240的MPP(multiple purpose pins) interface上,通過以上設(shè)計(jì)從而實(shí)現(xiàn)了基于總線的雙通道循環(huán)緩沖區(qū)實(shí)時(shí)開關(guān)技術(shù)。
由于DPRAM實(shí)際可以認(rèn)為是SDRAM的延續(xù),而系統(tǒng)通過內(nèi)部地址將其與系統(tǒng)內(nèi)存SDRAM加以區(qū)分。而段地址的切換由FPGA控制完成,所以對于北橋來說,雙端口RAM卡的地址空間大小為2KB。
通過對MIPS網(wǎng)閘雙端口RAM卡的設(shè)計(jì),在MIPS網(wǎng)閘中實(shí)現(xiàn)了基于SDRAM總線的雙通道循環(huán)緩沖區(qū)實(shí)時(shí)開關(guān)技術(shù)。
采用SDRAM總線通道使得雙端口RAM卡的地址作為內(nèi)存的一段而存在,北橋GT對其的訪問符合SDRAM規(guī)范,因此在MIPS網(wǎng)閘系統(tǒng)進(jìn)行數(shù)據(jù)交換時(shí),數(shù)據(jù)是由內(nèi)存到內(nèi)存的搬運(yùn),其速度比內(nèi)存到PCI、Local Bus要快,而且方便以后的軟件設(shè)計(jì)。而雙端口RAM卡的FPGA控制單元獨(dú)立工作保證了系統(tǒng)不會被嵌入式計(jì)算機(jī)或者其他主機(jī)遠(yuǎn)程控制,使得網(wǎng)閘系統(tǒng)獲得絕對的安全性。采用新結(jié)構(gòu)-雙通道和循環(huán)緩沖區(qū)結(jié)構(gòu)提高了系統(tǒng)數(shù)據(jù)傳輸?shù)乃俣群蛯?shí)時(shí)性。同時(shí)雙端口RAM卡的FPGA對ai、bi的控制管理實(shí)現(xiàn)了內(nèi)外部處理單元對存儲單元的互斥讀寫,實(shí)現(xiàn)了內(nèi)外網(wǎng)數(shù)據(jù)的隔離。
通過采用新技術(shù)提高了MIPS網(wǎng)閘的數(shù)據(jù)交換速度,減少了讀寫沖突的發(fā)生。在本設(shè)計(jì)中,對通道的理論利用效率可以達(dá)到99%以上,而SDRAM的速度是133MHz,因此北橋?qū)PRAM訪問的速度也達(dá)到了133MHz,那么MIPS網(wǎng)閘的交換峰值將達(dá)到133MHz×64bit×2(雙向雙片),這在性能上是很大的突破。
5.傳輸過程的控制
MIPS網(wǎng)閘系統(tǒng)中數(shù)據(jù)的處理流程如圖5所示:
圖5 系統(tǒng)數(shù)據(jù)處理流程
用戶請求發(fā)送給服務(wù)器,服務(wù)器將收到的數(shù)據(jù)經(jīng)確認(rèn)后,通過專門的通訊軟件發(fā)給MIPS網(wǎng)閘系統(tǒng)。MIPS網(wǎng)閘收到這些網(wǎng)絡(luò)數(shù)據(jù)后,在MIPS嵌入式主機(jī)系統(tǒng)A上對它們進(jìn)行內(nèi)容過濾、身份驗(yàn)證、安全審計(jì)、病毒查殺,同時(shí)完成協(xié)議剝離,獲得純數(shù)據(jù)。然后將通過審核的純數(shù)據(jù)寫入內(nèi)存地址中對應(yīng)于雙端口RAM卡地址區(qū)間。雙端口RAM卡通過L/R_INT_README信號通知MIPS嵌入式主機(jī)系統(tǒng)B來讀取數(shù)據(jù)。MIPS嵌入式主機(jī)系統(tǒng)B讀取內(nèi)存地址中對應(yīng)于雙端口RAM卡地址區(qū)間獲得數(shù)據(jù),然后將數(shù)據(jù)進(jìn)行重新封裝還原,形成一個(gè)安全的網(wǎng)絡(luò)數(shù)據(jù)包,通過網(wǎng)絡(luò)端口B發(fā)送給服務(wù)器。服務(wù)器根據(jù)該數(shù)據(jù)包的服務(wù)請求從而完成整個(gè)服務(wù)過程。
數(shù)據(jù)在MIPS網(wǎng)閘系統(tǒng)的中間處理過程如圖6所示:
圖6 MIPS網(wǎng)閘中數(shù)據(jù)的中間處理過程
6.結(jié)論
分析介紹了物理隔離網(wǎng)閘技術(shù),提出了基于總線的雙通道循環(huán)緩沖區(qū)實(shí)時(shí)開關(guān)技術(shù),該技術(shù)克服了原有技術(shù)中存在的數(shù)據(jù)交換速度低實(shí)時(shí)性差的問題。給出了網(wǎng)閘中利用FPGA和雙端口RAM在SDRAM總線上實(shí)現(xiàn)該技術(shù)的具體實(shí)現(xiàn),對該系統(tǒng)中數(shù)據(jù)傳輸過程的控制和處理也給予了簡要的說明。依據(jù)此技術(shù)設(shè)計(jì)實(shí)現(xiàn)的物理隔離系統(tǒng)的數(shù)據(jù)交換速度以及數(shù)據(jù)的實(shí)時(shí)性得到了提高,滿足了千兆網(wǎng)絡(luò)級的應(yīng)用。
責(zé)任編輯:gt
評論
查看更多