新聞中心

EEPW首頁 > 汽車電子 > 設(shè)計應(yīng)用 > 基于FPGA的IPV6數(shù)據(jù)包的拆裝實(shí)現(xiàn)

基于FPGA的IPV6數(shù)據(jù)包的拆裝實(shí)現(xiàn)

——
作者: 時間:2007-02-06 來源:電子技術(shù)應(yīng)用 收藏

基于實(shí)現(xiàn)
王志遠(yuǎn), 杜詩武, 曲 晶
(信息工程學(xué)院 信息技術(shù)研究所,河南 鄭州 450002)
 
  摘 要:介紹了一種運(yùn)用的包頭和數(shù)據(jù)部分分離并重新封裝的方法。利用該方法,可以使處理速度達(dá)到2Gbit/s以上。
  關(guān)鍵詞: IPV6數(shù)據(jù)包

  筆者在參與國家“863”重大專題項目“高速密碼芯片及驗證平臺系統(tǒng)”的過程中,遇到了將IPV6數(shù)據(jù)包的包頭和數(shù)據(jù)部分拆開,然后把數(shù)據(jù)部分送密碼芯片進(jìn)行加/解密處理,最后再將處理后的數(shù)據(jù)部分與包頭重新封裝為數(shù)據(jù)包的課題。以往對IP包進(jìn)行拆裝多利用軟件實(shí)現(xiàn),但本項目涉及到配合高速密碼芯片(處理速度在2Gbit/s以上)工作的問題,顯然利用軟件實(shí)現(xiàn)IP包的拆裝在速度上達(dá)不到要求。為此,筆者運(yùn)用FPGA(型號為Xilinx公司的XC2VP20—FF896CGB0345)來實(shí)現(xiàn)IPV6數(shù)據(jù)包的拆裝。該FPGA內(nèi)部邏輯框圖如圖1所示。

圖1 FPGA內(nèi)部邏輯框圖

  其工作流程為:2.5GHz的標(biāo)準(zhǔn)IPV6數(shù)據(jù)包串行差分信號通過ROCKETIO高速通道后轉(zhuǎn)換為16位125MHz并行信號,再經(jīng)信號轉(zhuǎn)換模塊進(jìn)一步轉(zhuǎn)換為66位62.5MHz并行信號后進(jìn)入1緩存,然后對其輸出數(shù)據(jù)進(jìn)行判斷,若是報頭則送入3緩存,若是數(shù)據(jù)部分則送入FIFO2緩存,最后將FIFO2數(shù)據(jù)送往密碼芯片進(jìn)行處理;經(jīng)密碼芯片處理的數(shù)據(jù)首先放入FIFO4進(jìn)行緩存,然后控制FIFO3和FIFO4將一個數(shù)據(jù)包的頭和數(shù)據(jù)寫入FIFO5中,重新封裝成一個完整的數(shù)據(jù)包;重新封裝的IPV6數(shù)據(jù)包經(jīng)過信號轉(zhuǎn)換模塊變?yōu)?6位125MHz的并行信號,并通過ROCKETIO高速通道轉(zhuǎn)換為2.5GHz高速串行差分信號送出。
  可以看出,經(jīng)過以上流程,實(shí)現(xiàn)了一個數(shù)據(jù)包的拆分和重新封裝。
1 IPV6數(shù)據(jù)包的拆分
  用FPGA實(shí)現(xiàn)IPV6數(shù)據(jù)包的拆分,主要是通過控制幾個FIFO的數(shù)據(jù)輸入輸出來實(shí)現(xiàn)的。FPGA內(nèi)部的拆分單元電路的物理連接如圖2所示,其中FIFO1的作用是緩存IPV6數(shù)據(jù)包,FIFO2的作用是緩存IPV6數(shù)據(jù)包的數(shù)據(jù)部分,FIFO3的作用是緩存IPV6數(shù)據(jù)包的包頭。

圖2 拆分單元電路物理連接圖

  圖中的三個FIFO都是由Xilinx公司的開發(fā)工具ISE6.1自帶的Core IP生成的。其中FIFO1和FIFO3是同步FIFO,工作時鐘為頻率62.5MHz,輸入輸出數(shù)據(jù)寬度都是66bit;FIFO2是異步FIFO,輸入時鐘頻率為62.5MHz,輸出時鐘頻率為50MHz(密碼芯片的工作時鐘頻率為50MHz),輸入輸出數(shù)據(jù)寬度都是64bit。
  FIFO1的輸入數(shù)據(jù)為IPV6數(shù)據(jù)包,格式如表1所示。可以看出,該數(shù)據(jù)是以并行的66bit信號傳輸?shù)?即每一時鐘周期并行傳送66bit數(shù)據(jù)。其中每個周期的高兩位(即65位和64位)為數(shù)據(jù)包的頭尾標(biāo)志,這是IPV6路由器內(nèi)部根據(jù)實(shí)際處理需要加上的,“10”表示一個完整數(shù)據(jù)包的第一周期,“11”表示數(shù)據(jù)包的中間內(nèi)容,“01”表示一個完整數(shù)據(jù)包的最后一個周期。因為IPV6數(shù)據(jù)包的包頭是固定長度的,為40字節(jié)(等于5



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉