一种基于ZYNQ的网络发包机的制作方法

文档序号:18329044发布日期:2019-08-03 11:49阅读:509来源:国知局
一种基于ZYNQ的网络发包机的制作方法

本发明属于网络通信技术领域,涉及一种基于zynq的网络发包机,适用于广大企业或者研究所针对网络设备进行测试和通信。

技术背景

随着互联网技术的进一步发展,越来越多的网络设备被开发研究。然而,在网络设备的研发后期,往往需要对网络设备的功能,性能进行健壮性和压力测试。此时,就需要用到网络发包机。

为了满足不同种类的网络设备需求,要求网络发包机不仅支持协议类型全,还对发包机的速度,吞吐率,以及可操作性和可配置性提出了更高的要求。

然而,目前市场的网络发包机普遍基于x86结构,存在速度慢,性能低,接口速度单一,配置功能不足,且会增加服务器cpu压力等诸多缺陷。



技术实现要素:

本发明是为了解决当前网络发包机配置不够灵活及基于x86架构下的诸多缺陷而提出的一种基于zynq的网络发包机。

实现本发明目的的具体技术方案是:

一种基于zynq的网络发包机,特点是该网络发包机包括配置电路和组包电路,所述配置电路由协议类型配置、参数配置、数据链路层配置、网络层配置、传输层配置及数据配置组成;所述组包电路由配置接收模块、mac处理模块、arp/rarp处理模块、ip处理模块、传输层处理模块、fcs校验模块及以太网接口模块组成,所述协议类型配置、参数配置、数据链路层配置、网络层配置、传输层配置及数据配置依次连接;数据配置与配置接收模块连接,配置接收模块与mac处理模块连接,mac处理模块分别与arp/rarp处理模块和ip处理模块连接,ip处理模块与传输层处理模块连接,arp/rarp处理模块和传输层处理模块分别连接至fcs校验模块,fcs校验模块与以太网接口模块连接,以太网接口模块通过10m/100m/1000m或者10g以太网接口进行网络数据输出。

所述协议类型配置设置有arp、rap、icpm、igmp、ipv4、ipv6、tcp、udp、egp、igp、esp及ospg协议;

所述参数配置设置有网络数据包长配置、帧间间隔配置及以太网接口速率配置;

所述数据链路层配置设置有源mac地址配置、目的mac地址配置及mac帧类型选择;

所述网络层配置包括源ip地址设置、目的ip地址设置及ip类型选择设置;

所述传输层配置设置有传输协议选择及端口选择;

所述数据配置设置有数据段的内容和长度。

所述配置接收模块由配置信息存储单元连接配置信息填充单元构成;

所述mac处理模块由mac地址填充单元连接mac帧类型填充单元构成;

所述arp/rarp处理模块由arp组包单元连接rarp回复单元构成;

所述ip处理模块由ip地址填充单元连接ip首部校验和处理单元构成。

所述传输层处理模块由端口填充单元、长度处理单元、数据填充单元及校验和处理单元依次连接构成。

所述fcs校验模块用于处理以太网帧尾部的4字节crc校验码;

所述以太网接口模块接收内部电路传送的长度数据和速度数据,将网络数据包发送。

与现有技术相比,本发明的有益效果是:

⑴、本发明基于zynq的硬件架构,具有微秒级别延时,相较于x86架构的毫秒级别延时性能提高了10-100倍。

⑵、本发明支持10m/100m/1000m/10g四种以太网接口速率配置,吞吐率相较于市面普遍的千兆设备提高了10倍。

⑶、本发明不依赖于任何操作系统,全部通过硬件电路完成,并将配置电路和组包电路进行分离,并提供完备的网络协议栈配置。

附图说明

图1为本发明结构框图;

图2为本发明工作流程图。

具体实施方式

下面结合附图对本发明作详细描述。

参阅图1,本发明为基于zynq的一款硬件设备,包括处理系统(processingsystem,以下简称ps)和可编程逻辑(programmablelogic,以下简称pl)。

所述配置电路全部由ps完成,包括协议类型配置11、参数配置12、数据链路层配置13、网络层配置14、传输层配置15及数据配置16。

所述协议类型配,11设置有arp、rap、icpm、igmp、ipv4、ipv6、tcp、udp、egp、igp、esp及ospg协议。

所述参数配置12包含网络数据包包长配置,帧间间隔配置,以太网接口速率配置。包长配置最短为60字节,最大为1514字节。帧间间隔最低可达1个最小时钟单位。以太网接口速率支持10m/100m/1000m/10g四种。

所述数据链路层配置13包括源mac地址配置、目的mac地址配置以及mac帧类型选择。其中源mac地址和目的mac地址均为6个字节,mac帧类型为2个字节,总计14个字节。

所述网络层配置14包括源ip地址、目的ip地址配置及ip类型选择。其中源ip地址和目的ip地址均为4个字节。ip类型支持ipv4和ipv6。

所述传输层配置15包括传输协议选择及端口选择。其中传输协议可选择tcp或udp,端口占用2个字节。

所述数据配置16包括数据段内容处理和长度处理。

所述组包电路全部由pl完成,包括配置接收模块21、mac处理模块22、arp/rarp处理模块23、ip处理模块24、传输层处理模块25、fcs校验模块26及以太网接口模块27。

所述配置接收模块21包括配置信息存储和配置信息填充。配置信息存储在pl中的本地ram中,配置信息会送往后续处理模块供组包时使用。

所述mac处理模块22包括mac地址填充和mac帧类型填充。

所述arp/rarp处理模块23支持arp组包和rarp回复。arp/rarp回复的目的mac地址通过配置接收模块21获得。

所述ip处理模块24包括ip地址填充和ip首部校验和计算。ip首部校验和只计算ip首部,不包括数据部分。首部校验和供接收方进行差错校验使用。

所述传输层处理模块25包括端口填充、长度计算、数据填充以及校验和计算。端口包含源端口和目的端口。长度计算包含首部长度计算和数据部分长度计算。校验和计算为tcp/udp首部计算,该校验和包含首部和数据部分。

所述fcs校验模块26需要计算以太网帧尾部的4字节crc校验码。该crc校验码需要包含整个网络数据包,并最后附在网络数据包的结尾,供接收方进行差错检验。

所述以太网接口模块27需要按照用户设置的以太网接口速率,封装成对应的网络数据包。并根据帧间间隔在网络数据包之间留出对应的空闲时间。

参阅图1,图中,黑色箭头代表数据流。

各模块连接方式如下:

协议类型配置11连接至参数配置12,参数配置12连接至数据链路层配置13,数据链路层配置13连接至网络层配置14,网络层配置14连接至传输层配置15,传输层配置15连接至数据配置16;数据配置16连接至配置接收模块21,配置接收模块21连接至mac处理模块22,mac处理模块22连接至arp/rarp处理模块23和ip处理模块24,ip处理模块24连接至传输层处理模块25,arp/rarp处理模块23和传输层处理模块25分别连接至fcs校验模块26,fcs校验模块26连接至以太网接口模块27,最后通过10m/100m/1000m或者10g以太网接口进行网络数据输出。

在本发明的配置电路1,需要依次完成以下配置工作:

在本发明的协议类型配置11选择需要发送网络数据的协议,支持arp,rap,icpm,igmp,ipv4,ipv6,tcp,udp,egp,igp,esp,ospg等多种协议;

在本发明的参数配置12设置包长、帧间间距和以太网接口速率;

在本发明的数据链路层配置13设置源mac地址、目的mac地址和mac帧类型;

在本发明的网络层配置14配置源ip地址、目的ip地址和ip包类型;

在本发明的传输层配置15选择传输协议、源端口和目的端口;

在本发明的数据配置16设置数据段的内容,长度;

至此配置部分电路完成。

本发明的组包电路2通过配置接收模块21接收并存储配置部分1的配置信息,并依次通过mac处理模块22,arp/rarp处理模块23,ip处理模块24,传输层处理模块25,fcs校验模块26完成整个网络数据包的组包工作,通过以太网接口模块27封装成对应的网络数据数据包格式发送。

参阅图2,本发明是这样工作的:

所述网络发包机上电完成之后,连接好以太网的接口,进入配置界面,依次完成以下配置:协议配置,参数配置,数据链路层配置,网络层配置,传输层配置,数据配置。至此配置完成,组包电路将接收配置电路传输过来的配置信息,通过mac处理模块完成网络数据包的mac帧头处理。之后分为两条路径,其中一条通过arp/rarp处理模块完成对arp/rarp包的处理;另外一条则通过ip处理模块完成ip头的处理,通过传输处理模块处理协议选择和端口选择。两条路径的数据流在fcs校验模块汇合,并完成对fcs校验码的处理,最终通过以太网接口模块将数据发送。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1