CN103763196A - 一种多播源过滤表项处理方法和装置 - Google Patents
一种多播源过滤表项处理方法和装置 Download PDFInfo
- Publication number
- CN103763196A CN103763196A CN201410038898.1A CN201410038898A CN103763196A CN 103763196 A CN103763196 A CN 103763196A CN 201410038898 A CN201410038898 A CN 201410038898A CN 103763196 A CN103763196 A CN 103763196A
- Authority
- CN
- China
- Prior art keywords
- multicast source
- source
- stacking opening
- message
- member device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种多播源过滤表项处理方法,该方法包括:各成员设备在堆叠口up时,通过堆叠口发送多播源过滤学习报文,以硬件转发芯片为主,软件简单配合实现多播源过滤表项的处理。基于同样的发明构思,本发明还提出一种装置,提高了处理多播源过滤表项的实时性、降低了CPU开销以及带宽的占用。
Description
技术领域
本发明涉及通信技术领域,特别涉及一种多播源过滤表项处理方法和装置。
背景技术
以太网交换机堆叠技术,可以将多台交换机互联在一起,形成分布式交换架构,并作为一个逻辑交换实体运行。
从管理和配置的角度看,一个分布式交换架构看起来就像一台交换设备;从性能的角度看,分布式交换架构中的每台交换机都能针对其端口上的第二层、第三层流量通信业务制定本地转发决策。
支持堆叠多台交换设备可以互相连接起来形成一个“联合设备”,我们将这台“联合设备”称为一个堆叠系统,而将组成堆叠系统的每个设备称为一个成员设备。多个成员设备组成堆叠系统后,无论在管理还是在使用上,就成为了一个整体。也就是说,用户可以将这多台设备看成单一设备进行管理和使用。这样既可以通过增加设备来扩展端口数量和交换能力,同时也通过多个成员设备之间的相互备份增加了整个堆叠系统的可靠性。
参见图1,图1为9台设备环形堆叠系统示意图。图1中9台设备分别为成员设备1、成员设备2、…….、成员设备9,各成员是设备分别对应的源标识(ID)为1、2、……、9。每个成员设备两组外部堆叠口,分别为端口1,端口2。相邻两个成员设备中的一个成员设备的端口1和另外一个设备的端口2相连,组成环形堆叠。
堆叠系统内部多播报文根据源过滤表进行转发,堆叠口是所有多播组的成员端口,可以转发所有多播组,为了防止多播报文在环形堆叠中,形成转发风暴,根据源过滤表对源不同的各多播报文在特定堆叠口进行阻断。
当一个多播报文从业务端口进入堆叠系统后,首先将与这个业务端口绑定的源ID下发给多播报文,根据目的信息确定该多播报文所属的多播组,查找出目的端口组(包括本转发芯片的相关业务端口与堆叠口),然后排除源端口,从端口组包含的各个端口(聚合端口视作为一个端口)发送多播报文,当堆叠口对多播报文对应源过滤,报文最终不会从这个堆叠口发送。
通过堆叠口收到多播报文后,可以根据报文中所带多播组ID确认出端口,也可根据目的信息确定报文所属多播组,然后排除源端口(收包堆叠口)从多播组对应的端口转发报文,如果堆叠口为对应源的过滤端口,多播报文不会从此堆叠口发送。
目前实现中多播源过滤表的生成时,需要堆叠管理系统通过报文完成拓扑发现,根据拓扑发现数据,按照最短路径方法,计算各个多播源阻断链路。当阻断位置在本成员的堆叠口时,将该多播源在对应的堆叠口设置为源过滤,当阻断位置不在本成员的堆叠口时,将该多播源在对应的堆叠口设置为源不过滤。表1为现有实现中成员设备1的多播源过滤表包含的内容。
源ID | 过滤堆叠口 |
1 | NULL |
2 | 1 |
3 | 1 |
4 | 1 |
5 | 1,2 |
6 | 1,2 |
7 | 2 |
8 | 2 |
9 | 2 |
表1
现有实现方式中,硬件的多播源过滤表依赖软件的拓扑发现,复杂度高,实时性差;为提高拓扑实时性,软件拓扑发现需要高频次发送报文,造成带宽的浪费;需要高频次拓扑判断与计算,增加了CPU的消耗。
发明内容
有鉴于此,本发明提供一种多播源过滤表项处理方法和装置,提高了处理多播源过滤表项的实时性、降低了CPU开销以及带宽的占用。
为解决上述技术问题,本发明的技术方案是这样实现的:
一种多播源过滤表项处理方法,应用于形成环形堆叠系统的任一成员设备上,所述方法包括:
该成员设备的堆叠口工作up时,通过本成员设备的堆叠口向其他成员设备发送多播源过滤学习报文,该报文中携带源标识ID和路径距离,其中,所述路径距离为用于确定接收该多播源过滤学习报文的成员设备与发送该多播源过滤学习报文的成员设备之间的路径距离,源ID为与本地业务端口绑定的ID;
该成员设备通过堆叠口接收到其它成员设备发送的多播源过滤学习报文时,获取该多播源过滤学习报文中携带的源ID和路径距离;根据获取的源ID和路径距离,以及接收该多播源过滤学习报文的堆叠口,生成该源ID对应的多播源过滤表项;并将该多播源过滤学习报文中携带的路径距离更新后,通过本成员设备接收该多播源过滤学习报文的堆叠口之外的堆叠口发送;
该成员设备通过堆叠口接收到自身发送的多播源过滤学习报文时,丢弃该多播源过滤学习报文。
一种装置,可应用于形成环形堆叠系统的任一成员设备上,该装置包括:收发单元、获取单元、生成单元和处理单元;
所述收发单元,用于堆叠口工作up时,通过本成员设备的堆叠口向其他成员设备发送多播源过滤学习报文,并在该报文中携带源标识ID和路径距离,其中,所述路径距离为用于确定接收该多播源过滤学习报文的成员设备与发送该多播源过滤学习报文的成员设备之间的路径距离,源ID为与本地业务端口绑定的ID;通过堆叠口接收多播源过滤学习报文;
所述获取单元,用于获取所述收发单元接收到其他成员设备发送的多播源过滤学习报文中携带的源ID和路径距离;
所述生成单元,用于根据所述获取单元获取的源ID和路径距离,以及接收该多播源过滤学习报文的堆叠口,生成该源ID对应的多播源过滤表项;
所述处理单元,用于将所述收发单元接收的多播源过滤学习报文中携带的路径距离更新后,触发所述收发单元通过本成员设备接收该多播源过滤学习报文的堆叠口之外的堆叠口发送;当所述收发单元通过堆叠口接收到自身发送的多播源过滤学习报文时,丢弃该多播源过滤学习报文。
综上所述,本发明通过各成员设备在堆叠口up时,通过堆叠口发送多播源过滤学习报文,以硬件转发芯片为主,软件简单配合实现多播源过滤表项的处理,提高了处理多播源过滤表项的实时性、降低了CPU开销以及带宽的占用。
附图说明
图1为9台设备环形堆叠系统示意图;
图2为本发明实施例一中多播源过滤表项处理方法流程示意图;
图3为4个成员设备形成的环形堆叠系统示意图;
图4为本发明实施例三中多播源过滤表项处理方法流程示意图。
图5为两台成员设备形成的环形堆叠系统示意图;
图6为本发明实施例四中多播报文在堆叠系统内部转发流程示意图;
图7为本发明具体实施例中应用于上述技术的装置结构示意图;
图8是本发明实施例多播源过滤表项处理装置的硬件架构组成示意图。具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明所述方案作进一步地详细说明。
本发明实施例中提出一种多播源过滤表项处理方法,应用于由两个以上成员设备形成的环形堆叠系统中的任一成员设备上,各成员设备在堆叠口up时,通过堆叠口周期发送多播源过滤学习报文,以硬件转发芯片为主,软件简单配合实现多播源过滤表项的处理,提高了处理多播源过滤表项的实时性、降低了CPU开销以及带宽的占用。
本发明具体实施例应用在环形堆叠系统中,各成员设备通过收发多播源过滤学习报文建立多播源过滤表项,防止多播报文在环形堆叠系统中,形成转发风暴。
实施例一
参见图2,图2为本发明实施例一中多播源过滤表项处理方法流程示意图。具体步骤为:
步骤201,成员设备的堆叠口up时,通过本成员设备的堆叠口向其他成员设备发送多播源过滤学习报文,该报文中携带源ID和路径距离。
其中,步骤201中多播源过滤学习报文携带的路径距离这一信元用于确定接收该多播源过滤学习报文的成员设备与发送该多播源过滤学习报文的成员设备之间的路径距离,源ID为与本地业务端口绑定的ID。
在具体实现时,该路径距离可以通过报文跳数和TTL等实现。
该多播源过滤学习报文仅在堆叠口发送,即不通过成员设备的业务端口发送。发送多播源过滤学习报文可以周期发送,发送周期根据实际应用进行配置。
该多播源过滤学习报文的源媒体访问控制(MAC)地址为本成员设备的专属MAC地址,如CPU-MAC地址或设备MAC地址,并预先将该成员设备的业务端口绑定源ID,如果该成员设备为多芯片设备,则将芯片ID和业务端口共同绑定源ID,绑定的源ID可以是芯片ID也可以是为各芯片分配的ID;如果该成员设备为单芯片设备,源ID也可以直接绑定本成员设备的MAC地址,或设备ID。
如果一个成员设备由多个芯片组成,可以配置多个源ID,则对每一个源ID都发送多播源过滤学习报文。
该多播源过滤学习报文的目的MAC地址为多播组ID,表示为该多播组建立多播源过滤表项,并且各成员设备的堆叠口都为所有组播组的转发端口。
在该多播源过滤学习报文中还携带多播源过滤学习报文标识,标识该报文为多播源过滤学习报文,各成员设备接收到其它成员设备发送的多播源过滤学习报文时,不对该报文进行多播源过滤。
源ID标识发送该多播源过滤学习报文相关的设备或芯片,源ID为与本地业务端口绑定的ID,接收到该多播源过滤学习报文的成员设备根据该源ID获知需要过滤的源。
由于在建多播源过滤表项时,发送的多播源过滤学习报文中携带的源ID与业务端口绑定,并且在成员设备通过业务端口接收到多播报文时,通过接收该多播报文的业务端口为其分配源ID,这样,可以通过建立的多播源过滤表项对接收到的多播报文进行多播源过滤。
在具体实现时,源ID的实现有多种方式,这样建立多播源过滤表项时的源ID与为多播报文分配的源ID处理规则一致即可。
步骤202,该成员设备通过堆叠口接收到其它成员设备发送的多播源过滤学习报文时,获取该多播源过滤学习报文中携带的源ID和路径距离;根据获取的源ID和路径距离,以及接收该多播源过滤学习报文的堆叠口,生成该源ID对应的多播源过滤表项。
步骤203,将该多播源过滤学习报文中携带的路径距离更新后,通过本成员设备接收该多播源过滤学习报文的堆叠口之外的堆叠口发送,结束本流程。
步骤204,该成员设备通过堆叠口接收到自身发送的多播源过滤学习报文时,丢弃该多播源过滤学习报文。
由于该多播源过滤学习报文不会进行多播源过滤,发送该多播源过滤报文的成员设备会在一个堆叠口接收到,从另外一个堆叠口发出的多播源过滤学习报文,因此,通过对源MAC地址的判断进行入方向阻断。
实施例二
本实施例中详细描述成员设备通过堆叠口接收到多播源过滤学习报文时,获取该多播源过滤学习报文中携带的源ID和路径距离;根据获取的源ID和路径距离,以及接收该多播源过滤学习报文的堆叠口,生成该源ID对应的多播源过滤表项的具体过程。
(1)、当形成堆叠系统的成员设备的数量为奇数,且本地存在所述获取的源ID对应的多播源过滤表项时,所述生成该源ID对应的多播源过滤表项的方法为:
当确定该多播源过滤表项中存在一个过滤堆叠口,且该堆叠口与接收所述多播源过滤学习报文的堆叠口不同时,执行第一特定操作;
当确定该多播源过滤表项中存在两个过滤堆叠口时,将与当前接收所述多播源过滤学习报文的堆叠口相同的过滤堆叠口,以及该过滤堆叠口对应的路径距离删除,执行第一特定操作;
所述第一特定操作为:
当根据获取的路径距离确定该源ID对应的成员设备为距离本成员设备最远的两个成员设备中的任一成员设备时,将接收该多播源过滤学习报文的堆叠口,以及从该堆叠口到发送所述多播源过滤学习报文成员设备之间的路径距离,绑定增加到该源ID对应的多播源过滤表项中;
当根据获取的路径距离确定该源ID对应的成员设备不为距离本成员设备最远的两个成员设备时,确定通过接收所述多播源过滤学习报文的堆叠口距离该源ID对应的成员设备,是否比另外一个堆叠口距离该源ID对应的成员设备远,如果是,将接收该多播源过滤学习报文的堆叠口,以及从该堆叠口到发送所述多播源过滤学习报文成员设备之间的路径距离,绑定并更新所述多播源过滤表项;否则,维持所述多播源过滤表项不变。
以图1为例,形成堆叠系统的成员数量为奇数,以成员设备1为例,成员设备5和6为距离成员设备1距离最远的两个成员设备;成员设备2、成员设备3、成员设备4、成员设备7、成员设备8和成员设备9为距离成员设备1最远的两个成员设备之外的成员设备。
(2)、当形成堆叠系统的成员设备的数量为偶数,且本地存在所述获取的源ID对应的多播源过滤表项时,所述生成该源ID对应的多播源过滤表项的方法为:
当该多播源过滤表项中存在一个过滤堆叠口,且该堆叠口与接收所述多播源过滤学习报文的堆叠口不同时,执行第二特定操作;
当该多播源过滤表项中存在两个过滤堆叠口时,将与当前接收所述多播源过滤学习报文的堆叠口相同的过滤堆叠口,以及该过滤堆叠口对应的路径距离删除,执行第二特定操作;
所述第二特定操作为:
当根据获取的路径距离确定该源ID对应的成员设备为距离本成员设备最远的成员设备时,将接收该多播源过滤学习报文的堆叠口,以及从该堆叠口到发送所述多播源过滤学习报文成员设备之间的路径距离,绑定增加到该源ID对应的多播源过滤表项中;
当根据获取的路径距离确定该源ID对应的成员设备为,与距离本成员设备最远的成员设备直连的两个成员设备中的任一成员设备时,若确定通过接收所述多播源过滤学习报文的堆叠口距离该源ID对应的成员设备,比另外一个堆叠口距离该源ID对应的成员设备远,确定接收该多播源过滤学习报文的堆叠口是否为报文优先转发端口,如果是,维持所述多播源过滤表项不变;否则,将接收该多播源过滤学习报文的堆叠口,以及从该堆叠口到发送所述多播源过滤学习报文成员设备之间的路径距离,绑定增加到所述多播源过滤表项中;若确定通过接收所述多播源过滤学习报文的堆叠口距离该源ID对应的成员设备,比另外一个堆叠口距离该源ID对应的成员设备近,确定所述多播源过滤表中的堆叠过滤口是否为报文优先转发端口,如果是,将接收该多播源过滤学习报文的堆叠口,以及从该堆叠口到发送所述多播源过滤学习报文成员设备之间的路径距离,绑定更新所述多播源过滤表项;否则,将接收该多播源过滤学习报文的堆叠口,以及从该堆叠口到发送所述多播源过滤学习报文成员设备之间的路径距离,绑定增加到所述多播源过滤表项中;
当根据获取的路径距离确定该源ID对应的成员设备为距离本成员设备最远,以及该最远成员设备直连的两个成员设备之外的成员设备时,确定通过接收所述多播源过滤学习报文的堆叠口距离该源ID对应的成员设备,是否比另外一个堆叠口距离该源ID对应的成员设备远,如果是,将接收该多播源过滤学习报文的堆叠口,以及从该堆叠口到发送所述多播源过滤学习报文成员设备之间的路径距离,绑定并更新所述多播源过滤表项;否则,维持所述多播源过滤表项不变。
参见图3,图3为4个成员设备形成的环形堆叠系统示意图。图3中以成员设备1为例,距离成员设备1最远的成员设备为成员设备3,与距离成员设备1最远的成员设备直连的两个成员设备为成员设备2和成员设备4。如果有多个偶数设备如6个,还存在与成员设备1距离最远的成员设备,以及与最远的成员设备直连的两个成员设备之外的成员设备。
当所述堆叠系统中仅包括两个成员设备时,对自身源在报文非优先转发端口进行源过滤;对自身源在报文优先转发端口不进行源过滤。
(3)、当确定本地存在该源ID对应的多播源过滤表项,且该表项中存在一个过滤堆叠口,该过滤堆叠口与接收所述多播源过滤学习报文的堆叠口相同时,所述生成该源ID对应的多播源过滤表项的方法为:
将从该堆叠口到发送所述多播源过滤学习报文成员设备之间的路径距离,更新该源ID对应的多播源过滤表项中的路径距离。
无论形成堆叠系统的成员设备的数量为偶数还是奇数,如果本地存在的该源ID对应的过滤堆叠口为1个,且与当前接收到的多播源过滤学习报文的堆叠口相同时,处理同第三点,不进行成员数量奇偶数的区分。
(4)、当确定本地不存在该源ID对应的多播源过滤表项时,直接将获取的源ID、接收该多播源过滤学习报文的堆叠口,以及从该堆叠口到发送所述多播源过滤学习报文成员设备之间的路径距离,绑定增加为该源ID对应的多播源过滤表项。
无论形成堆叠系统的成员设备的数量为偶数还是奇数,如果本地不存在该源ID对应的多播源过滤表项时,均增加对应的多播源过滤表项。
成员设备在确定自身所在堆叠系统的成员设备数量为奇数还是偶数时,可以在多播源过滤学习报文中携带标识来确定,也可以通过系统预先配置获知。
如果实现路径距离时,通过TTL或报文跳数实现,也可以通过两个堆叠口接收到的多播源过滤学习报文携带的TTL或报文跳数的差值来确定堆叠系统中的成员设备的数量是偶数个还是奇数个。
成员设备在生成或更新一个多播源过滤表项时,还需为该表项增加老化标志并置为有效。
在预设老化时间到,且未接收到该多播源过滤表项相关的多播源过滤学习报文时,如果老化标志置为有效,则将老化标志置为无效;如果老化标志置为无效,则将该多播源过滤表项删除。
在预设老化时间内,接收到该多播源过滤表项相关的多播源过滤学习报文时,如果老化标志置为无效,则将该老化标志为有效;如果老化标志为有效。则刷新老化时间。
由此实现可见多播源过滤表项可以自动老化,在一个预设老化时间内,如未接收到与该多播源过滤表项相关的多播源过滤报文时,即不能命中该多播源过滤表项时,则老化标志由有效置为无效,在下一周期还不能命中时,将该多播源过滤表项删除。在下一周期如果命中时,则将老化标志由无效置为有效。
本实施例中的该多播源过滤表项指对应一个过滤堆叠口的表项,各过滤堆叠口分别对应一个老化标志,分别进行处理。
该成员设备与其他成员设备之间的堆叠链路故障时,删除本地的多播源过滤表项,并通过正常状态的堆叠口发送通知报文通知其他成员设备堆叠链路故障。
该成员设备接收到其他成员设备发送的通知报文时,删除本地的多播源过滤表项。
该成员设备再次接收到多播源过滤学习报文时,重新进行多播源过滤表项,做到多播源过滤表项的快速更新。
实施例三
本实施例中以TTL来实现路径距离为例,详细描述成员设备通过堆叠口接收到多播源过滤学习报文时,获取该多播源过滤学习报文中携带的源ID和TTL,根据获取的源ID和TTL,以及接收该多播源过滤学习报文的堆叠口,生成该源ID对应的多播源过滤表项的具体过程。
参见图4,图4为本发明实施例三中多播源过滤表项处理方法流程示意图。具体步骤为:
步骤401,成员设备通过堆叠口接收到多播源过滤学习报文时,获取该报文携带的源ID和TTL。
发送该多播源过滤学习报文的成员设备携带的TTL为预先配置的初始源TTL。
成员设备接收到多播过滤源学习报文时,可以多该报文携带的TTL进行递增或递减处理,递增的值和递减的值也可以根据预先的配置实现。
如系统实现配置为递增处理时,可以配置TTL初始值为0,每次增加1的值为1。
本发明具体实施例中以递减为例,递减的值配置为1,初始源TTL配置为大于形成堆叠系统的成员设备的数量,如64。
步骤402,该成员设备确定本地是否存在与获取的源ID对应的多播源过滤表项,如果是,执行步骤404;否则,执行步骤403。
在具体实现时,各成员设备将本地建立的各源ID对应的多播源过滤表项存储为一个多播源过滤表,也可以分别保存为一条多播源过滤表项。
步骤403,该成员设备将获取的源ID、接收所述多播源过滤学习报文的堆叠口以及获取的TTL减1的值,绑定并生成该获取的源ID对应的多播源过滤表项,结束本流程。
本地不存在获取的源ID对应的多播源过滤表项时,直接建立获取的源ID对应多播源过滤表项。
这时不区分发送多播源过滤学习报文的成员设备距离本设备的远近,也不区分形成堆叠系统的成员设备的数量是奇数还是偶数。
将接收所述多播源过滤学习报文的堆叠口记录为该源ID对应的过滤堆叠口,将获取的TTL减1后的值作为该源ID对应的TTL。
步骤404,该成员设备确定所述多播源过滤表项中该获取的源ID是否对应1个过滤堆叠口;如果是,执行步骤405;否则,执行步骤413。
成员设备有两个堆叠口,源ID对应的多播源过滤表项中的过滤堆叠口可能有两个,也可能有1个,如果有一个,执行步骤405,有两个执行步骤413。
步骤405,该成员设备确定所述对应的过滤堆叠口是否为当前接收所述多播源过滤学习报文的堆叠口,如果是,执行步骤406;否则,执行步骤407。
步骤406,该成员设备使用获取的TTL减1更新所述多播源过滤表项中的TTL,结束本流程。
如果该多播源过滤表项中的过滤堆叠口同当前接收多播源学习过滤报文的堆叠口为同一堆叠口时,不进行TTL的比较,直接使用最新获取的TTL减1更新表项。
这时不区分发送多播源过滤学习报文的成员设备距离本设备的远近,也不区分形成堆叠系统的成员设备的数量是奇数还是偶数。
步骤407,该成员设备计算获取的TTL减1与所述多播源过滤表项中的TTL的差值。
步骤408,该成员设备当确定所述计算的差值的绝对值不大于1时,将接收该多播源过滤学习报文的堆叠口,以及所述获取的TTL减1的值,绑定并增加到所述多播源过滤表项中,结束本流程。
当该成员设备确定所述计算的差值的绝对值为0时,对应形成堆叠的成员设备的数量为偶数时,距离本成员设备最远的成员设备发来的多播源过滤学习报文,进行对应的多播源表项处理过程。
当该成员设备确定所述计算的差值的绝对值为1时,对应形成堆叠的成员设备的数量为奇数时,距离本成员设备最远的两个成员设备发来的多播源过滤学习报文,进行对应的多播源表项处理过程。
步骤409,该成员设备当确定所述计算的差值的绝对值等于2。
当该成员设备确定所述计算的差值的绝对值为2时,对应形成堆叠的成员设备的数量为偶数时,与距离本成员设备最远的成员设备直连的两个成员设备中的任一成员设备发来的多播源过滤学习报文,进行对应的多播源表项处理过程。
步骤410,如果获取的TTL-1小,该成员设备确定接收该多播源过滤学习报文的堆叠口是否为报文优先转发端口,如果是,维持所述多播源过滤表项不变;否则,将接收该多播源过滤学习报文的堆叠口,以及所述获取的TTL减1的值,绑定并增加到所述多播源过滤表项中,结束本流程。
步骤411,如果获取的TTL-1大,该成员设备确定所述多播源过滤表中的过滤口是否为报文优先转发端口,如果是,删除该过滤堆叠口和绑定的TTL,并将接收该多播源过滤学习报文的堆叠口,以及所述获取的TTL减1的值,绑定并增加到所述多播源过滤表项中;否则,直接将接收该多播源过滤学习报文的堆叠口,以及所述获取的TTL减1的值,绑定增加到所述多播源过滤表项中;结束本流程。
在堆叠系统中,如果达到同一设备有两条跳数相同的路径,则会为其中一条路径所经的堆叠口配置为报文优先转发端口;另外一条路径所经的堆叠口配置为报文非优先转发端口。
步骤412,该成员设备当确定所述计算的差值的绝对值大于2时,如果所述获取的TTL-1大时,将接收该多播源过滤学习报文的堆叠口,以及所述获取的TTL减1的值,绑定并更新所述多播源过滤表项;否则,维持所述多播源过滤表项不变;结束本流程。
当确定所述计算的差值的绝对值大于2时,对应形成堆叠系统的成员设备的数量为奇数,不为距离本成员设备最远的两个成员设备的任一成员设备发送的多播源过滤学习报文,进行相应的多播源过滤表项处理过程。
对应形成堆叠系统的成员设备的数量为偶数,不为距离本成员设备最远的成员设备,也不为与该成员设备直连的两个成员设备,发送的多播源过滤学习报文,进行相应的多播源过滤表项处理过程。
步骤413,该成员设备确定获取的TTL减1后的值,与接收该多播源过滤学习报文的堆叠口之外的堆叠口对应的TTL的差值的绝对值是否不大于1,如果是,执行步骤414;否则,执行步骤415。
步骤414,当绝对值为0时,该成员设备维持所述多播过滤表项不变;当绝对值为1时,使用获取的TTL减1更新接收该多播源过滤学习报文的堆叠口对应的TTL,结束本流程。
步骤415,该成员设备将接收所述多播源过滤学习报文的堆叠口,以及该堆叠口对应的TTL删除,执行步骤407。
该成员设备将其中一个过滤堆叠口以及对应的TTL删除后,获取的源ID对应的多播源过滤表项中只有一个过滤端口,且与接收多播源过滤学习报文的堆叠口不同,因此,之后的处理方式同步骤307及后续步骤。
该成员设备确定本地多播源过滤表项中存在获取的源ID对应2个过滤堆叠口时,本发明具体实施例中还给出了一种生成多播源过滤表项的方法,具体处理如下:
当确定所述多播源过滤表项中与接收多播源过滤学习报文的堆叠口相同的过滤堆叠口,对应的TTL与获取的TTL减1相同时,维持所述多播过滤表项不变;否则,计算获取的TTL减1与接收多播源过滤学习报文之外的堆叠口对应的TTL的差值;
当确定所述计算的差值的绝对值为1时,将接收多播源过滤学习报文的堆叠口对应的TTL更新为获取的TTL-1;
当确定所述计算的差值的绝对值等于2时,如果获取的TTL-1小,则确定接收该多播源过滤学习报文的堆叠口是否为报文优先转发端口,如果是,删除所述多播源过滤表项中接收该多播过滤学习报文的堆叠口和绑定的TTL;否则,使用获取的TTL减1更新所述多播源过滤表项中,接收该多播过滤学习报文的堆叠口对应的TTL;如果获取的TTL-1大,确定所述多播源过滤表中的过滤口之外的堆叠口是否为报文优先转发端口,如果是,删除接收所述多播源过滤学习报文的堆叠口之外的堆叠口和绑定的TTL,并使用获取的TTL-1更新所述多播源过滤表中接收到所述多播源过滤学习报文的堆叠口对应的TTL;否则,直接使用获取的TTL-1更新所述多播源过滤表中接收到所述多播源过滤学习报文的堆叠口对应的TTL;
当确定所述计算的差值的绝对值大于2时,如果获取的TTL减1大时,删除接收多播源过滤学习报文的堆叠口之外的堆叠口以及对应的TTL;并将接收多播源过滤学习报文的堆叠口对应的TTL更新为获取的TTL-1;否则,删除接收多播源过滤学习报文的堆叠口以及对应的TTL。
该种实现方式,不直接删除与接收多播源过滤报文的堆叠口相同的过滤堆叠口时,而是直接同另外一个堆叠口对应的TTL进行比较,以确定删除表项,还是更新表项。
成员设备在生成或更新一个多播源过滤表项时,还需为该表项增加老化标志并置为有效。
实施例四
本实施例结合附图,详细说明成员设备如何通过收发多播源过滤学习报文进行多播源过滤表项的处理。
以图1为例,图1中成员设备1、成员设备2、……、成员设备9的源ID分别为1、2…….9。初始源TTL配置为64。
图1中,成员设备1分别从堆叠口1和堆叠口2发送一个多播源过滤学习报文后,成员设备2到成员设备9通过堆叠口1和堆叠口2都接收到成员设备1发送的多播源过滤学习报文时,进行多播源过滤表项的处理。
该多播源过滤学习报文的源MAC地址为成员设备1的MAC地址,目的MAC地址为多播组ID。该多播源过滤学习报文携带的源ID为1,TTL为初始源TTL值64。
以成员设备1建立多播源过滤表项为例,成员设备1通过堆叠口1接收到成员设备2发送的多播源过滤学习报文时,获取该报文携带的源ID2和TTL64,并将TTL-1=64-1=63。
成员设备1确定本地的多播源过滤表中若不存在源ID为2的多播源过滤表项,则将该多播源过滤学习报文携带的源ID和TTL-1,以及接收该报文的堆叠口的堆叠口号增加到成员设备1的多播源过滤表项中。
同时为该过滤堆叠口对应的多播源过滤表项分配老化标志,且老化标志置为有效。
在具体实现时,可以用1标识有效,用0标识无效。这里携带的源ID为2,过滤堆叠口号为接收报文的堆叠口的堆叠口号1,TTL-1为接收到的报文携带的TTL减1,即为63。
成员设备1还会通过堆叠口2接收到成员设备2发送的多播源过滤学习报文,此时,该报文携带的源ID也为2,但是TTL为57,由于该报文经过成员设备3……成员设备9,到达成员设备1,TTL减少了7。
成员设备1确定本地的多播源过滤表中存在源ID为2的多播源过滤表项,且该多播源过滤表项中的过滤堆叠口为1,与当前接收多播源过滤学习报文的堆叠口2不相同,则确定TTL-1=57-1=56,与源ID为2对应的多播源过滤表项中堆叠口1对应的TTL,即63进行比较,确定差值的绝对值为7,大于2,但是由于获取的TTL-1=56小,根据前述实施例中所给出的规则,维持源ID为2的多播源过滤表项不变。
在具体实现时,由于各成员设备启动的快慢不同,也可能先接收到携带的TTL小的多播源过滤学习报文,这时,如果确定当前接收到的多播源过滤学习报文携带的TTL减1,与对应多播源过滤表项中的TTL之间的差值的绝对值大于2时,且当前接收到的多播源过滤学习报文携带的TTL减1大时,使用当前接收到的多播源过滤学习报文携带的TTL-1,以及接收该多播源过滤学习报文的堆叠口,更新对应的多播源过滤表项。
成员设备1通过堆叠口1接收到成员设备5发送的多播源过滤学习报文时,获取该多播源过滤学习报文中携带源ID为5,TTL为61,并记录接收该多播源过滤报文的堆叠口为堆叠口1。
初始状态,或者故障链路刚恢复时,成员设备1确定不存在源ID为5对应的多播源过滤表项,则将源ID5、堆叠口1和TTL-1=60绑定增加多播源过滤表项,并为堆叠口1对应的表项增加老化标志,且老化标志置为有效1。
在老化时间到时,如果未再通过堆叠口1接收到源ID为5的多播源过滤学习报文,则将老化标志置为无效0;在下一个老化时间到时,如果还未通过堆叠口1接收到源ID为5的多播源过滤学习报文,则删除源ID为5对应的堆叠口1,以及堆叠口1对应的TTL。
在老化时间内,如果通过堆叠口1接收到源ID为5的多播源过滤学习报文,如果堆叠口1对应的老化标志为无效0,则置为有效1;如果老化标志是有效1,则刷新老化时间。
成员设备1通过堆叠口2接收到成员设备5发送的多播源过滤学习报文时,获得报文中携带的源ID为5,TTL为60。
成员设备1确定存在源ID为5对应多播源过滤表项,且确定源ID为5对应的多播源过滤表项中的过滤堆叠口为1时,则将接收到的多播源过滤学习报文中携带的TTL-1=60-1=59与多播源过滤表中堆叠口1对应的TTL进行比较,确定差值为1,则将该源ID5、堆叠口2和TTL59绑定增加到多播源过滤表项中,并为堆叠口2对应的多播源过滤表项增加老化标志,且老化标志置为有效1。
在下一多播源过滤报文发送周期时,成员设备1会再次通过堆叠口1和堆叠口2接收到成员设备5发送的多播源过滤学习报文。
成员设备1确定源ID5对应的多播源过滤表项中的过滤堆叠口存在堆叠口1和堆叠口2,则使用当前接收到的多播源过滤报文携带的TTL与堆叠口1对应的TTL进行差值计算。
当计算的差值的绝对值为0时,即TTL相同时,维持所述多播过滤表项不变。
当计算的差值的绝对值为1时,将接收多播源过滤学习报文的堆叠口1对应的TTL更新为获取的TTL-1。
当确定计算的差值的绝对值等于2时,如果当前接收到多播源过滤学习报文携带的TTL-1小,则确定接收该多播源过滤学习报文的堆叠口1是否为报文优先转发端口,如果是,删除所述多播源过滤表项中接收该多播过滤学习报文的堆叠口和绑定的TTL;否则,使用获取的TTL减1更新所述多播源过滤表项中,接收该多播过滤学习报文的堆叠口对应的TTL;如果获取的TTL-1大,确定所述多播源过滤表中的过滤口之外的堆叠口是否为报文优先转发端口,如果是,删除接收所述多播源过滤学习报文的堆叠口之外的堆叠口和绑定的TTL,并使用获取的TTL-1更新所述多播源过滤表中接收到所述多播源过滤学习报文的堆叠口对应的TTL;否则,直接使用获取的TTL-1更新所述多播源过滤表中接收到所述多播源过滤学习报文的堆叠口对应的TTL。
由于本实施例中成员设备的总个数为奇数个,因此,不会出现差值的绝对值为2的情况,只有在,成员设备的总个数为偶数个,且大于2时,才会出现差值为2的情况。
当确定计算的差值的绝对值大于2时,如果当前接收的多播源过滤学习报文携带的TTL减1大时,删除接收多播源过滤学习报文的堆叠口1之外的堆叠口2以及对应的TTL;并将接收多播源过滤学习报文的堆叠口对应的TTL更新为当前接收到的多播源过滤学习报文携带的TTL-1;否则,删除接收多播源过滤学习报文的堆叠口以及对应的TTL。
成员设备1从两个堆叠口接收到成员设备3、成员设备4、成员设备7、成员设备8和成员设备9发送的多播源过滤学习报文时,同接收到成员设备2发送的多播源过滤学习报文时,对多播源过滤表项的处理过程类似;成员设备1从两个堆叠口接收到成员设备6发送的多播源过滤学习报文时,同接收到成员设备5发送的多播源过滤学习报文时,对多播源过滤表现的处理过程类似,这里不再一一举例。
下面分别给出各成员设备学习到的多播源过滤表项。表2为成员设备1的多播源过滤表项包含的内容;表3为成员设备2的多播源过滤表项包含的内容;表4为成员设备5的多播源过滤表项包含的内容。
源ID | 过滤堆叠口 | 老化标志 | 源TTL |
1 | NULL | NULL | NULL |
2 | 1 | 1 | 63 |
3 | 1 | 1 | 62 |
4 | 1 | 1 | 61 |
5 | 1,2 | 1,1 | 60,59 |
6 | 1,2 | 1,1 | 59,60 |
7 | 2 | 1 | 61 |
8 | 2 | 1 | 62 |
9 | 2 | 1 | 63 |
表2
源ID | 过滤堆叠口 | 老化标志 | 源TTL |
1 | 2 | 1 | 63 |
2 | NULL | NULL | NULL |
3 | 1 | 1 | 63 |
4 | 1 | 1 | 62 |
5 | 1 | 1 | 61 |
6 | 1,2 | 1,1 | 60,59 |
7 | 1,2 | 1,1 | 59,60 |
8 | 2 | 1 | 61 |
9 | 2 | 1 | 62 |
表3
源ID | 过滤堆叠口 | 老化标志 | 源TTL |
1 | 1,2 | 1,1 | 59,60 |
2 | 2 | 1 | 61 |
3 | 2 | 1 | 62 |
4 | 2 | 1 | 63 |
5 | NULL | NULL | NULL |
6 | 1 | 1 | 63 |
7 | 1 | 1 | 62 |
8 | 1 | 1 | 61 |
9 | 1,2 | 1,1 | 60,59 |
表4
由表2到表4这3个表项与表1比较可见,对于表项中源ID和过滤堆叠口的建立结果,本发明具体实施例同现有实现完全相同。,本发明具体实施例中具体实现时还额外增加额老化标志和TTL。
其中TTL是为了实现本发明具体实施例中建立更新多播源过滤表项而增加的。
老化标志是为了对多播源表项维护更新而增加的,在老化标志有效时使用“1”标识,在老化标志无效时,使用“0”标识,在举例表项时,未举例老化标志无效时的情况。
由此可见,本发明具体实施例中的多播源过滤表项建立完成后,转发多播报文的过程同现有实现,即根据源ID查表,根据多播源过滤表项确定多播报文被哪个过滤堆叠口过滤。
图1中的举例为奇数个成员设备形成的环形堆叠,当形成堆叠的成员设备的数量为大于2的偶数时,如以图3中的四台设备为例。
以成员设备1为例,会接收到成员设备2和成员设备4这两个成员设备发送的多播源过滤学习报文的TTL差值为2,如通过堆叠口1接收到的成员设备2发送的多播源过滤学习报文携带的TTL为64,从堆叠口2接收到成员设备2发送的多播源过滤学习报文携带的TTL为62,两个堆叠口接收到的携带同一源ID的多播源过滤学习报文携带的TTL的差值的绝对值为2。
成员设备1向成员设备3发送多播报文时,有两条相等路径,分别通过成员设备4和成员设备2到达成员设备3,对于成员设备3到成员设备1发送多播报文是同样的道理。
这时,只有当前接收多播源过滤报文携带的TTL-1小的,且为报文优先转发的端口不过滤,其他三个堆叠口都为对应源的过滤堆叠口。即成员设备1在对源ID为2和源ID为4建立多播源过滤表项时,四个堆叠口中,三个堆叠口被过滤,只有其中一个堆叠口不被过滤。
图3中,以成员设备1接收其他成员设备发送的源过滤学习报文进行源过滤表项的处理为例。堆叠系统中配置堆叠口1为报文优先转发端口,堆叠口2为报文非优先转发端口。
成员设备1通过堆叠口1接收到成员设备2发送的多播源过滤学习报文,获取该报文携带的TTL为64,源ID为2,确定不存在源ID为2对应的多播源过滤表项时,将源ID2,堆叠口1和TTL-1=64-1=63绑定生成为源ID为2的多播源过滤表项。
在源ID2对应的多播源过滤表项生成时,为堆叠口1配置对应的老化标志,并将老化标志置为有效1。
成员设备1通过堆叠口2接收到成员设备2发送的多播源过滤学习报文时,获取该多播源过滤学习报文携带的TTL为62,源ID为2。
成员设备1确定本地已存在源ID为2对应的多播源过滤表项,且表项中对应过滤堆叠口1与接收多播源过滤学习报文的堆叠口2不相同,则将获取的TTL-1=62-1=61,与表项中的TTL63比较,差值的绝对值为2,且堆叠口1对应的TTL值大,确定接收多播源过滤学习报文的堆叠口2是否为报文优先转发端口,由于配置堆叠口2为报文非优先转发端口,则将TTL-1=61以及堆叠口2绑定增加到源ID为2的多播源过滤表项。
同时,为源ID2对应的多播源过滤表项中,堆叠口2配置对应的老化标志,并将老化标志置为有效1。
成员设备1如果通过堆叠口2先接收到成员设备2发送的多播源过滤学习报文时,获取该多播源过滤学习报文携带的TTL为62,源ID为2。
本地不存在源ID为2对应的多播源过滤表项时,将源ID2、TTL-1=62-1=61、以及堆叠口2绑定生成源ID2对应的多播源过滤表项,并置老化标志为有效1。
成员设备1通过堆叠口1接收到成员设备2发送的多播源过滤学习报文时,获取该多播源过滤学习报文携带的TTL64,源ID2。
成员设备1确定本地已存在源ID2对应的多播源过滤表项,并且过滤堆叠口只有1个,且与当前接收到的多播源过滤报文的堆叠口1不同,则计算当前获取的TTL-1与多播源过滤表项中堆叠口2对应的TTL61的差值,计算的差值的绝对值为2。
成员设备1确定哪个TTL的值小,由上可见,多播源过滤表项中的TTL小,因此,确定多播源过滤表项中的TTL对应的堆叠口2是否为报文优先转发端口,由图3中的配置可知,堆叠口2为报文非优先转发端口,因此维持堆叠口2对应的表项,并且将堆叠口1、TTL63增加到源ID2对应的多播源过滤表项中。
由上可见,无论先接收到携带TTL大的,或是TTL小的多播源过滤学习报文,对于同一源ID最终学的多播源过滤表项的结构是一致的。
成员设备1通过堆叠口2接收到成员设备3发送的多播源过滤学习报文时,获取该报文携带的TTL为63,源ID为3,当确定不存在源ID为3对应的多播源过滤表项时,将源ID3,堆叠口1和TTL-1=63-1=62绑定存储为源ID3对应的多播源过滤表项。
成员设备1通过堆叠口1接收到成员设备3发送的多播源过滤学习报文时,获取该报文携带的TTL为63,源ID为3,本地已存在源ID为3对应的多播源过滤表项,且多播源过滤表项中对应过滤堆叠口与接收多播源过滤学习报文的堆叠口不相同时,则将获取的TTL-1=63-1=62,与表项中的TTL62比较,差值为0,将堆叠口1和TTL-1=62绑定增加到源ID为3的多播源过滤表项中。
当本地已存在源ID为3对应的多播源过滤表项,且该多播源过滤表项中仅有一个堆叠口1,与当前接收多播源过滤学习报文的堆叠口1相同时,计算该多播源过滤学习报文中携带的TTL-1与多播源过滤表项中的TTL的差值。
如果差值为0,即相同时,维持当前的多播源过滤表项不变。
如果差值为1,则使用当前接收到的多播源过滤学习报文中携带的TTL-1更新所述多播源过滤表项中堆叠口1对应的TTL。
成员设备1通过堆叠口2接收到成员设备4发送的多播源过滤学习报文,获取该报文携带的TTL为64,源ID为4,确定不存在源ID为4对应的多播源过滤表项时,将源ID2,堆叠口1和TTL-1=64-1=63绑定存储为源ID为4的多播源过滤表项。
成员设备1通过堆叠口1接收到成员设备4发送的多播源过滤学习报文时,获取该报文携带的TTL为62,源ID为4。
成员设备1确定本地已存在源ID为4对应的多播源过滤表项,且表项中对应过滤堆叠口与接收多播源过滤学习报文的堆叠口不相同时,则将获取的TTL-1=62-1=61,与表项中的TTL63比较,差值的绝对值为2,且当前接收到的多播源过滤学习报文携带的TTL-1的值小,确定接收多播源过滤学习报文的堆叠口1是否为报文优先转发端口,由于配置堆叠口1为报文优先转发端口,则维持源ID为4的多播源过滤表项,即不将堆叠口1,TTL61添加到多播源过滤表项。
成员设备1如果通过堆叠口1先接收到成员设备4发送的多播源过滤学习报文时,获取该多播源过滤学习报文携带的TTL为62,源ID为2。
本地不存在源ID为4对应的多播源过滤表项时,将源ID4、TTL-1=62-1=61、以及堆叠口1绑定生成源ID2对应的多播源过滤表项,并置老化标志为有效1。
成员设备1通过堆叠口2接收到成员设备4发送的多播源过滤学习报文时,获取该多播源过滤学习报文携带的TTL64,源ID4。
成员设备1确定本地已存在源ID4对应的多播源过滤表项,并且过滤堆叠口只有1个,且与当前接收到的多播源过滤报文的堆叠口2不同,则计算当前获取的TTL-1与多播源过滤表项中堆叠口2对应的TTL61的差值,计算的差值的绝对值为2。
成员设备1确定哪个TTL的值小,由上可见,多播源过滤表项中的TTL小,因此,确定多播源过滤表项中的TTL对应的堆叠口1是否为报文优先转发端口,由图3中的配置可知,堆叠口1为报文优先转发端口,因此,将多播源过滤表项中堆叠口1和对应的TTL删除,并且将堆叠口2、TTL63增加到源ID2对应的多播源过滤表项中。
由上可见,无论先接收到携带TTL大的,或是TTL小的多播源过滤学习报文,对于同一源ID最终学的多播源过滤表项的结构是一致的。
成员设备2、成员设备3和成员设备4在本地进行多播源过滤表项的过程与成员设备1的处理过程类似,这里不再一一举例。
下面分别给出图3中各成员设备学习到的多播源过滤表项。表5为成员设备1的多播源过滤表项包含的内容;表6为成员设备2的多播源过滤表项包含的内容;表7为成员设备3的多播源过滤表项包含的内容;表8为成员设备4的多播源过滤表项包含的内容。
源ID | 过滤堆叠口 | 老化标志 | 源TTL |
1 | NULL | NULL | NULL |
2 | 1,2 | 1,1 | 63,61 |
3 | 1,2 | 1,1 | 62,62 |
4 | 2 | 1 | 63 |
表5
源ID | 过滤堆叠口 | 老化标志 | 源TTL |
1 | 2 | 1 | 63 |
2 | NULL | NULL | NULL |
3 | 1,2 | 1,1 | 63,61 |
4 | 1,2 | 1,1 | 62,62 |
表6
源ID | 过滤堆叠口 | 老化标志 | 源TTL |
1 | 1,2 | 1,1 | 62,62 |
2 | 2 | 1 | 63 |
3 | NULL | NULL | NULL |
4 | 1,2 | 1,1 | 63,61 |
表7
源ID | 过滤堆叠口 | 老化标志 | 源TTL |
1 | 1,2 | 1,1 | 63,61 |
2 | 1,2 | 1,1 | 62,62 |
3 | 2 | 1 | 63 |
4 | NULL | NULL | NULL |
表8
参见图5,图5为两台成员设备形成的环形堆叠系统示意图。图5中两台成员设备在处理多播源过滤表项时,不仅需要在两个堆叠口都对多播源过滤学习报文所带的源ID进行过滤,而且对自身源ID,在报文非优先转发端口也需进行源过滤。
以成员设备1处理多播源过滤表项为例。
成员设备1的堆叠口1配置为到成员设备2的报文优先转发端口;堆叠口2为到成员设备2的报文非优先转发端口,则将堆叠口2增加到源ID为1对应的多播源过滤表项中。
参见表9,表9为图5中成员设备1的多播源过滤表项包含的内容。
源ID | 过滤堆叠口 | 老化标志 | 源TTL |
1 | 2 | - | - |
2 | 1,2 | 1,1 | 63,63 |
表9
如成员设备2的堆叠口1为到成员设备1的报文优先转发端口;堆叠口2为到成员设备2的报文非优先转发端口,则将堆叠口2增加到源ID为2对应的多播源过滤表项中。
参见表10,表10为图5中成员设备2的多播源过滤表项包含的内容。
源ID | 过滤堆叠口 | 老化标志 | 源TTL |
1 | 1,2 | 1,1 | 63,63 |
2 | 2 | - | - |
表10
表5到表10中的老化标志的配置与更新同表2到表4中的老化标志,这里不再详细描述。
由上述实现可见,在形成环形堆叠的成员设备的总数量大于2时,在自身绑定的源ID处不需过滤,自身源ID对应的过滤堆叠口均为NULL,而在两个成员设备形成的环形堆叠链路中,需要对自身配置的报文非优先转发端口进行报文的过滤,即本成员设备通过业务端口接收到多播报文时,只会从一个堆叠口(过滤表中的过滤堆叠口之外的堆叠口)发送出去。
实施例五
本发明具体实施例中在堆叠系统内部进行多播报文转发时,同现有实现,但是本发明具体实施例中为了防止堆叠系统故障,形成转发风暴,在确定转发该多播报文时,将该多播报文中携带的TTL减1后进行转发。如果接收到的多播报文中携带的TTL不大于1,则不再在堆叠系统中转发该多播报文。具体处理过程如下:
参见图6,图6为本发明实施例四中多播报文在堆叠系统内部转发流程示意图。具体步骤为:
步骤601,成员设备通过业务端口接收到多播报文时,通过转发判断,确定该多播报文为需要向其他成员设备发送时,为该多播报文携带与接收该数据报文的业务端口绑定的源ID以及配置的初始源TTL之后,通过两个堆叠口分别发送。
成员设备通过业务端口接收到多播报文时,首先将与这个业务端口绑定的源ID下发给多播报文,根据目的信息确定该多播报文所属的多播组,查找出目的端口组,然后排除源端口,从端口组包含的各个端口发送多播报文。
如果该多播报文需要在堆叠系统内部发送时,如果堆叠系统由两个以上成员设备组成时,从两个堆叠口分别发送;如果该堆叠系统由两个成员设备组成时,根据源ID查找对应的多播源过滤表项,不从过滤堆叠口转发。
在转发时,同现有实现的不同是,还需要为该多播报文携带TTL。
步骤602,该成员设备通过堆叠口接收到多播报文时,确定该多播报文携带的源TTL是否为1,如果是,该多播报文不从堆叠口发送;否则,根据该多播报文携带的源ID,匹配到对应的多播源过滤表项,将该多播报文携带的TTL减1,并通过匹配到的多播源过滤表项中的过滤堆叠口之外的堆叠口发送该多播报文。
该成员设备通过堆叠口收到多播报文后,可以根据该多播报文中所带多播组ID确认出端口,如果出端口中包括堆叠口时,根据报文携带的源ID查找到对应的多播源过滤表项进行转发。
如果该成员设备的两个堆叠口都为过滤堆叠口,或接收该多播报文的堆叠口之外的堆叠口为过滤堆叠口时,不再在堆叠系统内部转发该多播报文。
基于同样的发明构思,本申请还提出一种装置,应用形成环形堆叠系统中的任一成员设备上。参见图7,图7为本发明具体实施例中应用于上述技术的装置结构示意图。该装置包括:收发单元701、获取单元702、生成单元703和处理单元704。
收发单元701,用于堆叠口工作up时,通过本成员设备的堆叠口向其他成员设备发送多播源过滤学习报文,并在该报文中携带源标识ID和路径距离,其中,所述路径距离为用于确定接收该多播源过滤学习报文的成员设备与发送该多播源过滤学习报文的成员设备之间的路径距离,源ID为与本地业务端口绑定的ID;通过堆叠口接收多播源过滤学习报文;
获取单元702,用于获取收发单元701接收到其他成员设备发送的多播源过滤学习报文中携带的源ID和路径距离;
生成单元703,用于根据获取单元702获取的源ID和路径距离,以及接收该多播源过滤学习报文的堆叠口,生成该源ID对应的多播源过滤表项;
处理单元704,用于将收发单元701接收的多播源过滤学习报文中携带的路径距离更新后,触发收发单元701通过本成员设备接收该多播源过滤学习报文的堆叠口之外的堆叠口发送;当收发单元701通过堆叠口接收到自身发送的多播源过滤学习报文时,丢弃该多播源过滤学习报文。
较佳地,
生成单元703,具体用于当本地不存在所述获取的源ID对应的多播源过滤表项时,将获取的源ID,接收所述多播源过滤学习报文的堆叠口,以及获取的TTL减1绑定生成该获取的源ID对应的多播源过滤表项。
生成单元703,具体用于当形成堆叠系统的成员设备的数量为奇数,且本地存在所述获取的源ID对应的多播源过滤表项时,当确定该多播源过滤表项中存在一个过滤堆叠口,且该堆叠口与接收所述多播源过滤学习报文的堆叠口不同时,执行第一特定操作;当确定该多播源过滤表项中存在两个过滤堆叠口时,将与当前接收所述多播源过滤学习报文的堆叠口相同的过滤堆叠口,以及该过滤堆叠口对应的路径距离删除,执行第一特定操作;所述第一特定操作为:当根据获取的路径距离确定该源ID对应的成员设备为距离本成员设备最远的两个成员设备中的任一成员设备时,将接收该多播源过滤学习报文的堆叠口,以及从该堆叠口到发送所述多播源过滤学习报文成员设备之间的路径距离,绑定增加到该源ID对应的多播源过滤表项中;当根据获取的路径距离确定该源ID对应的成员设备不为距离本成员设备最远的两个成员设备时,确定通过接收所述多播源过滤学习报文的堆叠口距离该源ID对应的成员设备,是否比另外一个堆叠口距离该源ID对应的成员设备远,如果是,将接收该多播源过滤学习报文的堆叠口,以及从该堆叠口到发送所述多播源过滤学习报文成员设备之间的路径距离,绑定并更新所述多播源过滤表项;否则,维持所述多播源过滤表项不变。
较佳地,
生成单元703,具体用于当形成堆叠系统的成员设备的数量为偶数,且本地存在所述获取的源ID对应的多播源过滤表项时,当确定该多播源过滤表项中存在一个过滤堆叠口,且该堆叠口与接收所述多播源过滤学习报文的堆叠口不同时,执行第二特定操作;当确定该多播源过滤表项中存在两个过滤堆叠口时,将与当前接收所述多播源过滤学习报文的堆叠口相同的过滤堆叠口,以及该过滤堆叠口对应的路径距离删除,执行第二特定操作;所述第二特定操作为:当根据获取的路径距离确定该源ID对应的成员设备为距离本成员设备最远的成员设备时,将接收该多播源过滤学习报文的堆叠口,以及从该堆叠口到发送所述多播源过滤学习报文成员设备之间的路径距离,绑定增加到该源ID对应的多播源过滤表项中;当根据获取的路径距离确定该源ID对应的成员设备为,与距离本成员设备最远的成员设备直连的两个成员设备中的任一成员设备时,若确定通过接收所述多播源过滤学习报文的堆叠口距离该源ID对应的成员设备,比另外一个堆叠口距离该源ID对应的成员设备远,确定接收该多播源过滤学习报文的堆叠口是否为报文优先转发端口,如果是,维持所述多播源过滤表项不变;否则,将接收该多播源过滤学习报文的堆叠口,以及从该堆叠口到发送所述多播源过滤学习报文成员设备之间的路径距离,绑定增加到所述多播源过滤表项中;若确定通过接收所述多播源过滤学习报文的堆叠口距离该源ID对应的成员设备,比另外一个堆叠口距离该源ID对应的成员设备近,确定所述多播源过滤表中的堆叠过滤口是否为报文优先转发端口,如果是,将接收该多播源过滤学习报文的堆叠口,以及从该堆叠口到发送所述多播源过滤学习报文成员设备之间的路径距离,绑定更新所述多播源过滤表项;否则,将接收该多播源过滤学习报文的堆叠口,以及从该堆叠口到发送所述多播源过滤学习报文成员设备之间的路径距离,绑定增加到所述多播源过滤表项中;当根据获取的路径距离确定该源ID对应的成员设备为距离本成员设备最远,以及该最远成员设备直连的两个成员设备之外的成员设备时,确定通过接收所述多播源过滤学习报文的堆叠口距离该源ID对应的成员设备,是否比另外一个堆叠口距离该源ID对应的成员设备远,如果是,将接收该多播源过滤学习报文的堆叠口,以及从该堆叠口到发送所述多播源过滤学习报文成员设备之间的路径距离,绑定并更新所述多播源过滤表项;否则,维持所述多播源过滤表项不变。
较佳地,
生成单元703,具体用于当确定本地存在该源ID对应的多播源过滤表项,且该表项中存在一个过滤堆叠口,该过滤堆叠口与接收所述多播源过滤学习报文的堆叠口相同时,将从该堆叠口到发送所述多播源过滤学习报文成员设备之间的路径距离,更新该源ID对应的多播源过滤表项中的路径距离。
较佳地,
生成单元703,进一步用于当所述堆叠系统中仅包括两个成员设备时,对自身源在报文非优先转发端口进行源过滤;对自身源在报文优先转发端口不进行源过滤。
较佳地,
生成单元703,进一步用于在生成或更新一个多播源过滤表项时,为该表项增加老化标志并置为有效;在预设老化时间到,且未接收到该多播源过滤表项相关的多播源过滤学习报文时,如果老化标志置为有效,则将老化标志置为无效;如果老化标志置为无效,则将该多播源过滤表项删除;在预设老化时间内,接收到该多播源过滤表项相关的多播源过滤学习报文时,如果老化标志置为无效,则将该老化标志为有效;如果老化标志为有效,则刷新老化时间。
较佳地,
生成单元703,进一步用于本单元所属的成员设备与其他成员设备之间的堆叠链路故障时,删除本地所有的多播源过滤表项,并触发收发单元701通过正常状态的堆叠口发送通知报文通知其他成员设备堆叠链路故障;当收发单元701接收到其他成员设备发送的通知报文时,删除本地所有的多播源过滤表项
收发单元701,用于收发通知报文。
较佳地,
收发单元701,进一步用于通过业务端口接收到多播报文时,通过转发判断,确定该多播报文为需要向其他成员设备发送时,为该多播报文携带与接收该数据报文的业务端口绑定的源ID以及配置的初始源TTL之后,通过两个堆叠口分别发送;
通过堆叠口接收到多播报文时,确定该多播报文携带的源TTL是否为1,如果是,该多播报文不从堆叠口发送;否则,根据该多播报文携带的源ID,匹配到对应的多播源过滤表项,将该多播报文携带的TTL减1,并通过匹配到的多播源过滤表项中的过滤堆叠口之外的堆叠口发送该多播报文。
上述实施例的单元可以集成于一体,也可以分离部署;可以合并为一个单元,也可以进一步拆分成多个子单元。
以上对本发明具体实施例中应用于上述技术的装置进行了说明,该装置是可以软硬件结合的可编程设备,下面给出本发明实施例多播源过滤表项处理装置的硬件架构组成,具体参见图8,图8是本发明实施例多播源过滤表项处理装置的硬件架构组成示意图,包括转发芯片、CPU(中央处理器)、内存、非易失性存储介质(如ROM、磁盘)等硬件;由CPU从非易失性存储介质上读取实现上述方法的计算机程序到内存当中,在内存中形成用于完成上述方法的功能模块,通过CPU运行内存中的机器可读指令,来完成上述方法中与所划分的与所述功能单元对应的程序步骤,从而实现上述方法所完成的功能。
需要说明的是,图8所示的装置只是一个具体的例子,也可以通过其他的与本实施例描述不同结构实现,例如,执行上述指令代码时所完成的操作,也可以由特定应用专用集成电路(ASIC)实现。另外,上述的CPU可以是一个或多个,如果是多个,则由多个CPU共同负责从磁盘等存储介质中读取和执行所述指令代码。因此,本申请对装置的具体结构不作具体限定。
综上所述,本发明通过各成员设备在堆叠口up时,通过堆叠口周期发送多播源过滤学习报文,以硬件转发芯片为主,软件简单配合实现多播源过滤表项的处理,提高了处理多播源过滤表项的实时性、降低了CPU开销以及带宽的占用。
本发明具体实施例在实现时,完全不依赖堆叠拓扑发现,不必进行基于拓扑的转发表计算,从而降低了表项处理的复杂度。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (14)
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任意一项所述的装置,其特征在于,
所述生成单元,进一步用于本单元所属的成员设备与其他成员设备之间的堆叠链路故障时,删除本地所有的多播源过滤表项,并触发所述收发单元通过正常状态的堆叠口发送通知报文通知其他成员设备堆叠链路故障;当所述收发单元接收到其他成员设备发送的通知报文时,删除本地所有的多播源过滤表项
所述收发单元,用于收发通知报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410038898.1A CN103763196B (zh) | 2014-01-27 | 2014-01-27 | 一种多播源过滤表项处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410038898.1A CN103763196B (zh) | 2014-01-27 | 2014-01-27 | 一种多播源过滤表项处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103763196A true CN103763196A (zh) | 2014-04-30 |
CN103763196B CN103763196B (zh) | 2017-02-15 |
Family
ID=50530358
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410038898.1A Active CN103763196B (zh) | 2014-01-27 | 2014-01-27 | 一种多播源过滤表项处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103763196B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107547372A (zh) * | 2017-08-30 | 2018-01-05 | 新华三技术有限公司 | 一种源过滤实现方法及装置 |
CN107769980A (zh) * | 2017-11-01 | 2018-03-06 | 盛科网络(苏州)有限公司 | 一种用于扩展桥的转发多播报文的方法和装置 |
CN108259329A (zh) * | 2017-08-30 | 2018-07-06 | 新华三技术有限公司 | 一种报文转发方法及装置 |
CN108989085A (zh) * | 2018-06-14 | 2018-12-11 | 北京星网锐捷网络技术有限公司 | 基于分布式网络的报文转发配置方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070115975A1 (en) * | 2003-06-26 | 2007-05-24 | Guangming Zhang | Method and system for controlling the multicast source |
CN101018180A (zh) * | 2007-03-12 | 2007-08-15 | 中兴通讯股份有限公司 | 一种堆叠系统内部转发表的实现方法 |
CN103166874A (zh) * | 2013-03-25 | 2013-06-19 | 杭州华三通信技术有限公司 | 一种报文转发方法及设备 |
CN103414773A (zh) * | 2013-08-12 | 2013-11-27 | 杭州华三通信技术有限公司 | 堆叠系统中的mac地址信息同步方法及装置 |
CN103457749A (zh) * | 2013-08-29 | 2013-12-18 | 国家电网公司 | 一种智能变电站中抑制组播泛洪的方法 |
-
2014
- 2014-01-27 CN CN201410038898.1A patent/CN103763196B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070115975A1 (en) * | 2003-06-26 | 2007-05-24 | Guangming Zhang | Method and system for controlling the multicast source |
CN101018180A (zh) * | 2007-03-12 | 2007-08-15 | 中兴通讯股份有限公司 | 一种堆叠系统内部转发表的实现方法 |
CN103166874A (zh) * | 2013-03-25 | 2013-06-19 | 杭州华三通信技术有限公司 | 一种报文转发方法及设备 |
CN103414773A (zh) * | 2013-08-12 | 2013-11-27 | 杭州华三通信技术有限公司 | 堆叠系统中的mac地址信息同步方法及装置 |
CN103457749A (zh) * | 2013-08-29 | 2013-12-18 | 国家电网公司 | 一种智能变电站中抑制组播泛洪的方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107547372A (zh) * | 2017-08-30 | 2018-01-05 | 新华三技术有限公司 | 一种源过滤实现方法及装置 |
CN108259329A (zh) * | 2017-08-30 | 2018-07-06 | 新华三技术有限公司 | 一种报文转发方法及装置 |
CN107547372B (zh) * | 2017-08-30 | 2020-09-08 | 新华三技术有限公司 | 一种源过滤实现方法及装置 |
CN108259329B (zh) * | 2017-08-30 | 2020-12-04 | 新华三技术有限公司 | 一种报文转发方法及装置 |
CN107769980A (zh) * | 2017-11-01 | 2018-03-06 | 盛科网络(苏州)有限公司 | 一种用于扩展桥的转发多播报文的方法和装置 |
CN108989085A (zh) * | 2018-06-14 | 2018-12-11 | 北京星网锐捷网络技术有限公司 | 基于分布式网络的报文转发配置方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103763196B (zh) | 2017-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10601704B2 (en) | Asymmetric routing minimization | |
CN101433029B (zh) | 用于使用第二层源地址的选择性的第二层端口阻塞的方法、系统 | |
CN102368727B (zh) | 跨ip网络的trill网络通信方法、系统和设备 | |
CN102333028A (zh) | 一种分层式二层虚拟专用网发送报文的方法及通信设备 | |
CN105490957A (zh) | 一种负载分担方法及装置 | |
CN103763196A (zh) | 一种多播源过滤表项处理方法和装置 | |
CN105847185A (zh) | 分布式设备的报文处理方法、装置及分布式设备 | |
CN104954276A (zh) | 用于负载平衡多播流量的系统和方法 | |
CN102315964B (zh) | 一种测试报文的环回方法及交换设备 | |
CN103139075A (zh) | 一种报文传输方法和设备 | |
CN103326915A (zh) | 实现三层虚拟专用网络的方法、设备及系统 | |
CN105052092A (zh) | 具有孤立端口的多节点虚拟交换机中的路径优化 | |
CN102347889A (zh) | 一种分层虚拟专用局域网中的报文转发方法、系统和装置 | |
CN105187311A (zh) | 一种报文转发方法及装置 | |
EP3534577B1 (en) | Forwarding multicast packets through an extended bridge | |
CN102404198A (zh) | 用于控制对路由数据的通告的方法和设备 | |
CN103457756B (zh) | 一种环路路径检测方法、装置及系统 | |
CN106713130A (zh) | 一种路由表更新方法、evpn控制设备及evpn系统 | |
CN107465621A (zh) | 一种路由器发现方法、sdn控制器、路由器和网络系统 | |
US20180337827A1 (en) | Method and Device for Reporting OpenFlow Switch Capability | |
CN106130911A (zh) | 转发流表切片化的脊交换机所组构的云计算中心网络架构 | |
CN106231007A (zh) | 一种防止mac地址漂移的方法及装置 | |
CN106161228B (zh) | 一种发布路由的方法和装置 | |
CN102333023A (zh) | 多链接透明互联网络中的通信方法及设备 | |
CN105493454A (zh) | 双活接入多链接透明互联(trill)边缘 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Patentee after: Xinhua three Technology Co., Ltd. Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base Patentee before: Huasan Communication Technology Co., Ltd. |