【技术实现步骤摘要】
本专利技术涉及一种计算机系统及通信领域,具体地说是。
技术介绍
哈希即Hash,翻译做“散列”或直接音译为“哈希”。就是把任意长度的输入(又叫做预映射,pre-1mage),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列值来唯一的确定输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。传统的网卡接收数据包处理过程中,为避免在硬中断陷入太长的时间,硬中断完成数据包由网卡到内存拷贝等部分处理后,后面调度软中断运行,硬中断则直接返回,软中断继续处理并将数据包传递到上层协议栈。这种处理方式导致硬中断由某个CPU处理,相应的软中断也由此CPU处理,而目前的计算机系统上通常配置有多个CPU或CPU本身有多个核,造成处理软中断的CPU负载很高但其他CPU或核心却处于空闲状态,从而限制了系统本身网络处理带宽的能力。在Iinux系统中传统的数据包接收方式是,当网卡上有数据包接收时,首先触发网卡的硬中断处理函数,若网卡不支持napi方式, ...
【技术保护点】
一种基于哈希的网卡软中断负载均衡方法,包括计算机、计算机的CPU及网卡,计算机的系统为linux系统,其特征在于网卡收取数据包的过程中,通过计算数据包的源IP地址、目的IP地址、端口地址的哈希值,端口地址包括源端口地址及目的端口地址,将不同哈希值的数据包挂到与其对应CPU的接收数据包队列中,由此CPU的收包软中断处理收取数据包,实现数据包在多个CPU上的均衡处理;如果数据包通过计算哈希值属于本CPU,则CPU将其数据包传递给上层协议栈继续处理,否则将数据包加入与其哈希值相应CPU的接收数据包队列中,并触发相应CPU的收包软中断进行处理。
【技术特征摘要】
1.一种基于哈希的网卡软中断负载均衡方法,包括计算机、计算机的CPU及网卡,计算机的系统为Iinux系统,其特征在于网卡收取数据包的过程中,通过计算数据包的源IP地址、目的IP地址、端口地址的哈希值,端口地址包括源端口地址及目的端口地址,将不同哈希值的数据包挂到与其对应CPU的接收数据包队列中,由此CPU的收包软中断处理收取数据包,实现数据包在多个CPU上的均衡处理;如果数据包通过计算哈希值属于本CPU,则CPU将其数据包传递给上层协议栈继续处理,否则将数据包加入与其哈希值相应CPU的接收数据包队列中,并触发相应CPU的收包软中断进行处理。2.根据权利要求1所述的一种基于哈希的网卡软中断负载均衡方法,其特征在于具体步骤为 (1)、在网卡要收取的数据包中提取出32位的源IP地址和32位的目的IP地址,以及16位的源端口地址和16位的目的端口地址;然后将数据包的源端口地址、目的端口地址连接合并为32位长的整数的端口地址;如果数据包中不含有源端口地址和目的端口地址,则将数据包的端口地址值直接置O ; (2)、然后利用Iinux系统下通用的哈希值计算函数,以数据包的源IP地址、目的IP地址、端口地址三个值为参数计算哈希值; (3)、将求得的数据包的哈希值结果对计算机的CPU数取模,从而将不同的数据包映射到不同的CPU上,不同的数据包由不同的CPU的收包软中断进行处理; (4)、CPU的收包软中断处理数据包的过程中,若遇到需要在其他CPU上进行处理的数据包,则将此数据包记录在CPU的rem0te_Cpu_maSk变量中;CPU的...
【专利技术属性】
技术研发人员:张会健,
申请(专利权)人:浪潮电子信息产业股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。