分布式交换机mac地址表项有条件同步的方法

文档序号:7896818阅读:354来源:国知局
专利名称:分布式交换机mac地址表项有条件同步的方法
技术领域
本发明涉及网络通信技术领域,特别是涉及一种分布式交换机MAC地址表项有条 件同步的方法。
背景技术
分布式交换机由主、备两个主控及多块线卡组成。线卡收到以太网帧后,会增加相 应的转发表项,将以太网MAC帧的源MAC地址、虚拟局域网标识VLAN ID和输入端口号记录 下,这就是MAC地址表项的学习,而将在规定老化时间内没有刷新的MAC地址表项删除,就 是MAC地址表项的老化。每块线卡都有自己单独的快速学习MAC地址表项的能力,但是每 块线卡都无法知道其他线卡学习到的MAC地址表项,这样单播报文在部分线卡就可能会出 现洪泛的情况,大大占用交换机的系统带宽,影响正常数据的转发。MAC地址表项的同步能够有效解决上述问题。目前,MAC地址表项的同步分为完全 同步和有条件同步两种1、完全同步完全同步就是将一块线卡学习到的所有MAC地址表项完全同步到其 他线卡上,这样系统的MAC地址表项的容量将会等于MAC地址表项容量最小的那块线卡,大 大浪费了系统资源。2、有条件同步主控收到线卡发来的MAC地址表项同步信息后,解析MAC地址表 项,判断需要同步该MAC地址表项的线卡,将该MAC地址表项同步到需要的线卡上。这样 MAC地址表项的容量将会是一个动态的值,MAC地址表项的容量最小将等于所有线卡中MAC 地址表项容量最小的,最大将等于各个线卡MAC地址表项的容量之和,能够最大限度的节 约MAC地址表项的条目。综上所述,在有效节约系统资源的情况下完成分布式交换机MAC地址表项的同步 的技术问题亟待解决。

发明内容
本发明的目的是为了克服上述背景技术的不足,提供一种分布式交换机MAC地址 表项有条件同步的方法,使其能够准确、迅速同步分布式交换机的各个线卡之间的MAC地 址表项,防止因为MAC地址表项不同步而导致的单播数据报文洪泛的问题,并最大限度节 约MAC地址表项的条目。本发明提供的分布式交换机MAC地址表项有条件同步的方法,包括以下步骤A、 线卡将学习到的MAC地址表项发送到主控;B、主控对收到的MAC地址表项进行判断,判断其 是否被限制或是否需要同步;C、主控判定MAC地址表项被限制而不能被学习时,主控通知 发起该MAC地址表项学习的线卡删除该MAC地址表项;D、主控判定MAC地址表项需要同步 时,主控通知学习到该MAC地址表项的线卡添加该MAC地址表项,并通知发起该MAC地址表 项学习的线卡使该MAC地址表项生效;E、MAC地址表项需要老化时,发起该MAC地址表项学 习的线卡将老化信息发送到主控,主控处理后再将该老化信息发送到对应线卡完成MAC地址表项的老化处理。在上述技术方案中,步骤A中所述线卡将学习到的MAC地址表项发送到主控包括 以下步骤线卡的交换芯片学习到MAC地址表项后,产生中断信号并发送给线卡CPU,线卡 CPU获取所述中断信号后,读取所述MAC地址表项,并进行数据包的封装,再将封装后的数 据包通过卡间通信协议发送给主控CPU。在上述技术方案中,所述步骤A与步骤B之间还包括如下步骤所述主控CPU接收 到数据包后,对所述数据包进行解析,解析出每一条MAC地址表项,再分别对每一条MAC地 址表项进行处理。在上述技术方案中,步骤C中主控将被限制而不能被学习的MAC地址表项进行数 据包的封装后,通过卡间通信协议将封装后的数据包发送给发起该MAC地址表项学习的线 卡,所述线卡收到数据包后,删除线卡的交换芯片学习到的对应MAC地址表项。在上述技术方案中,所述线卡CPU读取的MAC地址表项包括从所述线卡的交换芯 片产生中断信号开始,直到所述线卡CPU读取MAC地址表项完毕这段时间内,所述线卡的交 换芯片学习到的所有MAC地址表项。在上述技术方案中,所述步骤D中还包括以下步骤主控分别选取每一块线卡应 该同步的MAC地址表项,将选取的MAC地址表项进行数据包的封装,再将封装后的数据包发 送到对应的线卡,完成该线卡对应MAC地址表项的同步。在上述技术方案中,所述主控完成线卡对应MAC地址表项的同步后,将有效的MAC 地址表项发回给发起该MAC地址表项同步的线卡,使该线卡的交换芯片学习到的MAC地址 表项生效。在上述技术方案中,所述步骤D与步骤E之间还包括如下步骤当通过配置命令使 线卡运行环境发生改变,使该线卡需要改变学习到的MAC地址表项时,主控通过消息机制 通知主控的MAC地址管理模块处理对应MAC地址表项的同步工作。在上述技术方案中,当线卡加入虚拟局域网VLAN时,主控通过消息机制通知主控 的MAC地址管理模块,将与该VLAN相关的MAC地址表项同步到该线卡。在上述技术方案中,所述线卡退出虚拟局域网VLAN时,主控发送删除与该VLAN相 关的MAC地址表项的消息给所述线卡,所述线卡将与该VLAN相关的MAC地址表项删除。与现有技术相比,本发明的优点如下本发明能够准确、快速的同步分布式交换机上各个线卡之间的MAC地址表项,能 够有效控制未知单播数据包的泛滥,使交换的整机的MAC地址表项容量变成一个动态的 值,MAC地址表项容量最小将等于所有线卡中MAC地址表项容量最小的,最大将等于各个线 卡MAC地址表项的容量之和。


图1为分布式交换机的系统构架示意图;图2为本发明实施例中MAC地址表项学习的流程图;图3为本发明实施例中MAC地址表项老化的流程图;图4为本发明实施例中线卡VLAN信息发生变化的处理流程图。
具体实施例方式下面结合附图及实施例对本发明作进一步的详细描述。参见如图1所示,分布式交换机的系统构架由主控和多块线卡组成,主控上维护 了一张全局MAC地址表项的软件表项,该表项记录了所有线卡的MAC地址表项。线卡维护 各自的硬件MAC地址表项,该表项用于二层数据的转发。线卡的MAC地址表项是通过主控 处理和判断后,由主控来同步各个线卡之间的MAC地址表项,每块线卡由于配置不同,所同 步的MAC地址表项也不同。线卡的交换芯片能够快速学习转发数据包的源MAC地址表项,并能够快速的产生 中断,通知线卡CPU读取该MAC地址表项。在中断产生以后,该中断将被处于关闭状态,不 会被新的MAC地址表项学习触发。线卡的交换芯片学习到的MAC地址表项,不是有效的MAC 地址表项,不能参与二层转发,只有等到线卡CPU使该MAC地址表项有效后,才能参与二层 转发。线卡CPU读取的MAC地址表项包括从线卡的交换芯片产生中断信号开始,直到线卡 CPU读取MAC地址表项完毕这段时间内,线卡的交换芯片学习到的所有MAC地址表项。线卡 CPU完成了读取MAC地址表项的操作后,MAC地址表项的学习中断将再次开启,准备下一次 的MAC地址表项学习。本发明实施例中提供的分布式交换机MAC地址表项有条件同步的方法,包括以下 步骤(1)线卡将学习到的MAC地址表项发送到主控线卡的交换芯片学习到MAC地址 表项后,快速产生中断信号并发送给线卡CPU,通知线卡CPU读取线卡的交换芯片学习到的 MAC地址表项。线卡CPU获取中断信号后,读取MAC地址表项,并进行数据包的封装,再将封 装后的数据包通过卡间通信协议发送给主控CPU。(2)主控CPU接收到数据包后,对数据包进行解析,解析出每一条MAC地址表项,再 分别对每一条MAC地址表项进行判断,判断其是否被限制或是否需要同步。(3)当主控判定MAC地址表项被限制而不能被学习时,主控将该MAC地址表项进行 数据包的封装后,通过卡间通信协议将封装后的数据包发送给发起该MAC地址表项学习的 线卡,通知其删除该MAC地址表项,该线卡收到数据包后,删除线卡的交换芯片学习到的对 应MAC地址表项。(4)主控判定MAC地址表项需要同步时,主控分别选取每一块线卡应该同步的MAC 地址表项,将选取的MAC地址表项进行数据包的封装,再将封装后的数据包发送到对应的 线卡,通知其添加该MAC地址表项,完成该线卡对应MAC地址表项的同步。主控完成线卡对 应MAC地址表项的同步后,将有效的MAC地址表项发回给发起该MAC地址表项同步的线卡, 使该线卡的交换芯片学习到的MAC地址表项生效。当通过配置命令使线卡运行环境发生改变,使该线卡需要改变学习到的MAC地址 表项时,主控通过消息机制通知主控的MAC地址管理模块处理对应MAC地址表项的同步工 作。具体的,当线卡加入虚拟局域网VLAN时,主控通过消息机制通知主控的MAC地址管理 模块,将与该VLAN相关的MAC地址表项同步到该线卡。线卡退出虚拟局域网VLAN时,主控 发送删除与该VLAN相关的MAC地址表项的消息给所述线卡,所述线卡将与该VLAN相关的 MAC地址表项删除。(5) 一个线卡只能老化该线卡学习到的MAC地址表项,对于其他线卡学习到的MAC6必需等待对应线卡来进行老化。因此,线卡检测到自己学习到的MAC地址需要老 化时,立即老化该线卡的MAC地址表项,由发起该MAC地址表项学习的线卡将老化信息通过 卡间通信协议发送到主控,主控在收到线卡发起的MAC地址表项老化消息后,将对应的老 化信息发送到对应线卡来完成整个系统的MAC地址表项老化工作。进一步,在应用本发明实施例时,具体包括以下8个过程a)线卡通过线卡的交换芯片学习MAC地址表项的过程;b)线卡通过线卡的交换芯片老化MAC地址表项的过程;c)主控学习MAC地址表项的过程;d)主控同步备份主控的MAC地址表项的过程;e)主控老化MAC地址表项的过程;f)通过主控同步其余线卡的MAC地址表项的过程;g)通过主控老化其余线卡的MAC地址表项的过程;h)线卡的VLAN信息发生变化后,通过主控同步线卡的MAC地址表项的过程。下面对上述8个过程进行详细阐述。a)线卡通过线卡的交换芯片学习MAC地址表项的过程通过设置线卡的交换芯片 的MAC地址表项学习为pending模式后,由线卡的交换芯片自身完成MAC地址表项的学习, 并产生中断信号给线卡CPU来处理学习到的MAC地址表项。此时线卡的交换芯片学习到的 MAC地址表项都被带上一个pending标志,指示该MAC地址表项为无效的MAC地址表项,必 需通过线卡CPU去掉pending标志后才能参与二层转发。线卡CPU将学习到的MAC地址表 项封装成数据包后,通过卡间通信协议送到主控CPU处理。b)线卡通过线卡的交换芯片老化MAC地址表项的过程线卡的交换芯片通过自身 机制完成本芯片的MAC地址表项老化,并产生中断信号给线卡CPU,线卡CPU将老化信息封 装成数据包通过卡间通信协议送到主控处理。c)主控学习MAC地址表项的过程主控解析收到的数据包,判断每一条MAC地址 表项是否超过限制,超过限制的发回给源线卡删除该MAC地址表项,对于满足条件的MAC地 址,则添加到本地的软件表项中。d)主控同步备份主控的MAC地址表项的过程当备份主控存在时,主控将满足条 件的MAC地址表项发送到备用主控,完成备用主控的MAC地址表项同步操作。e)主控老化MAC地址表项的过程主控解析每一条需要老化的MAC地址表项,删 除本地软件表项。f)通过主控同步其余线卡的MAC地址表项的过程主控分别选取每一块线卡应该 同步的MAC地址表项,并对其进行封装后,发送到对应的线卡同步该MAC地址表项。g)通过主控老化其余线卡的MAC地址表项的过程主控分别选取每一块线卡需要 老化的MAC地址表项,对其进行封装后,发送给对应线卡进行MAC地址表项的老化处理。h)线卡的VLAN信息发生变化后,通过主控同步线卡的MAC地址表项的过程通过 配置导致线卡的VLAN信息发生变化后,导致MAC地址表项也会发生变化,主控根据本地的 MAC地址表项去同步发生变换的线卡的MAC地址表项。下面通过3个具体的实施例来进一步说明本发明提供的方法。实施例1 关于MAC地址表项的学习,流程图参见图2所示7
步骤101 线卡1分别加入VLAN1、2、3、4中,线卡1的交换芯片分别学习到来自 VLANl 的 MACl、来自 VLAN2 的 MAC2、来自 VLAN3 的 MAC3、来自 VLAN4 的 MAC4 这 4 条 MAC 地址表项。步骤102 线卡1将4条MAC地址表项打包后发送到主控进行学习处理。步骤103 主控收到MAC地址表项的学习数据包后,解析数据包内容,对每一条MAC 地址表项进行判断。步骤104 主控判断在VLAN4中的MAC地址学习已经被限制了,所以MAC4将不会 被学习,主控将删除MAC4的消息发送回线卡1,使线卡1删除该MAC地址表项;主控判断其 他3条MAC地址表项需要同步,主控将其他3条MAC地址表项添加到本地的MAC地址表项中。步骤105 在完成步骤104后,主控将MAC1、MAC2、MAC3这3条MAC地址表项进行 封装后发送给线卡1,使线卡1的MAC1、MAC2、MAC3这3条MAC地址表项生效。步骤106 线卡2加入VLAN1、3,没有加入到VLAN2,所以主控判定MAC1、MAC3这2 条MAC地址表项将同步到线卡2,MAC2不需被同步到线卡2。主控将学习MAC1、MAC3这2 条MAC地址表项的消息封装好后,向线卡2发送学习消息。步骤107 线卡3加入VLAN1、2,没有加入到VLAN3,所以主控判定MAC1、MAC2这2 条MAC地址表项将同步到线卡3,MAC3不需被同步到线卡3。主控将学习MAC1、MAC2这2 条MAC地址表项的消息封装好后,向线卡3发送学习消息。步骤108 线卡2和线卡3完成MAC地址表项的学习。实施例2 关于MAC地址表项的老化,流程图参见图3所示步骤201 线卡1的MAC地址表项MAC1、MAC2、MAC3发生老化后,线卡1直接删除 MAC1、MAC2、MAC3这3条MAC地址表项,并通知线卡1的CPU进行处理。步骤202 线卡1的CPU将MAC1、MAC2、MAC3这3条MAC地址表项的老化消息发送 给主控CPU。步骤203 主控CPU收到老化消息后,删除本地的MAC地址表项,并判断其他线卡 需要老化哪些MAC地址表项。步骤204 经过主控判断后,线卡2需要老化MAC1、MAC3这2条MAC地址表项,主 控向线卡2发送MAC1、MAC3这2条MAC地址表项的老化消息。步骤205 经过主控判断后,线卡3需要老化MAC1、MAC2这2条MAC地址表项,主 控向线卡3发送MAC1、MAC2这2条MAC地址表项的老化消息。步骤206 线卡2、线卡3完成老化操作。实施例3 关于线卡VLAN信息发生变化的处理,流程图参见图4所示只有当MAC地址表项中的VLAN信息属于线卡的所在VLAN表中时,该MAC地址表项 将会同步到该线卡。线卡的VLAN信息是根据线卡前面板端口加入VLAN的情况来决定的。步骤301 通过配置命令使线卡2的其中一个前面板端口加入VLAN2后,此时线卡 2也就加入到VLAN2中。线卡2加入到VLAN2中后,主控CPU发送消息给主控的MAC地址管 理模块,主控的MAC地址管理模块收到消息后,查找本地所有关于VLAN2的MAC地址表项。步骤302 主控将MAC2这个MAC地址表项发送到线卡2,让线卡2学习该MAC地址 表项。8
步骤303 线卡2添加新学习到的MAC地址表项。步骤304 通过配置命令使线卡3的所有前面板端口退出VLAN2,此时线卡3也就 退出了 VLAN2。线卡3退出VLAN2后,主控CPU发送消息给主控的MAC地址管理模块处理, 主控的MAC地址管理模块收到消息后,向线卡3发送删除所有与VLAN2相关的MAC地址表 项的消息。步骤305 线卡3删除与VLAN2相关的MAC地址表项。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精 神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围 之内,则本发明也意图包含这些改动和变型在内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
权利要求
1.一种分布式交换机MAC地址表项有条件同步的方法,包括以下步骤A、线卡将学习到的MAC地址表项发送到主控;B、主控对收到的MAC地址表项进行判断,判断其是否被限制或是否需要同步;C、主控判定MAC地址表项被限制而不能被学习时,主控通知发起该MAC地址表项学习 的线卡删除该MAC地址表项;D、主控判定MAC地址表项需要同步时,主控通知学习到该MAC地址表项的线卡添加该 MAC地址表项,并通知发起该MAC地址表项学习的线卡使该MAC地址表项生效;E、MAC地址表项需要老化时,发起该MAC地址表项学习的线卡将老化信息发送到主控, 主控处理后再将该老化信息发送到对应线卡完成MAC地址表项的老化处理。
2.如权利要求1所述的分布式交换机MAC地址表项有条件同步的方法,其特征在于 步骤A中所述线卡将学习到的MAC地址表项发送到主控包括以下步骤线卡的交换芯片学 习到MAC地址表项后,产生中断信号并发送给线卡CPU,线卡CPU获取所述中断信号后,读取 所述MAC地址表项,并进行数据包的封装,再将封装后的数据包通过卡间通信协议发送给 主控CPU。
3.如权利要求2所述的分布式交换机MAC地址表项有条件同步的方法,其特征在于 所述步骤A与步骤B之间还包括如下步骤所述主控CPU接收到数据包后,对所述数据包进 行解析,解析出每一条MAC地址表项,再分别对每一条MAC地址表项进行处理。
4.如权利要求2所述的分布式交换机MAC地址表项有条件同步的方法,其特征在于 步骤C中主控将被限制而不能被学习的MAC地址表项进行数据包的封装后,通过卡间通信 协议将封装后的数据包发送给发起该MAC地址表项学习的线卡,所述线卡收到数据包后, 删除线卡的交换芯片学习到的对应MAC地址表项。
5.如权利要求2所述的分布式交换机MAC地址表项有条件同步的方法,其特征在于 所述线卡CPU读取的MAC地址表项包括从所述线卡的交换芯片产生中断信号开始,直到所 述线卡CPU读取MAC地址表项完毕这段时间内,所述线卡的交换芯片学习到的所有MAC地 址表项。
6.如权利要求1所述的分布式交换机MAC地址表项有条件同步的方法,其特征在于 所述步骤D中还包括以下步骤主控分别选取每一块线卡应该同步的MAC地址表项,将选取 的MAC地址表项进行数据包的封装,再将封装后的数据包发送到对应的线卡,完成该线卡 对应MAC地址表项的同步。
7.如权利要求6所述的分布式交换机MAC地址表项有条件同步的方法,其特征在于 所述主控完成线卡对应MAC地址表项的同步后,将有效的MAC地址表项发回给发起该MAC 地址表项同步的线卡,使该线卡的交换芯片学习到的MAC地址表项生效。
8.如权利要求1所述的分布式交换机MAC地址表项有条件同步的方法,其特征在于 所述步骤D与步骤E之间还包括如下步骤当通过配置命令使线卡运行环境发生改变,使该 线卡需要改变学习到的MAC地址表项时,主控通过消息机制通知主控的MAC地址管理模块 处理对应MAC地址表项的同步工作。
9.如权利要求8所述的分布式交换机MAC地址表项有条件同步的方法,其特征在于 当线卡加入虚拟局域网VLAN时,主控通过消息机制通知主控的MAC地址管理模块,将与该 VLAN相关的MAC地址表项同步到该线卡。
10.如权利要求9所述的分布式交换机MAC地址表项有条件同步的方法,其特征在于 所述线卡退出虚拟局域网VLAN时,主控发送删除与该VLAN相关的MAC地址表项的消息给 所述线卡,所述线卡将与该VLAN相关的MAC地址表项删除。
全文摘要
本发明公开了一种分布式交换机MAC地址表项有条件同步的方法,属通信领域,包括步骤线卡将学习的MAC地址表项发到主控;主控判断其是否被限制或需要同步,判定其被限制不能被学习时,主控通知发起该MAC地址表项学习的线卡删除该MAC地址表项;判定需要同步时,主控通知学习该MAC地址表项的线卡添加该MAC地址表项,并通知发起该MAC地址表项学习的线卡使该MAC地址表项生效;老化时,发起MAC地址表项学习的线卡将老化信息发到主控,主控处理后再将老化信息发到对应线卡完成MAC地址表项的老化。本发明能准确、迅速同步分布式交换机各线卡间MAC地址表项,防止由其不同步导致的单播数据报文洪泛,最大限度节约条目。
文档编号H04L29/08GK102045200SQ201010603218
公开日2011年5月4日 申请日期2010年12月24日 优先权日2010年12月24日
发明者叶静元, 许磊 申请人:武汉烽火网络有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1