色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

通過運(yùn)用FPGA器件實(shí)現(xiàn)IPV6數(shù)據(jù)包的拆分和重新封裝

電子設(shè)計(jì) ? 來源:郭婷 ? 作者:電子設(shè)計(jì) ? 2019-05-13 08:03 ? 次閱讀

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

通過運(yùn)用FPGA器件實(shí)現(xiàn)IPV6數(shù)據(jù)包的拆分和重新封裝

其工作流程為:2.5GHz的標(biāo)準(zhǔn)IPV6數(shù)據(jù)包串行差分信號(hào)通過ROCKETIO高速通道后轉(zhuǎn)換為16位125MHz并行信號(hào),再經(jīng)信號(hào)轉(zhuǎn)換模塊進(jìn)一步轉(zhuǎn)換為66位62.5MHz并行信號(hào)后進(jìn)入FIFO1緩存,然后對(duì)其輸出數(shù)據(jù)進(jìn)行判斷,若是報(bào)頭則送入FIFO3緩存,若是數(shù)據(jù)部分則送入FIFO2緩存,最后將FIFO2數(shù)據(jù)送往密碼芯片進(jìn)行處理;經(jīng)密碼芯片處理的數(shù)據(jù)首先放入FIFO4進(jìn)行緩存,然后控制FIFO3和FIFO4將一個(gè)數(shù)據(jù)包的頭和數(shù)據(jù)寫入FIFO5中,重新封裝成一個(gè)完整的數(shù)據(jù)包;重新封裝的IPV6數(shù)據(jù)包經(jīng)過信號(hào)轉(zhuǎn)換模塊變?yōu)?6位125MHz的并行信號(hào),并通過ROCKETIO高速通道轉(zhuǎn)換為2.5GHz高速串行差分信號(hào)送出。

可以看出,經(jīng)過以上流程,實(shí)現(xiàn)了一個(gè)數(shù)據(jù)包的拆分和重新封裝。

1 IPV6數(shù)據(jù)包的拆分

用FPGAP實(shí)現(xiàn)IPV6數(shù)據(jù)包的拆分,主要是通過控制幾個(gè)FIFO的數(shù)據(jù)輸入輸出來實(shí)現(xiàn)的。FPGA內(nèi)部的拆分單元電路的物理連接如圖2所示,其中FIFO的作用是緩存IPV6數(shù)據(jù)包,F(xiàn)IFO2的作用是緩存IPV6數(shù)據(jù)包的數(shù)據(jù)部分,F(xiàn)IFO3的作用是緩存IPV6數(shù)據(jù)包的包頭。

圖中的三個(gè)FIFO都是由Xilinx公司的開發(fā)工具ISE6.1自帶的Core IP生成的。其中FIFO1和FIFO3是同步FIFO,工作時(shí)鐘為頻率62.5MHz,輸入輸出數(shù)據(jù)寬度都是66bit;FIFO2是異步FIFO,輸入時(shí)鐘頻率為62.5MHz,輸出時(shí)鐘頻率為50MHz(密碼芯片的工作時(shí)鐘頻率為50MHz),輸入輸出數(shù)據(jù)寬度都是64bit。

通過運(yùn)用FPGA器件實(shí)現(xiàn)IPV6數(shù)據(jù)包的拆分和重新封裝

FIFO1的輸入數(shù)據(jù)為IPV6數(shù)據(jù)包。可以看出,該數(shù)據(jù)是以并行的66bit信號(hào)傳輸?shù)模疵恳粫r(shí)鐘周期并行傳送66bit數(shù)據(jù),其中每個(gè)周期的高兩位(即65位和64位)為數(shù)據(jù)包的頭尾標(biāo)志,這是IPV6路由器內(nèi)部根據(jù)實(shí)際處理需要加上的,“10”表示一個(gè)完整數(shù)據(jù)包的第一周期,“11”表示數(shù)據(jù)包的中間內(nèi)容,“01”表示一個(gè)完整數(shù)據(jù)包的最后一個(gè)周期。因?yàn)镮PV6數(shù)據(jù)包的包頭是固定長度的,為40字節(jié)(等于5×64bit),故數(shù)據(jù)的前五個(gè)周期為IPV6數(shù)據(jù)包的包頭,包頭后面跟的就是數(shù)據(jù)包的數(shù)據(jù)部分。

下面討論IPV6數(shù)據(jù)包的包頭和數(shù)據(jù)部分的拆分過程。

首先判斷FIFO1輸入端數(shù)據(jù)的頭尾標(biāo)志DATA(65“64)與FIFO1的滿標(biāo)志FULL1,如果DATA(65”64)=“10”且FULL1=“0”,即判斷到一個(gè)完整數(shù)據(jù)包的開始且FIFO1未滿,則使FIFO1的寫使能WR_EN1有效,寫入數(shù)據(jù);如果DATA(65“64)=“01”,好判斷到一個(gè)完整數(shù)據(jù)包結(jié)束時(shí),則使WR_EN1無效,這樣一個(gè)完整的數(shù)據(jù)包就緩存到了FIFO1時(shí)。

當(dāng)判斷到FIFO1的空標(biāo)示EMPTY1=“0”,即FIFO1非空間,令FIFO1的讀使能信號(hào)RD_EN1有效,將FIFO1中的數(shù)據(jù)讀出,直到EMPTY1=“1”,即FIFO1空為止。對(duì)讀出的數(shù)據(jù)設(shè)定一計(jì)數(shù)器COUNTER1進(jìn)行計(jì)數(shù),當(dāng)DONT1不為0即FIFO1輸出端有信號(hào)時(shí)開始計(jì)數(shù)。當(dāng)0<COUNTER1<=5時(shí),令FIFO3的寫使能信號(hào)WR_EN3有效,將數(shù)據(jù)包的包頭寫FIFO3緩存;當(dāng)COUNTER1>5時(shí),令WR_EN3無效,WR_EN2有效,將IPV6數(shù)據(jù)包的數(shù)據(jù)部分送FIFO2緩存,準(zhǔn)備送密碼芯片處理,直到頭尾標(biāo)志DOUT1(65”64)=“01”時(shí),將COUNTER1清零,在判斷到COUNTER1為0后,將WR_EN2置為無效。注意:FIFO1的輸出端口是66位,F(xiàn)IFO2的輸入端口是64位的,故在FIFO1向FIFO2寫數(shù)據(jù)的過程中,應(yīng)將FIFO1的輸出端口信號(hào)DOUT(63“0)傳送給FIFO2的輸入端口DIN2(63”-)。當(dāng)判斷到FIFO2非空間,將其讀使能信號(hào)RD_EN2置為有效,即可向密碼芯片送出數(shù)據(jù)。

通過運(yùn)用FPGA器件實(shí)現(xiàn)IPV6數(shù)據(jù)包的拆分和重新封裝

2 IPV6數(shù)據(jù)包的重新封裝

用FPGA實(shí)現(xiàn)IPV6數(shù)據(jù)包的重新封裝,同時(shí)是通過控制幾個(gè)FIFO的數(shù)據(jù)輸入輸出來實(shí)現(xiàn)的,F(xiàn)PGA同部的重新封裝單元電路的物理連接如圖3所示,其FIFO4的作用是緩存密碼芯片送出的加解密處理后的數(shù)據(jù);FIFO5的作用是緩存重新封裝后的IPV6數(shù)據(jù);FIFO3與拆分單元共用,作用是緩用IPV6數(shù)據(jù)包頭。

圖中的FIFO4和FIFO5也都是由Xilinx公司的開發(fā)工具ISE6.1自帶的Core IP生成的,其中FIFO4是異步FIFO,輸入時(shí)鐘為50MHz,輸出時(shí)鐘為62.5MHz,輸入輸出數(shù)據(jù)寬度都是66bit;FIFO5是同步FIFO,工作時(shí)鐘為62.5MHz,輸入輸出數(shù)據(jù)寬度都是66bit。

密碼芯片對(duì)數(shù)據(jù)進(jìn)行加/解密處理完畢之后,在送出處理數(shù)據(jù)前,首先向外部系統(tǒng)發(fā)送一64bit長的連接指令,指明處理數(shù)據(jù)所用的加解密算法和數(shù)據(jù)長度。例如,在對(duì)數(shù)據(jù)進(jìn)行2DES加密處理的情況下,接收指令格式(16位制)如圖4所示,其中高56位為指令編碼,低8位為將要輸出的處理數(shù)據(jù)的長度。

通過運(yùn)用FPGA器件實(shí)現(xiàn)IPV6數(shù)據(jù)包的拆分和重新封裝

因此,在接收處理數(shù)據(jù)時(shí),首先判斷是否有接收指令,如果有接收搦令,則其接收指令中的數(shù)據(jù)長度放寄存器中進(jìn)行寄存,并設(shè)定計(jì)數(shù)器COUNTER2開始計(jì)數(shù)。當(dāng)0<COUNTER2<=數(shù)據(jù)長度時(shí),則令FIFO4的寫使能WR_EN4有效;當(dāng)COUNTER2為其它值時(shí),WR_EN4無效。當(dāng)0<COUNTER2<數(shù)據(jù)長度時(shí),將“11”寫入DIN4(65“64),將64bit處理數(shù)據(jù)寫入DIN4(63”0);當(dāng)COUNTER2=數(shù)據(jù)長度時(shí),即接收到最后一周期的處理數(shù)據(jù)時(shí),將“01”寫入DIN4(65“64),將64bit處理數(shù)據(jù)寫入DIN4(63”0),并將COUNTER2清零。這樣,密碼芯片處理后的數(shù)據(jù)就按格式要求緩存到FIFO4中了。

這時(shí),包頭已經(jīng)緩存到FIFO3中了,處理后的數(shù)據(jù)已經(jīng)按格式要求緩存到FIFO4中了,最后要做的就是控制FIFO3和FIFO4,把一個(gè)完整的IPV6數(shù)據(jù)包寫入FIFO5中。具體做法是:設(shè)定計(jì)數(shù)器COUNTER3,當(dāng)FIFO3和FIFO4都非空時(shí),COUNTER3開始計(jì)數(shù)。當(dāng)COUNTER3>0時(shí),將FIFO5的寫使能信號(hào)WR_EN5置為有效;當(dāng)COUNTER3=0時(shí),WR_EN5置為無效。當(dāng)0<COUNTER3<6時(shí),令FIFO3的讀使能RD_EN3有效,F(xiàn)IFO3將輸出數(shù)據(jù)DOUT3(65“0)寫入FIFO5的輸入端DIN5(65”0);當(dāng)COUNTER3>l=6時(shí),令RD_EN3無效,RD_EN4有效,將FIFO4的輸出數(shù)據(jù)DOUT4(65“0)寫入FIFO5的輸入端DIN5(65”0),直到DOUT4(65“64)=“01”時(shí),將COUNTER3清零,RD_EN4置為無效。這樣,一個(gè)完整的IPV6數(shù)據(jù)包就重封裝在FIFO5中了,當(dāng)判斷到FIFO5非空間,就可以令RD_EN5有效,向外輸出處理后的完整的IPV6數(shù)據(jù)包了。

通過運(yùn)用FPGA器件實(shí)現(xiàn)IPV6數(shù)據(jù)包的拆分和重新封裝

從上述討論可以看出,本課題在FPGA中采用了五個(gè)FIFO,并設(shè)定了三個(gè)計(jì)數(shù)器控制這五個(gè)FIFO的輸入輸出來實(shí)現(xiàn)對(duì)IPV6數(shù)據(jù)包的拆分和重新封裝。總的來看,整個(gè)FPGA設(shè)計(jì)思路巧妙,電路結(jié)構(gòu)簡單,達(dá)到了預(yù)期的處理速度。圖5是整個(gè)測試系統(tǒng)在對(duì)1024字節(jié)的IPV6數(shù)據(jù)包進(jìn)行拆包、送密碼芯片加密。重裝封裝處理后測試儀控制軟件界面上顯示的收包數(shù)據(jù)統(tǒng)計(jì)。從該圖可以看出,整個(gè)系統(tǒng)對(duì)IPV6數(shù)據(jù)包的處理速度達(dá)到了2.372Gbit/s,而這樣的處理速度用軟件是不可能達(dá)到的。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1629

    文章

    21729

    瀏覽量

    603012
  • 芯片
    +關(guān)注

    關(guān)注

    455

    文章

    50714

    瀏覽量

    423158
  • 計(jì)數(shù)器
    +關(guān)注

    關(guān)注

    32

    文章

    2256

    瀏覽量

    94478
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    IPv6地址是什么,IPv6的意思

    由表的長度,提高了路由器轉(zhuǎn)發(fā)數(shù)據(jù)包的速度。   三,IPv6增加了增強(qiáng)的組播(Multicast)支持以及對(duì)流的支持(Flow Control),這使得網(wǎng)絡(luò)上的多媒體IPv6的長分布式結(jié)構(gòu)圖[1
    發(fā)表于 01-25 16:39

    基于IPv6的無線傳感器網(wǎng)絡(luò)邊界路由器有什么優(yōu)點(diǎn)?

    基于IPv6的無線傳感器網(wǎng)絡(luò)協(xié)議棧適配層的設(shè)計(jì)。通過數(shù)據(jù)包分片與重組機(jī)制以及報(bào)頭壓縮機(jī)制,協(xié)議棧適配層實(shí)現(xiàn)IPv6數(shù)據(jù)包在IEEE 802
    發(fā)表于 04-21 08:22

    怎樣利用FPGA實(shí)現(xiàn)IPV6數(shù)據(jù)包的拆裝?

    怎樣利用FPGA實(shí)現(xiàn)IPV6數(shù)據(jù)包的拆裝?IPV6數(shù)據(jù)包的包頭和
    發(fā)表于 04-28 06:05

    基于FPGAIPV6數(shù)據(jù)包的拆裝是如何實(shí)現(xiàn)的?

    基于FPGAIPV6數(shù)據(jù)包的拆裝是如何實(shí)現(xiàn)的?
    發(fā)表于 05-28 06:23

    IPv6不能外發(fā)數(shù)據(jù)包如何解決呢

    覆蓋,變?yōu)閚etif_null_output_ip6,結(jié)果,IPv6不能外發(fā)數(shù)據(jù)包。解決方案:針對(duì)IPv6,將對(duì)netif->output_ip
    發(fā)表于 09-05 14:52

    一種IPv6數(shù)據(jù)包安全傳輸?shù)?b class='flag-5'>實(shí)現(xiàn)

    在分析了現(xiàn)有的加密體制的基礎(chǔ)上,結(jié)合IPv6 數(shù)據(jù)包的特點(diǎn),設(shè)計(jì)了一種保護(hù)IPv6 數(shù)據(jù)包傳輸?shù)陌踩桨福摲椒梢?b class='flag-5'>實(shí)現(xiàn)網(wǎng)絡(luò)環(huán)境下的加密傳輸
    發(fā)表于 07-30 11:57 ?15次下載

    基于IPv6的防火墻的關(guān)鍵技術(shù)與實(shí)現(xiàn)

    IPv6 是新一代的IP 協(xié)議。它的提出解決了當(dāng)今IP 地址匱乏的問題,并引入了加密和認(rèn)證機(jī)制,實(shí)現(xiàn)了基于網(wǎng)絡(luò)層的身份認(rèn)證,確保了數(shù)據(jù)包的完整性和機(jī)密性,因此,可以說IPv6
    發(fā)表于 08-19 10:38 ?11次下載

    基于FPGAIPV6數(shù)據(jù)包的拆裝

    介紹了一種運(yùn)用FPGAIPV6數(shù)據(jù)包的包頭和數(shù)據(jù)部分分離并重新
    發(fā)表于 06-25 17:53 ?14次下載

    移動(dòng)IPV6在改進(jìn)數(shù)據(jù)包發(fā)送路徑模型下性能分析

    針對(duì)現(xiàn)有移動(dòng)IPV6數(shù)據(jù)包發(fā)送代價(jià)較高的問題,對(duì)現(xiàn)有移動(dòng)IPV6協(xié)議性能分析模型中數(shù)據(jù)包發(fā)送路徑進(jìn)行了改進(jìn),將訪問路由發(fā)送至移動(dòng)節(jié)點(diǎn)的數(shù)據(jù)包
    發(fā)表于 01-12 10:32 ?35次下載
    移動(dòng)<b class='flag-5'>IPV6</b>在改進(jìn)<b class='flag-5'>數(shù)據(jù)包</b>發(fā)送路徑模型下性能分析

    IPv6中的網(wǎng)絡(luò)隱蔽通道技術(shù)研究

    IPv6數(shù)據(jù)包中存在保留字段、轉(zhuǎn)發(fā)時(shí)被節(jié)點(diǎn)忽略的字段、定義不完整字段和非關(guān)鍵字段等可隱匿信息的字段.這表明IPv6的冗余字段太多,協(xié)議設(shè)計(jì)時(shí)語法規(guī)則限定過寬,從而得出IPv6
    發(fā)表于 02-23 15:16 ?30次下載
    <b class='flag-5'>IPv6</b>中的網(wǎng)絡(luò)隱蔽通道技術(shù)研究

    BGP/MPLS IPv6 VPN技術(shù)白皮書

    BGP/MPLS IPv6 VPN通過業(yè)務(wù)供應(yīng)商IPv4骨干網(wǎng)向用戶提供基于IPv6網(wǎng)絡(luò)的VPN業(yè)務(wù)。在這類VPN架構(gòu)中,BGP與MPLS起到非常重要的作用。BGP可發(fā)布
    發(fā)表于 02-27 15:52 ?34次下載
    BGP/MPLS <b class='flag-5'>IPv6</b> VPN技術(shù)白皮書

    基于FPGAIPV6數(shù)字的分離與封裝實(shí)現(xiàn)

    本文介紹了一種運(yùn)用FPGAIPV數(shù)據(jù)包的包頭和數(shù)據(jù)部分分離并重新
    發(fā)表于 05-21 09:17 ?1962次閱讀
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>IPV6</b>數(shù)字<b class='flag-5'>包</b>的分離與<b class='flag-5'>封裝</b>的<b class='flag-5'>實(shí)現(xiàn)</b>

    如何用隧道搭建ipv6

    隧道,是一種在IPV4升級(jí)到IPV6期間的過渡技術(shù)。可以將IPV6數(shù)據(jù)包進(jìn)行封裝通過現(xiàn)有的
    發(fā)表于 12-26 14:58 ?2.9w次閱讀
    如何用隧道搭建<b class='flag-5'>ipv6</b>

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

    在參與國家“863”重大專題項(xiàng)目“高速密碼芯片及驗(yàn)證平臺(tái)系統(tǒng)”的過程中,遇到了將IPV6數(shù)據(jù)包的包頭和數(shù)據(jù)部分拆開,然后把數(shù)據(jù)部分送密碼芯片進(jìn)行加/解密處理,最后再將處理后的
    的頭像 發(fā)表于 06-14 17:02 ?1715次閱讀
    基于XC2VP20—FF896CGB0345 <b class='flag-5'>FPGA</b><b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>IPV6</b><b class='flag-5'>數(shù)據(jù)包</b>的拆裝

    什么是IPv6隧道技術(shù)

    隧道技術(shù)應(yīng)運(yùn)而生,它允許IPv6數(shù)據(jù)包IPv4網(wǎng)絡(luò)中傳輸,為IPv6的逐步部署提供了一種過渡方案。 一、IPv6隧道技術(shù)的基本原理
    的頭像 發(fā)表于 10-30 09:17 ?324次閱讀
    主站蜘蛛池模板: 午夜不卡av免费| 国产精品青青在线麻豆| 日本一本在线播放| 国产成久久免费精品AV片天堂| 帅哥操帅哥| 果冻传媒在线观看视频| 一区精品在线| 末班车动漫无删减免费| 被老总按在办公桌吸奶头| 同房交换4p好爽| 黄色天堂网| 91精品婷婷国产综合久久8| 秋霞午夜鲁丝片午夜精品久| 国产成久久免费精品AV片天堂| 亚洲精品有码在线观看| 国产精品免费视频播放| 特污兔午夜影视院| 果冻传媒独家原创在线观看| 在线观看成人免费视频| 秋霞影院福利电影| 国产免费播放一区二区三区| 淫品色影院| 欧洲最强rapper潮水喷视频 | 爽爽影院线观看免费| 韩国成人理伦片免费播放| 2020年国产理论| 日韩欧美一区二区三区在线视频| 国产亚洲视频精彩在线播放| 最近最新的日本字幕MV| 日本一区二区三区在线观看网站| 国精产品一区一区三区有限| 69精品国产人妻蜜桃国产毛片| 日韩精品a在线视频| 茎身铃口调教| H揉捏娇喘乳叫床NP调教视频| 性虎成人网| 免费毛片在线视频| 国产精品免费观看视频| 666永久视频在线| 校园全肉高h湿一女多男| 美女露100%全身无遮挡|