基于OCTEON多核处理器的高精度网络报文处理系统
摘 要:基于Cavium公司OCTEON Cn5650芯片设计与实现一种高精度网络报文处理系统。由OCTEON的硬件收发引擎Packet输入和Packet输出来保证线速收发报文性能,在simple executive环境下满足TCP连接20万/秒和HTTP连接10万/秒的要求。实验结果表明,报文处理系统能够接收网络上的数据报文,并根据指定的内容对网络数据报文进行分析和存储;根据需要可以实现标准协议如HTTP、FTP、SMTP、POP3等网络报文客户端及服务器端模拟以及流量模拟;将自定义的网络报文或接收到的网络报文发回到网络中。
关键词:多核处理器;Cn5650;线速收发;嵌入式
中图分类号:TP393.08
随着网络技术的高速发展,实现2~7层网络数据报文的发生和接收,用于提供基础的数据报文,以支撑测试系统实现多种形式的Gbps级别以上的网络测试工具成为了必然。目前工业上常用的网络报文高速发生器包括Ixia和Smartbits等,但由于其价格非常昂贵,且不能记录网络数据报文,难以模拟真实的网络环境,应用范围经常受到限制。针对网络报文的高数据量、突发性和实时处理的特点,以通用处理器为核心的网络报文处理系统虽然具有处理器主频高、运算简单、开发门槛低等特点,但是没有专门的网络处理加速硬件使得网络报文的实时性处理上没有保证。以FPGA为核心的网络报文处理系统具有网络处理加速硬件,以及对简单任务的快速重复执行的特点,但是FPGA系统存在开发难度最大,且自定义网络报文灵活性不足的缺点。因此,以OCTEON多核处理器为核心的系统存在开发难度适中、基于网络处理加速硬件易于实现网络报文实时性处理等优点成为当前网络协议处理系统研究和设计的热点。
文献[1]在Linux平台下基于OCTEON多核处理器设计与实现了高精度流回放系统,以回放的时间戳为基础,实现高度并行并且高精度的网络报文处理系统。文献[2]基于OCTEON多核的高速处理,并结合了IPV6网络中入侵的新特点,将协议分析技术和基于流的检测技术在OCTEON多核间分配执行,实现了流处理及协议分析模块与控制模块的高速联动。文献[3]基于OCTEON的硬件平台,设计并实现了一种基于专用多核的千兆入侵防御系统,该系统包含了入侵防御中的数据包预处理、检测以及响应全部组件。
本文以高性能OCTEON多核处理器芯片为核心,设计与实现了高精度网络报文处理系统。一方面,接收网络上的数据报文,并根据指定的内容(如固定IP地址、指定网段、协议类型等)对网络数据报文进行分析和存储;另一方面,根据需要可以实现标准协议如HTTP、FTP、SMTP、POP3等网络报文客户端及服务器端模拟以及流量模拟;最后,可以将自定义的网络报文或接收到的网络报文在发送回网络中去。
1 硬件系统总体设计
1.1 OCTEON多核处理器概述
OCTEON CN56XX芯片硬件结构如图1所示红色框部分,有12个处理器核,集成了专门定制的MIPS64指令集[4],具有高可编程性、可扩展性,单核频率达到800MHz,最高每秒可处理3千万个包。该处理器同时支持数据面与控制面;支持自启动功能;提供加密、CRC校验以及包排序等高可靠性功能;具有硬件包处理加速功能;具有硬件单元处理任务的队列、调度、排序和同步功能;具有硬件进行TCP加速、校验功能;具有完全一致内存系统。
OCTEON Cn5650处理器[5]对外接口包括PCIe,SGMII等高速串行总线,以及DDR2等高速内存接口(具备2VLP Mini DIMM插槽,最高支持双DDR2通道的16GB内存,支持ECC特性,保证数据高可靠性。拥有高效的IO性能,640位的内部带宽,高达9GHz的总计算性能,以及多个有针对性的硬件加速部件。Cn5650有两个网络接口单元,实现了8个SGMII/1000BASE-X接口,使用其中的QLM3可以扩展四个千兆以太网接口。
1.2 高精度网络报文处理多功能卡设计
高精度网络报文处理多功能卡的结构如图1所示,其核心是12核800MHz多核处理器Cn5650,负责发送报文调度,接收报文分析处理,以及TCP/HTTP等上层协议的处理;内嵌四口千兆以太网PHY 88E1145芯片,对外提供4个RJ45千兆以太网口;具备2VLP Mini DIMM插槽,采用2根DDR2的1GB内存;配有16MB flash,实现固件程序的加电自启动;通过PCIex4总线,与主处理器板通讯,下发配置信息、文件内容,上传运行结果;通过ATX 4针12V电源接头和PCIe提供的3.3V实现电源输入。
多功能卡以太网PHY芯片采用Marvell Alaska 88E1145四口PHY芯片。每一个PHY通道支持100BASE-TX、1000BASE-T以及10BASE-T的全双工和半双工的全部物理层功能。88E1145可以直接通过SGMII总线与MAC/Switch连接。通过处理器专用的SMI控制单元通过MDIO接口来管理PHY。
图1 多功能卡结构图
2~3层需要提供线速收发报文,可以由OCTEON的硬件收发引擎Packet输入和Packet输出来保证。其中Packet输入引擎可以实现线速收包,Packet输出引擎性能可以达到25Mpps。
OCTEON 4~7层在simple executive环境下TCP新建连接数可以达到120万/秒。考虑到其理想性能,实际应该低于这个数值,但是满足TCP连接20万/秒和HTTP连接10万/秒时可以保证的。而且,通过硬件预处理2~4层报文,可以由报文保序单元调度多个CPU核,来实对数据流做并发处理从而加速TCP性能。
2 系统嵌入式软件设计
多功能卡上的2~3层嵌入式测试程序由控制模块、发包调度模块、收包分析统计三部分组成,实现对2~3层测试的报文线速收发、报文统计。Send Schedule利用PKO硬件单位做线速发包处理,同时根据GUI的配置,对发送报文作实时调度;Receive Analyze在PIP的处理结果基础上,进一步完成测试所需要的统计等处理结果;Control Core负责与主机通信,完成数据上报和命令执行等工作。
多功能卡上的4~7层嵌入式测试程序主要是运行于多核处理器上的Linux操作系统,针对OCTEON优化的高性能TCP/IP协议栈,HTTP、FTP等业务协议软件。负责完成TCP业务的客户端、服务器端流量的产生、统计;HTTP业务的客户端、服务器端流量的产生、统计等。
期刊库(http://www.zgqkk.com),是一个专门从事期刊推广、投稿辅导的网站。
本站提供如何投稿辅导,寻求投稿辅导合作,快速投稿辅导,投稿辅导格式指导等解决方案:省级投稿辅导/国家级投稿辅导/核心期刊投稿辅导//职称投稿辅导。
【免责声明】本文仅代表作者本人观点,与投稿辅导_期刊发表_中国期刊库专业期刊网站无关。投稿辅导_期刊发表_中国期刊库专业期刊网站站对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。请读者仅作参考,并请自行承担全部责任。
投稿辅导服务咨询与期刊合作加盟
陆老师联系QQ: 913775405(普刊)
蒋老师联系QQ: 867306987(核心)
刘老师联系QQ: 271374912(核心)
联系电话:18015016272
17327192284
投稿辅导投稿邮箱:zgqkk365@126.com
期刊推荐
- 《课程教育研究》 旬刊 国家级
- 《网络空间安全》(信息安全与技术)月刊 国
- 《价值工程》旬刊 国家级 科技统计源期刊
- 《高教论坛》 月刊 省级
- 《法制与社会》旬刊 省级
- 《中国教育学刊》月刊 14版北大核心
- 《语文建设》 旬刊 14版北大核心
- 《中国绿色画报》 月刊 国家级
- 《社科纵横》季刊 社科类优秀期刊
- 《求索》月刊 14版北大核心期刊
- 《财会月刊》旬刊 14版北大核心
- 《艺术品鉴》 月刊 省级
- 《中华建设》月刊 国家级 建设类优秀期刊
- 《教学与管理》旬刊 北大核心
- 《当代经济》 旬刊 省级
- 《新课程研究》旬刊 省级 教育类优秀学术期
- 《文教资料》 旬刊 省级
- 《学术界》 月刊 双核心
- 《吉林教育》旬刊 省级 教育类学术期刊
- 《中国农业资源与区划》 月刊 14版北大核心
- 《继续教育研究》月刊 北大核心期刊
- 《财经界(学术版)》半月刊 国家级
- 《电影评介》半月刊 14版北大核心
- 《公路交通科技》 月刊 北大核心
- 《新闻传播》月刊 省级 新闻类优秀期刊