一种哈希冲突的处理方法、装置及交换设备制造方法及图纸

技术编号:17413692 阅读:99 留言:0更新日期:2018-03-07 09:27
本发明专利技术提供了一种MAC地址哈希冲突的处理方法、装置及交换设备,其中,该方法包括:确定发生哈希冲突的媒体接入控制MAC地址;将该MAC地址的表项信息存储于交换芯片的用户自定义转发表L2_USER_ENTRY中;在接收到以该MAC地址为目的地址的报文时,通过从该L2_USER_ENTRY表中查询该MAC地址的表项信息进行报文转发。本发明专利技术解决了现有技术在应对哈希冲突时所造成的需要修改硬件设计以及成本增加的问题,实现了在不修改硬件设计,不增加硬件成本的前提下,有效缓解MAC地址的哈希冲突。

A processing method, device and exchange equipment for hash conflict

The present invention provides a method and a device for processing, a MAC address hash conflict exchange equipment, among them, the method includes determining a media access control MAC address hash conflict; the MAC address table item information is stored in the switch chip custom forwarding table in L2_USER_ENTRY; on receiving the message to the MAC address for the destination address, for packet forwarding by querying the MAC address from the L2_USER_ENTRY table in the table information. The invention solves the problem that the existing technology needs to modify the hardware design and increase the cost caused by the hash conflict, and realizes the hash conflict of MAC address effectively without modifying the hardware design and increasing the hardware cost.

【技术实现步骤摘要】
一种哈希冲突的处理方法、装置及交换设备
本专利技术涉及网络通信
,特别涉及一种MAC地址哈希冲突的处理方法、装置及交换设备。
技术介绍
MAC地址(媒体接入控制地址),也被称为物理地址或硬件地址。它是与网络硬件相关联的固定序列号,由网络设备制造商生产时写在硬件内部。交换机或者其他二层设备的转发是基于MAC地址表来进行的。它通过建立一张包含源MAC地址,VLANID(虚拟局域网标识号),PORT(设备端口号)的转发表,并根据该转发表来实现报文的转发。MAC地址表最初采用顺序表的结构存储MAC地址,当MAC地址发生变化时,即添加或删除MAC地址时,为了保持MAC地址表的有序性,MAC地址表会出现表项移动。当MAC地址表存储的内容较多时,移动与查找就变得复杂,此时报文无法达到线速,查找效率也较低下。后期的芯片,MAC地址表多采用哈希表格式存储MAC地址表项。当进行MAC地址学习时,芯片会根据报文的源MAC地址和VLANID使用特定的哈希算法得到哈希桶的编号,然后把MAC地址存储到该桶中。通过哈希表存储MAC地址表项可以有效提高查表效率,但是同时也产生了哈希冲突的问题。假如一个哈希桶能存储N个MAC地址,当它装满N个MAC地址后,一个正在被学习的MAC地址根据哈希算法获得的存储编号依然为该哈希桶时,就无法存储到该哈希桶中,此种情况即为哈希冲突。如何在满足性能要求的前提下,降低哈希冲突发生的概率已成为业界亟需解决的问题。通常情况下,交换芯片中MAC地址硬件表的容量越大,MAC地址产生冲突的概率就越小。现有的应对哈希冲突的方案主要有以下两类:方案一,优化MAC地址硬件表的存储算法,降低哈希冲突发生的概率。然而,交换芯片内部的硬件对用户是封闭的,想要通过改变硬件的存储算法以降低哈希冲突发生的概率基本难以实现。方案二,升级硬件,使用MAC地址硬件表容量更大的交换芯片或者外挂TCAM等。该方案的实现存在以下问题:第一,更换交换芯片的成本较高,芯片厂家不一定能提供符合用户需求的芯片产品;第二,外挂TCAM会存在与交换芯片的兼容性问题,并且同样需要用户修改硬件。关于相关技术在解决哈希冲突时所造成的需要修改硬件以及增加硬件成本的问题,现有技术没有提出有效的解决方案。
技术实现思路
本专利技术实施例提出了一种哈希冲突处理方法、装置及交换设备,以解决现有技术在应对哈希冲突时所造成的需要修改硬件以及成本增加的问题。为了解决上述技术问题,本专利技术实施例提供了一种哈希冲突处理方法,包括:确定发生哈希冲突的媒体接入控制MAC地址;将所述MAC地址的表项信息存储于交换芯片的用户自定义转发表L2_USER_ENTRY中;在接收到以所述MAC地址为目的地址的报文时,通过从所述L2_USER_ENTRY表中查询所述MAC地址的表项信息进行报文转发。进一步的,确定所述发生哈希冲突的媒体接入控制MAC地址包括:通过查询访问控制列表ACL确定MAC地址学习失败的报文;解析得到所述报文携带的源MAC地址;判断所述交换芯片的MAC地址硬件表中是否存储所述源MAC地址的表项信息,在判断结果为否的情况下,确定所述源MAC地址发生哈希冲突。进一步的,将所述MAC地址的表项信息存储于所述交换芯片的L2_USER_ENTRY表中包括:判断所述L2_USER_ENTRY表中是否存储所述MAC地址的表项信息;在判断结果为否的情况下,将所述MAC地址的表项信息存储于所述L2_USER_ENTRY表中。进一步的,在将所述MAC地址的表项信息存储于所述交换芯片的L2_USER_ENTRY表中之后,所述方法还包括:为所述MAC地址设置老化时间周期以及老化时间标识位,将所述老化时间标识位置为1;在第一个所述老化时间周期之内,在未接收到以所述MAC地址为源地址的报文的情况下,将所述老化时间标识位复位为0;在第二个所述老化时间周期之内,在未接收到以所述MAC地址为源地址的报文的情况下,删除所述MAC地址的表项信息。进一步的,所述方法还包括:在第二个所述老化时间周期之内,在接收到以所述MAC地址为源地址的报文的情况下,将所述老化时间标识位置为1。进一步的,所述MAC地址的表项信息为MAC地址信息、端口信息、虚拟局域网VLANid信息。本专利技术实施例还公开了一种哈希冲突处理装置,包括:确定模块,用于确定发生哈希冲突的媒体接入控制MAC地址;存储模块,用于将所述MAC地址的表项信息存储于交换芯片的用户自定义转发表L2_USER_ENTRY中;转发模块,用于在接收到以所述MAC地址为目的地址的报文时,通过从所述L2_USER_ENTRY表中查询所述MAC地址的表项信息进行报文转发。进一步的,所述确定模块包括:确定子模块,用于通过查询访问控制列表ACL确定MAC地址学习失败的报文;解析子模块,用于解析得到所述报文携带的源MAC地址;第一判断子模块,用于判断所述交换芯片的MAC地址硬件表中是否存储所述源MAC地址,在判断结果为否的情况下,确定所述源MAC地址发生哈希冲突。进一步的,所述存储模块包括:第二判断子模块,用于判断所述L2_USER_ENTRY表中是否存储所述MAC地址的表项信息;存储子模块,用于在判断结果为否的情况下,将所述MAC地址的表项信息存储于所述L2_USER_ENTRY表中。本专利技术实施例还公开了一种交换设备,具有上述任一项所述的装置。本专利技术实施例通过将发生哈希冲突的MAC地址存储于交换芯片已有的硬件表中,从而实现了在不修改硬件设计,不增加硬件成本的前提下,有效缓解MAC地址的哈希冲突。附图说明图1是根据本专利技术实施例的一种哈希冲突处理方法流程图;图2是根据本专利技术实施例的一种MAC地址查询方法流程图;图3是根据本专利技术实施例的一种哈希冲突处理装置框图一;图4是根据本专利技术实施例的一种哈希冲突处理装置框图二;图5是根据本专利技术实施例的一种哈希冲突处理装置框图三;图6是根据本专利技术实施例的一种哈希冲突处理装置框图四。具体实施方式下面通过附图和实施例,对本专利技术的技术方案做进一步的详细描述。本专利技术实施例提供了一种哈希冲突处理方法,通过检测确定发生哈希冲突的MAC地址,并将该地址存储于交换芯片中除MAC地址硬件表以外的用户自定义转发表中,在下一次接收到以该MAC地址为目的地址的报文时,就可以查询用户自定义转发表中的信息进行报文转发。图1是根据本专利技术实施例的一种哈希冲突处理方法流程图,如图1所示,该哈希冲突处理方法包括以下处理步骤:步骤S102,确定发生哈希冲突的媒体接入控制MAC地址;步骤S104,将该MAC地址的表项信息存储于交换芯片的用户自定义转发表L2_USER_ENTRY中;L2_USER_ENTRY表是存储于交换芯片内部的硬件表,基本功能为存储生成树协议问候数据包BPDU(bridgeprotocoldataunit),并在网桥间进行信息交换。与MAC地址硬件表相同,L2_USER_ENTRY表可以转发报文,因此可以利用其空闲存储空间存储发生哈希冲突的MAC地址信息,并在下一次接收到以该MAC地址为目的地址的报文时,查询L2_USER_ENTRY表中的信息进行报文转发。步骤S106,在接收到以该MAC地址为目的地址的报文时,通过从该L2_USER_ENTRY表中查询该MAC地址的表本文档来自技高网
...
一种哈希冲突的处理方法、装置及交换设备

【技术保护点】
一种哈希冲突处理方法,其特征在于,包括:确定发生哈希冲突的媒体接入控制MAC地址;将所述MAC地址的表项信息存储于交换芯片的用户自定义转发表L2_USER_ENTRY中;在接收到以所述MAC地址为目的地址的报文时,通过从所述L2_USER_ENTRY表中查询所述MAC地址的表项信息进行报文转发。

【技术特征摘要】
1.一种哈希冲突处理方法,其特征在于,包括:确定发生哈希冲突的媒体接入控制MAC地址;将所述MAC地址的表项信息存储于交换芯片的用户自定义转发表L2_USER_ENTRY中;在接收到以所述MAC地址为目的地址的报文时,通过从所述L2_USER_ENTRY表中查询所述MAC地址的表项信息进行报文转发。2.如权利要求1所述的方法,其特征在于,确定所述发生哈希冲突的媒体接入控制MAC地址包括:通过查询访问控制列表ACL确定MAC地址学习失败的报文;解析得到所述报文携带的源MAC地址;判断所述交换芯片的MAC地址硬件表中是否存储所述源MAC地址的表项信息,在判断结果为否的情况下,确定所述源MAC地址发生哈希冲突。3.如权利要求1所述的方法,其特征在于,将所述MAC地址的表项信息存储于所述交换芯片的用户自定义转发表L2_USER_ENTRY表中包括:判断所述L2_USER_ENTRY表中是否存储所述MAC地址的表项信息;在判断结果为否的情况下,将所述MAC地址的表项信息存储于所述L2_USER_ENTRY表中。4.如权利要求1至3任一项所述的方法,其特征在于,在将所述MAC地址的表项信息存储于所述交换芯片的L2_USER_ENTRY表中之后,所述方法还包括:为所述MAC地址设置老化时间周期以及老化时间标识位,将所述老化时间标识位置为1;在第一个所述老化时间周期之内,在未接收到以所述MAC地址为源地址的报文的情况下,将所述老化时间标识位复位为0;在第二个所述老化时间周期之内,在未接收到以所述MAC地址为...

【专利技术属性】
技术研发人员:简福建焦赵云
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:广东,44

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

1