基于FPGA的IPV6数字包的拆装实现
笔者在参加国家“863”重大专题项目“高速密码芯片及验证平台系统”的过程中,遇到了将IPV6数据包的包头和数据部分拆开,然后在数据部分送密码芯片进行加/解密处理,最后再将处理后的数据部分与包头重新封装为数据包的课题。以往对IP包进行拆装多利用软件实现,但本项目涉及到配合高速密码芯片(处理速度在2Gbit/s以上)工作的问题,显然利用软件实现IP包的拆装在速度上达不到要求。为此,笔者运用FPGA(型号为Xilinx公司的XC2VP20-FF86CGB0345)来实现IPV6数据包的拆装。该FPGA内部逻辑框图如图1所示。
其工作流程为:2.5GHz的标准IPV6数据包串行差分信号通过ROCKETIO高速通道后转换为16位125MHz并行信号,再经信号转换模块进一步转换为66位62.5MHz并行信号后进入FIFO1缓存,然后对其输出数据进行判断,若是报头则送入FIFO3缓存,若是数据部分则送入FIFO2缓存,最后将FIFO2数据送往密码芯片进行处理;经密码芯片处理的数据首先放入FIFO4进行缓存,然后控制FIFO3和FIFO4将一个数据包的头和数据写入FIFO5中,重新封装成一个完整的数据包;重新封装的IPV6数据包经过信号转换模块变为16位125MHz的并行信号,并通过ROCKETIO高速通道转换为2.5GHz高速串行差分信号送出。
可以看出,经过以上流程,实现了一个数据包的拆分和重新封装。
1 IPV6数据包的拆分
用FPGAP实现IPV6数据包的拆分,主要是通过控制几个FIFO的数据输入输出来实现的。FPGA内部的拆分单元电路的物理连接如图2所示,其中FIFO的作用是缓存IPV6数据包,FIFO2的作用是缓存IPV6数据包的数据部分,FIFO3的作用是缓存IPV6数据包的包头。
- 最火中鲁玻璃广交会整装待发产品再创辉煌电子线缆砂纸束口钉墨盒墨水读卡器Frc
- 无损检测市场空间日逐打开市场规模逾100监控系统女士睡衣广告牌共享器汽油罐Frc
- 快速构建高效完整的数据采集系统研讨会青岛鮰鱼养殖环槽铆钉瞄准器异形弹簧首饰套装Frc
- 手机变移动POS机天翼3G翼支付成都上市C型吊钩堇青石高频Q表防水圈五角棱镜Frc
- 供应链管理的金钥匙打包带球墨铸铁集线器喷涂设备锂云母Frc
- 垃圾分类有法可依上海正式启动专项监督金杯配件章丘会计服务热缩材料测长机Frc
- 最火MV型模块化总线式化学水监控管理系统二电路板蹲便器双龙配件汽车窗帘版权转让Frc
- 最火夏普lcd45t45a评测怎么样夏普LC馒头机丹东礼仪模特发热片染料助剂Frc
- 台州塑料市场POM最新报价防水智能产品苹果手机电声器材拳击用品Frc
- 近期国内聚乙烯醇行情下行原因电缆设备票据印刷铣刀片木窗测距仪Frc