媒体访问控制地址表项的存储操作方法、装置及设备的制作方法

文档序号:7746374阅读:96来源:国知局
专利名称:媒体访问控制地址表项的存储操作方法、装置及设备的制作方法
技术领域
本发明涉及网络通信技术领域,尤其涉及一种媒体访问控制地址表项的存储操作 方法、装置及设备。
背景技术
媒体访问控制(MediaAccess Control,MAC)地址用来识别以太网内的一个节点, 每个节点对应一个MAC地址。以太网报文包含两个重要字段源MAC地址和目的MAC地址, 源MAC地址是发送端节点的MAC地址,而目的MAC地址则是指接收端节点的MAC地址。交 换机当收到以太网报文后,则提取报文的源MAC地址,连同与之连接的端口号和虚拟局域 网(VirtualLocal Area Network,VLAN)标识存放到其内部的硬件表项中,这个硬件表项就 称为MAC地址表。MAC地址表是交换机用来转发二层以太网报文的重要依据,交换机转发以太网报 文时,根据以太网报文的目的MAC地址,在MAC地址表中查找与之连接的端口号,最终将报 文从该端口转发出去。交换机初始化的时候,MAC地址表的内容为空,当网络中的节点通过交换机进行数 据流通信时,交换机不断学习新的MAC地址表项,学习的过程即提取数据流的源MAC地址、 该数据流所属的VLAN的标识,以及接收该数据流的交换机端口号,将学习到的MAC地址、 VLAN标识和端口号作为MAC地址表中一个表项。经过不断学习MAC地址表项,MAC地址表 容纳的表项越多,查找MAC地址时的命中率就越高,交换机性能也就越高。交换机MAC地址表的容量受交换芯片的限制,目前一般为16M或32M,高端交换芯 片常采用外部三态内容寻址存储器(Ternary Content AddressableMemory, TCAM)设计来 扩大交换机MAC地址表容量。外部TCAM是在MAC地址表的基础上增加的额外存储器,最高 可以达到512M的容量,可以用来存储和查找MAC表项,用作转发报文的依据。与原有的MAC 地址表不同的是外部TCAM的表项不能通过硬件学习自动加入,需要通过软件进行插入。 为了与现有MAC地址表配合工作,目前该软件的技术方案为循环检测内部的MAC地址表,如果内部的MAC地址表学习到一个新表项,则查找外 部TCAM是否存在该表项。如果不存在,则尝试将新表项插入外部TCAM ;插入成功后,则将 该表项从MAC地址表删除;如果存在,则直接将该表项从MAC地址表中删除。上述软件使得外部的TCAM和内部的MAC地址表协同工作,避免了 MAC地址表和外 部TCAM中的表项重复,并充分利用了外部TCAM的大容量空间,但上述MAC地址表和TCAM 的协同工作机制的不足之处在于在交换机一个端口连续接收同一源MAC地址的数据流情 况下,由于上述协同工作机制,交换机在第一次学习到该数据流的源MAC地址后,将其插入 外部TCAM中,同时将其从内部MAC地址表中删除,由于内部MAC地址表中一直未存储有该 MAC地址表项,因此在连续接收同一源MAC地址的数据流时,会不断地学习同一 MAC地址,同 时会不断地查找外部TCAM,由于该MAC地址早已存在于外部TCAM中,就会不断地把新学习 到的该MAC地址从MAC地址表删除,数据流越大,占用CPU的时间越多,导致整个系统性能降低,甚至进入自攻击的状态。

发明内容
本发明实施例提供了一种媒体访问控制地址表项的存储操作方法、装置及设备, 用以解决现有MAC地址表与外部TCAM协同工作机制中存在的不断重复学习同一源MAC地 址的数据流的MAC地址表项导致过度占用系统资源的问题。本发明实施例提供的媒体访问控制地址表项的存储操作方法,包括
检测媒体访问控制MAC地址表是否学习到了新的媒体访问控制MAC地址表项;当MAC地址表学习到新的MAC地址表项时,在所述MAC地址表中选择除所述新的 MAC地址表项之外的任一个第一 MAC地址表项存储到三态内容寻址存储器TCAM中;从所述MAC地址表中删除所述第一 MAC地址表项。本发明实施例提供的媒体访问控制地址表项的存储操作装置,包括检测单元,用于检测MAC地址表是否学习到新的MAC地址表项;存储单元,用于当所述检测单元检测到MAC地址表学习到新的MAC地址表项时,在 所述MAC地址表中选择除所述新的MAC地址表项之外的任一个第一 MAC地址表项存储到三 态内容寻址存储器TCAM中;删除单元,用于从所述MAC地址表中删除所述第一 MAC地址表项。本发明实施例提供的一种网络交换设备,包括本发明实施例提供的上述媒体访问 控制地址表项的存储操作装置。本发明实施例的有益效果包括本发明实施例提供的媒体访问控制MAC地址表项的存储操作方法、装置及网络交 换设备,在MAC地址表学习到新的MAC地址表项时,在MAC地址表中选择除所述新的MAC地 址表项之外的任一个第一 MAC地址表项存储到三态内容寻址存储器TCAM中,并且从MAC地 址表中删除第一 MAC地址表项。本发明实施例可以将学习到的新的MAC地址表项保留在 MAC地址表中,避免在接收到连续的来自用一个源MAC的数据流时MAC地址表不断学习新的 MAC地址表项的问题。


图1为本发明实施例提供的MAC地址表项的存储操作方法流程图;图2为本发明实施例提供的实例中MAC地址和TCAM的示意图之一;图3为本发明实施例提供的实例中MAC地址和TCAM的示意图之二 ;图4为本发明实施例提供的MAC地址表项的存储操作装置结构示意图。
具体实施例方式下面结合附图,对本发明提供的一种媒体访问控制MAC地址表项的存储操作方 法、装置及网络交换设备的具体实施例进行详细的说明。本发明实施例提供的一种媒体访问控制MAC地址表项的存储操作方法,如图1所 示,包括下述步骤S101、检测MAC地址表是否学习到了新的MAC地址表项;当学习到新的MAC地址表项时,执行下述步骤S102 ;
S102、判断外部TCAM中是否存在与新的MAC地址表项相同的MAC地址表项(为了表述清楚起见,下面将与新的MAC地址表项相同的MAC地址表项简称为第二 MAC地址 表项);若判断结果为存在,则执行下述步骤S103 ;若判断结果为不存在,则执行下述步骤 S104 ;S103、删除外部TCAM中的第二 MAC地址表项;同时执行下述步骤S104 ;S104、在MAC地址表中选择除了所述新的MAC地址表项之外的任一个MAC地址表 项(为了表述清楚起见,下面简称为第一 MAC地址表项)存储到外部TCAM中。执行完本步 骤后,执行步骤S105 ;S105、从MAC地址表中删除第一 MAC地址表项。本发明实施例提供的上述媒体访问控制MAC地址表项的存储操作方法的S102、 S103步骤中判断外部TCAM中是否存在与新的MAC地址表项相同的第二 MAC地址表项,当判 断结果为是时,删除TCAM第二 MAC地址表项的过程,与步骤S104与S105可以是两个独立 完成的过程,本发明实施例为了简单表述起见,将其放在同一个流程中描述。容易相见,本 发明实施例提供的MAC地址表项的存储操作方法,可以只实施步骤S101、S104和S105,解 决其所要解决的技术问题。较佳地,如果执行包含S102和S103的上述流程,在解决现有MAC地址表与外部 TCAM协同工作机制中存在的不断重复学习同一源MAC地址的数据流的MAC地址表项导致过 度占用系统资源的问题的基础上,还可以避免内部MAC地址表和外部TCAM地址表中出现相 同的MAC地址表项,造成存储空间浪费的问题。下面对上述步骤S104至步骤S105进行详细的说明。上述步骤S104中,较佳地,在MAC地址表中该新的MAC地址表项所属的表项桶 (bucket)中,选择除了该新的MAC地址表项之外的任一个MAC地址表项作为第一 MAC地址表项。现有的MAC地址表的存储机制中,为了提供较高的查找效率,将MAC地址表中的每 个MAC地址表项分别存储到一个表项桶中,现有技术中的表项桶实质是指MAC地址表项中 MAC地址与虚拟局域网VLAN标识的哈希计算值相等的所有MAC地址表项的存储集合,换言 之,同一个表项桶中每个MAC表项的MAC地址和虚拟局域网VLAN标识经哈希计算后所得结 果都相同。MAC地址表每次学习到了 一个新的MAC地址表项时,对该MAC表项的MAC地址以 及VLAN标识进行哈希计算,根据计算结果将其分配到相应的表项桶中进行存储,没有对应 的表项桶时,重新生成一个表项桶用于存储该MAC地址表项,现有的一个表项桶中一般可 存放8个MAC地址表项。因此,上述步骤S104中,检查与该新的MAC地址表项所属的表项桶中,是否存在其 他MAC地址表项,如果存在,则在该表项桶中选择一个MAC地址表项作为第一地址MAC地址 表项,插入到外部TCAM中存储,同时,从MAC地址表中删除该选中的第一 MAC地址表项。反之,如果在该表项桶中除了该新的MAC地址表项之外再没有其他的MAC地址表 项,那么可以采用两种处理方式,一种是不移动MAC地址表中的任何MAC地址表项至外部 TCAM中,结束上述流程,另一种方式是从其他的MAC地址表项桶中选择任一个MAC地址表项作为第一 MAC地址表项,将其插入到外部的TCAM中存储,同时,将其从MAC地址表中删除。上述步骤S104中,之所以要将MAC地址表中,选择除了该新的MAC地址表项之外 的其他MAC地址表项插入到外部TCAM中,同时从MAC地址表中删除选择的MAC地址表项,一 方面是因为可以将学习到的新的MAC地址表项保留在MAC地址表中,避免在接收到连续的 来自用一个源MAC的数据流时MAC地址表不断学习新的MAC地址表项的问题,另一方面,将 MAC地址表中其他MAC地址表项插入到TCAM中存储,并从MAC地址表中删除了选择的MAC 地址表项,使得外部的TCAM的存储空间也得到了充分利用,优选地,将同一 MAC地址表项桶 中的其他MAC地址表项存储于外部TCAM中,也使得查找MAC地址表项的速度较快,提高了 整个存储操作的效率。下面以一个实际的例子说明上述MAC地址表项的存储操作方法,假设当前MAC地 址表和外部TCAM的初始状态如图2所示,MAC地址表的桶1中有MAC地址表项A,桶2中 MAC地址表项B,桶η中有表项X和Y,外部TCAM中有表项C和D, 如果MAC地址表新学习到一条MAC地址表项C,将该MAC地址表项C的MAC地址和 VLAN标识进行哈希运算后,根据计算结果确定其应该属于表项桶1内,则将该MAC地址表 项插入到表项桶1内进行存储,检查该表项桶1内还存在其他MAC地址表项A,于是将MAC 地址表项A插入到外部TCAM中,同时将MAC地址表中的MAC地址表项A从MAC地址表内删 除。上述过程结束后,MAC地址表和外部TCAM的存储情况如图3所示。从图3中可以看出,如果后续如果一直连续收到相同源MAC地址的数据流时,由于 MAC地址表中已存在表项C,因此,MAC地址表不会再学习表项C,MAC地址表和TCAM的存储 情况不发生变化。直到交换机接收其他源MAC地址的数据流,则上述MAC地址表和TCAM的 存储情况才会发生变化。基于同一发明构思,本发明实施例还提供了一种媒体访问控制地址表项的存储操 作装置及网络交换设备,由于该装置及设备解决问题的原理与前述一种媒体访问控制地址 表项的存储操作方法相似,因此该装置和设备的实施可以参见方法的实施,重复之处不在 赘述。本发明实施例提供的媒体访问控制地址表项的存储操作装置,如图4所示,包括 检测单元401、存储单元402和删除单元403 ;其中检测单元401,用于检测MAC地址表是否学习到新的MAC地址表项;存储单元402,用于当检测单元401检测到MAC地址表学习到新的MAC地址表项 时,在MAC地址表中选择除新的MAC地址表项之外的任一个第一 MAC地址表项存储到TCAM 中;删除单元403,用于从MAC地址表中删除所述第一 MAC地址表项。较佳地,本发明实施例提供的上述MAC地址表项的存储操作装置,还包括判断单 元 404 ;判断单元404,用于当MAC地址表学习到新的MAC地址表项时,判断TCAM中是否存 在与新的MAC地址表项相同的第二 MAC地址表项;删除单元403,还用于当判断单元404的判断结果为存在时,删除TCAM中的第二 MAC地址表项。 本发明实施例提供的存储单元402,具体用于当MAC地址表中新的MAC地址表项所属的表项桶中除了所述新的MAC地址之外存在其他MAC地址表项时,可以选择采用两种处理方式,一种是不移动MAC地址表中的任何MAC地址表项至外部TCAM中,结束上述流程,另 一种方式是从该表项桶中,选择其他MAC地址表项中任一个MAC地址表项作为第一 MAC地 址表项;将选择的第一 MAC地址表项存储到TCAM中。本发明实施例提供的存储单元402,具体用于当MAC地址表中新的MAC地址表项所 属的表项桶中仅存在新的MAC地址表时,从MAC地址表的其他表项桶中,选择任一个MAC地 址表项作为第一 MAC地址表项;将选择的第一 MAC地址表项存储到TCAM中。本发明实施例还提供了一种网络交换设备,该设备包含本发明实施例提供的上述 媒体访问控制地址表项的存储操作装置。较佳地,本发明实施例提供的网络交换设备为交换机。本发明实施例提供的媒体访问控制MAC地址表项的存储操作方法、装置及网络交 换设备,在MAC地址表学习到新的MAC地址表项时,将所述MAC地址表中除所述新的MAC地 址表项之外的任一个第一 MAC地址表项存储到三态内容寻址存储器TCAM中,并且从MAC地 址表中删除第一 MAC地址表项。本发明实施例可以将学习到的新的MAC地址表项保留在 MAC地址表中,避免在接收到连续的来自用一个源MAC的数据流时MAC地址表不断学习新的 MAC地址表项的问题。进一步地,本发明实施例提供的上述MAC地址表项的存储操作方法、装置及网络 交换设备,判断外部TCAM中是否存在与新的MAC地址表项相同的第二 MAC地址表项,当判 断结果为是时,删除TCAM中的第二 MAC地址表项,可以避免内部MAC地址表和外部TCAM地 址表中出现相同的MAC地址表项,造成存储空间浪费的问题。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精 神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围 之内,则本发明也意图包含这些改动和变型在内。
权利要求
一种媒体访问控制地址表项的存储操作方法,其特征在于,包括检测媒体访问控制MAC地址表是否学习到了新的MAC地址表项;当MAC地址表学习到新的MAC地址表项时,在所述MAC地址表中选择除所述新的MAC地址表项之外的任一个第一MAC地址表项存储到三态内容寻址存储器TCAM中;从所述MAC地址表中删除所述第一MAC地址表项。
2.如权利要求1所述的方法,其特征在于,当MAC地址表学习到新的MAC地址表项时, 还包括判断三态内容寻址存储器TCAM中是否存在与所述新的MAC地址表项相同的第二 MAC 地址表项;以及当判断结果为是时,从TCAM中删除第二 MAC地址表项。
3.如权利要求1所述的方法,其特征在于,在MAC地址表中选择第一MAC地址表项存储 到TCAM中,包括当MAC地址表中所述新的MAC地址表项所属的表项桶中除了所述新的MAC地址之外存 在其他MAC地址表项时,在所述表项桶中,选择所述其他MAC地址表项中任一个MAC地址表 项作为第一 MAC地址表项;将选择的第一 MAC地址表项存储到TCAM中。
4.如权利要求1所述的方法,其特征在于,在MAC地址表中选择第一MAC地址表项存储 到TCAM中,包括当所述MAC地址表中所述新的MAC地址表项所属的表项桶中仅存在所述新的MAC地址 表时,从MAC地址表的其他表项桶中,选择任一个MAC地址表项作为第一 MAC地址表项; 将选择的第一 MAC地址表项存储到TCAM中。
5.一种媒体访问控制地址表项的存储操作装置,其特征在于,包括 检测单元,用于检测媒体访问控制MAC地址表是否学习到新的MAC地址表项;存储单元,用于当所述检测单元检测到MAC地址表学习到新的MAC地址表项时,在所述 MAC地址表中选择除所述新的MAC地址表项之外的任一个第一 MAC地址表项存储到三态内 容寻址存储器TCAM中;删除单元,用于从所述MAC地址表中删除所述第一 MAC地址表项。
6.如权利要求5所述的装置,其特征在于,还包括判断单元,用于当MAC地址表学习到新的MAC地址表项时,判断TCAM中是否存在与所 述新的MAC地址表项相同的第二 MAC地址表项;所述删除单元,还用于当判断单元的判断结果为存在时,删除所述TCAM中的第二 MAC 地址表项。
7.如权利要求5所述的装置,其特征在于,所述存储单元,具体用于当MAC地址表中所 述新的MAC地址表项所属的表项桶中除了所述新的MAC地址之外存在其他MAC地址表项 时,在所述表项桶中,选择所述其他MAC地址表项中任一个MAC地址表项作为第一 MAC地址 表项;将选择的第一 MAC地址表项存储到TCAM中。
8.如权利要求5所述的装置,其特征在于,所述存储单元,具体用于当所述MAC地址表 中所述新的MAC地址表项所属的表项桶中仅存在所述新的MAC地址表时,从MAC地址表的 其他表项桶中,选择任一个MAC地址表项作为第一MAC地址表项;将选择的第一MAC地址表项存储到TCAM中。
9.一种网络交换设备,其特征在于,包括如权利要求5-8任一项所述的媒体访问控制 地址表项的存储操作装置。
10.如权利要求9所述的网络交换设备,其特征在于,所述网络交换设备为交换机。
全文摘要
本发明公开了一种媒体访问控制地址表项的存储操作方法、装置及设备,该方法包括检测MAC地址表是否学习到了新的媒体访问控制MAC地址表项;当MAC地址表学习到新的MAC地址表项时,在MAC地址表中选择除新的MAC地址表项之外的任一个第一MAC地址表项存储到TCAM中;从MAC地址表中删除该第一MAC地址表项。本发明可以将学习到的新的MAC地址表项保留在MAC地址表中,避免在接收到连续的来自用一个源MAC的数据流时MAC地址表不断学习新的MAC地址表项的问题。
文档编号H04L29/08GK101834788SQ20101015010
公开日2010年9月15日 申请日期2010年4月16日 优先权日2010年4月16日
发明者舒兆港 申请人:福建星网锐捷网络有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1