CN112637379B - mac地址散列运算方法、装置、设备及存储介质 - Google Patents

mac地址散列运算方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN112637379B
CN112637379B CN202011563732.3A CN202011563732A CN112637379B CN 112637379 B CN112637379 B CN 112637379B CN 202011563732 A CN202011563732 A CN 202011563732A CN 112637379 B CN112637379 B CN 112637379B
Authority
CN
China
Prior art keywords
sub
mac address
result
preprocessing
mac addresses
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011563732.3A
Other languages
English (en)
Other versions
CN112637379A (zh
Inventor
陈许蒙
张阿珍
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Topsec Technology Co Ltd
Beijing Topsec Network Security Technology Co Ltd
Beijing Topsec Software Co Ltd
Original Assignee
Beijing Topsec Technology Co Ltd
Beijing Topsec Network Security Technology Co Ltd
Beijing Topsec Software Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Topsec Technology Co Ltd, Beijing Topsec Network Security Technology Co Ltd, Beijing Topsec Software Co Ltd filed Critical Beijing Topsec Technology Co Ltd
Priority to CN202011563732.3A priority Critical patent/CN112637379B/zh
Publication of CN112637379A publication Critical patent/CN112637379A/zh
Application granted granted Critical
Publication of CN112637379B publication Critical patent/CN112637379B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5046Resolving address allocation conflicts; Testing of addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/622Layer-2 addresses, e.g. medium access control [MAC] addresses

Abstract

本申请提供一种mac地址散列运算方法、装置、设备及存储介质。其中,mac地址散列运算方法包括:获取第一目标mac地址;对第一目标mac地址进行切分,以将第一目标mac地址切分为若干子mac地址;依次计算若干子mac地址的数值;对若干子mac地址中的数值为0的子mac地址进行预处理并得到第一预处理结果;对若干子mac地址中数值具有2幂次方倍数关系的子mac地址进行预处理,并得到第二预处理结果;对第一预处理结果和第二预处理结果进行hash运算,以得到第一目标mac地址的散列地址。本申请能够解决降低mac地址的散列地址冲突概率,尤其针对含有零mac地址和具有2幂次方倍数关系的mac地址,具有更优的降低冲突概率的效果。

Description

mac地址散列运算方法、装置、设备及存储介质
技术领域
本申请涉及网络加速技术领域,具体而言,涉及一种mac地址散列运算方法、装置、设备及存储介质。
背景技术
在网络加速设备上,报文中的mac地址表项通常是一个hash表,应用层将需要加速的报文中的mac地址对应的相关表项存储在网络加速设备指定的内存中,其中,表项内存地址通常由mac地址散列算法运算得到,当两个或两个以上的mac地址得到的散列地址相同时,就会出现冲突的现象,在这种情况下,第二个以及后面mac表项只能存储在冲突区,若冲突区已满,则包含该mac的报文不能由加速设备进行转发。另一方面,如果网络加速设备访问冲突区进行匹配,延长了mac表项访问周期,也就意味着降低了网络加速设备的转发性能,因此,运算周期短且冲突概率低的散列算法对网络加速设备是至关重要的。
发明内容
本申请实施例的目的在于提供一种mac地址散列运算方法、装置、设备及存储介质,用以解决降低mac地址的散列地址冲突概率,尤其针对含有零mac地址和具有2幂次方倍数关系的mac地址,具有更优的降低冲突概率的效果。
为此本申请第一方面公开一种mac地址散列运算方法,所述方法包括:
获取第一目标mac地址;
对所述第一目标mac地址进行切分,以将所述第一目标mac地址切分为若干子mac地址;
依次计算所述若干子mac地址的数值;
对所述若干子mac地址中的数值为0的子mac地址进行预处理并得到第一预处理结果;
对所述若干子mac地址中数值具有2幂次方倍数关系的子mac地址进行预处理,并得到第二预处理结果;
对所述第一预处理结果和所述第二预处理结果进行hash运算,以得到所述第一目标mac地址的散列地址。
本申请的方法通过对所述第一目标mac地址进行切分,进而能够将所述第一目标mac地址切分为若干子mac地址,进而通过依次计算所述若干子mac地址的数值,进而能够对所述若干子mac地址中的数值为0的子mac地址进行预处理并得到第一预处理结果和对所述若干子mac地址中数值具有2幂次方倍数关系的子mac地址进行预处理,并得到第二预处理结果,从而能够对所述第一预处理结果和所述第二预处理结果进行hash运算,以得到所述第一目标mac地址的散列地,这样一来,可降低mac地址的散列地址冲突概率,尤其针对含有零mac地址和具有2幂次方倍数关系的mac地址,具有更优的降低冲突概率的效果。
在本申请第一方面中,作为一种可选的实施方式,所述对所述第一目标mac地址进行切分,以将所述第一目标mac地址切分为若干子mac地址,包括:
按照高低位顺序依次将所述第一目标mac地址切分为若干子mac地址。
在本可选的实施方式中,按照高低位顺序依次能够将所述第一目标mac地址切分为若干子mac地址。
在本申请第一方面中,作为一种可选的实施方式,所述第一目标mac地址为6字节数据;
以及,所述按照高低位顺序依次将所述第一目标mac地址切分为若干子mac地址,包括:
按照高低位顺序依次将所述第一目标mac地址切分为6个子mac地址。
在本可选的实施方式中,按照高低位顺序依次能够将所述第一目标mac地址切分为6个子mac地址。
在本申请第一方面中,作为一种可选的实施方式,所述对所述若干子mac地址中的数值为0的子mac地址进行预处理并得到第一预处理结果,包括:
对数值为0的所述子mac地址的数值进行二次计算并得到第一二次计算值,其中,所述第一二次计算值为所述若干子mac地址中其余5个所述子mac地址的数值之和;
对所述第一二次计算值进行左移运算,以得到所述第一预处理结果。
在本可选的实施方式,通过对数值为0的所述子mac地址的数值进行二次计算能够得到第一二次计算值,其中,所述第一二次计算值为所述若干子mac地址中其余5个所述子mac地址的数值之和,另一方面通过对所述第一二次计算值进行左移运算,能够得到所述第一预处理结果。
在本申请第一方面中,作为一种可选的实施方式,所述对所述若干子mac地址中数值具有2幂次方倍数关系的子mac地址进行预处理,并得到第二预处理结果,包括:
对数值具有2幂次方倍数关系的子mac地址进行二次计算并得到第二二次计算值,其中,所述第二二次计算值为所述数值具有2幂次方倍数关系的子mac地址的原数值与5个所述子mac地址中低位子mac地址的数值之和。
在本可选的实施方式中,通过对数值具有2幂次方倍数关系的子mac地址进行二次计算能够得到第二二次计算值,其中,所述第二二次计算值为所述数值具有2幂次方倍数关系的子mac地址的原数值与5个所述子mac地址中低位子mac地址的数值之和。
在本申请第一方面中,作为一种可选的实施方式,所述对所述第一预处理结果和所述第二预处理结果进行hash运算,以得到所述第一目标mac地址的散列地址,包括:
对所述第一预处理结果和所述第二预处理结果进行异或和左移逻辑运算并得到运算结果;
将所述运算结果与局域网地址进行异或运算并得到所述散列地址。
在本可选的实施方式,通过对所述第一预处理结果和所述第二预处理结果进行异或和左移逻辑运算能够得到运算结果,进而能够将所述运算结果与局域网地址进行异或运算并得到所述散列地址。
在本申请第一方面中,作为一种可选的实施方式,所述对所述第一预处理结果和所述第二预处理结果进行异或和左移逻辑运算并得到运算结果,包括:
第一预处理结果和所述第二预处理结果作为第二目标mac地址;
将所述第二目标mac地址中的一个子mac地址左移2位并得到左移结果;
将所述左移结果与下一个所述子mac地址进行异或运算,得到所述运算结果。
在本可选的实施方式中,通过将第一预处理结果和所述第二预处理结果作为第二目标mac地址,进而能够将所述第二目标mac地址中的一个子mac地址左移2位并得到左移结果,进而能够将所述左移结果与下一个所述子mac地址进行异或运算,得到所述运算结果。
本申请第二方面公开一种mac地址散列运算装置,所述装置包括:
获取模块,用于获取第一目标mac地址;
切分模块,用于对所述第一目标mac地址进行切分,以将所述第一目标mac地址切分为若干子mac地址;
第一计算模块,用于依次计算所述若干子mac地址的数值;
第一预处理模块,用于对所述若干子mac地址中的数值为0的子mac地址进行预处理并得到第一预处理结果;
第二预处理模块,用于对所述若干子mac地址中数值具有2幂次方倍数关系的子mac地址进行预处理,并得到第二预处理结果;
运算模块,用于对所述第一预处理结果和所述第二预处理结果进行hash运算,以得到所述第一目标mac地址的散列地址。
本申请的装置通过对所述第一目标mac地址进行切分,进而能够将所述第一目标mac地址切分为若干子mac地址,进而通过依次计算所述若干子mac地址的数值,进而能够对所述若干子mac地址中的数值为0的子mac地址进行预处理并得到第一预处理结果和对所述若干子mac地址中数值具有2幂次方倍数关系的子mac地址进行预处理,并得到第二预处理结果,从而能够对所述第一预处理结果和所述第二预处理结果进行hash运算,以得到所述第一目标mac地址的散列地,这样一来,可降低mac地址的散列地址冲突概率,尤其针对含有零mac地址和具有2幂次方倍数关系的mac地址,具有更优的降低冲突概率的效果。
本申请第三方面公开一种mac地址散列运算设备,所述设备包括:
处理器;以及
存储器,配置用于存储机器可读指令,所述指令在由所述处理器执行时,使得所述处理器执行本申请第一方面的mac地址散列运算方法。
本申请的设备通过对所述第一目标mac地址进行切分,进而能够将所述第一目标mac地址切分为若干子mac地址,进而通过依次计算所述若干子mac地址的数值,进而能够对所述若干子mac地址中的数值为0的子mac地址进行预处理并得到第一预处理结果和对所述若干子mac地址中数值具有2幂次方倍数关系的子mac地址进行预处理,并得到第二预处理结果,从而能够对所述第一预处理结果和所述第二预处理结果进行hash运算,以得到所述第一目标mac地址的散列地,这样一来,可降低mac地址的散列地址冲突概率,尤其针对含有零mac地址和具有2幂次方倍数关系的mac地址,具有更优的降低冲突概率的效果。
本申请第四方面公开一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行本申请第一方面的mac地址散列运算方法。
本申请的存储介质通过对所述第一目标mac地址进行切分,进而能够将所述第一目标mac地址切分为若干子mac地址,进而通过依次计算所述若干子mac地址的数值,进而能够对所述若干子mac地址中的数值为0的子mac地址进行预处理并得到第一预处理结果和对所述若干子mac地址中数值具有2幂次方倍数关系的子mac地址进行预处理,并得到第二预处理结果,从而能够对所述第一预处理结果和所述第二预处理结果进行hash运算,以得到所述第一目标mac地址的散列地,这样一来,可降低mac地址的散列地址冲突概率,尤其针对含有零mac地址和具有2幂次方倍数关系的mac地址,具有更优的降低冲突概率的效果。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是本申请实施例公开的mac地址散列运算方法的流程示意图;
图2是本申请实施例公开的mac地址散列运算装置的结构示意图;
图3是本申请实施例公开的mac地址散列运算设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
实施例一
请参阅图1,图1是本申请实施例公开的mac地址散列运算方法的流程示意图。如图1所示,本申请实施例的方法还包括步骤:
101、获取第一目标mac地址;
102、对第一目标mac地址进行切分,以将第一目标mac地址切分为若干子mac地址;
103、依次计算若干子mac地址的数值;
104、对若干子mac地址中的数值为0的子mac地址进行预处理并得到第一预处理结果;
105、对若干子mac地址中数值具有2幂次方倍数关系的子mac地址进行预处理,并得到第二预处理结果;
106、对第一预处理结果和第二预处理结果进行hash运算,以得到第一目标mac地址的散列地址。
本申请实施例的方法通过对第一目标mac地址进行切分,进而能够将第一目标mac地址切分为若干子mac地址,进而通过依次计算若干子mac地址的数值,进而能够对若干子mac地址中的数值为0的子mac地址进行预处理并得到第一预处理结果和对若干子mac地址中数值具有2幂次方倍数关系的子mac地址进行预处理,并得到第二预处理结果,从而能够对第一预处理结果和第二预处理结果进行hash运算,以得到第一目标mac地址的散列地,这样一来,可降低mac地址的散列地址冲突概率,尤其针对含有零mac地址和具有2幂次方倍数关系的mac地址,具有更优的降低冲突概率的效果。
在本申请实施例中,作为一种可选的实施方式,步骤102:对第一目标mac地址进行切分,以将第一目标mac地址切分为若干子mac地址,包括:
按照高低位顺序依次将第一目标mac地址切分为若干子mac地址。
在本可选的实施方式中,按照高低位顺序依次能够将第一目标mac地址切分为若干子mac地址。
在本申请实施例中,作为一种可选的实施方式,第一目标mac地址为6字节数据;
以及,步骤:按照高低位顺序依次将第一目标mac地址切分为若干子mac地址,包括:
按照高低位顺序依次将第一目标mac地址切分为6个子mac地址。
在本可选的实施方式中,按照高低位顺序依次能够将第一目标mac地址切分为6个子mac地址。
在本申可选的实施方式中,作为一种示例,假设目标mac地址为6字节数据,则将目标mac地址划分为mac0、mac1、mac2、mac3、mac4、mac5共6个子mac地址,其中,mac0、mac1、mac2、mac3、mac4、mac5按照高低位顺序排列。
在本申请实施例中,作为一种可选的实施方式,步骤103:对若干子mac地址中的数值为0的子mac地址进行预处理并得到第一预处理结果,包括:
对数值为0的子mac地址的数值进行二次计算并得到第一二次计算值,其中,第一二次计算值为若干子mac地址中其余5个子mac地址的数值之和;
对第一二次计算值进行左移运算,以得到第一预处理结果。
在本可选的实施方式中,作为一种示例,假设6个子mac地址中的mac0的数值为0,则mac0=mac1+mac2+mac3+mac4+mac5,即将6个子mac地址中其余5个子mac地址的数值之和重新作为mac0的数值。
在本可选的实施方式中,作为一种示例,将重新得到的mac0的数值进行左移运算,左移过程中,低位补零,另一方面,左移的位数根据子mac的下标参数,其中i=0,1,2,3,4,5,例如mac2=mac2<<2。
在本可选的实施方式,通过对数值为0的子mac地址的数值进行二次计算能够得到第一二次计算值,其中,第一二次计算值为若干子mac地址中其余5个子mac地址的数值之和,另一方面通过对第一二次计算值进行左移运算,能够得到第一预处理结果。
在本申请实施例中,作为一种可选的实施方式,步骤104:对若干子mac地址中数值具有2幂次方倍数关系的子mac地址进行预处理,并得到第二预处理结果,包括:
对数值具有2幂次方倍数关系的子mac地址进行二次计算并得到第二二次计算值,其中,第二二次计算值为数值具有2幂次方倍数关系的子mac地址的原数值与5个子mac地址中低位子mac地址的数值之和。
在本可选的实施方式中,作为一个示例,假设mac0、mac1、mac2为高位mac地址,即数值具有2幂次方倍数关系的子mac地址,则mac0=mac0+mac3、mac1=mac1+mac4、mac2=mac2+mac5。
在本可选的实施方式中,通过对数值具有2幂次方倍数关系的子mac地址进行二次计算能够得到第二二次计算值,其中,第二二次计算值为数值具有2幂次方倍数关系的子mac地址的原数值与5个子mac地址中低位子mac地址的数值之和。
在本申请实施例中,作为一种可选的实施方式,步骤106:对第一预处理结果和第二预处理结果进行hash运算,以得到第一目标mac地址的散列地址,包括子步骤:
对第一预处理结果和第二预处理结果进行异或和左移逻辑运算并得到运算结果;
将运算结果与局域网地址进行异或运算并得到散列地址。
在本可选的实施方式,通过对第一预处理结果和第二预处理结果进行异或和左移逻辑运算能够得到运算结果,进而能够将运算结果与局域网地址进行异或运算并得到散列地址。
在本申请实施例中,作为一种可选的实施方式,步骤:对第一预处理结果和第二预处理结果进行异或和左移逻辑运算并得到运算结果,包括:
第一预处理结果和第二预处理结果作为第二目标mac地址;
将第二目标mac地址中的一个子mac地址左移2位并得到左移结果;
将左移结果与下一个子mac地址进行异或运算,得到运算结果。
在本可选的实施方式中,通过将第一预处理结果和第二预处理结果作为第二目标mac地址,进而能够将第二目标mac地址中的一个子mac地址左移2位并得到左移结果,进而能够将左移结果与下一个子mac地址进行异或运算,得到运算结果。
在本申请实施例中,对第一预处理结果和第二预处理结果进行异或和左移逻辑运算并得到运算结果可以从第一预处理结果和第二预处理结果构成的第二目标mac地址的高位开始,也可以从第二目标mac地址的低位开始实现。例如,从高位子mac地址开始处理,第一个子mac地址首先左移2位,再与次高位子mac地址进行异或运算,得到的结果再左移2位,并与下一个子mac地址进行异或运算,按着这种方法依次完成所有子mac地址的处理,将最终的计算结果与局域网地址进行异或运算便可得到散列地址。再例如,可从低位子mac地址开始处理,按照以上的运算方法,依次向次低位子mac地址逐个处理,将最终的计算结果与局域网地址进行异或运算也可得散列地址。
实施例二
请参阅图2,图2是本申请实施例公开的mac地址散列运算装置的结构示意图。如图2所示,本申请实施例的装置还包括:
获取模块201,用于获取第一目标mac地址;
切分模块202,用于对第一目标mac地址进行切分,以将第一目标mac地址切分为若干子mac地址;
第一计算模块203,用于依次计算若干子mac地址的数值;
第一预处理模块204,用于对若干子mac地址中的数值为0的子mac地址进行预处理并得到第一预处理结果;
第二预处理模块205,用于对若干子mac地址中数值具有2幂次方倍数关系的子mac地址进行预处理,并得到第二预处理结果;
运算模块206,用于对第一预处理结果和第二预处理结果进行hash运算,以得到第一目标mac地址的散列地址。
本申请实施例的装置通过对第一目标mac地址进行切分,进而能够将第一目标mac地址切分为若干子mac地址,进而通过依次计算若干子mac地址的数值,进而能够对若干子mac地址中的数值为0的子mac地址进行预处理并得到第一预处理结果和对若干子mac地址中数值具有2幂次方倍数关系的子mac地址进行预处理,并得到第二预处理结果,从而能够对第一预处理结果和第二预处理结果进行hash运算,以得到第一目标mac地址的散列地,这样一来,可降低mac地址的散列地址冲突概率,尤其针对含有零mac地址和具有2幂次方倍数关系的mac地址,具有更优的降低冲突概率的效果。
需要说明的是,关于本申请实施例的mac地址散列运算装置的其他详细说明,请参阅本申请实施例一,对此本申请不作赘述。
实施例三
请参阅3,图3是本申请实施例公开的一种mac地址散列运算设备的结构示意图。如图3,本申请实施例的设备包括:
处理器301;以及
存储器302,配置用于存储机器可读指令,指令在由处理器301执行时,使得处理器301执行本申请实施例的mac地址散列运算方法。
本申请实施例的设备通过对第一目标mac地址进行切分,进而能够将第一目标mac地址切分为若干子mac地址,进而通过依次计算若干子mac地址的数值,进而能够对若干子mac地址中的数值为0的子mac地址进行预处理并得到第一预处理结果和对若干子mac地址中数值具有2幂次方倍数关系的子mac地址进行预处理,并得到第二预处理结果,从而能够对第一预处理结果和第二预处理结果进行hash运算,以得到第一目标mac地址的散列地,这样一来,可降低mac地址的散列地址冲突概率,尤其针对含有零mac地址和具有2幂次方倍数关系的mac地址,具有更优的降低冲突概率的效果。
实施例四
本申请实施例公开一种存储介质,存储介质存储有计算机程序,计算机程序被处理器执行本申请实施例的mac地址散列运算方法。
本申请实施例的存储介质通过对第一目标mac地址进行切分,进而能够将第一目标mac地址切分为若干子mac地址,进而通过依次计算若干子mac地址的数值,进而能够对若干子mac地址中的数值为0的子mac地址进行预处理并得到第一预处理结果和对若干子mac地址中数值具有2幂次方倍数关系的子mac地址进行预处理,并得到第二预处理结果,从而能够对第一预处理结果和第二预处理结果进行hash运算,以得到第一目标mac地址的散列地,这样一来,可降低mac地址的散列地址冲突概率,尤其针对含有零mac地址和具有2幂次方倍数关系的mac地址,具有更优的降低冲突概率的效果。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
需要说明的是,功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (7)

1.一种mac地址散列运算方法,其特征在于,所述方法包括:
获取第一目标mac地址,所述第一目标mac地址为6字节数据;
对所述第一目标mac地址进行切分,以将所述第一目标mac地址切分为若干子mac地址;
依次计算所述若干子mac地址的数值;
对所述若干子mac地址中的数值为0的子mac地址进行预处理并得到第一预处理结果;
对所述若干子mac地址中数值具有2幂次方倍数关系的子mac地址进行预处理,并得到第二预处理结果;
对所述第一预处理结果和所述第二预处理结果进行hash运算,以得到所述第一目标mac地址的散列地址;
以及,所述对所述若干子mac地址中的数值为0的子mac地址进行预处理并得到第一预处理结果,包括:对数值为0的所述子mac地址的数值进行二次计算并得到第一二次计算值,其中,所述第一二次计算值为所述若干子mac地址中其余5个所述子mac地址的数值之和;
对所述第一二次计算值进行左移运算,以得到所述第一预处理结果;
以及,所述对所述若干子mac地址中数值具有2幂次方倍数关系的子mac地址进行预处理,并得到第二预处理结果,包括:
对数值具有2幂次方倍数关系的子mac地址进行二次计算并得到第二二次计算值,其中,所述第二二次计算值为所述数值具有2幂次方倍数关系的子mac地址的原数值与5个所述子mac地址中低位子mac地址的数值之和;
所述对所述第一预处理结果和所述第二预处理结果进行hash运算,以得到所述第一目标mac地址的散列地址,包括:
对所述第一预处理结果和所述第二预处理结果进行异或和左移逻辑运算并得到运算结果;
将所述运算结果与局域网地址进行异或运算并得到所述散列地址。
2.如权利要求1所述的方法,其特征在于,所述对所述第一目标mac地址进行切分,以将所述第一目标mac地址切分为若干子mac地址,包括:
按照高低位顺序依次将所述第一目标mac地址切分为若干子mac地址。
3.如权利要求2所述的方法,其特征在于,所述按照高低位顺序依次将所述第一目标mac地址切分为若干子mac地址,包括:
按照高低位顺序依次将所述第一目标mac地址切分为6个子mac地址。
4.如权利要求1所述的方法,其特征在于,所述对所述第一预处理结果和所述第二预处理结果进行异或和左移逻辑运算并得到运算结果,包括:
基于所述第一预处理结果和所述第二预处理结果构成第二目标mac地址;
将所述第二目标mac地址中的一个子mac地址左移2位并得到左移结果;
将所述左移结果与下一个所述子mac地址进行异或运算,得到所述运算结果。
5.一种mac地址散列运算装置,其特征在于,所述装置包括:
获取模块,用于获取第一目标mac地址,所述第一目标mac地址为6字节数据;
切分模块,用于对所述第一目标mac地址进行切分,以将所述第一目标mac地址切分为若干子mac地址;
第一计算模块,用于依次计算所述若干子mac地址的数值;
第一预处理模块,用于对所述若干子mac地址中的数值为0的子mac地址进行预处理并得到第一预处理结果;
第二预处理模块,用于对所述若干子mac地址中数值具有2幂次方倍数关系的子mac地址进行预处理,并得到第二预处理结果;
运算模块,用于对所述第一预处理结果和所述第二预处理结果进行hash运算,以得到所述第一目标mac地址的散列地址;
以及,所述第一预处理模块具体用于对数值为0的所述子mac地址的数值进行二次计算并得到第一二次计算值,其中,所述第一二次计算值为所述若干子mac地址中其余5个所述子mac地址的数值之和,和用于对所述第一二次计算值进行左移运算,以得到所述第一预处理结果;
以及,所述第二预处理模块具体用于对数值具有2幂次方倍数关系的子mac地址进行二次计算并得到第二二次计算值,其中,所述第二二次计算值为所述数值具有2幂次方倍数关系的子mac地址的原数值与5个所述子mac地址中低位子mac地址的数值之和;
以及,所述运算模块具体用于对所述第一预处理结果和所述第二预处理结果进行异或和左移逻辑运算并得到运算结果,和将所述运算结果与局域网地址进行异或运算并得到所述散列地址。
6.一种mac地址散列运算设备,其特征在于,所述设备包括:
处理器;以及
存储器,配置用于存储机器可读指令,所述指令在由所述处理器执行时,使得所述处理器执行如权利要求1-4任一项所述的mac地址散列运算方法。
7.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行如权利要求1-4任一项所述的mac地址散列运算方法。
CN202011563732.3A 2020-12-25 2020-12-25 mac地址散列运算方法、装置、设备及存储介质 Active CN112637379B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011563732.3A CN112637379B (zh) 2020-12-25 2020-12-25 mac地址散列运算方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011563732.3A CN112637379B (zh) 2020-12-25 2020-12-25 mac地址散列运算方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN112637379A CN112637379A (zh) 2021-04-09
CN112637379B true CN112637379B (zh) 2022-11-15

Family

ID=75324995

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011563732.3A Active CN112637379B (zh) 2020-12-25 2020-12-25 mac地址散列运算方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN112637379B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009156777A1 (en) * 2008-06-23 2009-12-30 Telefonaktiebolaget Lm Ericsson (Publ) Media access control (mac) address collision avoidance in ethernet switched networks
CN103001878A (zh) * 2012-11-26 2013-03-27 中兴通讯股份有限公司 Mac地址哈希冲突的确定方法及装置
CN107547408A (zh) * 2017-07-28 2018-01-05 新华三技术有限公司 一种mac地址哈希冲突的处理方法和装置
CN109218204A (zh) * 2017-06-29 2019-01-15 中兴通讯股份有限公司 一种解决mac hash冲突的方法和装置
CN109889622A (zh) * 2019-02-25 2019-06-14 武汉晟联智融微电子科技有限公司 集中式逻辑地址分配方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009156777A1 (en) * 2008-06-23 2009-12-30 Telefonaktiebolaget Lm Ericsson (Publ) Media access control (mac) address collision avoidance in ethernet switched networks
CN103001878A (zh) * 2012-11-26 2013-03-27 中兴通讯股份有限公司 Mac地址哈希冲突的确定方法及装置
CN109218204A (zh) * 2017-06-29 2019-01-15 中兴通讯股份有限公司 一种解决mac hash冲突的方法和装置
CN107547408A (zh) * 2017-07-28 2018-01-05 新华三技术有限公司 一种mac地址哈希冲突的处理方法和装置
CN109889622A (zh) * 2019-02-25 2019-06-14 武汉晟联智融微电子科技有限公司 集中式逻辑地址分配方法

Also Published As

Publication number Publication date
CN112637379A (zh) 2021-04-09

Similar Documents

Publication Publication Date Title
CN106326475B (zh) 一种高效的静态哈希表实现方法及系统
CN107592116B (zh) 一种数据压缩方法、装置及存储介质
JP6339987B2 (ja) キャッシュメモリ・システム及びその動作方法
CN101692651A (zh) 一种哈希查找表的方法和装置
US9619657B2 (en) Method and apparatus for storing redeem code, and method and apparatus for verifying redeem code
US6396420B1 (en) Delta compression of floating point coordinate data
WO2017143907A1 (zh) 一种字符串距离计算方法和装置
CN112860993A (zh) 兴趣点的分类方法、装置、设备、存储介质及程序产品
CN112637379B (zh) mac地址散列运算方法、装置、设备及存储介质
CN112287657B (zh) 基于文本相似度的信息匹配系统
CN113408660A (zh) 图书聚类方法、装置、设备和存储介质
CN110166318B (zh) 一种数据统计方法及装置
CN107391541A (zh) 一种实时数据合并方法和装置
CN107832341B (zh) Agnss用户去重统计方法
CN107341113B (zh) Cache的压缩方法和装置
CN113630123B (zh) 一种数据压缩系统及方法
CN112506651B (zh) 一种大数据量环境中数据运算的方法和设备
CN111368122B (zh) 一种图片去重的方法及装置
CN113656411B (zh) 用于图数据入库的方法及其装置
CN116304238A (zh) 一种基于Feistel结构的布谷鸟过滤器及其数据处理方法
CN109165220B (zh) 一种数据匹配计算方法
CN112380004B (zh) 内存管理方法、装置、计算机可读存储介质及电子设备
CN110046159B (zh) 银行账号存储方法、装置、计算机设备及存储介质
CN106649427B (zh) 一种信息识别的方法及装置
CN115858882A (zh) 一种快速计算海量数据集间匹配度的方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant