处理组播的方法和装置的制作方法

文档序号:7847417阅读:171来源:国知局
专利名称:处理组播的方法和装置的制作方法
技术领域
本发明涉及数据通讯领域,具体地说,涉及处理组播的方法和装置。
背景技术
组播技术有效地解决了单点发送多点接收的问题,实现了网络中点到多点的高效数据传送,能够大量节约网络带宽、降低网络负载。主机通过互连网组管理协议(IGMP, Internet Group Management ftOtocol),通知本地的路由器希望加入并接收某个特定组播组信息。路由器通过IGMP协议周期性查询局域网内某个已知组的成员是否处于活动状态, 实现所连网络组成员关系的收集与维护。作为用户接入网络的交换机或者DSLAM,一般会运行IGMP Proxy或者IGMP Snooping。IGMP Proxy的实现原理是捕获用户和路由器之间的IGMP报文,建立和维护组播表项和用户的关系,Proxy设备与路由器连接的端口执行主机的角色,代理用户发送 IGMP请求报文和离开报文,接收路由器发送的IGMP查询报文;与用户连接的端口执行路由器的角色,接收用户发送的IGMP请求和离开报文,代理路由器发送IGMP查询报文。IGMP Snooping的实现原理是侦听用户与路由器之间通信的IGMP报文,维护组播地址和用户的对应关系,在收到来自路由器组播数据包后,仅向该组播组所对应的用户转发。MLD Proxy 与 IGMP Proxy 类似,MLD Snooping 与 IGMP Snooping 类似。在目前对网络有较高质量要求的网路中通常会组成环形网路,目的是进行链路的保护,在一条链路出现故障后可以通过另外一条链路进行通信。在网路是环路的拓扑环境下,通常使用生成树协议(STP,Spanning Tree ftOtocol)、快速生成树协议(RSTP,Rapid Spanning Tree Protocol)、多生成丰对协、议(MSTP, Multiple Spanning Tree Protocol) 等生成树协议进行破环的处理,目的就在于通过构造一棵树的方法达到裁剪冗余环路的目的,同时实现链路备份和路径最优化。在STP协议中定义了根桥(Root Bridge)、根端口(Root Port)、指定端口(Des ignated Port)、路径开销(Path Cost)等概念,其协议栈定义了转发O^orwar ding)、学习(Learning)J^S (Discarding)等端口状态,表示端口是否可以进行转发报文。用于构造这棵树的算法称为生成树算法(SPA,Spanning Tree Algorithm)。在环网网路中通过生成树协议将环网中的一个设备的一个端口设置为阻塞端口,这样环网网路就会变成为树形网路,达到破环的目的。如果网络拓扑发生变化后,STP、 RSTP, MSTP等生成树协议报文会通知阻塞端口变成非阻塞端口,达成链路备份的目的。同时,使用STP、RSTP, MSTP等可以破环的生成树协议,可以将环形的网络拓扑修剪成树形网络拓扑,做到从组播服务器到组播点播用户之间形成一个组播树。以图1为例,数字用户线路接入复用器(DSLAM,Digital Subscriber Line Access Multiplexer)组成的以太环网中,Bl到B5等DSLAM分别有端口 PO到P9。环上的Bl和B5 分别有一条上行链路与交换机Sl连接,使用STP协议,其中交换机Sl不参与STP协议的处理,其只透传DSLAM发送的STP协议报文,根据STP的协议,阻塞B4的P7端口,Bl成为根桥,P9、P6、P4、P2等组播上行口分别成为B5、B4、B3、B2的根端口,根桥Bl的PO端口为组播上行口,Sl上的端口 P成为整个环的组播上行口。由于P7阻塞,非根桥节点B4、B3、B2节点组播用户的组播加入报文或离开报文通过成为根端口的组播上行口发往根桥Bi,由Bl的PO 口再发到交换机。例如,B3下组播用户的请求组播节目的加入报文通过根端口同时又是上行口的P4发出,该报文经B2到达Bi, 再通过根桥Bl发到交换机Si,再从Sl发往目的服务器,组播视频流也就会从Sl经过根桥 Bl沿组播加入报文建立的组播树经交换机S1、B1、B2、B3到用户,如图1中带箭头的曲线所示。对于根桥Bl,PO和Pl都是指定端口,可以配置PO端口为上行口,对于Bl下的用户发送的组播加入报文和离开报文,通过PO端口送出,相应地从PO端口接收组播视频流等组播数据。对于B5的组播用户的组播加入请求,经根端口同时又是组播上行口的P9发往Si。Sl不参与组环,Sl支持在PO和P9端口之间透传BPDU报文,即Bl和B5将PO和 P9端口之间的链路认为是一条直连链路。现有的一些组播保护技术主要是环形网络路上发生故障时,利用STP、RSTP, MSTP 等生成树协议重新构建网络拓朴,在新构建的网络拓扑中重新通过IGMP协议生成新的组播树,因为组播树的生成依赖网络拓扑的重新生成,组播业务的恢复时间比较长。如图2所示,当网络故障时,比如P3和P4之间的链路故障,可以通过STP协议重新计算网络拓扑结构,在新拓扑结构中会打开先前阻塞的P7端口,P5成为B3的根端口,P7成为B4的根端口, B3下的机顶盒重新发起IGMP报文,经成为根端口的上行口 P5经B4、B5、Sl发出到达组播服务器,组播流将经过S1、B5、B4、B3新的组播路径到达机顶盒。一种情况是,如果Bl和Sl 之间的链路中断,B2、B3、B4因为根端口不切换,组播协议报文仍然要从既是根端口又是组播上行口的P2、P4、P6发出,因此无法到达组播源,组播流也无法到达,组播业务无法恢复, 也就是恢复时间无限长。可见,由于组播路径的重建需要一定的时间,在网络发生异常后无法收到组播数据时,组播业务恢复需要较长的时间,影响用户的体验。

发明内容
本发明解决目前组播业务保护时组播业务恢复时间长的问题。一方面,本发明提供了一种处理组播的方法,包括阻塞端口一,所述端口一是出端口和入端口中的一个端口,所述出端口和所述入端口中的另一个端口为根端口;从所述入端口接收组播用户请求加入组播的加入报文;根据所述加入报文包含的所述组播的组播信息和所述入端口的端口信息,建立从所述出端口向所述入端口转发所述组播的数据的转发表项。另一方面,本发明提供了一种处理组播的装置,包括出端口单元、入端口单元、和控制单元;所述控制单元用于设置端口单元一的状态为阻塞状态,所述端口单元一为所述出端口单元和所述入端口单元中的一个端口单元,所述出端口单元和所述入端口单元中的另一端口单元为根端口单元;设置所述端口单元一的状态为阻塞状态之后,所述入端口单元用于接收组播用户请求加入组播的加入报文;所述控制单元用于根据所述加入报文包含的所述组播的组播信息和所述入端口的端口信息,建立从所述出端口单元向所述入端口单元转发所述组播的数据的转发表项。另一方面,本发明提供了一种处理组播的系统,包括第一组播接入节点和第二组播接入节点;所述第一组播接入节点阻塞端口一,所述端口一是所述第一组播接入节点的出端口和入端口中的一个端口,所述出端口和所述入端口中的另一个端口为根端口 ;所述第一组播接入节点从所述入端口接收所述第二组播接入节点发送的组播用户请求加入组播的加入报文,根据所述加入报文包含的所述组播的组播信息和所述入端口的端口信息,建立从所述出端口向所述入端口转发所述组播的数据的转发表项。通过本发明的实施例可以在出端口和入端口中有一个端口是阻塞状态的情况下, 建立组播转发表项,籍此,可以在网络异常时,启用该组播路径时,直接根据建立的组播转发表项转发组播数据,达到缩短组播业务恢复时间的效果。


为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为环网中处理组播的示意图;图2为环网中处理组播的示意图;图3为本发明实施例处理组播的方法的流程示意图;图3a为本发明实施例处理组播的方法的流程示意图;图4为本发明实施例处理组播的示意图;图5为本发明实施例处理组播的示意图;图6为本发明实施例处理组播的装置的示意图;图7为本发明实施例处理组播的系统的示意图。
具体实施例下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明的实施例提供了一种在物理环网中处理组播的方法,如图3所示,以下结合附图对该方法进行说明,在图4和图5中,网络中包括组播接入节点Bl到B5,组播用户通过组播接入节点获取组播数据。例如组播接入节点可以是DSLAM接入服务器,IPTV用户通过DSLAM接入服务器获取组播视频流。Sl上的端口 P为整个环的组播上行口。组播接入节点B4节点上处理组播的方法如图3所示,包括以下步骤步骤301 阻塞端口一,端口一是出端口和入端口中的一个端口,另一个端口为根端□。
图4和图5中,P6和P7分别为B4的出端口和入端口。这里说的出端口和入端口是相对的,P6和P7两个端口参与组环,是互为出端口和入端口的,组播报文从入端口接收, 从出端口发送,出端口和入端口这两个端口中有一个被阻塞,被阻塞的可以是出端口,也可以是入端口。根据环网处理协议,如MSTP、STP、RSTP, ITU_TG. 803. 2等各种环网处理协议,在该环状网络上生成逻辑的树状网络过程中,阻塞P6和P7中的一个端口,可以是P7,也可以是 P6,P6和P7中的另一个成为根端口。根端口的说法为生成树中的说法,如果在其他环网处理协议中,一个端口的功能或作用与生成树协议中根端口的功能或作用类似,则这样的端口也应该被理解为本发明的实施例中描述的根端口。阻塞端口一,可以在在STP协议中将端口状态设置为Discarding,也可以是在RSTP协议中将端口状态设置为Blocking,本领域技术人员能够理解虽然在不同的环网处理协议中状态名称可能不一样,但是该状态下端口的功能或作用类似。图4中P7的状态被设置为阻塞,Bl成为根桥,组播上行口 P9、P6、P4、P2分别成为 B5、B4、B3、B2的根端口,除根桥外,各节点下的组播协议报文仍然通过成为根端口的各组播上行口发送组播加入报文。图5中P6的状态被设置为阻塞,Bl成为根桥,组播上行口 P9、P7、P4、P2分别成为 B5、B4、B3、B2 的根端口。本实施例中以Sl不参与环网处理协议为例进行说明,对于Sl参与环网处理的情形,本领域技术人员可以根据本实施例的描述获知。 具体地,可以是根据收到的生成树协议的桥协议数据单元(BPDU,Bridge Protocol Data Unit)设置端口一的状态为阻塞。现有技术中,P7阻塞后,对于从该阻塞的端口接收的请求加入组播的报文,是会被 B4丢弃的而不进行处理的,也不会从该阻塞的端口发送组播加入报文,因此也不会收到所请求组播的数据。但在本发明的实施例中,有着和现有技术不同的处理方式。步骤303 从入端口接收组播用户请求加入组播的加入报文。图4中,B4通过P6与B3连接,可以通过P6接收Bi、B2、或B3节点下的组播用户请求加入组播的加入报文,如IGMP加入报文或组播监听者发现(MLD,Multicast Listener Discovery)加入报文。以B3设备运行IGMP Proxy为例,B3下的组播用户发送加入报文, 这个报文被B3设备拦截,设备根据用户请求的内容,建立通过IGMP加入报文接收端口转发组播数据的组播转发表项,并重新封装IGMP加入报文,除了通过根端口同时也是上行端口的端口 P4发送加入报文外,还可以通过指定端口 P5发送相同内容的加入报文。该加入报文被另一非根桥节点B4的端口 P6接收,P6为入端口,P6是B4的组播上行口,虽然作为上行口收到了加入报文,但是B4并未在处理过程中丢弃该加入报文,而是将P6视作组播级联口,建立通过P6向组播用户转发组播数据组播转发表项,并将从组播级联口接收的该加入报文,封装为新的加入报文后,往另一个组播上行端口 P7发送。对于通过根桥Bl接入的组播用户,除了从指定的组播上行口 PO发出加入报文并收到组播数据外,还可以通过端口 Pl 发出加入报文,该报文也能够通过B2、B3的转发后被P6端口收到。图5中,P6被阻塞,P6接收B3下组播用户发送的请求加入组播的加入报文时,阻塞的端口 P6是入端口,收到该加入报文后,虽然P6端口的状态是阻塞状态,但是并不丢弃该加入报文,而是执行本发明实施例中描述的处理过程。步骤305 根据该加入报文包含的所请求的组播的组播信息和入端口的端口信息,建立从出端口向入端口转发该组播的数据的转发表项。对于P6收到的加入报文,被B5中负责协议处理的功能部件进行处理,可以从该加入报文中提取所请求加入的组播的信息,包括但不限于组播组地址,组播源地址等信息,建立从出端口 P7向入端口 P6转发组播数据的转发表项,该表项中可以包括组播的组播组地址,组播源地址、虚拟局域网标识、源端口号、目的端口等信息的组合。例如,B4中建立的组播转发表项可以包括组播组地址、虚拟局域网标识,目的端口号P6,P7收到组播数据后,根据组播数据的组播组地址查询转发表获得目的端口号P6,于是从P7向P6转发组播数据。图4或图5中,P6收到的加入报文,被B5中负责协议处理的功能部件进行处理, 可以根据该加入报文中包含的所请求加入的组播的组播节目的地址(多播地址和/或源IP 地址)、组播的MAC地址等组播信息,以及入端口的端口号、虚拟局域网标识等端口信息,建立从出端口 P7向入端口 P6转发组播数据的转发表项。例如,B4中建立的组播转发表项可以包括组播节目的多播地址和目的端口 P6的端口号,P7收到组播数据后,根据组播数据的组播节目的多播地址查询转发表获得目的端口号P6,于是从P7向P6转发组播数据。通过步骤301、步骤303、步骤305,可以在出端口和入端口中有一个端口是阻塞的情况下,根据收到的加入组播报文,建立转发表项,在环网链路正常的情况下形成保护。该保护机制在环网故障后的恢复过程中发挥作用,组播业务恢复时可以根据该转发表项直接转发组播数据,缩短组播恢复时间。可选地,该方法还可以进一步包括步骤307 从出端口发送该加入报文并接收所请求的组播的数据,丢弃从该出端口收到的所请求的组播的数据。图4中,虽然P7被阻塞,但是,对于从入端口收到的加入报文,并不丢弃,而是从该阻塞端口把该加入报文发送出去。B5从P8收到该加入报文后,可以认为是从组播级联口收到加入报文,并通过P9发送出去。该报文可以被发送到组播服务器,然后请求的组播数据会沿着加入报文的反方向到达端口 P7并被接收。例如,该加入报文是B3下的组播用户的加入报文,该报文被P8接收后,再通过P9被发送出去。如果是PlO端口来的B5所带组播用户的加入报文,除了从B5的根端口同时是组播上行口的端口 P8发送出去,并经过根桥 Bl到达组播服务器外,还通过阻塞的端口 P9发送出去,并从P9接收到所请求组播的数据。对于B3下的组播用户,除能从作为根端口的上行口 P4发出请求加入组播的加入报文,建立如图4中所示的经S1、B1、B2、B3的组播路径1,还因为加入报文能够从阻塞的端口 P7发送出去,也能够建立一条如图4中所示的经S1、B5、B4、B3的组播路径2。B4从P7收到所请求的组播的数据后,将该组播数据丢弃。不对该组播数据进行转发的原因在于避免组播用户收到多份组播数据而影响接收效果。图5中,从出端口 P7发出从阻塞的入端口 P6收到的组播用户请求加入组播的加入报文后,P7收到该组播的组播数据。对于从P7收到的组播数据,B4作丢弃处理。类似地,对于B3下的组播用户,也能够建立两条组播的传送路径1和路径2。通过发出组播加入请求,接收并丢弃组播流,可以建立一条到达组播源的组播路径,并在该路径上接收到组播数据,籍此,在环网故障后的恢复过程中,可以直接转发收到的组播数据,进一步缩短组播恢复时间。具体地,步骤307所述的丢弃从该出端口收到的所请求的组播的数据,可以分情况包括以下情形图4中,对于P6收到的加入报文,被阻塞的端口是出端口 P7,在出端口 P7收到组播数据后,由于自己的状态是阻塞状态,直接丢弃该组播的数据。图5中,被阻塞的端口是入端口 P6,出端口 P7收到组播数据后,根据步骤303中建立的转发表项将该组播的数据转发到入端口 P6,P6的状态是阻塞,所以P6并不发送组播数据,而是在入端口 P6丢弃组播数据。可选地,该方法还可以进一步包括步骤309 解阻塞端口一,从出端口接收所请求组播的数据,根据已经建立的转发表项将组播数据转发到入端口,入端口发出该组播的数据。图4中,当网络中发生异常时,例如,P3和P4之间的链路中断,运行环网处理协议, 将阻塞的端口一 P7解阻塞。在P7被解阻塞之后,对于从出端口 P7收到的组播数据,不再丢弃,而是根据已经建立的转发表项将P7收到的组播数据转发给P6,P6发出该组播数据。 对于从P6接收的B3下的用户的加入请求,在步骤305中已经建立了转发表项,并且也收到了组播数据,解阻塞后,无需再等待从组播源到B3的组播树的重建,而是直接根据已经建好的转发表项直接转发收到的组播数据,可以缩短网络异常后组播业务恢复的时间。类似地,图5中,解阻塞P6后,从P7收到的组播数据可以根据已经建立的转发表项被转发到P6,并由P6发送出去。可选地,在收到组播用户的加入请求之后,B4可能随时收到该组播用户发送来的请求离开组播的离开报文,本实施例的方法可以进一步包括步骤311 从入端口接收组播用户请求离开组播的离开报文,删除对应的转发表项,从出端口发送该离开报文。与加入报文的处理相对应,在入端口和出端口有一个被阻塞的情况下,如果组播用户要离开组播,则发送的离开报文被入端口收到,对于从入端口接收的离开报文,不是丢弃,而是根据该离开报文,删除步骤305中建立的组播转发表项。如果当被阻塞的端口被解除阻塞后,组播用户离开组播,入端口也会收到离开报文,则相应地删除转发表项。与加入报文相对应,该离开报文可以是IGMP离开报文或MLD离开报文。从入端口收到加入报文后,一个实施例可以是如上述步骤307所描述的将该加入报文从出端口转发出去,然后可以收到所请求组播的组播数据。在另一个实施例中,如图3a 所示,可选地,在步骤305之后,可以进一步包括步骤306 丢弃入端口收到的该加入报文。入端口收到加入报文后,根据加入报文创建了转发表项,但是由于入端口和出端口中有一个端口是阻塞状态,所以可以不将该报文从出端口发送出去,而是丢弃该报文。这样,该加入报文不可能到达组播服务器,组播数据也不会到达出端口。图4中,对于从B3接入的组播用户,除能从作为根端口的上行口 P4发出请求加入组播的加入报文,建立经S1、B1、B2、B3的组播路径1,还因为在B4中建立了转发表项,建立了一条如图4中所示的经B4、B3的组播路径3。与路径2不同的是,由于加入报文没有从 P7发送出去,没有收到组播数据,建立的是一条部分组播路径。图5中,与图4类似,也建立了一条经B4、B3的组播路径3。在这种情形下,该方法可以进一步包括步骤308 解阻塞端口一,从出端口发送该组播用户请求加入该组播的第二加入报文。在环网链路发生异常时,例如P3和P4之间的链路中断,B4收到环网处理协议的网络拓扑结构调整的报文,从而将出端口和入端口中的一个阻塞的端口解阻塞。网络拓扑发生变化后,如果组播用户重新发送加入组播的请求,则B4可以将该第二加入报文转发出去,如果组播用户不重新发送加入报文,则B4可以在本地构造一个第二加入报文并发送。 例如,当B3下的组播用户重新发出请求加入组播的第二加入报文时,入端口 P6收到该第二加入报文,出端口 P7将该报文发送出去。B4也可以根据之前收到该组播用户发送的加入报文后存储起来的相关数据,构造一个该组播用户的加入报文并发送。步骤310 从出端口接收该组播的数据,根据转发表项将收到的该组播的数据转发到入端口,从入端口发送该组播的数据。第二组播报文发出后,到达组播服务器后,出端口 P7收到组播数据,根据在步骤 305中已经建立的转发表项将收到的组播的数据转发到P6,P6发送出去。由于步骤305已经建立了转发表项,所以在环网发生故障后的恢复过程中,将加入报文发送出去而引入组播数据后,可以直接根据已经建立的转发表项转发组播数据,缩短了组播恢复的时间。和步骤309相比,步骤308和步骤310的处理需要再发送加入报文弓丨入组播流,其组播恢复所花时间多于前者所花的时间。对于离开报文的处理,在端口一处于阻塞状态时,收到离开报文,删除对应的组播转发表项,因为加入报文并未被转发出去,所以对于离开报文也作丢弃处理。端口一被解阻塞后,组播用户要离开组播时,除了删除相应的组播表项,还需要将该离开报文发送出去, 通知组播源停止发送组播数据。图4中,对于通过B4接入的组播用户,从用户端口收到组播用户请求加入组播的加入报文后,建立转发表项,除了从根端口同时也是上行端口的P6发送出去并从P6收到组播数据外,还可以从阻塞的端口 P7发送该加入报文,引入组播数据,但是在P7阻塞时丢弃从P7收到的该组播的数据。P7解阻塞之后,可以立刻根据转发表项将P7收到的组播的数据向该用户端口转发。对于本发明实施例中的组播节点在处理包括组播加入报文和组播离开报文在内的组播协议报文时,可以在收到组播协议报文后,根据IGMP Proxy协议重新封装组播协议报文,并且控制组播协议报文发送的节奏。或者,根据IGMP Snooping协议转发收到的组播协议报文。例如,当设备已经建立了该加入报文的组播转发表项时,并不需要立即发送组播加入报文,而是在收到相应的组播查询报文之后,或者按一定的节奏,发送组播加入报文。本发明的实施例提供了一种处理组播的装置,如图6中600所示,该装置可以在组播接入节点上实现,例如图4或图5中所示的环网中的组播接入节点,该装置包括 出端口单元601、入端口单元603和控制单元605。 控制单元605用于设置端口单元一,端口单元一是出端口单元601和入端口单元 603这两个单元中的一个端口单元,控制单元用于设置端口单元一的状态为阻塞状态。可以是根据生成树协议等环网处理协议,将出端口单元和入端口单元中的一个设置为阻塞状态。设置所述端口单元一的状态为阻塞状态之后,入端口单元用于接收组播用户请求加入组播的加入报文;控制单元用于根据该加入报文包含的所请求的组播的组播信息和入端口的端口信息,建立从出端口单元向入端口单元转发所请求的组播的数据的转发表项。 该加入报文可以是互连网组管理协议加入报文或组播监听者发现协议加入报文。可选地,出端口单元还用于发送该加入报文并接收所请求组播的数据;当端口单元一是出端口单元时,在出端口单元丢弃该组播的数据;或者,当端口单元一是入端口单元时,根据已经建立的转发表项将出端口单元接收的组播的数据转发到入端口单元,在入端口单元丢弃所述组播的数据。进一步,控制单元用于设置端口单元一的状态为非阻塞状态。例如,在该装置所在的环网的拓扑结构发生变化时,根据生成树协议报文,控制单元将阻塞的端口单元一解阻塞,状态设置为非阻塞状态。端口单元一的状态变为非阻塞状态后,出端口单元,用于接收所请求组播的数据, 根据已经建立的转发表项将该组播的数据转发到入端口单元,入端口单元用于发送组播的数据。可选地,控制单元用于丢弃从入端口单元收到的加入报文。进一步,控制单元用于设置端口单元一的状态为非阻塞状态,之后,入端口单元, 用于接收组播用户请求加入组播的第二加入报文;出端口单元,用于发送该第二加入报文, 并接收所请求的组播的数据,根据已经建立的转发表项将组播的数据转发到入端口单元, 入端口单元用于发送该组播的数据。可选地,入端口单元,用于接收组播用户请求离开组播的离开报文,控制单元,用于删除对应的转发表项,该转发表项是根据该组播用户发送的请求加入组播的加入报文而建立的,在解阻塞端口单元一之前,如果也从出端口单元发出了该加入报文,则也发出该离开报文,如果丢弃了加入报文,则也丢弃离开报文。在解阻塞端口单元一之后,发出该离开报文。该离开报文可以是互连网组管理协议离开报文或组播监听者发现协议离开报文。本实施中描述的出端口单元和入端口单元,可以在通用的局域网交换芯片(LSW, Local Area Network Switch)芯片中实现,也可以在专用集成电路(ASIC,Application Specific Intergrated Circuits)中实现。例如,如果根据RSTP协议需要设置出端口单元或入端口单元的状态为阻塞,可以设置LSW/ASIC的端口的STP状态表中的状态为阻塞。
控制单元可以由在通用处理器上运行软件实现,控制单元可以通过设置寄存器或者表项控制硬件端口的行为,例如,为阻塞端口,控制单元可以设置相应的LSW/ASIC的端口的STP状态表中的状态为阻塞。为使端口能够发送组播数据,可以将组播组的元素配置到LSW/ASIC的组播节目表,组播组的元素包括但不限于组播组地址、组播源地址、虚拟局域网等元素,还可以配置该组播组的出端口的信息,组播数据报文从入端口进来后,匹配到组播节目表,并根据组播节目的出端口信息转发到出端口,如果出端口的状态为阻塞,则组播数据报文就不会发送出去,如果入端口的状态是阻塞,则组播数据报文就不会被转发到出端口。本发明的实施例提供了一种处理组播的系统,如图7中700所示,该系统包括第一组播接入节点和第二组播接入节点。例如,在图4或图5中,该第一组播接入
12节点和第二组播接入节点是环网中的组播接入节点。第一组播接入节点阻塞端口一,端口一是第一组播接入节点的出端口和入端口中的一个端口。可以根据生成树协议等环网处理协议,将出端口单元和入端口单元中的一个设置为阻塞状态。第一组播接入节点从入端口接收第二组播接入节点发送的组播用户请求加入组播的加入报文,根据该加入报文包含的所请求的组播的组播信息和入端口的端口信息,建立从出端口向入端口转发所请求组播的数据的转发表项。该加入报文可以是互连网组管理协议加入报文或组播监听者发现协议加入报文。可选地,第一组播接入节点从出端口发送该加入报文并接收所请求组播的数据, 并丢弃收到的该组播的数据。进一步,第一组播接入节点解阻塞端口一,从出端口接收所请求组播的数据,根据已经建立的转发表项将该组播的数据转发到入端口,从入端口向第二组播接入节点发送该组播的数据。可选地,第一组播接入节点丢弃从入端口收到的加入报文。进一步,第一组播接入节点解阻塞端口一,从入端口接收该组播用户请求加入组播的第二加入报文,从出端口发送该第二加入报文,之后,从出端口接收所请求组播的数据,根据已经建立的转发表项将该组播的数据转发到入端口,并从入端口向第二组播接入节点发送组播的数据。可选地,第一组播接入节点可以接收第二组播节点发送的组播用户请求离开组播的离开报文,收到该离开报文后,可以删除对应的转发表项,该转发表项是根据该组播用户发送的请求加入组播的加入报文而建立的。可以在端口一被解阻塞之前收到离开报文,也可以是在解阻塞端口一之后收到离开报文。在解阻塞端口一之前,如果也从出端口发出了该加入报文,则也发出该离开报文,如果丢弃了加入报文,则也丢弃离开报文。在解阻塞端口一之后,则需要发出该离开报文。该离开报文可以是互连网组管理协议离开报文或组播监听者发现协议离开报文。本领域技术人员在理解上述处理组播的系统、处理组播的装置的实施例与处理组播的方法的实施例时,可以将方法实施例内容与装置实施例内容以及系统实施例的内容相互参照进行理解。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实施。基于这样的理解, 本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来, 该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此, 任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换, 都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
权利要求
1.一种处理组播的方法,其特征在于,包括阻塞端口一,所述端口一是出端口和入端口中的一个端口,所述出端口和所述入端口中的另一个端口为根端口;从所述入端口接收组播用户请求加入组播的加入报文;根据所述加入报文包含的所述组播的组播信息和所述入端口的端口信息,建立从所述出端口向所述入端口转发所述组播的数据的转发表项。
2.如权利要求1所述的方法,其特征在于,进一步包括 从所述出端口发送所述加入报文并接收所述组播的数据; 丢弃从所述出端口接收的所述组播的数据。
3.如权利要求2所述的方法,其特征在于,所述丢弃从所述出端口接收的所述组播的数据,包括当所述端口一是所述出端口时,在所述出端口丢弃所述组播的数据;或者, 当所述端口一是所述入端口时,根据所述转发表项将所述出端口接收的所述组播的数据转发到所述入端口,在所述入端口丢弃所述组播的数据。
4.如权利要求3所述的方法,其特征在于,进一步包括 解阻塞所述端口一;从所述出端口接收所述组播的数据,根据所述转发表项将所述组播的数据转发到所述入端口,从所述入端口发送所述组播的数据。
5.如权利要求1-4任一所述的方法,其特征在于,进一步包括从所述入端口接收所述组播用户请求离开组播的离开报文,删除所述转发表项,从所述出端口发送所述离开报文。
6.如权利要求1所述的方法,其特征在于,进一步包括 丢弃所述加入报文。
7.如权利要求6所述的方法,其特征在于,进一步包括从所述入端口接收所述组播用户请求离开组播的离开报文,删除所述转发表项,丢弃所述离开报文。
8.如权利要求6所述的方法,其特征在于,进一步包括 解阻塞所述端口一;从所述出端口发送所述组播用户请求加入组播的第二加入报文; 从所述出端口接收所述组播的数据,根据所述转发表项将所述组播的数据转发到所述入端口,从所述入端口发送所述组播的数据。
9.如权利要求8所述的方法,其特征在于,进一步包括从所述入端口接收所述组播用户请求离开组播的离开报文,删除所述转发表项,从所述出端口发送所述离开报文。
10.一种处理组播的装置,其特征在于,包括 出端口单元、入端口单元、和控制单元;所述控制单元用于设置端口单元一的状态为阻塞状态,所述端口单元一为所述出端口单元和所述入端口单元中的一个端口单元,所述出端口单元和所述入端口单元中的另一端口单元为根端口单元;设置所述端口单元一的状态为阻塞状态之后,所述入端口单元用于接收组播用户请求加入组播的加入报文;所述控制单元用于根据所述加入报文包含的所述组播的组播信息和所述入端口的端口信息,建立从所述出端口单元向所述入端口单元转发所述组播的数据的转发表项。
11.如权利要求10所述的装置,其特征在于所述出端口单元用于发送所述加入报文并接收所述组播的数据;当所述端口单元一是所述出端口单元时,在所述出端口单元丢弃所述组播的数据;或者,当所述端口单元一是所述入端口单元时,根据所述转发表项将所述出端口单元接收的所述组播的数据转发到所述入端口单元,在所述入端口单元丢弃所述组播的数据。
12.如权利要求11所述的装置,其特征在于所述控制单元用于设置所述端口单元一的状态为非阻塞状态; 所述端口一的状态变为非阻塞状态后,所述出端口单元,用于接收所述组播的数据,根据所述转发表项将所述组播的数据转发到所述入端口单元,所述入端口单元用于发送所述组播的数据。
13.如如权利要求10所述的装置,其特征在于 所述控制单元,用于丢弃所述加入报文。
14.如权利要求13所述的装置,其特征在于,进一步包括 所述控制单元用于设置所述端口单元一的状态为非阻塞状态;所述端口一的状态变为非阻塞状态后,所述入端口单元,用于接收组播用户请求加入组播的第二加入报文;所述出端口单元,用于发送所述第二加入报文,并接收所述组播的数据,根据所述转发表项将所述组播的数据转发到入端口单元,所述入端口单元用于发送所述组播的数据。
15.如权利要求10-14任一所述的装置,其特征在于所述入端口单元,用于接收所述组播用户请求离开组播的离开报文; 所述控制单元,用于删除所述转发表项。
16.一种处理组播的系统,其特征在于,包括 第一组播接入节点和第二组播接入节点;所述第一组播接入节点阻塞端口一,所述端口一是所述第一组播接入节点的出端口和入端口中的一个端口,所述出端口和所述入端口中的另一个端口为根端口 ;所述第一组播接入节点从所述入端口接收所述第二组播接入节点发送的组播用户请求加入组播的加入报文,根据所述加入报文包含的所述组播的组播信息和所述入端口的端口信息,建立从所述出端口向所述入端口转发所述组播的数据的转发表项。
17.如权利要求16所述的系统,其特征在于所述第一组播接入节点从所述出端口发送所述加入报文并接收所述组播的数据,并丢弃从所述出端口接收的所述组播的数据。
18.如权利要求17所述的系统,其特征在于 所述第一组播接入节点解阻塞所述端口一;所述第一组播接入节点从所述出端口接收所述组播的数据,根据所述转发表项将所述组播的数据转发到所述入端口,从所述入端口向所述第二组播接入节点发送所述组播的数据。
19.如权利要求16-18任一所述的系统,其特征在于所述第一组播接入节点从所述入端口接收所述组播用户请求离开组播的离开报文,删除所述转发表项,从所述出端口发送所述离开报文。
20.如权利要求16所述的系统,其特征在于 所述第一组播接入节点丢弃所述加入报文。
21.如权利要求20所述的系统,其特征在于所述第一组播接入节点从所述入端口接收所述组播用户请求离开组播的离开报文,删除所述转发表项,丢弃所述离开报文。
22.如权利要求20所述的系统,其特征在于 所述第一组播接入节点解阻塞所述端口一;所述第一组播接入节点从所述入端口接收所述组播用户请求加入组播的第二加入报文;所述第一组播接入节点从所述出端口发送所述第二加入报文; 所述第一组播接入节点从所述出端口接收所述组播的数据,根据所述转发表项将所述组播的数据转发到所述入端口,从所述入端口向所述第二组播接入节点发送所述组播的数据。
23.如权利要求22所述的系统,其特征在于所述第一组播接入节点从所述入端口接收所述组播用户请求离开组播的离开报文,删除所述转发表项,从所述出端口发送所述离开报文。
全文摘要
处理组播的方法、装置和系统,该方法包括阻塞端口一,端口一是出端口和入端口中的一个端口,出端口和入端口中的另一个端口为根端口;从入端口接收组播用户请求加入组播的加入报文;根据该加入报文包含的组播的组播信息和入端口的端口信息,建立从出端口向入端口转发组播数据的转发表项。通过本发明的实施例可以在出端口和入端口中有一个端口是阻塞状态的情况下,建立组播转发表项,籍此,可以在网络异常时,启用该组播路径时,直接根据建立的组播转发表项转发组播数据,达到缩短组播业务恢复时间的效果。
文档编号H04L12/18GK102598586SQ201180003978
公开日2012年7月18日 申请日期2011年10月29日 优先权日2011年10月29日
发明者普云, 李勇, 陈颖 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1