CN115065662A - 一种mac地址哈希冲突的处理方法及系统 - Google Patents
一种mac地址哈希冲突的处理方法及系统 Download PDFInfo
- Publication number
- CN115065662A CN115065662A CN202210663282.8A CN202210663282A CN115065662A CN 115065662 A CN115065662 A CN 115065662A CN 202210663282 A CN202210663282 A CN 202210663282A CN 115065662 A CN115065662 A CN 115065662A
- Authority
- CN
- China
- Prior art keywords
- mac address
- hash
- learned
- tables
- mac
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000008569 process Effects 0.000 claims abstract description 14
- 238000004590 computer program Methods 0.000 claims description 16
- 230000006870 function Effects 0.000 claims description 11
- 230000032683 aging Effects 0.000 claims description 5
- 230000003068 static effect Effects 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/30—Managing network names, e.g. use of aliases or nicknames
- H04L61/3005—Mechanisms for avoiding name conflicts
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种MAC地址哈希冲突的处理方法及系统,方法包括:首先构建N张MAC地址表,在MAC地址学习的过程中,对学习到的MAC地址进行MAC地址是否存在哈希冲突的判断,若存在哈希冲突,将发生哈希冲突的MAC地址保存于N张MAC地址表中未被占用的MAC地址表,并生成未被占用的MAC地址表的地址已被占用的标记并学习发生哈希冲突的MAC地址的信息,利用本发明实施例,它能够提供一种新的解决哈希冲突的途径,提高哈希冲突的处理效率。
Description
技术领域
本发明属于哈希冲突处理技术领域,特别是一种MAC地址哈希冲突的处理方法及系统。
背景技术
通信领域的交换设备在转发报文时经常涉及到MAC地址查找表,MAC地址表是交换机等网络设备记录MAC地址和端口的映射关系,代表了交换机从哪个端口学习到了某个MAC地址,交换机把这个信息记录下来,后续交换机需要转发数据的时候就可以根据报文的目的MAC地址去根据MAC地址表转发数据。
MAC地址查找表一般采用哈希表的结构进行存储,构建哈希表时有可能发生不同MAC地址产生相同的哈希结果即哈希冲突,如何解决这一哈希冲突显得格外重要,这是一个亟待解决的问题。
发明内容
本发明的目的是提供一种MAC地址哈希冲突的处理方法及系统,以解决现有技术中的不足,它能够提供一种新的解决哈希冲突的途径,提高哈希冲突的处理效率。
本申请的一个实施例提供了一种MAC地址哈希冲突的处理方法,所述方法包括:
构建N张MAC地址表,在MAC地址学习的过程中,对学习到的MAC地址进行MAC地址是否存在哈希冲突的判断;
若存在哈希冲突,将发生哈希冲突的MAC地址保存于所述N张MAC地址表中未被占用的MAC地址表;
生成所述未被占用的MAC地址表的地址已被占用的标记并学习所述发生哈希冲突的MAC地址的信息。
可选的,所述构建N张MAC地址表,包括:
构建N张表项个数为2m的MAC地址表,其中,所述表项内容包括控制位、端口号以及MAC地址信息,所述控制位至少包括表项有效位、动态和/或静态MAC地址选择位以及学习老化有效位中的一种或多种,所述m为预设哈希结果的低位值。
可选的,所述对学习到的MAC地址进行MAC地址是否存在哈希冲突的判断,包括:
获得待学习MAC地址经过哈希函数计算生成的哈希结果,其中,所述哈希结果低m位作为MAC地址表的地址;
根据所述哈希结果,判断已经学习到的MAC地址是否存在哈希冲突,所述哈希冲突为所述待学习MAC地址哈希结果低m位的值与现有存在表中的MAC地址的哈希结果低m位的值相同,且MAC地址不同。
可选的,所述判断已经学习到的MAC地址是否存在哈希冲突,包括:
同时读取所述N张MAC地址表,并获得N个不同地址表的表项内容;
通过判断所述表项内容的表项有效位的状态,确定学习到的MAC地址是否存在哈希冲突。
可选的,所述通过判断所述表项内容的表项有效位的状态,确定学习到的MAC地址是否存在哈希冲突,包括:
若所述表项内容中的表项有效位存在有效状态,则判断学习到的MAC地址存在哈希冲突。
可选的,所述若存在哈希冲突,将发生哈希冲突的MAC地址保存于所述N张MAC地址表中未被占用的MAC地址表,包括:
若存在哈希冲突,依次查找所述N张MAC地址表中表项有效位无效的表,直到找到未被占用的MAC地址表并保存发生哈希冲突的MAC地址。
可选的,所述生成所述未被占用的MAC地址表的地址已被占用的标记并学习所述发生哈希冲突的MAC地址的信息,包括:
生成所述未被占用的MAC地址表的表项有效位设置为有效状态的标记,并记录端口号及MAC地址信息。
本申请的又一实施例提供了一种MAC地址哈希冲突的处理系统,所述系统包括:
构建模块,用于构建N张MAC地址表,在MAC地址学习的过程中,对学习到的MAC地址进行MAC地址是否存在哈希冲突的判断;
保存模块,用于若存在哈希冲突,将发生哈希冲突的MAC地址保存于所述N张MAC地址表中未被占用的MAC地址表;
生成模块,用于生成所述未被占用的MAC地址表的地址已被占用的标记并学习所述发生哈希冲突的MAC地址的信息。
可选的,所述构建模块,包括:
构建单元,用于构建N张表项个数为2m的MAC地址表,其中,所述表项内容包括控制位、端口号以及MAC地址信息,所述控制位至少包括表项有效位、动态和/或静态MAC地址选择位以及学习老化有效位中的一种或多种,所述m为预设哈希结果的低位值。
可选的,所述构建模块,包括:
获得单元,用于获得待学习MAC地址经过哈希函数计算生成的哈希结果,其中,所述哈希结果低m位作为MAC地址表的地址;
判断单元,用于根据所述哈希结果,判断已经学习到的MAC地址是否存在哈希冲突,所述哈希冲突为所述待学习MAC地址哈希结果低m位的值与现有存在表中的MAC地址的哈希结果低m位的值相同,且MAC地址不同。
可选的,所述判断单元,包括:
读取子单元,用于同时读取所述N张MAC地址表,并获得N个不同地址表的表项内容;
判断子单元,用于通过判断所述表项内容的表项有效位的状态,确定学习到的MAC地址是否存在哈希冲突。
可选的,所述判断子单元,包括:
第一判断子单元,用于若所述表项内容中的表项有效位存在有效状态,则判断学习到的MAC地址存在哈希冲突。
可选的,所述保存模块,包括:
查找单元,用于若存在哈希冲突,依次查找所述N张MAC地址表中表项有效位无效的表,直到找到未被占用的MAC地址表并保存发生哈希冲突的MAC地址。
可选的,所述生成模块,包括:
生成单元,用于生成所述未被占用的MAC地址表的表项有效位设置为有效状态的标记,并记录端口号及MAC地址信息。
本申请的又一实施例提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项中所述的方法。
本申请的又一实施例提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项中所述的方法。
与现有技术相比,本发明首先构建N张MAC地址表,在MAC地址学习的过程中,对学习到的MAC地址进行MAC地址是否存在哈希冲突的判断,若存在哈希冲突,将发生哈希冲突的MAC地址保存于N张MAC地址表中未被占用的MAC地址表,并生成未被占用的MAC地址表的地址已被占用的标记并学习发生哈希冲突的MAC地址的信息,利用本发明实施例,它能够提供一种新的解决哈希冲突的途径,提高哈希冲突的处理效率。
附图说明
图1为本发明实施例提供的一种MAC地址哈希冲突的处理方法的计算机终端的硬件结构框图;
图2为本发明实施例提供的一种MAC地址哈希冲突的处理方法的流程示意图;
图3为本发明实施例提供的一种MAC地址学习的示意图;
图4为本发明实施例提供的一种待学习MAC地址经过哈希函数处理后的结果示意图;
图5为本发明实施例提供的一种MAC地址哈希冲突的处理系统的结构示意图。
具体实施方式
下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本发明实施例首先提供了一种MAC地址哈希冲突的处理方法,该方法可以应用于电子设备,如计算机终端,具体如普通电脑、平板等。
下面以运行在计算机终端上为例对其进行详细说明。图1为本发明实施例提供的一种MAC地址哈希冲突的处理方法的计算机终端的硬件结构框图。如图1所示,计算机终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述计算机终端还可以包括用于通信功能的传输装置106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储应用软件的软件程序以及模块,如本申请实施例中的MAC地址哈希冲突的处理方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
参见图2,图2为本发明实施例提供的一种MAC地址哈希冲突的处理方法的流程示意图,可以包括如下步骤:
S201:构建N张MAC地址表,在MAC地址学习的过程中,对学习到的MAC地址进行MAC地址是否存在哈希冲突的判断。
具体的,构建N张MAC地址表,可以包括:
构建N张表项个数为2m的MAC地址表,其中,所述表项内容包括控制位、端口号以及MAC地址信息,所述控制位至少包括表项有效位、动态和/或静态MAC地址选择位以及学习老化有效位中的一种或多种,所述m为预设哈希结果的低位值。
其中,MAC(Media Access Control或者Medium Access Control)地址,意译为媒体访问控制,或称为物理地址、硬件地址,用来定义网络设备的位置。在OSI模型中,第三层网络层负责IP地址,第二层数据链路层则负责MAC地址。因此一个主机会有一个MAC地址,而每个网络位置会有一个专属于它的IP地址,MAC地址是网卡决定的,是固定的。
MAC地址可以为48位,用12个16进制数表示,前6个16进制数字由IEEE管理,用来识别生产者或者厂商,构成OUI(ORGANIZATIONAL UNIQUE IDENTIFIER,组织唯一识别符),后6个包括网卡序列号或者特定硬件厂商的设定值。
MAC地址学习是一种基于MAC地址识别,能完成封装转发数据包功能的网络设备。交换机对于因第一次发送到目的地址不成功的数据包会再次对所有端口同时发送,企图找到这个目的MAC地址,找到后就会把这个地址重新加入到自己的MAC地址列表中,这样下次再发送到这个端口时就不会发错。MAC地址学习是针对于交换机来说的,是指交换机在收到一个报文时,会把报文的源MAC地址记录在MAC地址表项中。参见图3,图3为本发明实施例提供的一种MAC地址学习的示意图,图中交换机有三个端口,端口号为P1、P2和P3,分别连接PC1、PC2和PC3,其中,例如P1端口收到任何PC1发送的报文,都会把源地址(PC1_MAC)记录在如图所示的MAC地址学习表项中。
具体的,所述对学习到的MAC地址进行MAC地址是否存在哈希冲突的判断,可以包括:
步骤1:获得待学习MAC地址经过哈希函数计算生成的哈希结果,其中,所述哈希结果低m位作为MAC地址表的地址。
参见图4,图4为本发明实施例提供的一种待学习MAC地址经过哈希函数处理后的结果示意图,图中待学习MAC地址经过哈希函数计算生成哈希结果,再将哈希结果低m位作为MAC地址表的地址,其中,MAC地址表的表项内容中包括控制位、端口号和MAC地址。
步骤2:根据所述哈希结果,判断已经学习到的MAC地址是否存在哈希冲突,所述哈希冲突为所述待学习MAC地址哈希结果低m位的值与现有存在表中的MAC地址的哈希结果低m位的值相同,且MAC地址不同。
具体的,所述判断已经学习到的MAC地址是否存在哈希冲突,包括:
同时读取所述N张MAC地址表,并获得N个不同地址表的表项内容;
通过判断所述表项内容的表项有效位的状态,确定学习到的MAC地址是否存在哈希冲突。
其中,所述通过判断所述表项内容的表项有效位的状态,确定学习到的MAC地址是否存在哈希冲突,可以包括:
若所述表项内容中的表项有效位存在有效状态,则判断学习到的MAC地址存在哈希冲突。
哈希(Hash)是把任意长度的输入(又叫做预映射pre-image)通过散列算法变换成固定长度的输出,该输出就是散列值(哈希值),哈希算法又称散列法、杂凑法以及关键字地址计算法等。哈希冲突为若结构中存在和关键字Key相等的记录,则必定在Hash(Key)的存储位置上,即当Key1≠Key2时,Hash(Key1)=Hash(Key2),在实际实现的时候,基于哈希算法不可避免地会存在如此哈希冲突。
示例性的,当N=4,m=10,哈希算法采用CRC16-CCITT:X16+X12+X5+1,待学习MAC地址哈希计算,低m位作为MAC地址表的地址,数据帧从某一端口进入交换机后,交换机获取此数据帧的源MAC地址,进行CRC16-CCITT计算,得到16bit位的哈希结果,并取哈希结果的低10bit作为MAC地址表的地址,进行查表。
S202:若存在哈希冲突,将发生哈希冲突的MAC地址保存于所述N张MAC地址表中未被占用的MAC地址表。
具体的,若存在哈希冲突,依次查找所述N张MAC地址表中表项有效位无效的表,直到找到未被占用的MAC地址表并保存发生哈希冲突的MAC地址。
S203:生成所述未被占用的MAC地址表的地址已被占用的标记并学习所述发生哈希冲突的MAC地址的信息。
具体的,生成所述未被占用的MAC地址表的地址已被占用的标记并学习所述发生哈希冲突的MAC地址的信息,可以包括:
生成所述未被占用的MAC地址表的表项有效位设置为有效状态的标记,并记录端口号及MAC地址信息。
示例性的,接上述示例,同时读取4张MAC地址表,得到4个不同地址表的表项内容,如果4个表项中的表项有效位存在有效状态,则判断为存在冲突。如冲突,选其中一张空表,并标记此地址已占用并学习此MAC地址信息,冲突后,从第0张表开始查找表项有效位无效的表,直到找到一张空表并标记此表的表项的表项有效位设置有效,同时记录端口号及MAC地址,如果直到最后一张表都没有找到,则MAC地址不记录。
可见,本发明首先构建N张MAC地址表,在MAC地址学习的过程中,对学习到的MAC地址进行MAC地址是否存在哈希冲突的判断,若存在哈希冲突,将发生哈希冲突的MAC地址保存于N张MAC地址表中未被占用的MAC地址表,并生成未被占用的MAC地址表的地址已被占用的标记并学习发生哈希冲突的MAC地址的信息,利用本发明实施例,它能够提供一种新的解决哈希冲突的途径,提高哈希冲突的处理效率。
本申请的又一实施例提供了一种MAC地址哈希冲突的处理系统,应用于上述任一项所述的MAC地址哈希冲突的处理方法,如图4所示的一种MAC地址哈希冲突的处理系统的结构示意图,所述系统包括:
构建模块501,用于构建N张MAC地址表,在MAC地址学习的过程中,对学习到的MAC地址进行MAC地址是否存在哈希冲突的判断;
保存模块502,用于若存在哈希冲突,将发生哈希冲突的MAC地址保存于所述N张MAC地址表中未被占用的MAC地址表;
生成模块503,用于生成所述未被占用的MAC地址表的地址已被占用的标记并学习所述发生哈希冲突的MAC地址的信息。
具体的,所述构建模块,包括:
构建单元,用于构建N张表项个数为2m的MAC地址表,其中,所述表项内容包括控制位、端口号以及MAC地址信息,所述控制位至少包括表项有效位、动态和/或静态MAC地址选择位以及学习老化有效位中的一种或多种,所述m为预设哈希结果的低位值。
具体的,所述构建模块,包括:
获得单元,用于获得待学习MAC地址经过哈希函数计算生成的哈希结果,其中,所述哈希结果低m位作为MAC地址表的地址;
判断单元,用于根据所述哈希结果,判断已经学习到的MAC地址是否存在哈希冲突,所述哈希冲突为所述待学习MAC地址哈希结果低m位的值与现有存在表中的MAC地址的哈希结果低m位的值相同,且MAC地址不同。
具体的,所述判断单元,包括:
读取子单元,用于同时读取所述N张MAC地址表,并获得N个不同地址表的表项内容;
判断子单元,用于通过判断所述表项内容的表项有效位的状态,确定学习到的MAC地址是否存在哈希冲突。
具体的,所述判断子单元,包括:
第一判断子单元,用于若所述表项内容中的表项有效位存在有效状态,则判断学习到的MAC地址存在哈希冲突。
具体的,所述保存模块,包括:
查找单元,用于若存在哈希冲突,依次查找所述N张MAC地址表中表项有效位无效的表,直到找到未被占用的MAC地址表并保存发生哈希冲突的MAC地址。
具体的,所述生成模块,包括:
生成单元,用于生成所述未被占用的MAC地址表的表项有效位设置为有效状态的标记,并记录端口号及MAC地址信息。
与现有技术相比,本发明首先构建N张MAC地址表,在MAC地址学习的过程中,对学习到的MAC地址进行MAC地址是否存在哈希冲突的判断,若存在哈希冲突,将发生哈希冲突的MAC地址保存于N张MAC地址表中未被占用的MAC地址表,并生成未被占用的MAC地址表的地址已被占用的标记并学习发生哈希冲突的MAC地址的信息,利用本发明实施例,它能够提供一种新的解决哈希冲突的途径,提高哈希冲突的处理效率。
本发明实施例还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
具体的,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S201:构建N张MAC地址表,在MAC地址学习的过程中,对学习到的MAC地址进行MAC地址是否存在哈希冲突的判断;
S202:若存在哈希冲突,将发生哈希冲突的MAC地址保存于所述N张MAC地址表中未被占用的MAC地址表;
S203:生成所述未被占用的MAC地址表的地址已被占用的标记并学习所述发生哈希冲突的MAC地址的信息。
具体的,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
与现有技术相比,本发明首先构建N张MAC地址表,在MAC地址学习的过程中,对学习到的MAC地址进行MAC地址是否存在哈希冲突的判断,若存在哈希冲突,将发生哈希冲突的MAC地址保存于N张MAC地址表中未被占用的MAC地址表,并生成未被占用的MAC地址表的地址已被占用的标记并学习发生哈希冲突的MAC地址的信息,利用本发明实施例,它能够提供一种新的解决哈希冲突的途径,提高哈希冲突的处理效率。
本发明实施例还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
具体的,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
具体的,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S201:构建N张MAC地址表,在MAC地址学习的过程中,对学习到的MAC地址进行MAC地址是否存在哈希冲突的判断;
S202:若存在哈希冲突,将发生哈希冲突的MAC地址保存于所述N张MAC地址表中未被占用的MAC地址表;
S203:生成所述未被占用的MAC地址表的地址已被占用的标记并学习所述发生哈希冲突的MAC地址的信息。
与现有技术相比,本发明首先构建N张MAC地址表,在MAC地址学习的过程中,对学习到的MAC地址进行MAC地址是否存在哈希冲突的判断,若存在哈希冲突,将发生哈希冲突的MAC地址保存于N张MAC地址表中未被占用的MAC地址表,并生成未被占用的MAC地址表的地址已被占用的标记并学习发生哈希冲突的MAC地址的信息,利用本发明实施例,它能够提供一种新的解决哈希冲突的途径,提高哈希冲突的处理效率。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例上述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上对本发明实施例进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种MAC地址哈希冲突的处理方法,其特征在于,所述方法包括:
构建N张MAC地址表,在MAC地址学习的过程中,对学习到的MAC地址进行MAC地址是否存在哈希冲突的判断;
若存在哈希冲突,将发生哈希冲突的MAC地址保存于所述N张MAC地址表中未被占用的MAC地址表;
生成所述未被占用的MAC地址表的地址已被占用的标记并学习所述发生哈希冲突的MAC地址的信息。
2.根据权利要求1所述的方法,其特征在于,所述构建N张MAC地址表,包括:
构建N张表项个数为2m的MAC地址表,其中,所述表项内容包括控制位、端口号以及MAC地址信息,所述控制位至少包括表项有效位、动态和/或静态MAC地址选择位以及学习老化有效位中的一种或多种,所述m为预设哈希结果的低位值。
3.根据权利要求2所述的方法,其特征在于,所述对学习到的MAC地址进行MAC地址是否存在哈希冲突的判断,包括:
获得待学习MAC地址经过哈希函数计算生成的哈希结果,其中,所述哈希结果低m位作为MAC地址表的地址;
根据所述哈希结果,判断已经学习到的MAC地址是否存在哈希冲突,所述哈希冲突为所述待学习MAC地址哈希结果低m位的值与现有存在表中的MAC地址的哈希结果低m位的值相同,且MAC地址不同。
4.根据权利要求3所述的方法,其特征在于,所述判断已经学习到的MAC地址是否存在哈希冲突,包括:
同时读取所述N张MAC地址表,并获得N个不同地址表的表项内容;
通过判断所述表项内容的表项有效位的状态,确定学习到的MAC地址是否存在哈希冲突。
5.根据权利要求4所述的方法,其特征在于,所述通过判断所述表项内容的表项有效位的状态,确定学习到的MAC地址是否存在哈希冲突,包括:
若所述表项内容中的表项有效位存在有效状态,则判断学习到的MAC地址存在哈希冲突。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述若存在哈希冲突,将发生哈希冲突的MAC地址保存于所述N张MAC地址表中未被占用的MAC地址表,包括:
若存在哈希冲突,依次查找所述N张MAC地址表中表项有效位无效的表,直到找到未被占用的MAC地址表并保存发生哈希冲突的MAC地址。
7.根据权利要求6所述的方法,其特征在于,所述生成所述未被占用的MAC地址表的地址已被占用的标记并学习所述发生哈希冲突的MAC地址的信息,包括:
生成所述未被占用的MAC地址表的表项有效位设置为有效状态的标记,并记录端口号及MAC地址信息。
8.一种MAC地址哈希冲突的处理系统,其特征在于,所述系统包括:
构建模块,用于构建N张MAC地址表,在MAC地址学习的过程中,对学习到的MAC地址进行MAC地址是否存在哈希冲突的判断;
保存模块,用于若存在哈希冲突,将发生哈希冲突的MAC地址保存于所述N张MAC地址表中未被占用的MAC地址表;
生成模块,用于生成所述未被占用的MAC地址表的地址已被占用的标记并学习所述发生哈希冲突的MAC地址的信息。
9.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至7任一项中所述的方法。
10.一种电子设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至7任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210663282.8A CN115065662A (zh) | 2022-06-13 | 2022-06-13 | 一种mac地址哈希冲突的处理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210663282.8A CN115065662A (zh) | 2022-06-13 | 2022-06-13 | 一种mac地址哈希冲突的处理方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115065662A true CN115065662A (zh) | 2022-09-16 |
Family
ID=83200616
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210663282.8A Pending CN115065662A (zh) | 2022-06-13 | 2022-06-13 | 一种mac地址哈希冲突的处理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115065662A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101232444A (zh) * | 2008-01-22 | 2008-07-30 | 杭州华三通信技术有限公司 | 哈希冲突解决方法、装置及具有该装置的交换设备 |
CN102308296A (zh) * | 2011-07-22 | 2012-01-04 | 华为技术有限公司 | 哈希计算处理方法及装置 |
US20120136889A1 (en) * | 2010-11-30 | 2012-05-31 | Rajesh Jagannathan | Hash Collision Resolution with Key Compression in a MAC Forwarding Data Structure |
CN103117931A (zh) * | 2013-02-21 | 2013-05-22 | 烽火通信科技股份有限公司 | 基于哈希表和tcam表的mac地址硬件学习方法及系统 |
CN103581022A (zh) * | 2013-10-23 | 2014-02-12 | 福建星网锐捷网络有限公司 | Mac地址的查找转发方法和装置 |
CN107707681A (zh) * | 2016-08-09 | 2018-02-16 | 中兴通讯股份有限公司 | Mac地址处理方法及装置 |
CN107729577A (zh) * | 2017-11-29 | 2018-02-23 | 厦门市美亚柏科信息股份有限公司 | 一种基于多维哈希表的数据查找方法、终端设备及存储介质 |
-
2022
- 2022-06-13 CN CN202210663282.8A patent/CN115065662A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101232444A (zh) * | 2008-01-22 | 2008-07-30 | 杭州华三通信技术有限公司 | 哈希冲突解决方法、装置及具有该装置的交换设备 |
US20120136889A1 (en) * | 2010-11-30 | 2012-05-31 | Rajesh Jagannathan | Hash Collision Resolution with Key Compression in a MAC Forwarding Data Structure |
CN102308296A (zh) * | 2011-07-22 | 2012-01-04 | 华为技术有限公司 | 哈希计算处理方法及装置 |
CN103117931A (zh) * | 2013-02-21 | 2013-05-22 | 烽火通信科技股份有限公司 | 基于哈希表和tcam表的mac地址硬件学习方法及系统 |
CN103581022A (zh) * | 2013-10-23 | 2014-02-12 | 福建星网锐捷网络有限公司 | Mac地址的查找转发方法和装置 |
CN107707681A (zh) * | 2016-08-09 | 2018-02-16 | 中兴通讯股份有限公司 | Mac地址处理方法及装置 |
CN107729577A (zh) * | 2017-11-29 | 2018-02-23 | 厦门市美亚柏科信息股份有限公司 | 一种基于多维哈希表的数据查找方法、终端设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
于翔;郑力明;黄红斌;: "基于FPGA的MAC层地址表设计与仿真", 计算机工程与设计, no. 01 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7616635B2 (en) | Address mapping for data packet routing | |
CN110401568B (zh) | 一种网络拓扑发现方法及设备 | |
US8542686B2 (en) | Ethernet forwarding database method | |
CN104221331B (zh) | 用于以太网交换机的没有查找表的第2层分组交换 | |
US5058109A (en) | Exclusionary network adapter apparatus and related method | |
CN107579900B (zh) | 从vlan网络接入vxlan网络的方法、装置及系统 | |
US7826462B2 (en) | Address assignment apparatus, address assignment method, and computer product | |
CN101827038B (zh) | 分布式设备和分布式设备中报文转发的方法 | |
EP3382998A1 (en) | Detecting hardware address conflicts in computer networks | |
US20090282167A1 (en) | Method and apparatus for bridging | |
CN108337739A (zh) | 建立无线调试连接的方法及装置、数据处理方法 | |
CN107070719B (zh) | 一种设备管理方法和装置 | |
CN112953774A (zh) | 一种网络拓扑生成方法、系统、设备及计算机存储介质 | |
US6819671B1 (en) | Relay control circuit using hashing function algorithm | |
EP2222049B1 (en) | Communication Apparatus | |
WO2012021827A1 (en) | Systems and methods for managing network address information | |
EP0522743B1 (en) | Combined hash table and CAM address recognition in a network | |
CN115065662A (zh) | 一种mac地址哈希冲突的处理方法及系统 | |
CN113630300B (zh) | 用于报文传输的方法和节点 | |
CN105634999A (zh) | 一种介质访问控制地址的老化方法及装置 | |
CN101908982A (zh) | 虚拟局域网探测方法、装置及系统 | |
CN114019926A (zh) | 多级联设备的通信方法、装置、设备及存储介质 | |
CN114374641A (zh) | 一种三层报文转发方法及装置 | |
CN108206782B (zh) | 报文转发方法、装置、芯片及服务器 | |
CN117221224B (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 |