利用以太网交换机媒体接入控制地址表空间的方法

文档序号:7964342阅读:104来源:国知局
专利名称:利用以太网交换机媒体接入控制地址表空间的方法
技术领域
本发明涉及以太网通信技术,更具体的说,是一种用来实现在以太网交
换机上利用交换机有限的芯片MAC (媒体接入控制)地址表的处理方法。
背景技术
随着因特网的高速发展,以太网网络逐渐成为人们日常工作和生活中必 不可少的工具,从而对以太网交换机的需求和处理能力也越来越高。众所周 知,以太网交换机目前来说还是一个成本很高的高科技产品。那么,我们怎 么才能在成本一定的情况下,使以太网交换机的数据交换能力得到更大的发 挥呢?
目前以太网交换机的二层交换是由MAC地址(MAC地址即在媒体接 入层上使用的地址,也叫物理地址)转发表来实现的。交换机在收到一个数 据帧以后,先学习数据帧的源MAC地址以及数据帧所应属于的VLAN (Virtual Local Area Network,虚拟局域网),以及数据帧进入交换机的物 理端口PORT。按照这种方法就会形成一个表项MAC + VLAN—>PORT, 经过学习各个端口下的各个设备的源MAC地址以后形成很多的这样的表 项,这就是MAC地址表,那么在数据帧交换的时候就可以拿数据帧的目的 MAC来查这些表项,将数据帧快速的转发到相应的端口。
如图l所示,目前分布式以太网交换机的模型是整个交换机有多个小的 子交换处理单元,这些小的子处理单元由一个大的主控交换处理单元连接起 来,这样整个交换机就形成了一个交换网络,从而实现高端口密度高容量的 交换。目前的做法是当某个子交换单元学习到某个MAC地址时会添加本单 元的MAC地址表,同时通知主控处理单元,主控处理单元再通知其它子处 理单元,其它子处理单元再将这个MAC地址写到MAC地址表,通过这种 做法最后所有这些交换单元的MAC地址表内容是保持一致的。但是这种做
法在VLAN配置不同的情况下有些浪费。

发明内容
本发明要解决的技术问题是提供一种利用以太网交换机MAC地址表空 间的方法,利用这个方法可以有效利用以太网交换机的MAC地址表空间。
以太网交换机用来作转发决定的MAC地址表存储在内存中的,这些内 存集成在以太网交换芯片之中,其空间大小是一定的。怎么才能使这个有限 的空间得到有效的利用呢。为解决这个技术问题,本发明提供了一种利用以 太网交换机媒体接入控制MAC地址表空间的方法,该交换机包括主控交换 处理单元和若干子交换处理单元,该方法包括以下步骤
(a) 某个子交换处理单元学习到某个MAC地址,生成一包含该MAC 地址对应的虛拟局域网VLAN和端口 PORT的MAC地址条目,添加到本 处理单元的芯片MAC地址表;
(b) 所述子交换处理单元将生成的所述MAC地址条目通知主控交换 处理单元,该主控交换处理单元再通知到其他子交换处理单元;
(c) 其他子处理单元分别判断本处理单元是否有该MAC地址条目中 的VLAN的成员端口,如果有,将该MAC地址条目添加到本处理单元的芯 片MAC地址表,如果没有,则不添加。
进一步地,上述方法还可具有以下特点所述步骤(b)中,主控交换 处理单元收到子交换处理单元的通知后,还将所述MAC地址条目添加到本 处理单元的软件MAC表。
进一步地,上述方法还可具有以下特点所述步骤(c)中,其他子交 换处理单元无论是否在芯片MAC地址表添加所述MAC地址条目,均将该 MAC地址条目保存在本处理单元的软件MAC地址表中。
进一步地,上述方法还可具有以下特点当某个VLAN的成员端口数 目变化时,主控处理单元将该VLAN成员端口的变化信息通知到各子交换 处理单元,各子处理单元得到通知后,如判断该VLAN在本处理单元的成
员端口从无到有,则将该VLAN相关的所有MAC地址条目添加到本处理单 元的芯片MAC地址表中。
进一步地,上述方法还可具有以下特点当某个VLAN的成员端口数 目变化时,主控处理单元将该VLAN成员端口的变化信息通知到各子交换 处理单元,各子处理单元得到通知后,如判断该VLAN在本处理单元的成 员端口从有到无,则将本处理单元的芯片MAC地址表中该VLAN相关的所 有MAC地址条目删除。
进一步地,上述方法还可具有以下特点所述子交换处理单元是从本
或者,主控交换处理单元在通知各子交换处理单元所迷VLAN成员端口的 变化信息时,将其软件MAC地址表中与所述VLAN相关的所有MAC地址 条目重新通知各子交换处理单元,所述子交换处理单元从中获取所述VLAN 相关的所有MAC地址条目。
与现有技术相比较,本发明在向子交换处理单元添加MAC地址转发条 目的时候,添加了对本交换处理单元内是否成员属于MAC地址所在的 VLAN,如果没有则先不写入芯片MAC地址表,这样做到了节省了 MAC 地址表的有限空间。由于该处理单元没有该VLAN的成员,所以不会用到 该MAC地址条目来进行转发,从而对整个以太网交换机的二层转发没有任 何影响,同时能使整个以太网交换机能够学习更多的MAC地址,更加充分 利用了 MAC地址表的空间,使交换机的交换容量大大提高。


图l是有主控交换处理单元和子交换处理单元的交换机结构示意图。 图2是子交换处理单元收到主控交换处理单元MAC地址添加流程图。 图3是子交换处理单元收到主控交换处理单元VLAN成员变化流程图。
具体实施例方式
本发明的总的发明构思是根据分布式交换机VLAN (Virtual Local Area Network,虚拟局域网)成员在各个子交换处理单元上存在与否来添加子处 理单元的MAC地址表,以更加有效、充分的利用以太网交换机有限的芯片 MAC地址表空间。
下面结合附图对本发明按VLAN添加MAC地址的处理方法进行说明。
本实施例有效利用MAC地址表空间的方法包括以下几个步骤
第一步,某个子交换处理单元学习到某个MAC地址以后,生成一MAC 地址条目,添加到本单元的MAC地址表,同时通知主控处理单元;
第二步,主控处理单元得到消息后通知其它子处理单元;
第三步,其它子处理单元在收到主控处理单元的通知后,根据该MAC 地址条目中的虚拟局域网VLAN来进行判断,分为两种情况
本处理单元有该VLAN的成员端口,即该处理单元有端口属于该 VLAN,将该MAC地址条目添加到本处理单元的芯片MAC地址表。
本处理单元没有该VLAN的成员端口 ,不将该MAC地址条目添加到本 处理单元的芯片MAC地址表中。
具体地,主控交换处理单元向其他子交换处理单元发出添加通知后,其 他子交换处理单元按图2所示的处理流程进行以下步骤
步骤201:子处理单元收到主处理单元的MAC通知,请求添加表项 MAC+VLAN->PORT;
步骤202:该子处理单元判断本处理单元是否有端口属于这个VLAN, 如果有则执行步骤203,否则,不执行添加操作,直接执行步骤204;
步骤203:向芯片MAC地址表添加该MAC地址条目;
步骤204:该子处理单元将该MAC地址条目保存在本处理单元CPU的 软件MAC地址表中。
另外,在某个VLAN的成员端口数目变化时,主控处理单元将该VLAN
成员端口的变化信息通知各子交换处理单元,子处理单元得到通知后根据该
VLAN成员在各个子交换处理单元上存在与否来添加或删除该VLAN的 MAC地址表,以适应该变化。具体处理流程如图3所示,包括以下步骤
步骤301:子交换处理单元收到主控交换处理单元VLAN成员端口数目 变化的通知;
步骤302:子交换处理单元判断往该VLAN添加成员还是从该VLAN 删除成员,如果添加成员则执行步骤303,如果是删除成员则执行步骤306;
步骤303:该VLAN成员端口数加1;
步骤304:该子交换处理单元判断本处理单元的端口在该VLAN中的端 口数是否为l,若为1则执行步骤305,否则结束;
步骤305:该子交换处理单元从CPU软件MAC表中找出属于该VLAN 的MAC地址条目添加到芯片表中,结束;
步骤306:该VLAN成员端口数减1;
步骤307:该子交换处理单元判断本处理单元的端口在该VLAN中的端 口数是否为O,若为0则执行步骤308,否则结束;
步骤308:该子交换处理单元删除芯片表中该VLAN的MAC地址条目。 下面用一个实例来加以il明。
如图l所示,分布式以太网交换机,有一个主控交换处理单元、四个子 交换处理单元,16个端口分布在四个子交换处理单元上。
如果某一时刻,子交换处理单元l的端口 1学习到了一个MAC地址, 地址为A,VLAN为2,那么就会生成一个MAC地址条目MACA + VLAN 2—>端口 1,添加自己的芯片MAC地址表,同时通知主控交换处理单元这 个地址消息。
主控交换处理单元收到子交换处理单元1的学习到新的MAC地址消息 后,将其中的MAC地址条目添加到自己的软件MAC表,同时通知其他子 交换处理单元添加该MAC地址条目。
对于子交换处理单元2来说,收到添加请求后,则判断本处理单元的端 口 5、 6、 7、 8中是否有端口属于VLAN2,如杲有,则向芯片添加该MAC 地址条目;如果端口5、 6、 7、 8均不在VLAN2中,则取消向芯片添加该 MAC地址,并将该MAC地址保存在本子处理单元CPU的软件MAC地址表中。
当子交换处理单元2收到主控交换处理单元VLAN成员端口数目变化 的通知时
如果是某个VLAN如VLAN 2添加成员端口 ,如果原来VLAN 2在本 交换处理单元没有成员端口,现在变成了有成员端口,则需要从CPU的软 件MAC表中取出所有VLAN 2的MAC地址条目添加到芯片中;如果原来 VLAN2在本交换处理单元就已经存在成员端口 ,则不需要任何操作。
如果是某个VLAN如VLAN 2删除成员端口 ,如果原来VLAN 2在本 交换处理单元有成员端口,现在删除了成员端口后,如果VLAN2在本交换 处理单元的端口成员数目为0,则需要删除本交换处理单元芯片MAC表中 所有VLAN 2的MAC地址条目;其他的情况则不需要任何操作。
综上所述,以太网交换机用来作转发决定的MAC地址表存储在内存中 的,这些内存集成在以太网交换芯片之中,其空间大小是一定的。与现有技 术相比较,本发明在向子交换处理单元添加MAC地址转发条目的时候,添 加了对本交换处理单元内是否成员属于MAC地址所在的VLAN,如果没有 则先不写入MAC地址表,这样做到了节省了 MAC地址表的有限空间。由 于该处理单元没有该VLAN的成员,所以不会用到该MAC地址条目来进行 转发,从而对整个以太网交换机的二层转发没有任何影响,同时能使整个以 太网交换机能够学习更多的MAC地址,更加充分利用了 MAC地址表的空 间,是交换机的交换容量大大提高。
本发明在上述本实施例的基础上还可以有各种变换。例如,在某子处理 单元没有MAC地址条目中的VLAN时,也可不再将该MAC地址条目保存 在本处理单元的软件MAC地址表,在VLAN成员端口数目变化时,可以由 主控交换单元根据CPU的软件MAC地址表重新将该VLAN相关的所有 MAC地址条目通知到各子处理单元。
权利要求
1、一种利用以太网交换机媒体接入控制MAC地址表空间的方法,该交换机包括主控交换处理单元和若干子交换处理单元,该方法包括以下步骤(a)某个子交换处理单元学习到某个MAC地址,生成一包含该MAC地址对应的虚拟局域网VLAN和端口PORT的MAC地址条目,添加到本处理单元的芯片MAC地址表;(b)所述子交换处理单元将生成的所述MAC地址条目通知主控交换处理单元,该主控交换处理单元再通知到其他子交换处理单元;(c)其他子处理单元分别判断本处理单元是否有该MAC地址条目中的VLAN的成员端口,如果有,将该MAC地址条目添加到本处理单元的芯片MAC地址表,如果没有,则不添加。
2、 如权利要求l所述的方法,其特征在于所述步骤(b)中,主控交 换处理单元收到子交换处理单元的通知后,还将所述MAC地址条目添加到 本处理单元的软件MAC表。
3、 如权利要求1或2所述的方法,其特征在于所述步骤(c)中,其 他子交换处理单元无论是否在芯片MAC地址表添加所述MAC地址条目, 均将该MAC地址条目保存在本处理单元的软件MAC地址表中。
4、 如权利要求3所迷的方法,其特征在于当某个VLAN的成员端口 数目变化时,主控处理单元将该VLAN成员端口的变化信息通知到各子交 换处理单元,各子处理单元得到通知后,如 判断该VLAN在本处理单元的 成员端口从无到有,则将该VLAN相关的所有MAC地址条目添加到本处理 单元的芯片MAC地址表中。
5、 如权利要求1或4所述的方法,其特征在于当某个VLAN的成员 端口数目变化时,主控处理单元将该VLAN成员端口的变化信息通知到各 子交换处理单元,各子处理单元得到通知后,如判断该VLAN在本处理单 元的成员端口从有到无,则将本处理单元的芯片MAC地址表中该VLAN相 关的所有MAC地址条目删除。
6、如权利要求4所述的方法,其特征在于所述子交换处理单元是从目,或者,主控交换处理单元在通知各子交换处理单元所述VLAN成员端 口的变化信息时,将其软件MAC地址表中与所述VLAN相关的所有MAC 地址条目重新通知各子交换处理单元,所述子交换处理单元从中获取所述 VLAN相关的所有MAC地址条目。
全文摘要
一种利用以太网交换机MAC地址表空间的方法,该交换机包括主控交换处理单元和若干子交换处理单元,该方法包括步骤某个子交换处理单元学习到某个MAC地址,生成一包含该MAC地址对应的虚拟局域网VLAN和端口PORT的MAC地址条目,添加到本处理单元的芯片MAC地址表;所述子交换处理单元将生成的所述MAC地址条目通知主控交换处理单元,该主控交换处理单元再通知到其他子交换处理单元;其他子处理单元分别判断本处理单元是否有该MAC地址条目中的VLAN的成员端口,如果有,将该MAC地址条目添加到本处理单元的芯片MAC地址表,如果没有,则不添加。本发明可以有效利用以太网交换机的芯片MAC地址表空间。
文档编号H04L29/06GK101110721SQ20061009942
公开日2008年1月23日 申请日期2006年7月18日 优先权日2006年7月18日
发明者杨自鹏 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1