一种网络数据包负载均衡和预解析方法技术

技术编号:12613403 阅读:269 留言:0更新日期:2015-12-30 11:57
本发明专利技术一种网络数据包负载均衡和预解析方法,属于众核服务器的网络结构领域。包括以下步骤:一、在众核服务器下配置交换芯片;二、数据包经过外接接口进入交换芯片后,平均分给2个MPIPE;三、每个MPIPE将数据包转发到对应的TILERA CPU上,并进行预解析;四、在每个TILERA CPU上调用库函数创建数据包处理线程;五、为每个数据包处理线程分别绑定一个TILERA CPU核;六、将预解析结果分发到对应的数据包处理线程;七、各个处理线程分别通过库函数接收数据包并且得到预解析结果,保存源IP和目的IP。优点在于:使用交换芯片和MPIPE进行各个TILERA CPU之间的负载均衡,对于处理线程不需要再解析数据包,只对关注的数据包域进行处理;操作更加简便,提高数据包的处理能力。

【技术实现步骤摘要】

本专利技术涉及众核服务器的网络结构领域,具体是。
技术介绍
传统的网络数据包的负载均衡和预解析方法,是通过CPU的处理能力进行数据包的解析,将解析结果分发到对应的处理模块,这种方法在解析大流量的数据包时,会占用较大的CPU资源并且导致处理模块的处理能力下降。现有传统方法中,通常采取选用几台众核服务器,然后每一台众核服务器对应一个多核处理器(TILERA CPU),通过一台交换机进行多台众核服务器之间的信息交换,这样做占用的空间资源以及功耗会比较大。传统方法采用的多核可编程智能包引擎(MPIPE),主要功能是进行数据流的分发即把相同的数据流分发到同一个TILERA CPU核,缺点是没有预处理功能。
技术实现思路
本专利技术针对上述问题,为了最大程度的提高数据包的处理能力,充分利用MPIPE的处理能力,加入了预处理功能,解析协议类型以及数据长度等并把结果传送给对应的TILERA CPU 核。—种网络数据包的负载均衡和预解析方法建立于一台众核服务器上,具体包括I个交换芯片和2个MPIPE ;交换芯片具有外接接口 XGBE,每个MPIPE分别对应I个具有36核的TILERA CPU,依次标记为O核一 35核;—种网络数据包的负载均衡和预解析方法,具体包括以下步骤:步骤一、在众核服务器下配置交换芯片;交换芯片具有多个物理端口,平均分别对应2个MPIPE,从每个MPIPE对应的物理端口中任选一个组成逻辑端口,通过trunk命令进行逻辑端口的绑定;步骤二、输入的数据包经过外接接口 XGBE进入交换芯片后,平均分给2个MPIPE ;数据包经过交换芯片的逻辑端口后,如果数据包的目的IP和源IP相同,将数据包分发到同一个物理端口,进而转发到物理端口对应的MPIPE,从而将数据包平均分给2个MPIPE ;步骤三、每个MPIPE将数据包转发到对应的TILERA CPU上,并进行数据包预解析;预解析具体步骤如下:步骤301、判断数据包的IP协议头是否为IPV4或者IPV6,如果不是跳转到步骤306,否则进入步骤302。步骤302、解析IP协议头记录的源IP,目的IP,以及协议类型。步骤303、判断协议类型是否为TCP或者UDP,如果是,进入步骤304,否则跳转到步骤 306。步骤304、解析TCP协议或者UDP协议中的信息,并且把信息存放到预解析结果中。步骤305、解析IP协议后续的数据并且进行字符串比较,把比较结果存放到预解析结果中。步骤306、把预解析结果发送给TILERA CPU。步骤四、在每个TILERA CPU上调用pthread_create库函数创建36个数据包处理线程;步骤五、为每个数据包处理线程分别绑定一个TILERA CPU核;步骤六、将数据包的预解析结果分发到对应的数据包处理线程。配置逻辑端口的hash算法,针对具有相同目的IP和源IP的数据包,计算数据包的id值,根据id值判断,将相同id值的数据包传输给绑定的同一个数据包处理线程。步骤七、36个处理线程分别通过调用库函数gx1_mpipe_iqueue_try_peek接收数据包并且得到预解析结果,保存源IP和目的IP。本专利技术的优点与积极效果在于:I) ,在众核服务器下使用交换芯片进行各个TILERA CPU之间的负载均衡,通过MPIPE实现TILERA CPU核之间的负载均衡。对于处理线程不需要再解析数据包,只需要对需要关注的数据包里面的域进行处理;操作更加简便,最大程度的提高数据包的处理能力。2) ,为各个线程绑定TILERA CPU核,实现了并行处理数据包。3) ,通过配置逻辑端口的hash算法,对于相同目的IP+源IP的数据包分发到同一个物理端口,实现TILERA CPU之间的负载均衡,提高了众核服务器数据包处理能力。【附图说明】图1是本专利技术网络数据包负载均衡和预解析的示意图;图2是本专利技术的流程图;图3为本专利技术预解析具体步骤的流程图;图4是本专利技术处理线程分别接收数据包并预解析的示意图;【具体实施方式】下面将结合附图和实施例对本专利技术作进一步的详细说明。—种网络数据包负载均衡和预解析方法,采用一台众核服务器,如图1所示,包括I个交换芯片,2个多核处理器(TILERA CPU)和2个多核可编程智能包引擎(MPIPE);通过众核服务器上的交换芯片进行数据包负载均衡到各个多核处理器,在各个TILERA CPU上通过MPIPE实现网络数据包的接收以及负载均衡,并且将预解析结果发送到指定的TILERA CPU核上。通过trunk命令以及hash算法的规则实现负载均衡。输入的数据包经过外接接口 XGBE进入交换芯片后,被平均分成两部分,对应进入两个MPIPE中,MPIPE进行平均分发,把具有相同目的IP和源IP的数据包分发到同一个TILERA CPU 核。—种网络数据包的负载均衡和预解析方法,如附图2所示,具体步骤如下:步骤一、在众核服务器下配置交换芯片;交换芯片具有多个物理端口,平均分别对应2个MPIPE,从每个MPIPE对应的物理端口中任选一个组成逻辑端口,通过trunk命令进行逻辑端口的绑定;首先、登陆众核服务器的交换芯片,并进入配置交互界面。 把PC机和众核服务器配置在同一个网段,在PC上通过telnet命令登陆众核服务器的交换芯片的配置交互界面,配置交互界面选用现有的CLI (命令行界面)。然后、通过trunk命令把交换芯片的多个物理端口绑定为一个逻辑端口。例如利用trunk命令进行端口绑定如下:trunk add id = I Rtag = 6 pbmp = xel5, xel6, xel7把物理端口 xel5,xel6, xl7绑定为一个逻辑端口。每个MPIPE分别对应3个物理端口,如:第一个MPIPE对应物理端口 I,物理端口 2和物理端口 3 ;第二个MPIPEl对应物理端口 4,物理端口 5,物理端口 6 ;选取物理端口 I和物理端口 4组成一个逻辑端口 ;保证了数据流经过逻辑端口平均分配到2个MPIPE ;如果选取物理端口 I,物理端口 2,物理端口 3和物理端口 4组成一个逻辑端口,保证了分到第一个MPIPE的是四分之三的数据流,第二个MPIPE的是四分之一的数据流。步骤二、输入的数据包经过外接接口 XGBE进入交换芯片后,平均分给2个MPIPE ;数据包经过交换芯片的逻辑端口后,对于相同目的IP+源IP的数据包分发到同一个物理端口,进而转发到物理端口对应的MPIPE,从而将数据包平均分给2个MPIPE。交换芯片采用hash算法,将数据包平均分配给2个物理端口:物理端口 I和物理端口 4,经过物理端口进入到2个MPIPE。id = hash_fun (srcip, dstip,srcmac,dstmac)。hash_fun表示通过CRC循环冗余检验算法实现,srcip表示源IP,dstip表示目的IP,srcmac表示源MAC,dstmac表示目的MAC,id为通过规则算法得到的值。步骤三、每个MPIPE将数据包转发到对应的TILERA CPU上;并且进行数据包预解析;如图3所示,预解析具体步骤如下:步骤301、判断数据包的IP协议头是否为IPV4或者IPV6,如果不是跳当前第1页1 2 本文档来自技高网...
一种网络数据包负载均衡和预解析方法

【技术保护点】
一种网络数据包的负载均衡和预解析方法,建立于一台众核服务器上,具体包括1个交换芯片和2个多核可编程智能包引擎,简称MPIPE;每个MPIPE分别对应1个具有36核的TILERA CPU;其特征在于,具体包括以下步骤:步骤一、在众核服务器下配置交换芯片;交换芯片的物理端口平均分成两组,每一组分别对应1个MPIPE,从每个MPIPE对应的物理端口中任选一个组成逻辑端口,通过trunk命令进行逻辑端口的绑定;步骤二、输入的数据包经过交换芯片的外接接口XGBE进入后,平均分到2个MPIPE;数据包经过交换芯片的逻辑端口后,如果数据包的目的IP和源IP相同,将数据包分发到同一个物理端口,进而转发到物理端口对应的MPIPE;步骤三、每个MPIPE将数据包转发到对应的TILERA CPU上,并进行数据包预解析;步骤四、在每个TILERA CPU上调用pthread_create库函数创建36个数据包处理线程;步骤五、为每个数据包处理线程分别绑定一个TILERA CPU核;步骤六、将数据包的预解析结果分发到对应的数据包处理线程;配置逻辑端口的hash算法,针对具有相同目的IP和源IP的数据包,计算数据包的id值,根据id值判断,将相同id值的数据包传输给绑定的同一个数据包处理线程;步骤七、36个处理线程分别通过调用库函数gxio_mpipe_iqueue_try_peek接收数据包并且得到预解析结果,保存源IP和目的IP。...

【技术特征摘要】

【专利技术属性】
技术研发人员:张良云晓春汪立东李晓倩谢铭黄成王子厚孙昊良张露晨何清林吴昊马秀娟张家琦黄文廷
申请(专利权)人:国家计算机网络与信息安全管理中心北京赛思信安技术股份有限公司
类型:发明
国别省市:北京;11

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

1