以太网报文的编程方法和装置制造方法及图纸

技术编号:23241307 阅读:15 留言:0更新日期:2020-02-04 19:50
本发明专利技术揭示了一种以太网报文的编程方法和装置,所述方法包括:定义伪码的语法;根据以太网报文的格式,使用伪码表述所述以太网报文;根据伪码的语法与指定编程语言的对应关系,将伪码表述的所述以太网报文解析成指定编程语言。与现有技术相比,本发明专利技术通过定义简单易懂的伪码语法,完成了灵活复杂多变的以太网报文结构的表述,表现出了定义灵活、表述直观、扩展性强的特点。执行者无需具备可执行语言C或者Verilog的相关基础,只需要可以阅读解析以太网报文协议的能力,大大降低的以太网报文发生器设计的难度和门槛。同时,通过脚本将伪码自动解析成可执行代码,大大降低了可执行代码出错率,缩短了以太网报文发生器开发调试的周期。

Programming method and device of Ethernet message

【技术实现步骤摘要】
以太网报文的编程方法和装置
本专利技术涉及芯片设计
,尤其涉及一种以太网报文的编程方法和装置。
技术介绍
在网络芯片的研发过程中,完成网络芯片的设计之后,通常要广泛应用以太网报文发生器来对网络芯片的正确性进行验证。以太网报文发生器生成多种多样的以太网报文,通过发送这些报文来模拟真实网络环境中的以太网报文流,从而达到验证芯片功能和性能的目的。以太网报文发生器的传统实现方式是完全采用C语言或者Verilog等编程语言进行编程实现的。而面对快速发展的以太网的各种协议,以及复杂多样化的报文结构,传统的实现方式表现出扩展性差,维护成本高等缺点。
技术实现思路
本专利技术的一个目的在于提供一种以太网报文的编程方法和装置。本专利技术的另一目的在于提供一种基于伪码搭建以太网报文发生器的方法和系统。为实现上述专利技术目的之一,本专利技术一实施方式提供一种以太网报文的编程方法,其特征在于,所述方法包括:定义伪码的语法;根据以太网报文的格式,使用伪码表述所述以太网报文;根据伪码的语法与指定编程语言的对应关系,将伪码表述的所述以太网报文解析成指定编程语言。作为本专利技术一实施方式的进一步改进,所述“根据以太网报文的格式,使用伪码表述所述以太网报文”具体包括:确定所述以太网报文的相关字段及字段间的组合关系;使用伪码表述所述以太网报文的相关字段及字段间的组合关系。作为本专利技术一实施方式的进一步改进,所述伪码的语法具体包括:片段,其用于表述一个以太网报文或报文片段,其包括片段开始关键字、片段名称、片段结束关键字和所述片段开始关键字与片段结束关键字之间的内容;变量,其包含在片段的内容中,其包括变量关键字、变量名称、变量长度和变量默认值;跳转字段,其包含在片段的内容中,其包括跳转关键字、条件表达式和指定片段名称,在满足所述条件表达式时,从当前片段跳转到所述指定片段,执行完所述指定片段的内容后继续往下执行当前片段的内容。作为本专利技术一实施方式的进一步改进,所述伪码的语法还包括条件语法、重复语法和循环语法。作为本专利技术一实施方式的进一步改进,所述方法还包括:通过伪码的跳转字段,将多个以太网报文或以太网报文片段组合成一个以太网报文。作为本专利技术一实施方式的进一步改进,所述“将伪码表述的所述以太网报文解析成指定编程语言”具体包括:将伪码的片段转换成指定编程语言的函数;将伪码的变量转换成指定编程语言的变量;将伪码的跳转字段转换成指定编程语言的子函数调用。作为本专利技术一实施方式的进一步改进,所述“将伪码表述的所述以太网报文解析成指定编程语言”具体包括:利用脚本语言perl将伪码表述的所述以太网报文解析成指定编程语言。为实现上述专利技术目的之一,本专利技术一实施方式提供一种以太网报文的编程装置,所述装置包括:伪码设计规范模块,其用于定义伪码的语法;伪码编程模块,其用于根据以太网报文的格式,使用伪码表述所述以太网报文;伪码解析模块,其用于将伪码表述的所述以太网报文解析成指定编程语言。为实现上述专利技术目的之一,本专利技术一实施方式提供一种基于伪码搭建以太网报文发生器的方法,所述方法包括:使用上述任一所述以太网报文的编程方法,将以太网报文的格式通过指定编程语言进行定义;使用指定编程语言实现所述以太网报文的生成和发送流程。为实现上述专利技术目的之一,本专利技术一实施方式提供一种基于伪码搭建以太网报文发生器的系统,所述系统包括:上述所述以太网报文的编程装置;报文生成和发送模块,其用于使用指定编程语言实现所述以太网报文的生成和发送流程。与现有技术相比,本专利技术通过定义简单易懂的伪码语法,完成了灵活复杂多变的以太网报文结构的表述,表现出了定义灵活、表述直观、扩展性强的特点。执行者无需具备可执行语言C或者Verilog的相关基础,只需要可以阅读解析以太网报文协议的能力,大大降低的以太网报文发生器设计的难度和门槛。同时,通过脚本将伪码自动解析成可执行代码,大大降低了可执行代码出错率,缩短了以太网报文发生器开发调试的周期。附图说明图1是现有技术中数据包的封装过程。图2是本专利技术以太网报文的编程方法的流程示意图。图3是802.1q帧格式。图4是IP报文的首部。具体实施方式以下将结合附图所示的具体实施方式对本专利技术进行详细描述。但这些实施方式并不限制本专利技术,本领域的普通技术人员根据这些实施方式所做出的结构、方法、或功能上的变换均包含在本专利技术的保护范围内。OSI模型把网络通信的工作分为7层,从下到上分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。目前实际使用的网络模型是TCP/IP模型,它对OSI模型进行了简化,只包含了四层,自下而上分别是数据链路层、网络层、传输层和应用层。每一层完成不同的功能,包含不同的协议(协议Protocol就是网络通信过程中的约定或者合同,通信的双方必须都遵守才能正常收发数据),目前各层通用的协议参考如下:数据链路层协议(网络接口层协议):Ethernet802.3、TokenRing802.5、X.25、Framerelay、HDLC、PPPATM等。网络层协议:IP(InternetProtocol,英特网协议)、ICMP(InternetControlMessageProtocol,控制报文协议)、ARP(AddressResolutionProtocol,地址转换协议)、RARP(ReverseARP,反向地址转换协议)。传输层协议:TCP(TransmissionControlProtocol,传输控制协议)和UDP(UserDatagramprotocol,用户数据报协议)。应用层协议:FTP(FileTransferProtocol,文件传输协议)、TELNET(用户远程登录服务协议)、DNS(DomainNameService,是域名解析服务)、SMTP(SimpleMailTransferProtocol,简单邮件传输协议)、NFS(NetworkFileSystem,网络文件系统)、HTTP(HypertextTransferProtocol,超文本传输协议)。如图1所示,在传输过程中,上层的协议报文需要封装在下层的协议报文中进行传输(本专利技术中封装是指在上一层协议报文中增加下一层协议报文的首部和/或尾部)。网络芯片作为网络通信中的重要部件,主要用来处理上述各种协议报文,因此在测试时,以太报文发生器发送各种协议报文来模拟真实网络环境中的以太网报文流,从而达到验证芯片功能和性能的目的。以太网报文发生器的传统实现方式是完全采用C语言或者Verilog等编程语言进行编程实现的。从前文我们已经了解,以太网的协议报文非常复杂且多种多样,而且随着网络的进一步发展,协议可能发生改变甚至新增很多协议,此时传统的实现方式本文档来自技高网...

【技术保护点】
1.一种以太网报文的编程方法,其特征在于,所述方法包括:/n定义伪码的语法;/n根据以太网报文的格式,使用伪码表述所述以太网报文;/n根据伪码的语法与指定编程语言的对应关系,将伪码表述的所述以太网报文解析成指定编程语言。/n

【技术特征摘要】
1.一种以太网报文的编程方法,其特征在于,所述方法包括:
定义伪码的语法;
根据以太网报文的格式,使用伪码表述所述以太网报文;
根据伪码的语法与指定编程语言的对应关系,将伪码表述的所述以太网报文解析成指定编程语言。


2.根据权利要求1所述以太网报文的编程方法,其特征在于,所述“根据以太网报文的格式,使用伪码表述所述以太网报文”具体包括:
确定所述以太网报文的相关字段及字段间的组合关系;
使用伪码表述所述以太网报文的相关字段及字段间的组合关系。


3.根据权利要求1所述以太网报文的编程方法,其特征在于,所述伪码的语法具体包括:
片段,其用于表述一个以太网报文或报文片段,其包括片段开始关键字、片段名称、片段结束关键字和所述片段开始关键字与片段结束关键字之间的内容;
变量,其包含在片段的内容中,其包括变量关键字、变量名称、变量长度和变量默认值;
跳转字段,其包含在片段的内容中,其包括跳转关键字、条件表达式和指定片段名称,在满足所述条件表达式时,从当前片段跳转到所述指定片段,执行完所述指定片段的内容后继续往下执行当前片段的内容。


4.根据权利要求3所述以太网报文的编程方法,其特征在于:
所述伪码的语法还包括条件语法、重复语法和循环语法。


5.根据权利要求3所述的以太网报文的编程方法,其特征在于,所述方法还包括:
通过伪码的跳转字段,将多个以太网报文或...

【专利技术属性】
技术研发人员:唐飞陈誉亚
申请(专利权)人:盛科网络苏州有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1