报文处理方法、装置、报文处理芯片及服务器制造方法及图纸

技术编号:17200776 阅读:37 留言:0更新日期:2018-02-04 02:01
本发明专利技术提供一种报文处理方法、装置、报文处理芯片及服务器。所述方法包括:对接收到的以太网报文进行解析,得到各报文的报文长度、源IP地址和目的IP地址;建立与多个CPU核一一对应的报文队列,将具有相同源IP地址和目的IP地址的报文分流到同一个队列并进行缓存,且各队列的报文数量保持均衡;对于每个报文队列,实时获取队列中所有报文的总长度以及第一个报文的存入时长;当报文队列中所有报文的总长度超过最大传输单元大小或者第一个报文的存入时长超过预定时长时,将所述报文队列中所有报文封装为UDP报文;将所述UDP报文发送给与所述报文队列对应的CPU核。本发明专利技术能够在不增加硬件成本和系统复杂度的基础上降低上层应用获取报文时对CPU资源的占用。

【技术实现步骤摘要】
报文处理方法、装置、报文处理芯片及服务器
本专利技术涉及服务器
,尤其涉及一种报文处理方法、装置、报文处理芯片及服务器。
技术介绍
在基于TCP/IP(TransmissionControlProtocol/InternetProtocol,传输控制协议/互联网络协议)的网络环境中,长度为64字节的小包大约占有总流量的40%。目前加速卡产品通常采用PCIe(PeripheralComponentInterconnectexpress,高速外设组件互连)接口将报文交付CPU,上层应用获取小包时会频繁产生中断请求,导致CPU占用率非常高,会导致上层应用对核心业务的处理能力降低。目前可以采用硬件将小包丢弃的方法减少上层应用处理小包时对CPU的占用。采用这种方法需要硬件进行TCP连接管理和重排序,这样只需要将TCP连接负载交付给CPU,三次握手报文(SYN、SYN&ACK、ACK)和没有TCP负载的报文在硬件丢弃。硬件基于连接管理实现比较复杂,需要使用大量的专用处理芯片资源,增加了整个系统的复杂度,主要表现在以下两个方面:第一,硬件成本高。基于硬件实现连接管理的数据处理流程较复杂,需要报文处理芯片具有丰富的资源。另外连接管理和重排序需要大量缓存空间,连接管理一般采用哈希的二层链表结构,维护千万连接需要8G的片外缓存芯片。且TCP连接管理需要多次查表操作,所以需要2个片外缓存,以提高访存带宽。第二,增加了系统的复杂度。如果硬件实现TCP连接管理,需要上层应用从基于单包处理方式修改基于连接处理方式,并且目前CPU主频很高且内存都很大,TCP连接管理适合在软件层面实现。
技术实现思路
本专利技术提供的报文处理方法、装置、报文处理芯片及服务器,能够在不增加硬件成本和系统复杂度的基础上降低上层应用获取报文时对CPU资源的占用。第一方面,本专利技术提供一种报文处理方法,包括:对接收到的以太网报文进行解析,得到各报文的报文长度、源IP地址和目的IP地址;建立与多个CPU核一一对应的报文队列,将具有相同源IP地址和目的IP地址的报文分流到同一个队列并进行缓存,且各队列的报文数量保持均衡;对于每个报文队列,实时获取队列中所有报文的总长度以及第一个报文的存入时长;当报文队列中所有报文的总长度超过最大传输单元大小或者第一个报文的存入时长超过预定时长时,将所述报文队列中所有报文封装为UDP报文;将所述UDP报文发送给与所述报文队列对应的CPU核。可选地,所述将具有相同源IP地址和目的IP地址的报文分流到同一个队列,且各队列的报文数量保持均衡包括:根据报文的源IP地址和目的IP地址计算哈希值,将具有相同哈希值的报文分流到同一个队列,且各队列的报文数量保持均衡。可选地,所述UDP报文包括IP头、UDP头和报文组,其中,所述报文组包括报文个数、封装的各个报文及其长度。可选地,所述UDP报文还包括MAC头。第二方面,本专利技术提供一种报文处理装置,包括:报文解析单元,用于对接收到的以太网报文进行解析,得到各报文的报文长度、源IP地址和目的IP地址;报文分流单元,用于建立与多个CPU核一一对应的报文队列,将具有相同源IP地址和目的IP地址的报文分流到同一个队列并进行缓存,且各队列的报文数量保持均衡;报文信息获取单元,用于对于每个报文队列,实时获取队列中所有报文的总长度以及第一个报文的存入时长;报文封装单元,用于当报文队列中所有报文的总长度超过最大传输单元大小或者第一个报文的存入时长超过预定时长时,将所述报文队列中所有报文封装为UDP报文;报文发送单元,用于将所述UDP报文发送给与所述报文队列对应的CPU核。可选地,所述报文分流单元,用于根据报文的源IP地址和目的IP地址计算哈希值,将具有相同哈希值的报文分流到同一个队列,且各队列的报文数量保持均衡。可选地,所述UDP报文包括IP头、UDP头和报文组,其中,所述报文组包括报文个数、封装的各个报文及其长度。可选地,所述UDP报文还包括MAC头。第三方面,本专利技术提供一种报文处理芯片,所述报文处理芯片包括上述报文处理装置。第四方面,本专利技术提供一种服务器,所述服务器包括上述报文处理芯片以及与所述报文处理芯片连接的多个CPU核。本专利技术实施例提供的报文处理方法、装置、报文处理芯片及服务器,建立与多个CPU核一一对应的报文队列,将具有相同源IP地址和目的IP地址的以太网报文分流到同一个队列并进行缓存,且各队列的报文数量保持均衡,当报文队列中所有报文的总长度超过最大传输单元大小或者第一个报文的存入时长超过预定时长时,将所述报文队列中所有报文封装为UDP报文发送给与所述报文队列对应的CPU核。与现有技术相比,本专利技术通过将小包形式的以太网报文封装为大包形式的UDP报文,并且负载均衡到多个CPU核,能够减少上层应用获取报文时对CPU资源的占用;另外,通过负载均衡,充分利用服务器的多核优势,增强上层应用的业务处理能力。附图说明图1为本专利技术实施例提供的报文处理方法的流程图;图2为本专利技术实施例提供的队列超长和超时管理示意图;图3为本专利技术实施例提供的报文封装格式示意图;图4为本专利技术实施例提供的报文处理装置的结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术实施例提供一种报文处理方法,如图1所示,所述方法包括:S11、对接收到的以太网报文进行解析,得到各报文的报文长度、源IP地址和目的IP地址。S12、建立与多个CPU核一一对应的报文队列,将具有相同源IP地址和目的IP地址的报文分流到同一个队列并进行缓存,且各队列的报文数量保持均衡。具体地,根据报文的源IP地址和目的IP地址计算哈希值,将具有相同哈希值的报文分流到同一个队列,且各队列的报文数量保持均衡。S13、对于每个报文队列,实时获取队列中所有报文的总长度以及第一个报文的存入时长。S14、当报文队列中所有报文的总长度超过MTU(MaximumTransmissionUnit,最大传输单元)大小或者第一个报文的存入时长超过预定时长时,将所述报文队列中所有报文封装为UDP(UserDatagramProtocol,用户数据报协议)报文。其中,MTU可以根据实际网络环境中设备参数进行动态设置,一般为1518字节。其中,所述UDP报文包括IP头、UDP头和报文组,其中,IP头和UDP头与TCP/IP定义一致,所述报文组包括报文个数、封装的各个报文及其长度。可选地,根据上层应用的选择,所述UDP报文还可以包括MAC(MediaAccessControl,媒体访问控制)头。S15、将所述UDP报文发送给与所述报文队列对应的CPU核。本专利技术实施例提供的报文处理方法,建立与多个CPU核一一对应的报文队列,将具有相同源IP地址和目的IP地址的以太网报文分流到同一个队列并进行缓存,且各队列的报文数量保持均衡,当报文队列中所有报文的总长度超过最大传输单元大小或者第一个报文的存入时长超过预定时长时,将所述报本文档来自技高网
...
报文处理方法、装置、报文处理芯片及服务器

【技术保护点】
一种报文处理方法,其特征在于,包括:对接收到的以太网报文进行解析,得到各报文的报文长度、源IP地址和目的IP地址;建立与多个CPU核一一对应的报文队列,将具有相同源IP地址和目的IP地址的报文分流到同一个队列并进行缓存,且各队列的报文数量保持均衡;对于每个报文队列,实时获取队列中所有报文的总长度以及第一个报文的存入时长;当报文队列中所有报文的总长度超过最大传输单元大小或者第一个报文的存入时长超过预定时长时,将所述报文队列中所有报文封装为用户数据报协议UDP报文;将所述UDP报文发送给与所述报文队列对应的CPU核。

【技术特征摘要】
1.一种报文处理方法,其特征在于,包括:对接收到的以太网报文进行解析,得到各报文的报文长度、源IP地址和目的IP地址;建立与多个CPU核一一对应的报文队列,将具有相同源IP地址和目的IP地址的报文分流到同一个队列并进行缓存,且各队列的报文数量保持均衡;对于每个报文队列,实时获取队列中所有报文的总长度以及第一个报文的存入时长;当报文队列中所有报文的总长度超过最大传输单元大小或者第一个报文的存入时长超过预定时长时,将所述报文队列中所有报文封装为用户数据报协议UDP报文;将所述UDP报文发送给与所述报文队列对应的CPU核。2.根据权利要求1所述的方法,其特征在于,所述将具有相同源IP地址和目的IP地址的报文分流到同一个队列,且各队列的报文数量保持均衡包括:根据报文的源IP地址和目的IP地址计算哈希值,将具有相同哈希值的报文分流到同一个队列,且各队列的报文数量保持均衡。3.根据权利要求1所述的方法,其特征在于,所述UDP报文包括IP头、UDP头和报文组,其中,所述报文组包括报文个数、封装的各个报文及其长度。4.根据权利要求3所述的方法,其特征在于,所述UDP报文还包括媒体访问控制MAC头。5.一种报文处理装置,其特征在于,包括:报文解析单元,用于对接收到的以太网报文进行解析,得到各报文的报文...

【专利技术属性】
技术研发人员:纪奎刘立窦晓光王晖
申请(专利权)人:曙光信息产业北京有限公司
类型:发明
国别省市:北京,11

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

1