发明名称 一种网络数据包负载均衡和预解析方法
摘要 本发明一种网络数据包负载均衡和预解析方法,属于众核服务器的网络结构领域。包括以下步骤:一、在众核服务器下配置交换芯片;二、数据包经过外接接口进入交换芯片后,平均分给2个MPIPE;三、每个MPIPE将数据包转发到对应的TILERA CPU上,并进行预解析;四、在每个TILERA CPU上调用库函数创建数据包处理线程;五、为每个数据包处理线程分别绑定一个TILERA CPU核;六、将预解析结果分发到对应的数据包处理线程;七、各个处理线程分别通过库函数接收数据包并且得到预解析结果,保存源IP和目的IP。优点在于:使用交换芯片和MPIPE进行各个TILERA CPU之间的负载均衡,对于处理线程不需要再解析数据包,只对关注的数据包域进行处理;操作更加简便,提高数据包的处理能力。
申请公布号 CN105207946A 申请公布日期 2015.12.30
申请号 CN201510535316.5 申请日期 2015.08.27
申请人 国家计算机网络与信息安全管理中心;北京赛思信安技术股份有限公司 发明人 张良;云晓春;汪立东;李晓倩;谢铭;黄成;王子厚;孙昊良;张露晨;何清林;吴昊;马秀娟;张家琦;黄文廷
分类号 H04L12/801(2013.01)I;G06F9/50(2006.01)I 主分类号 H04L12/801(2013.01)I
代理机构 北京永创新实专利事务所 11121 代理人 赵文利
主权项 一种网络数据包的负载均衡和预解析方法,建立于一台众核服务器上,具体包括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。
地址 100029 北京市朝阳区裕民路甲3号