一种基于Intel 82599万兆网卡的Hash函数Key值筛选方法技术

技术编号:14516990 阅读:93 留言:0更新日期:2017-02-01 19:05
本发明专利技术公开了一种基于Intel 82599万兆网卡的数据包分流方法及其Hash函数Key值筛选方法,该Hash函数Key值筛选方法包括:预先获取满足同源同宿的40字节Key值的所满足的排列分布秘钥Secret Key;通过Intel 82599万兆网卡内置的Hash函数对Secret Key进行移位异或操作,获取若干候选Secret Key;获取各候选Secret Key每一次移位后,当前候选Secret Key最左端的32位待评估值;分别对各候选Secret Key的32位待评估值的后7位的离散度进行评估;选取离散度最高的32位待评估值所对应的候选Secret Key作为Hash函数Key值。既能使从网络端口接收到的数据包满足上层应用的同源同宿要求,又能使得硬件分流的效果更加均衡,有效地确保服务器整体负载均衡。

【技术实现步骤摘要】

本专利技术涉及服务器
,特别是涉及一种基于Intel82599万兆网卡的数据包分流方法及其Hash函数Key值筛选方法。
技术介绍
随着互联网技术的迅猛发展,网络在人们的日常生活、学习和工作中的作用越来越重。网络链路上充斥着大量的、各种各样的数据流量,要想确保数据包为上层应用所用,就需要通过硬件网卡及相应的驱动对数据包在底层进行处理,然后才能传递给上层应用。同时为了保证服务器的整体性能,一般情况下需要网卡对数据包进行分流,使得从端口接收到的数据包尽可能地平均分配在各个硬件队列中。同源同宿是上层应用对网卡接收到的数据包的一个需求,其基本要求是:相同的源和目的其相互发送的数据包通过网卡硬件分流,应该分配到同一个流(队列)中。同源同宿可以确保应用之间数据交互的一致性,对于数据交互一致性要求高的上层应用具有重要意义。而针对Intel82599万兆网卡硬件分流是基于其内置的Hash函数,该Hash函数以接收包的五元组(协议类型TCP/UDP、源IP地址、源端口、目的IP地址、目的端口,后面4个可以带有掩码)及一个40字节的KEY值作为输入。通常情况下,根据Intel82599手册提供的KEY值来作为Hash函数的输入值之一,但是该KEY值不能满足上层应用的同源同宿等特殊需求,其分流效果也不尽理想。因而,如何获取比较理想的KEY值进行哈希,既能使从网络端口接收到的数据包满足上层应用的同源同宿要求,又能使得硬件分流的效果更加均衡,有效地确保服务器整体负载均衡,是本领域技术人员目前需要解决的技术问题。
技术实现思路
本专利技术的目的是提供一种基于Intel82599万兆网卡的数据包分流方法及其Hash函数Key值筛选方法,可以既能使从网络端口接收到的数据包满足上层应用的同源同宿要求,又能使得硬件分流的效果更加均衡,有效地确保服务器整体负载均衡。为解决上述技术问题,本专利技术提供了如下技术方案:一种基于Intel82599万兆网卡的Hash函数Key值筛选方法,包括:预先获取满足同源同宿的40字节Key值的所满足的排列分布秘钥SecretKey;通过Intel82599万兆网卡内置的Hash函数对所述SecretKey进行移位异或操作,获取若干候选SecretKey;获取各所述候选SecretKey每一次移位后,当前候选SecretKey最左端的32位待评估值;分别对各所述候选SecretKey的32位待评估值的后7位的离散度进行评估;选取离散度最高的32位待评估值所对应的候选SecretKey作为Hash函数Key值。优选地,所述预先获取满足同源同宿的40字节Key值的所满足的排列分布秘钥SecretKey,为:预先获取根据Hash函数推断出的满足同源同宿的40字节Key值的所满足的排列分布秘钥SecretKey:SecretKey={KeyA,KeyA,KeyA,KeyB,KeyA,KeyA,KeyA,KeyB,KeyA,KeyC本文档来自技高网...

【技术保护点】
一种基于Intel 82599万兆网卡的Hash函数Key值筛选方法,其特征在于,包括:预先获取满足同源同宿的40字节Key值的所满足的排列分布秘钥Secret Key;通过Intel 82599万兆网卡内置的Hash函数对所述Secret Key进行移位异或操作,获取若干候选Secret Key;获取各所述候选Secret Key每一次移位后,当前候选Secret Key最左端的32位待评估值;分别对各所述候选Secret Key的32位待评估值的后7位的离散度进行评估;选取离散度最高的32位待评估值所对应的候选Secret Key作为Hash函数Key值。

【技术特征摘要】
1.一种基于Intel82599万兆网卡的Hash函数Key值筛选方法,其特征在于,包括:预先获取满足同源同宿的40字节Key值的所满足的排列分布秘钥SecretKey;通过Intel82599万兆网卡内置的Hash函数对所述SecretKey进行移位异或操作,获取若干候选SecretKey;获取各所述候选SecretKey每一次移位后,当前候选SecretKey最左端的32位待评估值;分别对各所述候选SecretKey的32位待评估值的后7位的离散度进行评估;选取离散度最高的32位待评估值所对应的候选SecretKey作为Hash函数Key值。2.根据权利要求1所述的方法,其特征在于,所述预先获取满足同源同宿的40字节Key值的所满足的排列分布秘钥SecretKey,为:预先获取根据Hash函数推断出的满足同源同宿的40字节Key值的所满足的排列分布秘钥SecretKey:其中,KeyA、KeyB和KeyC均为无符号32位整型。3.根据权利要求2所述的方法,其特征在于,通过Intel82599万兆网卡内置的Hash函数对所述SecretKey进行移位异或操作,获取若干候选SecretKey,包括:依次选取一个第一随机数作为初始候选值;根据Intel82599万兆网卡内置的Hash函数计算KeyAA[32],其中,KeyAA[32]为将(KeyA,KeyA)左移32次,每次左移最左端32位值的集合;判断计算出的当前KeyAA[32]是否和历史KeyAA[32]相同;若是,则舍弃当前KeyAA[32];若否,则对当前KeyAA[32]的后7位值的离散度进行评价;筛选出离散度大于预设阈值的若干KeyA;选取符合预设条件的若干KeyB和KeyC;根据选出的所述若干KeyA、KeyB和KeyC,获取对应的候选SecretKey。4.根据权利要求3所述的方法,其特征在于,选取符合预设条件的若干KeyB和KeyC,包括:依次选取一个第二随机数作为初始候选值;根据Intel82599万兆网卡内置的Hash函数...

【专利技术属性】
技术研发人员:马旭
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南;41

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

1