一種基于VPN網(wǎng)關(guān)的電原理設(shè)計與實(shí)現(xiàn)
本文引用地址:http://m.butianyuan.cn/article/158157.htm
根據(jù)設(shè)計要求,將SCC配置成以太網(wǎng)模式。MPC855T以太網(wǎng)控制器必須通過收發(fā)器連接到以太網(wǎng)絡(luò),在設(shè)計中選用了AC101TF[2] 10/100以太網(wǎng)收發(fā)器。圖6為其基本元件和需要連接到MPC855T的管腳,其中HST-005S為隔離變壓器。當(dāng)855T發(fā)送數(shù)據(jù)時,設(shè)置接到RTS的發(fā)送允許管腳,同樣地,當(dāng)收發(fā)器接收數(shù)據(jù)時,設(shè)置接收允許(RENA)線然后置位855T的CD。最后,收發(fā)器上有一個沖突管腳,驅(qū)動控制器上的CTS就可以響應(yīng)沖突。如果RENA和/或CLSN出現(xiàn),激活載波檢測。
2.6 快速以太網(wǎng)控制器(FEC)接口電路
10/100Mbps快速以太網(wǎng)控制器集成了FIFO可以獨(dú)立地實(shí)現(xiàn)突發(fā)模式的DMA傳輸,因此,在不影響CPM性能條件下,可獲得高性能的快速以太網(wǎng)接口。圖7為FEC方框圖??焖僖蕴W(wǎng)控制器FEC,嵌入式PowerPC核,系統(tǒng)接口單元SIU,通信處理模塊CPM都使用32-bit的內(nèi)部總線。
根據(jù)設(shè)計要求,VPN網(wǎng)關(guān)工作在10Mbps以太網(wǎng)環(huán)境中,為了保證其兩個以太網(wǎng)口的工作平衡,把FEC配置成10Mbps工作模式,使用7線串行模式與外部的以太網(wǎng)收發(fā)器連接,仍然選用AC101TF為外部收發(fā)器,其線路連接與圖7類似。
2.7 存儲器電路
MPC855T的存儲器控制器可用來控制8個塊。它可以連接SRAM、EPROM、Flash EPROM、同步DRAM及其他外置設(shè)備而無須附加邏輯電路,它還支持地址總線復(fù)用,定時清除計時器,以及產(chǎn)生行及列的地址選擇波形。
如圖8所示,通用目的片選機(jī)構(gòu)設(shè)計成SRAM、EPROM、Flash EPROM和其他外設(shè)的接口。用戶可編程機(jī)構(gòu)UPM允許接到多種存儲器設(shè)備,同GPCM一樣,用戶可編程機(jī)構(gòu)產(chǎn)生一個片選,但一個已經(jīng)編程為波形,或用于一個DRAM塊的RAS,每一個UPM的4個字節(jié)選擇都同樣編程為波形,變成DRAM塊的CAS,UPMA有4個字節(jié)選擇,UPMB有4個字節(jié)選擇。另外,有6個通用目的線,它可以編程為所需的在一個時鐘周期內(nèi)波形,這些通用目的線,特別適合于支持一些新的存儲器技術(shù),如同步DRAM,用戶可編程機(jī)構(gòu)產(chǎn)生TA,事實(shí)上,在這種機(jī)構(gòu)中有可以外部提供TA。
2.8 加密模塊的接口和設(shè)計
為了使用不同的硬件加密算法,將加密模塊設(shè)計成子板的結(jié)構(gòu),在主板上設(shè)計了兩個雙排孔座,各有50個引腳。主要信號有32根數(shù)據(jù)線D[31:0]、16 根地址線A[29:14]、讀寫R/W、輸出使能OE、中斷請求IRQ4、片選CS3、同步時鐘S_CLK以及突發(fā)模式傳輸控制線TS、BURST、TA、BDIP、TEA、+5V電源和地線。按這樣設(shè)計的接口,可以很方便地與多種硬件加密算法芯片做成的加密模塊相連接,如國密辦批準(zhǔn)的SSF10B及國外的網(wǎng)絡(luò)安全協(xié)處理器。
為了測試和滿足不同用戶的需求,設(shè)計了兩款加密模塊。(1)SSF10:其32-bit數(shù)據(jù)寬度版本為SSF10B。SSF10算法為分組密碼算法,支持ECB、CBC、CFB和OFB工作模式。要求工作平臺的CPU能對PWC、PWD、PRC、PRD信號產(chǎn)生等待周期。/PRD的有效時間應(yīng)大于PCLK的時鐘周期T。(2)三重DES:為了與采用IPSec協(xié)議和Triple DES算法的VPN客戶端互通,設(shè)計了一款硬件Triple DES加密模塊,其算法用VHDL語言寫成,并由FPGA完成運(yùn)算。FPGA選用Altera公司的EP1K30[3]芯片,該芯片有30000個邏輯門電路,可以滿足Triple DES的需要。
3 VPN網(wǎng)關(guān)的實(shí)現(xiàn)
這部分的主要工作是將原有x86平臺上的應(yīng)用軟件移植到MPC855T平臺上,作為一個VPN網(wǎng)關(guān),應(yīng)具備兩大功能:(1)路由功能:安全加密路由平臺介于局域網(wǎng)與邊界路由器之間,應(yīng)具備一定的路由轉(zhuǎn)發(fā)功能。(2)IPSec協(xié)議族功能:具備IPSec協(xié)議標(biāo)準(zhǔn)描述的所有功能。
3.1 系統(tǒng)總體框架和工作模式
系統(tǒng)總體框架由5個部分組成:(1)硬件層:基于mpc855t平臺,提供軟件運(yùn)行環(huán)境。(2)Linux內(nèi)核:嵌入式Linux/ppc-2.4.4。將IPSec實(shí)現(xiàn)和防火墻支持編譯到內(nèi)核中。(3)系統(tǒng)服務(wù)和工具。(4)管理控制臺界面。(5)升級服務(wù)。
由于本設(shè)計使用DOC或Flash Memory作為存儲介質(zhì),文件系統(tǒng)工作方式宜用Ram Disk方式。在此方式下,系統(tǒng)工作時根文件系統(tǒng)在ram disk上,系統(tǒng)異常掉電不會對真正的文件系統(tǒng)造成破壞。但因?yàn)樗械呐渲眯畔⒍荚赟DRAM中,掉電將會丟失所有配置信息,因此需要以后臺進(jìn)程定期檢查配置文件的變動情況,將有變動的文件及時寫回DOC/Flash中。
3.2 IPSec實(shí)現(xiàn)中的硬件加密算法
在本文設(shè)計的VPN安全網(wǎng)關(guān)中,加密算法的安全、高效,是VPN網(wǎng)關(guān)安全性和有效性的重要保證。為此在設(shè)計中,采用了一種硬件加密模塊[4]的方式,使得VPN網(wǎng)關(guān)可以在硬件上使用不同的加密算法。在默認(rèn)配置中,使用國密辦批準(zhǔn)的分組加密算法芯片SSF10。為了使用硬件加密模塊,需要在Linux內(nèi)核的IPSec實(shí)現(xiàn)中添加和修改相應(yīng)的代碼,下面對其簡單說明。
因IPSec實(shí)現(xiàn)在內(nèi)核中的特殊位置,并且MPC855T的主頻較低(80MHz),采用訪問設(shè)備驅(qū)動文件的方式訪問硬件SSF10加密模塊會造成速率大幅降低,因此,我們采用I/O直接訪問硬件SSF10芯片,這樣需將模塊驅(qū)動中的操作分散到IPSec實(shí)現(xiàn)的相關(guān)部分,替換原來的軟件加密算法。同理,可以使用硬件DES/3DES、硬件AES[5]算法和其他的國密辦批準(zhǔn)的算法,用硬件實(shí)現(xiàn)數(shù)據(jù)加密。對IPSec的一個實(shí)現(xiàn)freeswan算法部分進(jìn)行修改,使其可以實(shí)現(xiàn)硬件算法。完成修改后,使用內(nèi)核make menuconfig命令,選中Networking options->[*]IPSEC:Use SSF10......,重新編譯即可使用SSF10硬件算法模塊。
4 結(jié)束語
創(chuàng)新點(diǎn):開發(fā)由VPN安全網(wǎng)關(guān)、VPN客戶端和VPN安全管理中心三部份組成的VPN安全系統(tǒng)。為保證公網(wǎng)上傳輸數(shù)據(jù)的安全,設(shè)計開發(fā)一款VPN安全網(wǎng)關(guān),用于構(gòu)建上述的VPN安全系統(tǒng)。同PowerPC MPC8xx一樣,MPC82xx也是一款集成了微處理器和外圍器件控制器的通信處理器,可以用于多種通信設(shè)備中。但是MPC82xx具有更高的操作速度:系統(tǒng)內(nèi)核微處理器支持100-333MHz的處理速度,并具有更強(qiáng)大的網(wǎng)絡(luò)處理能力,支持3個快速通信控制器(FCCs),4個串行通信控制器(SCCs),2個多通道控制器(MCCs),適合用于100Mbps以太網(wǎng)環(huán)境中的網(wǎng)絡(luò)設(shè)備。
評論