CN108111493A - 一种激励报文的产生方法和装置 - Google Patents
一种激励报文的产生方法和装置 Download PDFInfo
- Publication number
- CN108111493A CN108111493A CN201711328240.4A CN201711328240A CN108111493A CN 108111493 A CN108111493 A CN 108111493A CN 201711328240 A CN201711328240 A CN 201711328240A CN 108111493 A CN108111493 A CN 108111493A
- Authority
- CN
- China
- Prior art keywords
- list
- message
- generation
- stored
- segment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/10—Mapping addresses of different types
- H04L61/103—Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/166—IP fragmentation; TCP segmentation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/663—Transport layer addresses, e.g. aspects of transmission control protocol [TCP] or user datagram protocol [UDP] ports
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Communication Control (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供一种在网络芯片验证过程中,生成生成激励报文生成模板的方法,在该激励报文生成模板中添加网络协议和删除网络协议的方法,以及基于该激励报文生成模板生成激励报文的方法;从而形成了一个规格化的生成激励报文的方法,从而便于用户生成激励报文。
Description
技术领域
本发明涉及芯片设计技术领域,尤其涉及一种激励报文的产生方法和装置。
背景技术
在网络芯片的研发过程中,完成网络芯片的设计之后,需要对该设计进行验证,例如,基于UVM(Universal Verification Methodology,通用验证方法学)方法学进行验证。可以理解的是,为了对该网络芯片进行更加全面的验证,需要生成很多种多样激励报文(例如,以太网、光网络或无线网络等),且为了验证网络芯片的设计的正确性,有时需要将该激励报文的某些字段修改成错误值。
在目前使用最广泛的TCP(Transmission Control Protocol,传输控制协议)/IP(Internet Protocol,因特网互联协议)协议族包括若干层(例如,自下而上可以分为四层:数据链路层、网络层、传输层和应用层),且每一层都还包含有若干协议,从而使得生成激励报文比较繁琐。传统的办法是手动修改配置文件、编写脚本、读取配置文件,但是配置文件中针对激励报文的每条流都有大量的配置信息,如果手动修改配置文件,可以理解的是,很容易犯错。
因此,设计一种用于芯片验证的、能够高效生成激励报文的方法,就成为一个亟待解决的问题。
发明内容
本发明的目的在于提供一种激励报文的产生方法和装置。
为了实现上述发明目的之一,本发明一实施方式提供了一种生成激励报文生成模板的方法,包括以下步骤:
创建对应到传输层的传输层列表,所述传输层列表存储有若干列表元素,列表元素对应到唯一的传输层协议、且存储有生成所对应的传输层协议首部、尾部和/或报文的片段;
创建对应到网络层的网络层列表,所述网络层列表存储有若干列表元素,列表元素对应到唯一的网络层协议、且存储有生成所对应的网络层协议首部、尾部和/或报文的片段;
创建对应到数据链路层的数据链路层列表,所述数据链路层列表存储有若干列表元素,列表元素对应到唯一的数据链路层协议、且存储有生成所对应的数据链路层协议首部、尾部和/或报文的片段;
创建报文链表,所述报文链表依次存储有传输层列表、网络层列表和数据链路层列表。
作为本发明一实施方式的进一步改进,所述传输层列表存储有若干列表元素,列表元素对应到唯一的传输层协议、且存储有生成所对应的传输层协议首部、尾部和/或报文的片段,包括:所述传输层列表存储有TCP列表元素和UDP列表元素,所述TCP列表元素对应到TCP协议、且存储有生成TCP协议首部的片段,所述UDP列表元素对应到UDP协议、且存储有生成UDP协议首部的片段。
作为本发明一实施方式的进一步改进,所述网络层列表存储有若干列表元素,列表元素对应到唯一的网络层协议、且存储有生成所对应的网络层协议首部、尾部和/或报文的片段,包括:所述网络层列表依次存储有IP列表元素、ARP列表元素和ICMP列表元素,所述IP列表元素对应到IP协议、且存储有生成IP协议首部的片段,所述ARP列表元素对应到ARP协议、且存储有生成ARP协议报文的片段,所述ICMP列表元素对应到ICMP协议、且存储有生成ICMP协议报文的片段。
作为本发明一实施方式的进一步改进,所述数据链路层列表存储有若干列表元素,列表元素对应到唯一的数据链路层协议、且存储有生成所对应的数据链路层协议首部、尾部和/或报文的片段,包括:
所述数据链路层列表依次存储有以太网片段,所述以太网片段对应到以太网协议、且存储有生成以太网协议首部和尾部的片段。
本发明一实施方式提供了一种激励报文生成模板的装置,包括以下模块:传输层模块,用于创建对应到传输层的传输层列表,所述传输层列表存储有若干列表元素,列表元素对应到唯一的传输层协议、且存储有生成所对应的传输层协议首部、尾部和/或报文的片段;网络层模块,用于创建对应到网络层的网络层列表,所述网络层列表存储有若干列表元素,列表元素对应到唯一的网络层协议、且存储有生成所对应的网络层协议首部、尾部和/或报文的片段;数据链路层模块,创建对应到数据链路层的数据链路层列表,所述数据链路层列表存储有若干列表元素,列表元素对应到唯一的数据链路层协议、且存储有生成所对应的数据链路层协议首部、尾部和/或报文的片段;报文链表模块,用于创建报文链表,所述报文链表依次存储有传输层列表、网络层列表和数据链路层列表。
本发明一实施方式提供了一种用于在激励报文模板中增加网络协议的方法,包括以下步骤:
获取网络协议和用于生成该网络协议首部、尾部和/或报文的片段;
生成列表元素,所述列表元素存储有用于生成该网络协议首部、尾部和/或报文的片段;
获取所述网络协议所属的层,并从所述报文链表中获取所述层对应的列表,并在所述列表中添加所述列表元素。
本发明一实施方式提供了一种用于在激励报文模板中增加网络协议的装置,包括以下模块:第一接收模块,用于获取网络协议和用于生成该网络协议首部、尾部和/或报文的片段;列表元素生成模块,用于生成列表元素,所述列表元素存储有用于生成该网络协议首部、尾部和/或报文的片段;列表修改模块,用于获取所述网络协议所属的层,并从所述报文链表中获取所述层对应的列表,并在所述列表中添加所述列表元素。
本发明一实施方式提供了一种用于在激励报文模板删除网络协议的方法,包括以下步骤:
获取网络协议;
从所述报文链表中获取所述网络协议所对应的列表,并在所述列表中删除所述网络协议对应的列表元素。
本发明一实施方式提供了一种用于在生成激励报文的数据结构删除网络协议的装置,包括以下模块:第二接收模块,用于获取网络协议;列表元素删除模块,用于从所述报文链表中获取所述网络协议所对应的列表,并在所述列表中删除所述网络协议对应的列表元素。
本发明一实施方式提供了一种生成激励报文的方法,包括以下步骤:
获激励报文的属性信息,所述属性信息包含有该激励报文所对应的层、以及在所述层及所述层下面的所有层中所对应的网络协议;
从所述报文链表中获取所述层对应的第一列表、以及在第一列表中对应的第一列表元素,依据第一列表元素中的片段生成激励报文;
按照次序获取所述第一列表在所述报文列表中的后续的若干第二列表,并按照次序对每个第二列表进行以下处理,从第二列表中获取所述激励报文对应的第二列表元素,依据所述第二列表元素中的片段生成激励报文所对应的首部和/或尾部,并在所述激励报文的前端添加前部、和/或尾端添加尾部。
作为本发明一实施方式的进一步改进所述依据第一列表元素中的片段生成激励报文,包括:依据第一列表元素中的片段生成激励报文,并将所述激励报文中的预设字段设置为错误值。
作为本发明一实施方式的进一步改进所述依据所述第二列表元素中的片段生成激励报文所对应的首部和/或尾部,包括:依据所述第二列表元素中的片段生成激励报文所对应的首部和/或尾部,并将首部和/或尾部中的预设字段设置为错误值。
本发明一实施方式提供了一种一种生成激励报文的装置,包括以下模块:第三接收模块,用于获取网络协议的属性信息;第一激励报文生成模块,用于依据所述属性信息从所述报文链表中获取所述网络协议所对应的第一列表、以及在第一列表中对应的第一列表元素,依据第一列表元素中的片段生成激励报文;第二激励报文生成模块,用于按照次序获取所述第一列表在所述报文列表中的后续的若干第二列表,并对每个第一列表进行以下处理,依据所述属性信息从第二列表中获取所述网络协议对应的第二列表元素,依据所述第一列表元素中的片段生成激励报文所对应的首部和/或尾部,并在所述激励报文的前端添加前部、和/或尾端添加尾部。
相对于现有技术,本发明的技术效果在于:本发明实施例提供了一种在网络芯片验证过程中,生成生成激励报文生成模板的方法,在该激励报文生成模板中添加网络协议和删除网络协议的方法,以及基于该激励报文生成模板生成激励报文的方法;从而形成了一个规格化的生成激励报文的方法,从而便于用户生成激励报文。
附图说明
图1是本发明实施例一提供的生成激励报文生成模板的方法的流程示意图;
图2是本发明实施例二提供的用于在激励报文模板中增加网络协议的方法的流程示意图;
图3是本发明实施例三提供的用于在激励报文模板中删除网络协议的方法的流程示意图;
图4是本发明实施例三提供的生成激励报文的方法的流程示意图。
具体实施方式
以下将结合附图所示的各实施方式对本发明进行详细描述。但这些实施方式并不限制本发明,本领域的普通技术人员根据这些实施方式所做出的结构、方法、或功能上的变换均包含在本发明的保护范围内。
这里,英文字母缩写的含义如下:
TCP:Transport Control Protocol,传输控制协议;
IP,Internet Protocol,因特网互联协议;
UDP:User Datagram Protocol,用户数据包协议;
IP:Internet Protocol,因特网互联协议;
ARP:Address Resolution Protocol,地址解析协议;
ICMP:Internet Control Message Protocol,因特网控制报文协议。
TCP/IP协议族自下而上可以分为四层:数据链路层、网络层、传输层和应用层;在实际中,网络芯片(例如,网卡等)通常只涉及到数据链路层、网络层和传输层,因此,在本发明实施例中,激励报文也仅仅涉及到数据链路层、网络层和传输层。
本发明实施例一提供了一种生成激励报文生成模板的方法,如图1所示,包括以下步骤:
步骤101:创建对应到传输层的传输层列表,所述传输层列表存储有若干列表元素,列表元素对应到唯一的传输层协议、且存储有生成所对应的传输层协议首部、尾部和/或报文的片段;这里,在该传输层列表中存储有若干列表元素,每个列表元素都对应到不同的传输层协议(例如,对应到TCP协议、UDP协议等);可以理解的是,随着技术的发展,传输层有可能会添加新协议,因此,如果要生成符合该新协议的报文,只需要在传输层列表中添加该新协议对应的列表元素即可,从而极大的扩展了该激励报文模板的适用范围。
这里,每个列表元素都对应到唯一的传输层协议,因此,可以在列表元素中存储有能够唯一标识该传输层协议的标识符,从而基于该标识符就可以获得列表元素所对应的传输层协议;例如,TCP协议的标识符为字符串“TCP”,UDP协议的标识符为字符串“UDP”。
这里,传输层列表对应到传输层,因此,可以在描述传输层列表的数据结构中存储有能够唯一标识传输层的标识符(例如,该标识符可以为字符串“Transport Layer”),从而传输层列表就通过该标识符与传输层列表之间建立对应关系。这里,所述传输层列表的数据结构为列表,但也可以为数组或链表等。
在传输层中,TCP、UDP等协议都会依据从应用层接收到的传输数据生成相应的首部和尾部,然后在该传输数据的前端填充首部、和/或尾端填充尾部,则所述片段就可以用于依据该传输数据生成对应的前部或尾部;而如果在传输层中的某些协议不会从应用层接收传输数据,则需要生成该协议对应的报文,则所述片段就可以用于生成该协议对应的报文。可选的,使用UVM类来编写所述片段,例如,通过调用build函数创建传输层列表,通过调用build_seg函数创建元素列表。
步骤102:创建对应到网络层的网络层列表,所述网络层列表存储有若干列表元素,列表元素对应到唯一的网络层协议、且存储有生成所对应的网络层协议首部、尾部和/或报文的片段;这里,在该网络层列表中存储有若干列表元素,每个列表元素都对应到不同的网络层协议(例如,对应到IP、ARP和ICMP协议等);可以理解的是,随着技术的发展,网络层有可能会添加新协议,因此,如果要生成符合该新协议的报文,只需要在网络层列表中添加该新协议对应的列表元素即可,从而极大的扩展了该激励报文模板的适用范围。
这里,每个列表元素都对应到唯一的网络层协议,因此,可以在列表元素中存储有能够唯一标识该网络层协议的标识符,从而基于该标识符就可以获得列表元素所对应的网络层协议;例如,IP协议的标识符为字符串“IP”,ARP协议的标识符为字符串“ARP”,ICMP协议的标识符为字符串“ICMP”。
这里,网络层列表对应到网络层,因此,可以在描述网络层列表的数据结构中存储有能够唯一标识网络层的标识符(例如,该标识符可以为字符串“NetWork Layer”),从而网络层列表就通过该标识符与网络层列表之间建立对应关系。这里,所述网络层列表的数据结构为列表,但也可以为数组或链表等。
在网络层中,IP等协议都会依据从应用层接收到的传输数据生成相应的首部和尾部,然后在该传输数据的前端填充首部、和/或尾端填充尾部,则所述片段就可以用于依据该传输数据生成对应的前部或尾部;而ARP、ICMP等协议不会从传输层接收传输数据,因此需要生成该协议对应的报文,则所述片段就可以用于生成该协议对应的报文。可选的,使用UVM类来编写所述片段,例如,通过调用build函数创建网络层列表,通过调用build_seg函数创建元素列表。
步骤103:创建对应到数据链路层的数据链路层列表,所述数据链路层列表存储有若干列表元素,列表元素对应到唯一的数据链路层协议、且存储有生成所对应的数据链路层协议首部、尾部和/或报文的片段;这里,在该数据链路层列表中存储有若干列表元素,每个列表元素都对应到不同的数据链路层协议(例如,对应到以太网、令牌环网,IEEE 802.2、IEEE 802.3和IEEE 802.11等协议);可以理解的是,随着技术的发展,数据链路层有可能会添加新协议,因此,如果要生成符合该新协议的报文,只需要在数据链路层列表中添加该新协议对应的列表元素即可,从而极大的扩展了该激励报文模板的适用范围。
这里,每个列表元素都对应到唯一的数据链路层协议,因此,可以在列表元素中存储有能够唯一标识该数据链路层协议的标识符,从而基于该标识符就可以获得列表元素所对应的数据链路层协议;例如,以太网协议的标识符为字符串“Ethernet”。
这里,数据链路层列表对应到数据链路层,因此,可以在描述数据链路层列表的数据结构中存储有能够唯一标识数据链路层的标识符(例如,该标识符可以为字符串“LinkLayer”),从而数据链路层列表就通过该标识符与数据链路层列表之间建立对应关系。这里,所述数据链路层列表的数据结构为列表,但也可以为数组或链表等。
在数据链路层中,以太网等协议都会依据从应用层接收到的传输数据生成相应的首部和尾部,然后在该传输数据的前端填充首部、和/或尾端填充尾部,则所述片段就可以用于依据该传输数据生成对应的前部或尾部;而如果在数据链路层中的某些协议不会从网络层接收传输数据,因此需要生成该协议对应的报文,则所述片段就可以用于生成该协议对应的报文。可选的,使用UVM类来编写所述片段,例如,通过调用build函数创建数据链路层列表,通过调用build_seg函数创建元素列表。
步骤104:创建报文链表,所述报文链表依次存储有传输层列表、网络层列表和数据链路层列表。这里,可以理解,报文链表依次存储有链表头和三个链表元素,即链表头à第一链表元素(存储有指向传输层列表的链接)à第二链表元素(存储有指向网络层列表的链接)à第三链表元素(存储有指向数据链路层列表的链接),且链表头包含有指向第一链表元素的链接,第一链表元素包含有指向第二链表元素的链接,第二链表元素包含有指向第三链表元素的链接,而第三链表元素的链接为空。这里,报文链表可以为单向链表,也可以为双向链表;
优选的,所述传输层列表存储有若干列表元素,列表元素对应到唯一的传输层协议、且存储有生成所对应的传输层协议首部、尾部和/或报文的片段,包括:所述传输层列表存储有TCP列表元素和UDP列表元素,所述TCP列表元素对应到TCP协议、且存储有生成TCP协议首部的片段,所述UDP列表元素对应到UDP协议、且存储有生成UDP协议首部的片段。TCP协议和UDP协议是传输层的非常重要的协议,因此,需要包含有生成符合这两种协议的列表元素。
优选的,所述网络层列表存储有若干列表元素,列表元素对应到唯一的网络层协议、且存储有生成所对应的网络层协议首部、尾部和/或报文的片段,包括:所述网络层列表依次存储有IP列表元素、ARP列表元素和ICMP列表元素,所述IP列表元素对应到IP协议、且存储有生成IP协议首部的片段,所述ARP列表元素对应到ARP协议、且存储有生成ARP协议报文的片段,所述ICMP列表元素对应到ICMP协议、且存储有生成ICMP协议报文的片段。IP片段、ARP片段和ICMP片段是网络层的非常重要的协议,因此,需要包含有生成符合这些协议的列表元素。
优选的,所述数据链路层列表存储有若干列表元素,列表元素对应到唯一的数据链路层协议、且存储有生成所对应的数据链路层协议首部、尾部和/或报文的片段,包括:所述数据链路层列表依次存储有以太网片段,所述以太网片段对应到以太网协议、且存储有生成以太网协议首部和尾部的片段。以太网协议是数据链路层的非常重要的协议,因此,需要包含有生成符合这些协议的列表元素。
本发明实施例提供了一种激励报文生成模板的装置,包括以下模块:
传输层模块,用于创建对应到传输层的传输层列表,所述传输层列表存储有若干列表元素,列表元素对应到唯一的传输层协议、且存储有生成所对应的传输层协议首部、尾部和/或报文的片段;
网络层模块,用于创建对应到网络层的网络层列表,所述网络层列表存储有若干列表元素,列表元素对应到唯一的网络层协议、且存储有生成所对应的网络层协议首部、尾部和/或报文的片段;
数据链路层模块,创建对应到数据链路层的数据链路层列表,所述数据链路层列表存储有若干列表元素,列表元素对应到唯一的数据链路层协议、且存储有生成所对应的数据链路层协议首部、尾部和/或报文的片段;
报文链表模块,用于创建报文链表,所述报文链表依次存储有传输层列表、网络层列表和数据链路层列表。
本发明实施例二提供了一种用于在激励报文模板中增加网络协议的方法,如图2所示,包括以下步骤:
步骤201:获取网络协议和用于生成该网络协议首部、尾部和/或报文的片段;这里,用于生成该网络协议首部、尾部和/或报文的片段可以由用户编写并输入。
步骤202:生成列表元素,所述列表元素存储有用于生成该网络协议首部、尾部和/或报文的片段;这里,所述列表元素为能够添加传输层列表、网络层列表或数据链路层列表的列表元素。可选的,所述列表元素中存储有协议标识符。
步骤203:获取所述网络协议所属的层,并从所述报文链表中获取所述层对应的列表,并在所述列表中添加所述列表元素。这里,由于激励报文模板中的每个列表(即传输层列表,网络层列表和数据链路层列表中的任一)都对应到一个层,因此,很容易获取该层对应的列表。例如,每个层都对应一个能够唯一标识该层的标识符,如果某个列表的数据结构中标识符等于该层对应的标识符,则该层对应到该列表。
本发明实施例提供了一种用于在激励报文模板中增加网络协议的装置,包括以下模块:第一接收模块,用于获取网络协议和用于生成该网络协议首部、尾部和/或报文的片段;列表元素生成模块,用于生成列表元素,所述列表元素存储有用于生成该网络协议首部、尾部和/或报文的片段;列表修改模块,用于获取所述网络协议所属的层,并从所述报文链表中获取所述层对应的列表,并在所述列表中添加所述列表元素。
本发明实施例三提供了一种用于在激励报文模板删除网络协议的方法,如图3所示,包括以下步骤:
步骤301:获取网络协议;
步骤302:从所述报文链表中获取所述网络协议所对应的列表,并在所述列表中删除所述网络协议对应的列表元素。这里,由于激励报文模板中的每个列表(即传输层列表,网络层列表和数据链路层列表中的任一)都对应到一个层,因此,很容易获取该层对应的列表;且由于每个列表中的每个列表元素都对应到一个网络协议,因此,很容易获取该网络协议对应的列表元素。例如,每个层都对应一个能够标识该层的标识符,如果某个列表的数据结构中标识符等于该层对应的标识符,则该层对应到该列表;与此类似,每个网络协议都对应一个能够唯一标识该网络协议的标识符,如果某个列表元素中的标识符等于该网络协议对应的标识符,则该网络协议对应到该列表元素。
本发明实施例还提供了一种用于在生成激励报文的数据结构删除网络协议的装置,包括以下模块:
第二接收模块,用于获取网络协议;
列表元素删除模块,用于从所述报文链表中获取所述网络协议所对应的列表,并在所述列表中删除所述网络协议对应的列表元素。
本发明实施例四提供了一种生成激励报文的方法,如图4所示,包括以下步骤:
步骤401:获激励报文的属性信息,所述属性信息包含有该激励报文所对应的层、以及在所述层及所述层下面的所有层中所对应的网络协议;TCP/IP协议族是以一个层层包裹的方式来生成报文的,例如,要生成符合TCP协议的激励报文,该激励报文的属性信息就需要包含其对应的传输层以及在传输层中对应的网络协议、网络层以及在网络层中对应的网络协议、数据链路层以及在数据链路层中对应的网络协议。
步骤402:从所述报文链表中获取所述层对应的第一列表、以及在第一列表中对应的第一列表元素,依据第一列表元素中的片段生成激励报文;
步骤403:按照次序获取所述第一列表在所述报文列表中的后续的若干第二列表,并按照次序对每个第二列表进行以下处理,从第二列表中获取所述激励报文对应的第二列表元素,依据所述第二列表元素中的片段生成激励报文所对应的首部和/或尾部,并在所述激励报文的前端添加前部、和/或尾端添加尾部。例如:如果要生成符合TCP协议的激励报文,则可以理解的是,需要调用TCP协议生成激励报文;然后在由网络层中的协议(例如,IP协议)在该激励报文的前端填充首部,和/或在尾端填充尾部;然后在由数据链路层中的协议(例如,以太网协议)在该激励报文的前端填充首部,和/或在尾端填充尾部,从而就生成了激励报文。
这里,可以通过UVM类中的post_build函数,计算每个片段对应协议所定义的CRC,Checksum等等。
优选的,所述依据第一列表元素中的片段生成激励报文,包括:依据第一列表元素中的片段生成激励报文,并将所述激励报文中的预设字段设置为错误值。
优选的,所述依据所述第二列表元素中的片段生成激励报文所对应的首部和/或尾部,包括:依据所述第二列表元素中的片段生成激励报文所对应的首部和/或尾部,并将首部和/或尾部中的预设字段设置为错误值。
在实际的验证中,有时候需要将某些字段的值设置成错误值。这里,可以通过UVM类中的的改写函数来将预设字段设置为错误值。
本发明实施例提供了一种生成激励报文的装置,包括以下模块:
第三接收模块,用于获取网络协议的属性信息;
第一激励报文生成模块,用于依据所述属性信息从所述报文链表中获取所述网络协议所对应的第一列表、以及在第一列表中对应的第一列表元素,依据第一列表元素中的片段生成激励报文;
第二激励报文生成模块,用于按照次序获取所述第一列表在所述报文列表中的后续的若干第二列表,并对每个第一列表进行以下处理,依据所述属性信息从第二列表中获取所述网络协议对应的第二列表元素,依据所述第一列表元素中的片段生成激励报文所对应的首部和/或尾部,并在所述激励报文的前端添加前部、和/或尾端添加尾部。
应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施方式中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。
Claims (13)
1.一种生成激励报文生成模板的方法,其特征在于,包括以下步骤:
创建对应到传输层的传输层列表,所述传输层列表存储有若干列表元素,列表元素对应到唯一的传输层协议、且存储有生成所对应的传输层协议首部、尾部和/或报文的片段;
创建对应到网络层的网络层列表,所述网络层列表存储有若干列表元素,列表元素对应到唯一的网络层协议、且存储有生成所对应的网络层协议首部、尾部和/或报文的片段;
创建对应到数据链路层的数据链路层列表,所述数据链路层列表存储有若干列表元素,列表元素对应到唯一的数据链路层协议、且存储有生成所对应的数据链路层协议首部、尾部和/或报文的片段;
创建报文链表,所述报文链表依次存储有传输层列表、网络层列表和数据链路层列表。
2.根据权利要求1所述的生成激励报文生成模板的方法,其特征在于,所述传输层列表存储有若干列表元素,列表元素对应到唯一的传输层协议、且存储有生成所对应的传输层协议首部、尾部和/或报文的片段,包括:
所述传输层列表存储有TCP列表元素和UDP列表元素,所述TCP列表元素对应到TCP协议、且存储有生成TCP协议首部的片段,所述UDP列表元素对应到UDP协议、且存储有生成UDP协议首部的片段。
3.根据权利要求1所述的生成激励报文生成模板的方法,其特征在于,所述网络层列表存储有若干列表元素,列表元素对应到唯一的网络层协议、且存储有生成所对应的网络层协议首部、尾部和/或报文的片段,包括:
所述网络层列表依次存储有IP列表元素、ARP列表元素和ICMP列表元素,所述IP列表元素对应到IP协议、且存储有生成IP协议首部的片段,所述ARP列表元素对应到ARP协议、且存储有生成ARP协议报文的片段,所述ICMP列表元素对应到ICMP协议、且存储有生成ICMP协议报文的片段。
4.根据权利要求1所述的生成激励报文生成模板的方法,其特征在于,所述数据链路层列表存储有若干列表元素,列表元素对应到唯一的数据链路层协议、且存储有生成所对应的数据链路层协议首部、尾部和/或报文的片段,包括:
所述数据链路层列表依次存储有以太网片段,所述以太网片段对应到以太网协议、且存储有生成以太网协议首部和尾部的片段。
5.一种激励报文生成模板的装置,其特征在于,包括以下模块:
传输层模块,用于创建对应到传输层的传输层列表,所述传输层列表存储有若干列表元素,列表元素对应到唯一的传输层协议、且存储有生成所对应的传输层协议首部、尾部和/或报文的片段;
网络层模块,用于创建对应到网络层的网络层列表,所述网络层列表存储有若干列表元素,列表元素对应到唯一的网络层协议、且存储有生成所对应的网络层协议首部、尾部和/或报文的片段;
数据链路层模块,创建对应到数据链路层的数据链路层列表,所述数据链路层列表存储有若干列表元素,列表元素对应到唯一的数据链路层协议、且存储有生成所对应的数据链路层协议首部、尾部和/或报文的片段;
报文链表模块,用于创建报文链表,所述报文链表依次存储有传输层列表、网络层列表和数据链路层列表。
6.一种用于在激励报文模板中增加网络协议的方法,其特征在于,包括以下步骤:
获取网络协议和用于生成该网络协议首部、尾部和/或报文的片段;
生成列表元素,所述列表元素存储有用于生成该网络协议首部、尾部和/或报文的片段;
获取所述网络协议所属的层,并从所述报文链表中获取所述层对应的列表,并在所述列表中添加所述列表元素。
7.一种用于在激励报文模板中增加网络协议的装置,其特征在于,包括以下模块:
第一接收模块,用于获取网络协议和用于生成该网络协议首部、尾部和/或报文的片段;
列表元素生成模块,用于生成列表元素,所述列表元素存储有用于生成该网络协议首部、尾部和/或报文的片段;
列表修改模块,用于获取所述网络协议所属的层,并从所述报文链表中获取所述层对应的列表,并在所述列表中添加所述列表元素。
8.一种用于在激励报文模板删除网络协议的方法,其特征在于,包括以下步骤:
获取网络协议;
从所述报文链表中获取所述网络协议所对应的列表,并在所述列表中删除所述网络协议对应的列表元素。
9.一种用于在生成激励报文的数据结构删除网络协议的装置,其特征在于,包括以下模块:
第二接收模块,用于获取网络协议;
列表元素删除模块,用于从所述报文链表中获取所述网络协议所对应的列表,并在所述列表中删除所述网络协议对应的列表元素。
10.一种生成激励报文的方法,其特征在于,包括以下步骤:
获激励报文的属性信息,所述属性信息包含有该激励报文所对应的层、以及在所述层及所述层下面的所有层中所对应的网络协议;
从所述报文链表中获取所述层对应的第一列表、以及在第一列表中对应的第一列表元素,依据第一列表元素中的片段生成激励报文;
按照次序获取所述第一列表在所述报文列表中的后续的若干第二列表,并按照次序对每个第二列表进行以下处理,从第二列表中获取所述激励报文对应的第二列表元素,依据所述第二列表元素中的片段生成激励报文所对应的首部和/或尾部,并在所述激励报文的前端添加前部、和/或尾端添加尾部。
11.根据权利要求10所述的生成激励报文的方法,其特征在于,
所述依据第一列表元素中的片段生成激励报文,包括:依据第一列表元素中的片段生成激励报文,并将所述激励报文中的预设字段设置为错误值。
12.根据权利要求10所述的生成激励报文的方法,其特征在于,
所述依据所述第二列表元素中的片段生成激励报文所对应的首部和/或尾部,包括:依据所述第二列表元素中的片段生成激励报文所对应的首部和/或尾部,并将首部和/或尾部中的预设字段设置为错误值。
13.一种生成激励报文的装置,其特征在于,包括以下模块:
第三接收模块,用于获取网络协议的属性信息;
第一激励报文生成模块,用于依据所述属性信息从所述报文链表中获取所述网络协议所对应的第一列表、以及在第一列表中对应的第一列表元素,依据第一列表元素中的片段生成激励报文;
第二激励报文生成模块,用于按照次序获取所述第一列表在所述报文列表中的后续的若干第二列表,并对每个第一列表进行以下处理,依据所述属性信息从第二列表中获取所述网络协议对应的第二列表元素,依据所述第一列表元素中的片段生成激励报文所对应的首部和/或尾部,并在所述激励报文的前端添加前部、和/或尾端添加尾部。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711328240.4A CN108111493A (zh) | 2017-12-13 | 2017-12-13 | 一种激励报文的产生方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711328240.4A CN108111493A (zh) | 2017-12-13 | 2017-12-13 | 一种激励报文的产生方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108111493A true CN108111493A (zh) | 2018-06-01 |
Family
ID=62216635
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711328240.4A Withdrawn CN108111493A (zh) | 2017-12-13 | 2017-12-13 | 一种激励报文的产生方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108111493A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111645731A (zh) * | 2020-08-03 | 2020-09-11 | 湖南中车时代通信信号有限公司 | 一种应答器报文的自动生成方法、系统及装置 |
CN112839057A (zh) * | 2021-02-09 | 2021-05-25 | 芯河半导体科技(无锡)有限公司 | 一种灵活可扩展的以太网报文激励发生器 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1708016A (zh) * | 2004-06-08 | 2005-12-14 | 华为技术有限公司 | 激励报文的产生方法、装置以及逻辑检测设备 |
CN1941695A (zh) * | 2005-09-29 | 2007-04-04 | 华为技术有限公司 | 初始接入网络过程的密钥生成和分发的方法及系统 |
CN101188561A (zh) * | 2007-12-20 | 2008-05-28 | 北京大学 | 基于自定义模板的通用业务数据通讯方法与系统 |
CN101483533A (zh) * | 2008-01-09 | 2009-07-15 | 华为技术有限公司 | 区分二三层属性的方法、系统及装置 |
CN101521615A (zh) * | 2009-03-31 | 2009-09-02 | 深圳创维数字技术股份有限公司 | 一种异种网络之间的通信方法及智能设备的互联网络 |
CN102255972A (zh) * | 2011-08-10 | 2011-11-23 | 北京邮电大学 | 6LoWPAN网络中面向HTTP协议的TCP首部压缩方法 |
CN104041095A (zh) * | 2012-08-22 | 2014-09-10 | 华为技术有限公司 | 深度报文检测解析结果共享获取方法、系统及其相应设备 |
CN104601255A (zh) * | 2014-12-31 | 2015-05-06 | 曙光信息产业(北京)有限公司 | 线卡的测试方法和装置 |
CN105227407A (zh) * | 2015-10-16 | 2016-01-06 | 邦讯技术股份有限公司 | 一种协议调试方法、装置及系统 |
CN105704083A (zh) * | 2014-11-24 | 2016-06-22 | 中兴通讯股份有限公司 | 以太网激励报文的产生方法、装置及仿真系统 |
CN105991712A (zh) * | 2015-02-12 | 2016-10-05 | 林琳 | 一种网络加速装置 |
CN107070738A (zh) * | 2017-02-21 | 2017-08-18 | 济南浪潮高新科技投资发展有限公司 | 一种tcp协议传输数据原理可视化的方法和系统 |
CN107124396A (zh) * | 2017-03-16 | 2017-09-01 | 国网江苏省电力公司淮安供电公司 | 一种用于iec61850的goose报文机器数据的结构化处理的方法 |
-
2017
- 2017-12-13 CN CN201711328240.4A patent/CN108111493A/zh not_active Withdrawn
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1708016A (zh) * | 2004-06-08 | 2005-12-14 | 华为技术有限公司 | 激励报文的产生方法、装置以及逻辑检测设备 |
CN1941695A (zh) * | 2005-09-29 | 2007-04-04 | 华为技术有限公司 | 初始接入网络过程的密钥生成和分发的方法及系统 |
CN101188561A (zh) * | 2007-12-20 | 2008-05-28 | 北京大学 | 基于自定义模板的通用业务数据通讯方法与系统 |
CN101483533A (zh) * | 2008-01-09 | 2009-07-15 | 华为技术有限公司 | 区分二三层属性的方法、系统及装置 |
CN101521615A (zh) * | 2009-03-31 | 2009-09-02 | 深圳创维数字技术股份有限公司 | 一种异种网络之间的通信方法及智能设备的互联网络 |
CN102255972A (zh) * | 2011-08-10 | 2011-11-23 | 北京邮电大学 | 6LoWPAN网络中面向HTTP协议的TCP首部压缩方法 |
CN104041095A (zh) * | 2012-08-22 | 2014-09-10 | 华为技术有限公司 | 深度报文检测解析结果共享获取方法、系统及其相应设备 |
CN105704083A (zh) * | 2014-11-24 | 2016-06-22 | 中兴通讯股份有限公司 | 以太网激励报文的产生方法、装置及仿真系统 |
CN104601255A (zh) * | 2014-12-31 | 2015-05-06 | 曙光信息产业(北京)有限公司 | 线卡的测试方法和装置 |
CN105991712A (zh) * | 2015-02-12 | 2016-10-05 | 林琳 | 一种网络加速装置 |
CN105227407A (zh) * | 2015-10-16 | 2016-01-06 | 邦讯技术股份有限公司 | 一种协议调试方法、装置及系统 |
CN107070738A (zh) * | 2017-02-21 | 2017-08-18 | 济南浪潮高新科技投资发展有限公司 | 一种tcp协议传输数据原理可视化的方法和系统 |
CN107124396A (zh) * | 2017-03-16 | 2017-09-01 | 国网江苏省电力公司淮安供电公司 | 一种用于iec61850的goose报文机器数据的结构化处理的方法 |
Non-Patent Citations (1)
Title |
---|
谢喆: "基于FPGA的TCP/IP数据通信的设计与应用", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111645731A (zh) * | 2020-08-03 | 2020-09-11 | 湖南中车时代通信信号有限公司 | 一种应答器报文的自动生成方法、系统及装置 |
CN112839057A (zh) * | 2021-02-09 | 2021-05-25 | 芯河半导体科技(无锡)有限公司 | 一种灵活可扩展的以太网报文激励发生器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108293020B (zh) | 基础设施独有的服务转发 | |
CN106878138B (zh) | 一种报文传输方法和装置 | |
US20160139892A1 (en) | Parser engine programming tool for programmable network devices | |
CN105279254B (zh) | 版式数据流文件系统及其操作装置和其操作装置的实现方法 | |
CN106068627B (zh) | 用于在vpn网关处识别数据会话的方法和系统 | |
US20100027429A1 (en) | Packet Switch Modeling and Using a Packet Switch Model to Test a Packet Switch | |
CN103513998A (zh) | 升级包生成方法和装置、动态文件差分升级的方法和终端 | |
CN105871602A (zh) | 一种统计流量的控制方法、装置和系统 | |
JP6655524B2 (ja) | ネットワーク管理装置、方法及びプログラム | |
CN107517157A (zh) | 一种路径确定方法、装置和系统 | |
CN101547184A (zh) | 一种用于对网络传输的数据块进行验证的方法和装置 | |
CN106888152B (zh) | 一种消息处理方法、装置和系统 | |
CN108111493A (zh) | 一种激励报文的产生方法和装置 | |
Chou et al. | Mastering Python Networking: Your one-stop solution to using Python for network automation, programmability, and DevOps | |
CN105704083A (zh) | 以太网激励报文的产生方法、装置及仿真系统 | |
CN108964964A (zh) | 一种网络拓扑显示方法和装置 | |
CN108737127A (zh) | 一种信息通告方法及装置 | |
Beckett et al. | Katra: Realtime verification for multilayer networks | |
Chambart et al. | Mixing lossy and perfect fifo channels | |
US8045553B2 (en) | Processing, forming, modifying, and comparing packet data structures | |
CN108259335A (zh) | 路径探测方法和装置 | |
CN105072212B (zh) | 对码方法与对码系统 | |
CN105812345A (zh) | 一种实现网页到客户端通信的方法及装置 | |
CN106533880A (zh) | 一种在云服务器上搭建vpn服务的方法及装置 | |
JP6762911B2 (ja) | パケット識別装置およびパケット識別方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20180601 |
|
WW01 | Invention patent application withdrawn after publication |