CN110417813B - 出栈网络处理器及网络数据出栈处理方法 - Google Patents
出栈网络处理器及网络数据出栈处理方法 Download PDFInfo
- Publication number
- CN110417813B CN110417813B CN201910784020.5A CN201910784020A CN110417813B CN 110417813 B CN110417813 B CN 110417813B CN 201910784020 A CN201910784020 A CN 201910784020A CN 110417813 B CN110417813 B CN 110417813B
- Authority
- CN
- China
- Prior art keywords
- module
- instruction
- data
- data frame
- network
- 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.)
- Active
Links
Images
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/12—Protocol engines
-
- 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/164—Adaptation or special uses of UDP protocol
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0006—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
- H04L1/0007—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format by modifying the frame length
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- 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/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供一种出栈网络处理器及网络数据出栈处理方法,该网络处理器包括:存储模块,包括报头存储器及载荷存储器,用于分别存储协议报头和数据载荷;成帧模块,用于根据操作指令从存储模块中获取对应协议报头和数据载荷,并对获取的协议报头进行预设部位的替换或插入操作后,输出待校验数据帧;校验模块,用于对所述待校验数据帧进行校验后,得到校验结果;所述成帧模块,还用于根据所述待校验数据帧和所述校验结果,得到最终数据帧,并输出到网络。该网络处理器无需对整个最终数据帧进行存储后发送,能够减小因存储导致的延时。且通过网络硬件模块实现,能够有效减小计算延时。
Description
技术领域
本发明涉及通信系统中的转发技术领域,尤其涉及一种出栈网络处理器及网络数据出栈处理方法。
背景技术
网络处理器(NP)是一种可编程的设备,可以在线速下实时处理网络中的数据包和数据帧,广泛用于移动通信,宽带通信,接入通信,工业控制等。网络处理器也分为入栈处理器和出栈处理器两种,入栈处理器是对网络数据进行拆包,对报头信息进行拆解、分析、处理以得到最终有用信息;而出栈处理器则是将报头信息经过计算后封装在数据载荷上形成新的报文,并将报文发送出去。
网络处理器分为快通路处理器和慢通路处理器,快通路处理器完成拆包和打包的实时处理,慢通路处理器负责路由等网络控制和质量等管理。传统的快通路处理器是基于ASIC的设计方法,处理器速度快但是不可编程,灵活性不够高。如今的网络传输机制是复杂且分层的,比如链路层的Ethernet、ATM、PPTP协议,网络层的IP、MPLS、ICMP、ARP协议,传输层的TCP、UDP协议等。随着网络技术的发展,更多的协议逐渐产生或者不断改进,比如用于工业以太网的EtherCAT、Profinet实时网络协议,PON网络所使用的GFP、MPCP协议等。网络处理器能够在每个数据包上进行复杂和灵活处理的能力,具有跨层处理的能力,使得其成为当代一种合适且简单的网络设备的开发方案。
面向工业控制的实时网络协议需要被整合,EtherCAT,Profinet等工业实时网络虽然已经在工业控制取得了巨大的市场份额,但不能互联互通,难以适应未来柔性制造的要求。新的网络处理器需要具备整合多种网络协议的能力,通过可编程性,支持多种网络协议。
在网络处理器的处理过程中,尤其是实时工控网络中,传输系统的延迟往往来自于主机的封装过程。在封装过程中,降低延迟将会有效得降低整个系统的延迟,提高工控系统性能。一般用主机完成的网络封装功能都是在通用处理器上运行软件,在存储的基础上,将数据报头与载荷完全存储后封装成数据包,需要等待整个报文准备完毕后发送,系统延迟很大。同时,软件引起的延迟不定性也不容忽视。
发明内容
为了解决上述问题,本发明实施例提供一种出栈网络处理器及网络数据出栈处理方法。
第一方面,本发明实施例提供一种出栈网络处理器,包括:存储模块,包括报头存储器及载荷存储器,用于分别存储协议报头和数据载荷;成帧模块,用于根据操作指令从存储模块中获取对应协议报头和数据载荷,并对获取的协议报头进行预设部位的替换操作后,输出待校验数据帧;校验模块,用于对所述待校验数据帧进行校验后,得到校验结果;所述成帧模块,还用于根据所述待校验数据帧和所述校验结果,得到最终数据帧,并输出到网络。
第二方面,本发明实施例提供一种网络数据出栈处理方法,包括:一种网络数据出栈处理方法,其特征在于,包括:成帧模块根据收到的第一操作指令,从存储模块中获取对应协议报头和数据载荷;成帧模块根据收到的第二操作指令,对获取的协议报文和数据载荷进行预设部位的替换操作后,输出待校验数据帧至校验模块;校验模块对所述待校验数据帧进行校验后,将校验结果发送至成帧模块;所述成帧模块,根据所述待校验数据帧和所述校验结果,得到最终数据帧,并输出到网络。
本发明实施例提供的出栈网络处理器及网络数据出栈处理方法,成帧模块根据操作指令从存储模块中获取对应协议报头和数据载荷,根据操作指令进行预设部位的替换操作后,输出进行校验,无需先得到最终数据帧并进行存储。成帧模块根据待校验数据帧和校验模块的校验结果,得到最终数据帧即发送,无需对整个最终数据帧进行存储后发送,能够减小因存储导致的延时。且通过网络硬件模块实现,能够有效减小计算延时。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的出栈网络处理器结构示意图;
图2为本发明另一实施例提供的出栈网络处理器结构示意图;
图3为本发明又一实施例提供的出栈网络处理器结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
新的通信技术要求更低的延迟,更广的连接,将网络控制和网络传输分开。在5G新协议中,需要使用低延迟高可靠性连接,提供面向车联网,工业控制等的广域物联网服务。这些服务要求具有极低的端到端延迟和最小的抖动,并提供极高的数据完整性保障。使用实时网络处理器可以有效降低网络传输延迟,提高网络运营能力。
随着互联网通量的增大,家用网关也需要大通量、低延迟的网络处理器来保证高质量的网络传输,以提供诸如高清视频直播等的可靠服务。
图1为本发明实施例提供的出栈网络处理器结构示意图,如图1所示,本发明实施例提供一种出栈网络处理器,包括:存储模块1,其中存储器1包括报头存储器12及载荷存储器11,用于分别存储协议报头和数据载荷;成帧模块2用于根据操作指令从存储模块中获取对应协议报头和数据载荷,并对获取的协议报头进行预设部位的替换或插入操作后,输出待校验数据帧;校验模块,用于对所述待校验数据帧进行校验后,得到校验结果;所述成帧模块2还用于根据所述待校验数据帧和所述校验结果,得到最终数据帧,并输出到网络。
本实施例中,以成帧模块由第一成帧器21和第二成帧器22构成为例进行说明。需要说明的是,第一成帧器21和第二成帧器22可为两个物理上分开的模块,也可以是一个模块分别实现对应的功能。
基于上述实施例的内容,作为一种可选实施例,校验模块包括校验和模块4及循环冗余校验模块3;所述校验和模块4用于完成checksum校验;所述循环冗余校验模块3用于完成并行CRC校验计算。以下以校验模块包括校验和模块4及循环冗余校验模块3为例进行说明。
报头存储模器12用于存储管理的各种协议的报头信息,这些被地址标注的数据信息部分用于相应的功能模块计算或者替换,形成最终即时打包的数据报头,如第一成帧器21从报头存储器中获取相应报头进行部分替换或插入,校验和模块4从报头存储器中获取相应报头进行校验。载荷存储器11则存储网络协议的数据报文载荷。预设部位是根据操作指令确定的,如根据指令中的立即数替换报头存储器输出的默认值,根据操作指令中的立即数替换IPv4报文的总长度字段。替换的源数据,或插入的源数据根据指令确定,例如可以是校验模块的计算结果。
成帧模块用于组合报头和报文,利用指令中的立即数,或者配置寄存器地址,或者crc的计算结果对报头进行一些替换操作,完成网络帧的封装。成帧模块由两个成帧器构成,其中第二个成帧器22用于根据循环冗余校验模块3和校验和模块4的结果,将报文载荷、原始报头、运算后的报头、以及报尾组成数据帧。
校验和模块3完成checksum校验,如二进制反码并行加速计算的校验。循环冗余校验模块4进行并行CRC校验计算。
根据待校验数据帧和校验结果,得到最终数据帧,具体为在数据包的相应位置加入校验结果,包括在数据报头的相应位置替换或插入校验结果,以及在数据包的尾部插入校验结果,如CRC校验结果。
本实施例提供的出栈网络处理器,成帧模块根据操作指令从存储模块中获取对应协议报头和数据载荷,根据操作指令进行预设部位的替换操作后,输出进行校验,无需先得到最终数据帧并进行存储。成帧模块根据待校验数据帧和校验模块的校验结果,得到最终数据帧即发送,无需对整个最终数据帧进行存储后发送,能够减小因存储导致的延时。且通过网络硬件模块实现,能够有效减小计算延时。
基于上述实施例的内容,作为一种可选实施例,图2为本发明另一实施例提供的出栈网络处理器结构示意图,如图2所示,该出栈网络处理器,还包括:输出管理模块5,采用异步先入先出缓冲区,利用缓存将打包好的最终数据报文进行输出,以适配处理器和网线传输的异步时钟。例如,输出管理模块5采用异步先入先出缓冲区,利用2字节的缓存,将打包好的数据报文输出,来适配处理器和网线传输的异步时钟。
基于上述实施例的内容,作为一种可选实施例,输出管理模块5采用多于两级管道的先进先出异步寄存器对数据流进行处理,且每一管道的数据宽度乘以系统时钟大于入口比特率。
具体地,在对协议数据流实时处理时,输出管理模块5采用多于两级管道的先进先出(FIFO)异步寄存器,并保证每个管道的数据宽度乘以系统时钟大于入口比特率。由于使用异步FIFO缓存多步FIFO数据,因此提供了时延为数据宽度时间的超低延迟,且没有传输抖动。FIFO寄存器替代了传统的缓存机制,从而实现了网络数据的无缓存硬实时处理。
基于上述实施例的内容,作为一种可选实施例,出栈网络处理器还包括:配置存储器,用于所述成帧模块对预设部位进行替换或插入操作时,提供配置信息。例如,配置存储器中提供目的IP地址,并输出到第一成帧模块21。通过配置存储器,有利于第一成帧器实现对预设部位进行快速的替换操作。
基于上述实施例的内容,作为一种可选实施例,图3为本发明又一实施例提供的出栈网络处理器结构示意图,如图3所示,出栈网络处理器还包括控制通路模块,所述控制通路模块包括:程序计数器61,用于根据程序目标地址,生成PC指针;指令存储器63,存储有指令集,根据PC指针,选取操作指令;译码器64,用于对所述操作指令进行解码,并将操作指令输出到对应的功能模块;有限状态机62,产生新的状态值用于程序计数器产生新的PC值;地址生成单元65,根据每一功能模块的操作指令,获取对应的地址信息,所述地址信息用于获取对应存储器中的数据。
本实施例中所述的功能模块,包括各存储器,配置存储器、载荷存储器11及报头存储器12,包括第一成帧模块21及第二成帧模块22,还包括循环冗余校验模块3及校验和模块4。
该网络处理器相关模块的处理流程举例如下,该处理器采用了七级流水线设计:
第一阶,获取指令,根据程序计数器61产生的pc值从指令存储器63中输出相应的指令。
第二阶,指令解码,译码器64对指令进行解码,将数据通路信号或控制通路信号等分别输出到各个功能模块;同时有限状态机62产生新的状态值用于程序计数器61产生新的PC值。
第三阶,地址生成,在这个周期地址生成单元65得到准确的数据流地址信息和配置所需要的地址信息。
第四阶,数据读取,从存储模块的载荷存储器11、报头存储器12中输出数据流和报头信息,从配置存储器中输出配置信息,用于打包操作。
第五阶,第一操作执行阶段,这个时钟周期,为核心运算周期,第一成帧模块21替换或者插入来自立即数或者来自于配置存储中的数据。
第六阶,第二操作执行阶段,循环冗余校验模块3和校验和模块4计算结束之前,每个时钟周期计算完成相对应的循环冗余校验和校验和计算值。在循环冗余校验和校验和计算计算完成后,在下一条指令的该周期,将最后的循环冗余校验和校验和计算值通过第二成帧模块22在报头相应位置替换原数据并输出。
第七阶,输出序列,输出管理模块5采用多于两级管道的先进先出异步FIFO寄存器,缓存多步FIFO数据,因此提供了时延为数据宽度时间的超低延迟,用于适配处理器和网络线的异步时钟。
通过控制通路模块,有利于获取对应存储器中的数据,如报头存储器中的协议报头、载荷存储器中的数据载荷。
基于上述实施例的内容,作为一种可选实施例,指令存储器中的指令集包括:select指令,用于选择需进行添加的报头类型;replace指令,用于替换原报头上的预设部位,源替换数据包括指令的立即数、配置存储器相应地址获取的数据以及校验模块的计算结果;insert指令,用于对数据流插入对应数据,源插入数据包括指令的立即数以及配置存储器相应地址获取的数据;checksum指令,用于控制checksum校验;crc指令,用于控制crc校验;repeat指令,用于重复执行当前操作;指令集包括jump指令,用于程序计数器的跳转。
指令存储器中包括一套完整的用于网络封装的指令集,包括select、replace、insert、crc、checksum、repeat、jump专用指令组成,可以覆盖目前存在的大多数网络协议。其可以完成实时对网络数据报进行封装并发送,减少主机侧的处理延迟和抖动。
指令集包括select指令,用来选择选择需进行添加的报头类型,通过存储器中查找对应的报头,如报头存储器,存储器中设置输出的起始地址和数据长度,输出存储器的缓存单元中的内容,同时可指示crc和checksum开始计算。
指令集包括replace指令,将对数据流的报头预设部位进行替换字段的操作,利用指令中的立即数,或者配置寄存器地址,或者crc的计算结果,或者checksum的计算结果,将原报头上的16bit数据相应的位数进行选取并替换。
指令集包括insert指令,对数据流进行插入字段操作的指令,根据指令的立即数,或者配置寄存器地址,在原数据确定相应的位数点,进行选取,然后插入字段中的信息,并将插入点后的原始数据扩展位移。
指令集包括checksum指令,用于对数据进行checksum多字节二进制反码并行加速计算的指令,采用校验和算法,对IPv4和UDP报头进行校验和验证。
指令集包括crc指令,用于整个从2层网络到7层的网络数据的校验算法的专用指令,按字节、双字节、字、双字长字、或四字长字并行执行循环冗余校验算法。
指令集包括repeat指令,用于重复执行当前操作的指令,用于打包过程中重复载入载荷或者报头的操作,用于不需要插入或者替换操作时的控制数据流。
指令集包括jump指令,用于程序计数器的跳转,以跳转到相应的操作指令,用于打包过程中跳转到不同类型数据包的封装操作。
表1为本发明实施例提供的指令集示例,如表1所示,
表1
其中,mac、vf、vx、arp、udp、ec、ed分别映射为报头存储器中的MAC、ipv4、ipv6、ARP、UDP、EtherCAT、EtherCAT datagram的报头的地址;mem映射为载荷存储,参数为地址。replace、insert指令中的imm为立即数,参数即是立即数;conf指配置存储器,参数为配置存储器的地址。ck表明属于来源于checksum模块,cr表明数据来源于CRC模块。
本实施例通过指令存储模块存储的上述指令集,具有可编程性,可以通过编程支持目前使用的大部分网络协议的处理,提高了灵活性,降低了网络处理器总体成本和设计周期,支持实时封装网络数据报,极大的降低系统延迟。
下面的实例为IPv4的封装过程指令示意:
#1select vf
封装IPv4协议报,选择从报头存储器中输出IPv4报头,同时开始checksum校验和计算。
#2replace imm 356
利用指令中的立即数替换IPv4报文的总长度字段。
#3repeat 2
对于标识、标志位、段偏移选择报头存储器中的默认设置。
#4replace imm 0x2311
利用指令中的立即数替换报头存储器中输出的默认值,生存时间设置为35,传输层协议设置为UDP。
#5checksum end
校验和校验结束,将校验和结果封装在报头相应位置。
#6repeat 2
对于源IP地址,选择报头存储器中的默认设置。
#7replace conf 0
#8replace conf 1
从配置存储器中输出目的IP地址,封装在报头上。
下面的实例为UDP的封装过程指令:
#1select udp
封装IPv4协议报,选择从报头存储器中输出IPv4报头,同时开始checksum校验和计算。
#2replace conf 3
从配置存储器中输出目的端口号,封装在报头上。
#3replace imm 36
利用指令中的立即数替换UDP报文的总长度字段。
#4checksum end
校验和校验结束,将结果封装在UDP报头相应位置。
#5select mem 3
选择从报文存储器中输出UDP载荷。
#6repeat 16
重复上一步操作,直到所有UDP载荷输出完毕。
本发明实施例提供一种网络数据出栈处理方法,基于上述出栈网络处理器实现。该方法包括:成帧模块根据收到的第一操作指令,从存储模块中获取对应协议报头和数据载荷;成帧模块根据收到的第二操作指令,对获取的协议报头进行预设部位的替换或插入操作后,输出待校验数据帧至校验模块;校验模块对所述待校验数据帧进行校验后,将校验结果发送至所述成帧模块;所述成帧模块,根据所述待校验数据帧和所述校验结果,得到最终数据帧,并输出到网络。例如,通过上述输出管理模块,输出到网络。本发明实施例的第一操作指令和第二操作指令是为了区分指令的功能,具体实施过程,可以作为一条指令发出,也可以作为两条指令先后发出,本发明实施例对此不作具体限定。
基于上述实施例的内容,作为可选实施例,所述从存储模块中获取对应协议报头和数据载荷之前,还包括:程序计数器根据程序目标地址,生成PC指针;指令存储器根据所述PC指针,选取对应操作指令;译码器对选取得到的操作指令进行解码后,得到第一操作指令,并将所述第一操作指令发送到所述成帧模块。本方法实施例基于上述包括控制通路模块的实施例,具体参见上述实施例。
基于上述实施例的内容,作为可选实施例,从存储模块中获取对应协议报头和数据载荷,包括:根据第一操作指令中的地址信息,通过地址生成单元,获取协议报头和数据载荷在存储模块中的具体地址;根据所述具体地址,获取对应协议报头和数据载荷。本方法实施例基于上述包括控制通路模块的实施例,具体参见上述实施例。
本发明实施例的方法实施例根据上述出栈网络处理器实现,详情请参加上述出栈网络处理器实施例,在此不再赘述。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (8)
1.一种出栈网络处理器,其特征在于,包括:
存储模块,包括报头存储器及载荷存储器,用于分别存储协议报头和数据载荷;
成帧模块,用于根据操作指令从存储模块中获取对应协议报头和数据载荷,并对获取的协议报头进行预设部位的替换或插入操作后,输出待校验数据帧;
校验模块,用于对所述待校验数据帧进行校验后,得到校验结果;
所述成帧模块,还用于根据所述待校验数据帧和所述校验结果,得到最终数据帧,并输出到网络;
所述出栈网络处理器,还包括:
配置存储器,用于所述成帧模块对预设部位进行替换或插入操作时,提供配置信息;
控制通路模块,所述控制通路模块包括:
程序计数器,用于根据程序目标地址,生成PC指针;
指令存储器,存储有指令集,用于根据PC指针,选取操作指令;
译码器,用于对所述操作指令进行解码,并将操作指令输出到对应的功能模块;
有限状态机,产生新的状态值用于程序计数器产生新的PC值;
地址生成单元,根据每一功能模块的操作指令,获取对应的地址信息,所述地址信息用于获取对应存储器中的数据。
2.根据权利要求1所述的出栈网络处理器,其特征在于,所述校验模块包括校验和模块及循环冗余校验模块;
所述校验和模块,用于完成checksum校验;
所述循环冗余校验模块,用于完成并行CRC校验计算。
3.根据权利要求1所述的出栈网络处理器,其特征在于,还包括:
输出管理模块,采用异步先入先出缓冲区,利用缓存将打包好的最终数据报文进行输出,以适配处理器和网线传输的异步时钟。
4.根据权利要求3所述的出栈网络处理器,其特征在于,所述输出管理模块与物理接口连接,用于适配异步时钟域,并采用多于两级管道的先进先出异步寄存器对数据流进行处理,且每一管道的数据宽度乘以系统时钟大于入口比特率。
5.根据权利要求1所述的出栈网络处理器,其特征在于,所述指令存储器中的指令集包括:
select指令,用于选择需进行添加的报头类型;
replace指令,用于替换原报头上的预设部位,源替换数据包括指令的立即数、配置存储器的地址以及校验模块的计算结果;
insert指令,用于对数据流插入对应数据,源插入数据包括指令的立即数以及配置存储器的地址;
checksum指令,用于控制checksum校验;
crc指令,用于控制crc校验;
jump指令,用于程序计数器的跳转;
repeat指令,用于重复执行当前操作。
6.一种基于权利要求1-5任一项所述出栈网络处理器的网络数据出栈处理方法,其特征在于,包括:
成帧模块根据收到的第一操作指令,从存储模块中获取对应协议报头和数据载荷;
成帧模块根据收到的第二操作指令,对获取的协议报头进行预设部位的替换或插入操作后,输出待校验数据帧至校验模块;
校验模块对所述待校验数据帧进行校验后,将校验结果发送至所述成帧模块;
所述成帧模块,根据所述待校验数据帧和所述校验结果,得到最终数据帧,并输出到网络。
7.根据权利要求6所述的网络数据出栈处理方法,其特征在于,所述从存储模块中获取对应协议报头和数据载荷之前,还包括:
程序计数器根据程序目标地址,生成PC指针;
指令存储器根据所述PC指针,选取对应操作指令;
译码器对选取得到的操作指令进行解码后,得到第一操作指令,并将所述第一操作指令发送到所述成帧模块。
8.根据权利要求6所述的网络数据出栈处理方法,其特征在于,从存储模块中获取对应协议报头和数据载荷,包括:
根据第一操作指令中的地址信息,通过地址生成单元,获取协议报头和数据载荷在存储模块中的具体地址;
根据所述具体地址,获取对应协议报头和数据载荷。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910784020.5A CN110417813B (zh) | 2019-08-23 | 2019-08-23 | 出栈网络处理器及网络数据出栈处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910784020.5A CN110417813B (zh) | 2019-08-23 | 2019-08-23 | 出栈网络处理器及网络数据出栈处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110417813A CN110417813A (zh) | 2019-11-05 |
CN110417813B true CN110417813B (zh) | 2021-08-27 |
Family
ID=68368586
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910784020.5A Active CN110417813B (zh) | 2019-08-23 | 2019-08-23 | 出栈网络处理器及网络数据出栈处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110417813B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1748381A (zh) * | 2003-02-12 | 2006-03-15 | 思科技术公司 | 用于可变长度分组的高效成帧过程 |
CN1954540A (zh) * | 2004-02-05 | 2007-04-25 | Ctam美国股份有限公司 | 多协议网络加密系统 |
CN101325598A (zh) * | 2008-07-22 | 2008-12-17 | 中兴通讯股份有限公司 | 传输设备接收侧和发送侧的数据封装方法及同步数字系统 |
CN101563890A (zh) * | 2006-12-15 | 2009-10-21 | 汤姆森许可贸易公司 | 时分多址媒体访问控制层中的媒体访问控制协议数据单元汇聚 |
CN102265519A (zh) * | 2009-01-09 | 2011-11-30 | Lg电子株式会社 | 用于发送和接收信号的装置以及用于发送和接收信号的方法 |
CN102292705A (zh) * | 2010-08-30 | 2011-12-21 | 华为技术有限公司 | 网络处理器的指令处理方法和网络处理器 |
CN107547417A (zh) * | 2016-06-29 | 2018-01-05 | 中兴通讯股份有限公司 | 一种报文处理方法、装置及基站 |
JP2018078555A (ja) * | 2016-10-31 | 2018-05-17 | 日本放送協会 | 再多重化装置、送信装置、受信装置、チップ、及びプログラム |
CN108874730A (zh) * | 2018-06-14 | 2018-11-23 | 北京理工大学 | 一种数据处理器及数据处理方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005045675A (ja) * | 2003-07-24 | 2005-02-17 | Fujitsu Ltd | フレーム転送方法およびフレーム転送装置 |
-
2019
- 2019-08-23 CN CN201910784020.5A patent/CN110417813B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1748381A (zh) * | 2003-02-12 | 2006-03-15 | 思科技术公司 | 用于可变长度分组的高效成帧过程 |
CN1954540A (zh) * | 2004-02-05 | 2007-04-25 | Ctam美国股份有限公司 | 多协议网络加密系统 |
CN101563890A (zh) * | 2006-12-15 | 2009-10-21 | 汤姆森许可贸易公司 | 时分多址媒体访问控制层中的媒体访问控制协议数据单元汇聚 |
CN101325598A (zh) * | 2008-07-22 | 2008-12-17 | 中兴通讯股份有限公司 | 传输设备接收侧和发送侧的数据封装方法及同步数字系统 |
CN102265519A (zh) * | 2009-01-09 | 2011-11-30 | Lg电子株式会社 | 用于发送和接收信号的装置以及用于发送和接收信号的方法 |
CN102292705A (zh) * | 2010-08-30 | 2011-12-21 | 华为技术有限公司 | 网络处理器的指令处理方法和网络处理器 |
CN107547417A (zh) * | 2016-06-29 | 2018-01-05 | 中兴通讯股份有限公司 | 一种报文处理方法、装置及基站 |
JP2018078555A (ja) * | 2016-10-31 | 2018-05-17 | 日本放送協会 | 再多重化装置、送信装置、受信装置、チップ、及びプログラム |
CN108874730A (zh) * | 2018-06-14 | 2018-11-23 | 北京理工大学 | 一种数据处理器及数据处理方法 |
Non-Patent Citations (2)
Title |
---|
A High-Flexible Low-Latency Memory-Based;Dake Liu等;《 IEEE Transactions on Very Large Scale Integration (VLSI) Systems》;20181127;第27卷(第3期);全文 * |
多标准高性能前向纠错码处理器;吴臻志;《中国博士学位论文全文数据库 信息科技辑》;20160315;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110417813A (zh) | 2019-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6654823B2 (en) | Packet-data processing apparatus | |
US11902156B2 (en) | Method for generating segment list, method for forwarding packet, device, and system in SRv6 network | |
US8908693B2 (en) | Flow key lookup involving multiple simultaneous cam operations to identify hash values in a hash bucket | |
US7283528B1 (en) | On the fly header checksum processing using dedicated logic | |
US7236501B1 (en) | Systems and methods for handling packet fragmentation | |
US9450894B2 (en) | Integrated circuit device and method of performing cut-through forwarding of packet data | |
US7680116B1 (en) | Optimized buffer loading for packet header processing | |
CN108462642B (zh) | 基于fpga的udp/ip硬件协议栈及实现方法 | |
US8543893B2 (en) | Receiver for error-protected packet-based frame | |
US11563832B2 (en) | Data sending method and device, data receiving method and device, and system | |
US20220393908A1 (en) | Message Encapsulation Method and Apparatus, and Message Decapsulation Method and Apparatus | |
CN110535847B (zh) | 网络处理器及网络数据的入栈处理方法 | |
WO2004034429A2 (en) | Line rate buffer using single ported memories for variable length packets | |
US7215662B1 (en) | Logical separation and accessing of descriptor memories | |
US7773595B2 (en) | System and method for parsing frames | |
US7239630B1 (en) | Dedicated processing resources for packet header generation | |
CN110417813B (zh) | 出栈网络处理器及网络数据出栈处理方法 | |
US7158520B1 (en) | Mailbox registers for synchronizing header processing execution | |
EP2201740B1 (en) | High speed packet processing in a wireless network | |
JP2007259374A (ja) | ネットワーク送受信装置 | |
CN112887277B (zh) | 现场总线与以太网的转换方法、装置及计算机存储介质 | |
US11362865B2 (en) | Virtual network | |
US8583822B2 (en) | Method and system for minimum frame size support for a communication protocol encapsulated over Ethernet | |
US10205664B2 (en) | System and method for routing | |
US11894948B2 (en) | Method of forming a virtual network |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210329 Address after: Room 908, block C, Kechuang headquarters building, No. 320, pubin Road, Jiangpu street, Nanjing area, Jiangsu Free Trade Zone, Nanjing City, Jiangsu Province, 211800 Applicant after: Jixin communication technology (Nanjing) Co.,Ltd. Address before: 101300 room 315, 3rd floor, building 1, yard 6, Tianxiang Road, Shunyi District, Beijing Applicant before: Beijing Wuji Core Motion Technology Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |