一种实现查表操作的方法、计算机存储介质及终端技术

技术编号:37507035 阅读:27 留言:0更新日期:2023-05-07 09:44
本文公开一种实现查表操作的方法、计算机存储介质及终端,包括:对来自不同访问源的访问物理地址(MAC)地址表的操作,按照预设格式对操作相关信息进行预处理,生成每一种访问源的查表操作指令;根据查表操作指令,采用流水方式执行查表操作;根据查表操作的查表地址确定查表地址冲突时,进行查表地址冲突处理。本发明专利技术实施例对不同访问源的访问MAC地址表的操作,根据预设格式的查表操作指令,对查表操作指令采用流水方式执行查表操作,查表地址冲突时,通过流水方式执行的查表操作的结果,实现了查表地址冲突的处理。了查表地址冲突的处理。了查表地址冲突的处理。

【技术实现步骤摘要】
一种实现查表操作的方法、计算机存储介质及终端


[0001]本文涉及但不限于交换机网络技术,尤指一种实现查表操作的方法、计算机存储介质及终端。

技术介绍

[0002]交换机作为一种网络设备,通过介质访问控制(MAC)地址表记录其他设备的MAC地址与接口的对应关系、以及接口所属虚拟局域网(VLAN)等信息。一般情况下,MAC地址表是设备根据接收到的数据帧里的源MAC地址自动学习而建立的;设备在转发报文时,根据报文的目的MAC地址查询MAC地址表,如果MAC地址表中包含与报文目的MAC地址对应的表项,则直接通过该表项中的出接口转发报文;如果MAC地址表中没有包含目的MAC地址对应的表项,设备采取广播方式在所属VLAN内除接收报文的接口以外的所有接口转发该报文。MAC地址表一般使用哈希表的结构进行存储,每个哈希桶内部使用顺序方式可存储多个表项;当进行MAC地址学习查找时,根据源MAC地址和VLAN_ID使用哈希函数计算出哈希地址作为哈希表的索引查找内部表项,并将源MAC地址存储在空闲表项中。
[0003]为了适应网络的变化,MAC地址表需要不断更新;MAC地址表中自动生成的表项并非永远有效,每条表项都有一个生存周期(也称作老化时间),到达生存周期仍得不到更新的表项将被删除;如果在到达生存周期前表项被更新,则该表项的老化时间重新计算。在实际的业务运行中,除了MAC地址表的自动更新外,开发及维护人员也需要对MAC地址表进行监控和调试,基于MAC地址(源MAC地址或目的MAC地址)或VLAN_ID查询MAC地址表的条目数及表项内容。
[0004]综上,在MAC地址表的建立与维护过程中,需要对MAC地址表进行频繁的操作,尤其在同一时刻进行从接口进入设备的报文的源MAC地址学习、目的地址查找、根据生存周期进行表项更新、对MAC地址表的监控和调试时,需要MAC地址表能有效解决冲突并能准确快速响应访问请求。MAC地址表采用哈希表进行存储时,为避免访问冲突,当哈希表存在源MAC地址学习、目的地址查找、表项更新和调试等多个访问来源时,往往需要逐个进行访问来源的访问处理,一旦出现访问冲突,将导致哈希表内部存储的表项出错,例如:报文1的源MAC学习查表,查表结果确定该表项空闲,则将报文的源MAC和VLAN_ID等信息写入该表项,这个期间报文2的源MAC学习查表也查到这个表项,查表结果也确定该表项空闲(此时报文1的信息还未写入),两个报文在极短时间内查到同一个表项导致最终有一个报文1的信息被报文2的信息覆盖;此外,访问冲突同时也将造成哈希表的表项学习计数与实际存储表项条目数不一致(例如,根据报文的源MAC地址查表后得到表项内容,对表项内容更新后在写入到MAC地址表(MAC地址表查表后都会更新表项生存时间值(TTL)再把表项内容写回到MAC地址表),从查表到写回到MAC地址表之间的时间段内如果地址表项被其他访问来源修改,后面更新表项TTL再把表项内容写回到MAC地址表时,无法感知这个表项被删除,仍把之前的表项内容更新到MAC地址表)。
[0005]相关技术在解决MAC地址表的学习查找出现冲突的问题上,常用的做法是在MAC地
址表外挂三态内容寻址存储器(TCAM),当根据源MAC地址学习查找不到空余的表项(根据报文进行MAC地址表的学习查找,是为了将报文的信息写到哈希表的表项中,因此必须保证这个哈希表项是空余的)时,将报文的源MAC和VLAN_ID等信息存储在TCAM中;但这种方式没有回迁机制(将TCAM中的内容移动到MAC地址表中),在长时间的网络运行过程中,TCAM会存储大量的发生冲突的表项,即使MAC地址表由于部分表项被老化出现空余时,TCAM中缓存的表项也不能回迁到MAC地址表,这降低了三态内容寻址存储器在解决MAC地址表访问冲突问题上的应用效率。
[0006]综上,如何处理MAC地址表的访问冲突,成为一个有待解决的问题。

技术实现思路

[0007]以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
[0008]本专利技术实施例提供一种实现查表操作的方法、计算机存储介质及终端,能够实现访问冲突的处理。
[0009]本专利技术实施例提供了一种实现查表操作的方法,包括:
[0010]对来自不同访问源的访问物理地址MAC地址表的操作,按照预设格式对操作相关信息进行预处理,生成每一种访问源相应的查表操作指令;
[0011]根据生成的查表操作指令,采用流水方式执行查表操作;
[0012]根据执行查表操作的查表地址确定存在查表地址冲突时,根据采用流水方式执行查表操作的结果进行查表地址冲突处理;
[0013]其中,所述不同访问源的访问MAC地址表的操作包括以下一项或任意组合:根据报文进行MAC地址表的学习查找、中央处理器CPU查询控制和定时老化控制;所述操作相关信息包括执行查表操作处理所需的信息。
[0014]另一方面,本专利技术实施例还提供一种计算机存储介质,所述计算机存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现上述实现查表操作的方法。
[0015]再一方面,本专利技术实施例还提供一种终端,包括:存储器和处理器,所述存储器中保存有计算机程序;其中,
[0016]处理器被配置为执行存储器中的计算机程序;
[0017]所述计算机程序被所述处理器执行时实现如上述实现查表操作的方法。
[0018]本申请技术方案包括:对来自不同访问源的访问MAC地址表的操作,按照预设格式对操作相关信息进行预处理,生成每一种访问源的查表操作指令;根据查表操作指令,采用流水方式执行查表操作;根据查表操作的查表地址确定查表地址冲突时,进行查表地址冲突处理。本专利技术实施例对不同访问源的访问MAC地址表的操作,根据预设格式的查表操作指令,对查表操作指令采用流水方式执行查表操作,查表地址冲突时,通过流水方式执行的查表操作的结果,实现了查表地址冲突的处理。
[0019]本专利技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
[0020]附图用来提供对本专利技术技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本专利技术的技术方案,并不构成对本专利技术技术方案的限制。
[0021]图1为本专利技术实施例实现查表操作的方法的流程图;
[0022]图2为本专利技术实施例老化清除表项的示意图。
具体实施方式
[0023]为使本专利技术的目的、技术方案和优点更加清楚明白,下文中将结合附图对本专利技术的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
[0024]在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种实现查表操作的方法,包括:对来自不同访问源的访问物理地址MAC地址表的操作,按照预设格式对操作相关信息进行预处理,生成每一种访问源相应的查表操作指令;根据生成的查表操作指令,采用流水方式执行查表操作;根据执行查表操作的查表地址确定存在查表地址冲突时,根据采用流水方式执行查表操作的结果进行查表地址冲突处理;其中,所述不同访问源的访问MAC地址表的操作包括以下一项或任意组合:根据报文进行MAC地址表的学习查找、中央处理器CPU查询控制和定时老化控制;所述操作相关信息包括执行查表操作处理所需的信息。2.根据权利要求1所述的方法,其特征在于:所述访问MAC地址表的操作为所述根据报文进行MAC地址表的学习查找时,所述操作相关信息包括所述报文解析的信息;所述访问MAC地址表的操作为所述CPU查询控制时,所述操作相关信息包括操作请求指示及操作信息;所述访问MAC地址表的操作为所述定时老化控制时,所述操作相关信息为老化请求指示及老化地址。3.根据权利要求1所述的方法,其特征在于,所述查表操作指令中包含以下信息:用于指示不同所述访问源的查表指示信息、执行所述查表操作的查表地址、查表的关键字key值、查表结果的掩码信息和查询MAC地址表后的操作信息。4.根据权利要求3所述的方法,其特征在于,所述查表操作指令中还包括写入到所述MAC地址表的信息;其中,所述写入到所述MAC地址表的信息包括:转发端口和/或生存时间值TTL。5.根据权利要求3所述的方法,其特征在于,所述采用流水方式执行查表操作包括,在以下三个时钟周期通过流水方式进行查表操作:根据所述查表地址查找哈希HASH表;根据所述查表的key值结合所述查表结果的掩码信息,对查找到的所述HASH表进行比较,确定所述查表的key值与查找到的所述HASH表的key值是否一致;根据确定的所述查表的key值与查找到的所述HASH表的key值是否一致的判断结果和所述查询MAC地址表后的操作信息,对MAC地址表的表项进行操作。6.根据权利要求5所述的方法,其特征在于,所述根据所述查表的key值结合所述查表结果的掩码信息,对查找到的所述HASH表进行比较,包括:根据所述查表结果的掩码信息对所述查找到的HASH表中的预设字段进行隐码处理;将所述查表的key值与隐码处理所述预设字段的HASH表进行比较,确定所述查表的key值与查找到的所述HASH表的key值是否一致;其中,所述预设字段包括:与进行的所述比较无关的字段。7.根据权利要求5所述的方法,其特征在于,所述访问MAC地址表的操作为根据报文进行MAC地址表的学习查找时,所述根据所述查表地址查找HASH表,包括:将所述报文中的目的MAC地址通过HASH计算得到目的HASH地址;通过该目的HASH地址查找存储了MAC地址表的HASH表;
将所述报文中的源MAC地址通过HASH计算得到源HASH地址;通过该源HASH地址查找所述存储了MAC地址表的HASH表。8.根据权利要求5所述的方法,其特征在于,所述访问MA...

【专利技术属性】
技术研发人员:毛伟
申请(专利权)人:北京晟芯网络科技有限公司
类型:发明
国别省市:

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

1