一种多播源过滤表项处理方法和装置制造方法

文档序号:7796318阅读:112来源:国知局
一种多播源过滤表项处理方法和装置制造方法
【专利摘要】本发明公开了一种多播源过滤表项处理方法,该方法包括:各成员设备在堆叠口up时,通过堆叠口发送多播源过滤学习报文,以硬件转发芯片为主,软件简单配合实现多播源过滤表项的处理。基于同样的发明构思,本发明还提出一种装置,提高了处理多播源过滤表项的实时性、降低了CPU开销以及带宽的占用。
【专利说明】一种多播源过滤表项处理方法和装置
【技术领域】
[0001]本发明涉及通信【技术领域】,特别涉及一种多播源过滤表项处理方法和装置。
【背景技术】
[0002]以太网交换机堆叠技术,可以将多台交换机互联在一起,形成分布式交换架构,并作为一个逻辑交换实体运行。
[0003]从管理和配置的角度看,一个分布式交换架构看起来就像一台交换设备;从性能的角度看,分布式交换架构中的每台交换机都能针对其端口上的第二层、第三层流量通信业务制定本地转发决策。
[0004]支持堆叠多台交换设备可以互相连接起来形成一个“联合设备”,我们将这台“联合设备”称为一个堆叠系统,而将组成堆叠系统的每个设备称为一个成员设备。多个成员设备组成堆叠系统后,无论在管理还是在使用上,就成为了一个整体。也就是说,用户可以将这多台设备看成单一设备进行管理和使用。这样既可以通过增加设备来扩展端口数量和交换能力,同时也通过多个成员设备之间的相互备份增加了整个堆叠系统的可靠性。
[0005]参见图1,图1为9台设备环形堆叠系统示意图。图1中9台设备分别为成员设备
1、成员设备2、.......、成员设备9,各成员是设备分别对应的源标识(ID)为1、2、......、9。
每个成员设备两组外部堆叠口,分别为端口 1,端口 2。相邻两个成员设备中的一个成员设备的端口 I和另外一个设备的端口 2相连,组成环形堆叠。
[0006]堆叠系统内部多播报文根据源过滤表进行转发,堆叠口是所有多播组的成员端口,可以转发所有多播组,为了防止多播报文在环形堆叠中,形成转发风暴,根据源过滤表对源不同的各多播报文在特定堆叠口进行阻断。
[0007]当一个多播报文从业务端口进入堆叠系统后,首先将与这个业务端口绑定的源ID下发给多播报文,根据目的信息确定该多播报文所属的多播组,查找出目的端口组(包括本转发芯片的相关业务端口与堆叠口),然后排除源端口,从端口组包含的各个端口(聚合端口视作为一个端口)发送多播报文,当堆叠口对多播报文对应源过滤,报文最终不会从这个堆叠口发送。
[0008]通过堆叠口收到多播报文后,可以根据报文中所带多播组ID确认出端口,也可根据目的信息确定报文所属多播组,然后排除源端口(收包堆叠口)从多播组对应的端口转发报文,如果堆叠口为对应源的过滤端口,多播报文不会从此堆叠口发送。
[0009]目前实现中多播源过滤表的生成时,需要堆叠管理系统通过报文完成拓扑发现,根据拓扑发现数据,按照最短路径方法,计算各个多播源阻断链路。当阻断位置在本成员的堆叠口时,将该多播源在对应的堆叠口设置为源过滤,当阻断位置不在本成员的堆叠口时,将该多播源在对应的堆叠口设置为源不过滤。表I为现有实现中成员设备I的多播源过滤表包含的内容。
[0010]
【权利要求】
1.一种多播源过滤表项处理方法,应用于形成环形堆叠系统的任一成员设备上,其特征在于,所述方法包括: 该成员设备的堆叠口工作UP时,通过本成员设备的堆叠口向其他成员设备发送多播源过滤学习报文,该报文中携带源标识ID和路径距离,其中,所述路径距离为用于确定接收该多播源过滤学习报文的成员设备与发送该多播源过滤学习报文的成员设备之间的路径距离,源ID为与本地业务端口绑定的ID ; 该成员设备通过堆叠口接收到其它成员设备发送的多播源过滤学习报文时,获取该多播源过滤学习报文中携带的源ID和路径距离;根据获取的源ID和路径距离,以及接收该多播源过滤学习报文的堆叠口,生成该源ID对应的多播源过滤表项;并将该多播源过滤学习报文中携带的路径距离更新后,通过本成员设备接收该多播源过滤学习报文的堆叠口之外的堆叠口发送; 该成员设备通过堆叠口接收到自身发送的多播源过滤学习报文时,丢弃该多播源过滤学习报文。
2.根据权利要求1所述的方法,其特征在于,当形成堆叠系统的成员设备的数量为奇数,且本地存在所述获取的源ID对应的多播源过滤表项时,所述生成该源ID对应的多播源过滤表项的方法为: 当确定该多播源过滤表项中存在一个过滤堆叠口,且该堆叠口与接收所述多播源过滤学习报文的堆叠口不同时,执行第一特定操作; 当确定该多播源过滤表项中存在两个过滤堆叠口时,将与当前接收所述多播源过滤学习报文的堆叠口相同的过滤堆叠口,以及该过滤堆叠口对应的路径距离删除,执行第一特定操作; 所述第一特定操作为: 当根据获取的路径距离确定该源ID对应的成员设备为距离本成员设备最远的两个成员设备中的任一成员设备时,将接收该多播源过滤学习报文的堆叠口,以及从该堆叠口到发送所述多播源过滤学习报文成员设备之间的路径距离,绑定增加到该源ID对应的多播源过滤表项中; 当根据获取的路径距离确定该源ID对应的成员设备不为距离本成员设备最远的两个成员设备时,确定通过接收所述多播源过滤学习报文的堆叠口距离该源ID对应的成员设备,是否比另外一个堆叠口距离该源ID对应的成员设备远,如果是,将接收该多播源过滤学习报文的堆叠口,以及从该堆叠口到发送所述多播源过滤学习报文成员设备之间的路径距离,绑定并更新所述多播源过滤表项;否则,维持所述多播源过滤表项不变。
3.根据权利要求1所述的方法,其特征在于,当形成堆叠系统的成员设备的数量为偶数,且本地存在所述获取的源ID对应的多播源过滤表项时,所述生成该源ID对应的多播源过滤表项的方法为: 当该多播源过滤表项中存在一个过滤堆叠口,且该堆叠口与接收所述多播源过滤学习报文的堆叠口不同时,执行第二特定操作; 当该多播源过滤表项中存在两个过滤堆叠口时,将与当前接收所述多播源过滤学习报文的堆叠口相同的过滤堆叠口,以及该过滤堆叠口对应的路径距离删除,执行第二特定操作;所述第二特定操作为: 当根据获取的路径距离确定该源ID对应的成员设备为距离本成员设备最远的成员设备时,将接收该多播源过滤学习报文的堆叠口,以及从该堆叠口到发送所述多播源过滤学习报文成员设备之间的路径距离,绑定增加到该源ID对应的多播源过滤表项中; 当根据获取的路径距离确定该源ID对应的成员设备为,与距离本成员设备最远的成员设备直连的两个成员设备中的任一成员设备时,若确定通过接收所述多播源过滤学习报文的堆叠口距离该源ID对应的成员设备,比另外一个堆叠口距离该源ID对应的成员设备远,确定接收该多播源过滤学习报文的堆叠口是否为报文优先转发端口,如果是,维持所述多播源过滤表项不变;否则,将接收该多播源过滤学习报文的堆叠口,以及从该堆叠口到发送所述多播源过滤学习报文成员设备之间的路径距离,绑定增加到所述多播源过滤表项中;若确定通过接收所述多播源过滤学习报文的堆叠口距离该源ID对应的成员设备,比另外一个堆叠口距离该源ID对应的成员设备近,确定所述多播源过滤表中的堆叠过滤口是否为报文优先转发端口,如果是,将接收该多播源过滤学习报文的堆叠口,以及从该堆叠口到发送所述多播源过滤学习报文成员设备之间的路径距离,绑定更新所述多播源过滤表项;否则,将接收该多播源过滤学习报文的堆叠口,以及从该堆叠口到发送所述多播源过滤学习报文成员设备之间的路径距离,绑定增加到所述多播源过滤表项中; 当根据获取的路径距离确定该源ID对应的成员设备为距离本成员设备最远,以及该最远成员设备直连的两个成员设备之外的成员设备时,确定通过接收所述多播源过滤学习报文的堆叠口距离该源ID对应的成员设备,是否比另外一个堆叠口距离该源ID对应的成员设备远,如果是,将接收该多播源过滤学习报文的堆叠口,以及从该堆叠口到发送所述多播源过滤学习报文成员设备之间的路径距离,绑定并更新所述多播源过滤表项;否则,维持所述多播源过滤表项不变。
4.根据权利要求1所述的方法,其特征在于,当确定本地存在该源ID对应的多播源过滤表项,且该表项中存在一个过滤堆叠口,该过滤堆叠口与接收所述多播源过滤学习报文的堆叠口相同时,所述生成该源ID对应的多播源过滤表项的方法为: 将从该堆叠口到发送所述多播源过滤学习报文成员设备之间的路径距离,更新该源ID对应的多播源过滤表项中的路径距离。
5.根据权利要求1-4任意一项所述的方法,其特征在于, 当所述堆叠系统中仅包括两个成员设备时,对自身源在报文非优先转发端口进行源过滤;对自身源在报文优先转发端口不进行源过滤。
6.根据权利要求1-4任意一项所述的方法,其特征在于,所述方法进一步包括: 在生成或更新一个多播源过滤表项时,为该表项增加老化标志并置为有效; 在预设老化时间到,且未接收到该多播源过滤表项相关的多播源过滤学习报文时,如果老化标志置为有效,则将老化标志置为无效;如果老化标志置为无效,则将该多播源过滤表项删除; 在预设老化时间内,接收到该多播源过滤表项相关的多播源过滤学习报文时,如果老化标志置为无效,则将该老化标志为有效;如果老化标志为有效,则刷新老化时间。
7.根据权利要求1-4任意一项所述的方法,其特征在于,所述方法进一步包括: 该成员设备与其他成员设备之间的堆叠链路故障时,删除本地所有的多播源过滤表项,并通过正常状态的堆叠口发送通知报文通知其他成员设备堆叠链路故障; 该成员设备接收到其他成员设备发送的通知报文时,删除本地所有的多播源过滤表项。
8.一种装置,可应用于形成环形堆叠系统的任一成员设备上,其特征在于,该装置包括:收发单元、获取单元、生成单元和处理单元; 所述收发单元,用于堆叠口工作up时,通过本成员设备的堆叠口向其他成员设备发送多播源过滤学习报文,并在该报文中携带源标识ID和路径距离,其中,所述路径距离为用于确定接收该多播源过滤学习报文的成员设备与发送该多播源过滤学习报文的成员设备之间的路径距离,源ID为与本地业务端口绑定的ID ;通过堆叠口接收多播源过滤学习报文; 所述获取单元,用于获取所述收发单元接收到其他成员设备发送的多播源过滤学习报文中携带的源ID和路径距离; 所述生成单元,用于根据所述获取单元获取的源ID和路径距离,以及接收该多播源过滤学习报文的堆叠口,生成该源ID对应的多播源过滤表项; 所述处理单元,用于将所述收发单元接收的多播源过滤学习报文中携带的路径距离更新后,触发所述收发单元通过本成员设备接收该多播源过滤学习报文的堆叠口之外的堆叠口发送;当所述收发 单元通过堆叠口接收到自身发送的多播源过滤学习报文时,丢弃该多播源过滤学习报文。
9.根据权利要求8所述的装置,其特征在于, 所述生成单元,具体用于当形成堆叠系统的成员设备的数量为奇数,且本地存在所述获取的源ID对应的多播源过滤表项时,当确定该多播源过滤表项中存在一个过滤堆叠口,且该堆叠口与接收所述多播源过滤学习报文的堆叠口不同时,执行第一特定操作;当确定该多播源过滤表项中存在两个过滤堆叠口时,将与当前接收所述多播源过滤学习报文的堆叠口相同的过滤堆叠口,以及该过滤堆叠口对应的路径距离删除,执行第一特定操作;所述第一特定操作为:当根据获取的路径距离确定该源ID对应的成员设备为距离本成员设备最远的两个成员设备中的任一成员设备时,将接收该多播源过滤学习报文的堆叠口,以及从该堆叠口到发送所述多播源过滤学习报文成员设备之间的路径距离,绑定增加到该源ID对应的多播源过滤表项中;当根据获取的路径距离确定该源ID对应的成员设备不为距离本成员设备最远的两个成员设备时,确定通过接收所述多播源过滤学习报文的堆叠口距离该源ID对应的成员设备,是否比另外一个堆叠口距离该源ID对应的成员设备远,如果是,将接收该多播源过滤学习报文的堆叠口,以及从该堆叠口到发送所述多播源过滤学习报文成员设备之间的路径距离,绑定并更新所述多播源过滤表项;否则,维持所述多播源过滤表项不变。
10.根据权利要求8所述的装置,其特征在于, 所述生成单元,具体用于当形成堆叠系统的成员设备的数量为偶数,且本地存在所述获取的源ID对应的多播源过滤表项时,当确定该多播源过滤表项中存在一个过滤堆叠口,且该堆叠口与接收所述多播源过滤学习报文的堆叠口不同时,执行第二特定操作;当确定该多播源过滤表项中存在两个过滤堆叠口时,将与当前接收所述多播源过滤学习报文的堆叠口相同的过滤堆叠口,以及该过滤堆叠口对应的路径距离删除,执行第二特定操作;所述第二特定操作为:当根据获取的路径距离确定该源ID对应的成员设备为距离本成员设备最远的成员设备时,将接收该多播源过滤学习报文的堆叠口,以及从该堆叠口到发送所述多播源过滤学习报文成员设备之间的路径距离,绑定增加到该源ID对应的多播源过滤表项中;当根据获取的路径距离确定该源ID对应的成员设备为,与距离本成员设备最远的成员设备直连的两个成员设备中的任一成员设备时,若确定通过接收所述多播源过滤学习报文的堆叠口距离该源ID对应的成员设备,比另外一个堆叠口距离该源ID对应的成员设备远,确定接收该多播源过滤学习报文的堆叠口是否为报文优先转发端口,如果是,维持所述多播源过滤表项不变;否则,将接收该多播源过滤学习报文的堆叠口,以及从该堆叠口到发送所述多播源过滤学习报文成员设备之间的路径距离,绑定增加到所述多播源过滤表项中;若确定通过接收所述多播源过滤学习报文的堆叠口距离该源ID对应的成员设备,比另外一个堆叠口距离该源ID对应的成员设备近,确定所述多播源过滤表中的堆叠过滤口是否为报文优先转发端口,如果是,将接收该多播源过滤学习报文的堆叠口,以及从该堆叠口到发送所述多播源过滤学习报文成员设备之间的路径距离,绑定更新所述多播源过滤表项;否则,将接收该多播源过滤学习报文的堆叠口,以及从该堆叠口到发送所述多播源过滤学习报文成员设备之间的路径距离,绑定增加到所述多播源过滤表项中;当根据获取的路径距离确定该源ID对应的成员设备为距离本成员设备最远,以及该最远成员设备直连的两个成员设备之外的成员设备时,确定通过接收所述多播源过滤学习报文的堆叠口距离该源ID对应的成员设备,是否比另外一个堆叠口距离该源ID对应的成员设备远,如果是,将接收该多播源过滤学习报文的堆叠口,以及从该堆叠口到发送所述多播源过滤学习报文成员设备之间的路径距离,绑定并更新所述多播源过滤表项;否则,维持所述多播源过滤表项不变。
11.根据权利要求8所述的装置,其特征在于, 所述生成单元,具体用于当确定本地存在该源ID对应的多播源过滤表项,且该表项中存在一个过滤堆叠口, 该过滤堆叠口与接收所述多播源过滤学习报文的堆叠口相同时,将从该堆叠口到发送所述多播源过滤学习报文成员设备之间的路径距离,更新该源ID对应的多播源过滤表项中的路径距离。
12.根据权利要求8-11任意一项所述的装置,其特征在于, 所述生成单元,进一步用于当所述堆叠系统中仅包括两个成员设备时,对自身源在报文非优先转发端口进行源过滤;对自身源在报文优先转发端口不进行源过滤。
13.根据权利要求8-11任意一项所述的装置,其特征在于, 所述生成单元,进一步用于在生成或更新一个多播源过滤表项时,为该表项增加老化标志并置为有效;在预设老化时间到,且未接收到该多播源过滤表项相关的多播源过滤学习报文时,如果老化标志置为有效,则将老化标志置为无效;如果老化标志置为无效,则将该多播源过滤表项删除;在预设老化时间内,接收到该多播源过滤表项相关的多播源过滤学习报文时,如果老化标志置为无效,则将该老化标志为有效;如果老化标志为有效,则刷新老化时间。
14.根据权利要求8-11任意一项所述的装置,其特征在于, 所述生成单元,进一步用于本单元所属的成员设备与其他成员设备之间的堆叠链路故障时,删除本地所有的多播源过滤表项,并触发所述收发单元通过正常状态的堆叠口发送通知报文通知其他成员设备堆叠链路故障;当所述收发单元接收到其他成员设备发送的通知报文时,删除本地所有的多播源过滤表项所述收发单 元,用于收发通知报文。
【文档编号】H04L12/741GK103763196SQ201410038898
【公开日】2014年4月30日 申请日期:2014年1月27日 优先权日:2014年1月27日
【发明者】梁学伟 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1