二层组播流转发方法和二层组播设备的制作方法

文档序号:7973873阅读:220来源:国知局
专利名称:二层组播流转发方法和二层组播设备的制作方法
技术领域
本发明涉及通信领域中的组播技术,尤其涉及一种二层组播设备中组播流的转发方法和二层组播设备。
背景技术
随着网络中流媒体、视频电视以及视频会议等多媒体技术的不断发展,IP组播技术已经成为互联网中的一项重要内容。现有技术中实现组播技术方法的原理如下利用IGMP(Internet Group Management Protocol,互联网组播管理协议)或者MLD(Multicast Listener Discovery,组播侦听发现)维护组播组关系,IGMP(IPv4中)或MLD(IPv6中)运行于网络末端与用户终端直连的三层网络设备上,用于对组播用户终端加入或离开组播组进行动态管理,并建立三层组播转发表项。
同时,利用运行于二层网络设备上的如IGMP Snooping(Internet GroupManagement Protocol Snooping,互联网组播管理协议窥探)或者MLD Snooping(Multicast Listener Discovery Snooping,组播侦听发现窥探)对配置了IGMP协议或MLD协议的三层网络设备与用户终端之间的IGMP报文或MLD报文进行窥探,根据报告报文或离开报文在二层网络设备上建立和维护组播转发表项,通过该组播转发表项,可以实现组播组与VLAN(Virtual Local AreaNetwork,虚拟局域网)内成员端口的关系,当属于某一VLAN的用户终端发送报告报文要求加入指定的组播组后,只需把该组播数据流复制到需要接收该组播流的用户终端对应的端口下,进而实现组播业务。
该方法的应用场景实例如图1所示,具有IGMP Snooping功能的二层交换设备的端口1、端口2、端口3与用户终端连接,端口4连接支持IGMP协议的三层网络设备如路由器,四个端口都属于同一个VLAN100;当与端口1相连的用户终端1希望加入组播组230.1.1.1时,发送加入组播组230.1.1.1的IGMP报告报文给路由器;该报告报文首先经过IGMP Snooping设备,IGMPSnooping设备根据该报告报文窥探到VLAN100的端口1上连接了一个加入组播组230.1.1.1的用户,这样当三层网络设备转发的组播组230.1.1.1的组播数据流到达IGMP Snooping设备时,IGMP Snooping设备根据自身维护的组播转发表项,将组播组230.1.1.1的组播流向端口1转发,而不需要向其他端口转发该组播流。
IGMP Snooping协议和MLD Snooping协议解决了组播流VLAN内广播的问题,实现了按需复制组播数据流。但是当二层组播设备端口上连接的用户终端连续大批量点播组播组时,会导致二层组播设备建立大量没有实际组播流量转发的组播组表项和组播转发表项,在二层组播设备上没有组播组上限的情况下,连续大批量点播组播组会产生大量的表项,从而将会占用大量的设备软硬件资源,甚至导致系统资源耗尽;二层组播设备上存在组播组上限的情况下,当用户终端连续大批量点播组播组的数量超过二层组播设备支持的组播组上限时,将严重影响到正常用户的加入离开,导致二层设备基本无法使用。
针对这一问题,现有技术中提出了一种在IGMP Snooping的基础上利用ACL(Access Control List,访问控制列表)实现组播业务的方法。该方法首先对使用组播业务的用户终端进行ACL设置,当组播用户终端的IP地址与ACL中的地址匹配时,该组播用户终端可以加入并使用相应的组播业务;如果组播用户终端的IP地址与ACL中的地址不匹配,则该组播用户终端不能使用相应的组播业务。该方法在实现组播业务时,虽然规则非常简单,也能够对组播用户进行一定的管理,但是要确定每一端口上允许/不允许加入哪些组播组的过滤规则非常困难,并且随着网络规划的变化需要不断调整过滤规则,因而缺少灵活性,适应性差。

发明内容
本发明要解决的问题是提供一种二层组播设备中组播流转发方法和二层组播设备,以解决现有技术中因用户终端大批量点播组播组而导致对组播设备软件和硬件造成巨大负荷的问题。
为达到上述目的,本发明提供一种二层组播流转发方法,包括以下步骤A、二层组播设备侦听到用户终端向三层网络设备发送的加入组播组的报告报文时,判断所述组播组的组播组表项和组播转发表项是否存在,不存在时,进行步骤B;B、所述二层组播设备接收所述组播组的数据流,并根据所述数据流建立组播组表项和组播转发表项。
所述步骤B中的组播组表项是根据所述组播数据流的目的IP地址建立的,组播转发表项则是根据所述组播数据流的目的IP或MAC地址建立。
所述步骤B中建立的组播组表项和/或组播转发表项的端口为空。
如果是第一个用户终端首次发起加入组播组时,则所述步骤B之后还包括所述二层组播设备将虚拟局域网内所有端口加入组播转发表项,将所述组播组的数据流进行广播;所述二层组播设备判断在设定的时间内是否有用户终端端口集加入,有则所述广播停止,在组播组表项和组播转发表项中只保留所述加入的端口集,并保持向所述端口集发送所述组播组的数据流;否则将所述组播转发表项中的转发端口集删除。
如果是第一个用户终端首次发起加入组播组时,则所述步骤B之前还可以包括所述二层组播设备将所述报告报文中的组播组和端口信息存储在高速缓冲区中;所述步骤B之后还包括所述二层组播设备读取所述高速缓冲区中的所述组播组和端口信息,将端口加入到所述组播组的组播组表项和组播转发表项中,并将所述组播组的数据流向所述端口发送。
所述二层组播设备接收到三层网络设备发送的特定组查询报文时,若存在所述组播组表项和组播转发表项尚未建立、或所述组播转发表项中的转发端口为空的情况,所述二层组播设备将所述特定组查询报文向所有用户终端端口发送。
所述二层组播设备接收到用户终端发送的离开报文时,若存在所述组播组表项和组播转发表项尚未建立、或所述用户终端端口不在所述组播转发表项中的转发端口集的情况,所述二层组播设备将所述离开报文向三层网络设备发送。
所述二层组播设备在设定时间内没有检测到所述组播组的数据流经过时,将所述组播组表项和组播转发表项删除。
本发明还提供一种二层组播设备,包括组播信息控制单元和组播报文控制单元;所述组播信息控制单元,在接收到组播流时建立组播组表项和组播转发表项,并维护所述组播组表项和组播转发表项的修改、和/或删除;所述组播报文控制单元,根据所述组播信息控制单元维护的组播组表项和组播转发表项控制用户终端与三层网络设备间报文的转发。
所述组播信息控制单元进一步包括组播组表项成员端口控制子单元和组播转发表项转发端口控制子单元;所述组播组表项成员端口控制子单元,在接收到组播流时建立组播组表项,在所有端口中选择组播组的成员端口并对组播组表项进行相应的修改、和/或删除;所述组播转发表项转发端口控制子单元,在接收到组播流时建立组播转发表项,并对组播转发表项中的转发端口进行相应的修改、和/或删除。
与现有技术相比,本发明具有以下优点本发明通过利用组播流触发组播组表项和组播转发表项的建立,减轻了二层组播设备处理IGMP报文或MLD报文的负担,减少了组播组管理报文造成的资源消耗,对于支持IGMP Snooping或MLD Snooping的二层组播设备,只需作少量修改即可实现本方案。本发明解决了用户反复或轮流点播组播组对组播设备硬件和软件造成的冲击,降低了二层组播设备资源的占用率,同时提高了二层组播设备软件硬件资源的利用率,优化了二层组播设备的处理性能。


图1是现有技术中二层组播设备维护组播组与用户终端端口的示意图;图2是本发明中二层组播流转发方法的流程图;图3是本发明中二层组播流转发方法的另一流程图;图4是本发明中二层组播流转发方法的再一流程图;图5是本发明中二层组播设备处理IGMP特定组查询报文方法的流程图;图6是本发明中二层组播设备处理IGMP离开报文方法的流程图;图7是本发明中二层组播设备删除组播组表项和组播转发表项方法的流程图;图8是本发明中二层组播设备删除组播组表项和组播转发表项方法的另一流程图;图9是本发明中二层组播设备删除组播组表项和组播转发表项方法的再一流程图;图10是本发明中二层组播设备的结构示意图。
具体实施例方式
本发明公开了一种二层组播流转发方法,其核心思想为由二层组播设备根据组播数据流来维护二层组播组表项和组播转发表项的建立和删除。而IGMP协议报文或MLD协议报文仅用于更新组播组和组播转发表项的端口集信息,不再涉及组播组表项和组播转发表项的建立和删除。对于当前没有组播流在转发的组播组,在接收到加入该组播组的报告报文时,二层组播设备并不立即创建组播组表项和组播转发表项,以解决现有技术中因用户终端大批量点播组播组而导致对组播设备软件和硬件造成巨大负荷的问题。以下分别按照组播组和组播转发表项的创建、查询、刷新和删除流程来具体描述本发明方案。
本发明方案下的组播组和组播转发表项的创建在用户终端向三层网络设备发送IGMP报告报文或MLD报告报文、加入组播组时,二层组播设备在侦听到该用户终端发送的报告报文后,首先判断二层组播设备上是否已经存在该组播组的组播组表项和组播转发表项,如果存在则按照现有技术处理,将该用户终端端口加入该组播组。如果不存在,则二层组播设备将暂时不进行任何操作,只有在收到三层网络设备发送的该组播组的组播数据流时,二层组播设备才根据组播数据流的组播组地址,在二层组播设备上建立与该组播组对应的组播组表项和组播转发表项,其中组播组表项成员端口为空,组播转发表项的转发目的端口也为空。也就是说,本发明中组播组的组播组表项和组播转发表项的建立,是由三层组播设备发送的组播流触发的。
在组播组和组播转发表项的创建过程中,以二层组播设备处理用户终端发送的IGMP报文的过程为例,该二层组播流转发方法如图2所示,包括以下步骤步骤s201、二层组播设备侦听到用户终端向三层网络设备发送的加入组播组的IGMP报告报文;步骤s202、二层组播设备判断该组播组的组播组表项和组播转发表项是否已经建立,如果已经建立则进行步骤s206,否则进行步骤s203;步骤s203、二层组播设备接收三层网络设备发送的组播数据流;步骤s204、二层组播设备根据该数据流的组播组地址,建立组播组表项,该组播组表项的成员端口为空;步骤s205、二层组播设备根据该数据流的组播组IP地址(二层设备支持IP转发)或者MAC(Media Access Control,媒体访问控制)地址(二层设备只支持MAC转发),建立组播转发表项并结束,该组播转发表项的转发目的端口为空;步骤s206、二层组播设备将该用户终端端口添加到已存在的组播组表项的成员端口集与组播转发表项的转发目的端口集中并结束。
采用上述步骤s201~步骤s206所述方法实现本发明时,由于初次建立的组播组表项中无成员端口,且组播转发表项中不包括任何转发目的端口,这样在没有端口加入该组播组时,组播流匹配到一个不包括任何转发目的端口的空组播转发表项,避免了没有任何目的端口的未知组播流在VLAN内广播的情况。但是,当组播组的第一个用户终端发送IGMP报告报文或MLD报告报文加入组播组时,由于二层组播设备没有建立任何组播组表项和组播转发表项;这样,当组播流已经从三层网络设备到达二层组播设备时,二层组播设备的组播转发表项的转发目的端口仍为空,因此会导致第一个用户终端的第一个请求、以及其他在组播流从三层网络设备到达二层组播设备前发送报告报文的用户终端加入该组播组的请求失败。在预定的时间内用户终端需要发起第二次加入组播组的请求,以实现用户终端加入特定的组播组。但这样会导致用户终端最终获取组播流的时间延迟。如果系统不能容忍这种情况发生,优选地,以下提供两种解决方法(1)在二层组播设备根据组播流建立组播组表项和组播转发表项后,将VLAN内的所有端口加入组播转发表项中,进行VLAN内广播,这样,先前点播的用户终端自然会在发起第一次请求报文后即时收到组播流,而当有端口再加入该组播组时,将该端口添加到组播组表项中,并将组播转发表项中的其他未请求加入该组播组的端口从该组播转发表项删除。
该二层组播流转发方法如图3所示,包括步骤s301、二层组播设备侦听到用户终端向三层网络设备发送的加入组播组的IGMP报告报文;步骤s302、二层组播设备判断该组播组的组播组表项和组播转发表项是否已经建立,如果已经建立则进行步骤s311,否则进行步骤s303;步骤s303、二层组播设备接收三层网络设备发送的组播数据流;步骤s304、二层组播设备根据该数据流的组播组地址,建立组播组表项,该组播组表项的成员端口为空;步骤s305、二层组播设备根据发送该数据流的组播组IP地址(二层设备支持IP转发)或者MAC地址(二层设备只支持MAC转发),建立组播转发表项,该组播转发表项的转发目的端口为空;
步骤s306、二层组播设备将VLAN内所有端口加入组播转发表项中,进行VLAN内广播,此时第一个用户终端即可收到点播的组播流;步骤s307、系统设定的最长广播时间内无端口加入该组播时,进行步骤s308,否则进行步骤s309;该系统设定的最长广播时间为上游设备的IGMP通用查询的间隔时间(默认为125秒);步骤s308、删除该组播转发表项中的所有未请求加入该组播组的端口并结束;步骤s309、将新加入的端口集加入组播组表项,并将组播转发表项中的除新加入的端口集之外的其他端口删除;步骤s310、保持向新加入的端口集发送组播流并结束;步骤s311、二层组播设备将该用户终端端口添加到已存在的组播组表项的成员端口集与组播转发表项的转发目的端口集中并结束。
方法(2)二层组播设备在从端口收到IGMP报告报文或MLD报告报文时,将加入的组播组与端口记录在高速缓冲区中,当二层组播设备根据从三层网络设备收到的组播流、建立组播组表项和组播转发表项时,将高速缓冲区中记录的端口加入该组播组表项和组播转发表项中,组播组就会向先前发送IGMP报告报文或MLD报告报文的端口转发组播数据流。
该方法涉及到高速缓冲区中组播组与端口信息的建立、更新、读取、删除等操作,而在高速缓冲区中记录的信息只包括少量的必要信息,其信息量与正常建立组播组和组播转发表项的信息量相比,操作时需要的资源要少的多,因此不会对系统的运行造成很大负担,不会影响系统的性能。
该二层组播流转发方法如图4所示,具体包括步骤s401、二层组播设备侦听到用户终端向三层网络设备发送的加入组播组的IGMP报告报文;步骤s402、二层组播设备判断该组播组的组播组表项和组播转发表项是否已经建立,如果已经建立则进行步骤s410,否则进行步骤s403;步骤s403、二层组播设备将发送该报告报文的端口和该报告报文要加入的组播组存储到二层组播设备的高速缓冲区中;步骤s404、二层组播设备接收三层网络设备发送的组播数据流;步骤s405、二层组播设备根据该组播数据流的组播组地址,建立组播组表项,该组播组表项的成员端口为空;步骤s406、二层组播设备根据该接收到的组播数据流的组播组IP地址(二层设备支持IP转发)或者MAC地址(二层设备只支持MAC转发),建立组播转发表项,该组播转发表项的转发目的端口为空;步骤s407、二层组播设备读取高速缓冲区中存储的端口与组播组信息;步骤s408、二层组播设备将端口添加到与该端口的组播组相匹配的组播组表项与组播转发表项中;步骤s409、二层组播设备向该端口发送组播数据流并结束;步骤s410、二层组播设备将该用户终端端口添加到已存在的组播组表项的成员端口集与组播转发表项的转发目的端口集中并结束。
采用如图2所示、步骤s201~步骤s206所述方法实现本发明时,在二层组播设备转发三层网络设备下发的查询报文时,对于通用查询报文的处理,与现有技术一致,要求二层组播设备将通用查询报文向VLAN中的所有端口转发。
对于特定组查询报文(例如三层网络设备在需要查询特定组播组是否存在成员、或收到某一端口的离开报文、或某一端口的老化时间定时器超时等)的处理,按照现有技术规定,只需要向成员端口转发即可。但由于在本发明中,二层组播设备在组播组的组播数据流到来之前不会建立该组播组的组播组表项和组播转发表项,以及在组播数据流刚到来时组播组表项和组播转发表项的端口为空,因此在三层网络设备要求向特定成员端口发送特定组查询报文时,二层组播设备无法判断哪些端口是成员端口。为了解决该问题,在本发明中,为了让所有成员端口接收到特定组查询报文,二层组播设备将特定组查询报文向VLAN内所有端口转发。
本发明中,二层组播设备对三层网络设备发送的IGMP特定组查询报文的具体处理流程如图5所示,包括步骤步骤s501、二层组播设备接收三层网络设备发送的IGMP特定组查询报文;
步骤s502、二层组播设备发现组播组表项和组播转发表项尚未建立或组播组表项的成员端口和组播转发表项中的转发目的端口为空;步骤s503、二层组播设备将IGMP特定组查询报文向VLAN内所有端口发送并结束。
采用如图2所示、步骤s201~步骤s206所述方法实现本发明时,当在组播组表项和组播转发表项建立前、以及组播组表项和组播转发表项中的端口为空时,如果此时二层组播设备收到VLAN内用户终端发送的IGMP离开报文或MLD离开报文(即多播侦听已完成报文),在这种情况下,二层组播设备在接收到来自上述这些用户终端发送的离开报文时,为了能够让三层网络设备正确维护三层组播组地址转发表,需要将离开报文向三层网络设备发送。除此之外,由于在二层组播设备上的组播组表项和组播转发表项不存在或端口集中不包括上述这些用户终端端口,因此二层组播设备不需要进行其他处理。
本发明中,二层组播设备对用户终端端口发送的IGMP离开报文的处理流程如图6所示,包括步骤步骤s601、二层组播设备接收用户终端发送的IGMP离开报文;步骤s602、二层组播设备将该IGMP离开报文向三层网络设备转发;步骤s603、二层组播设备判断组播组表项和组播转发表项是否已经建立,若已经建立则进行步骤s604,否则不进行任何处理并结束;步骤s604、二层组播设备判断组播组表项的成员端口集和组播转发表项中的转发目的端口集中是否包括该用户终端端口,如果包括则进行步骤s605,否则不进行任何处理并结束;步骤s605、按照现有技术中对离开报文的处理要求,向发送IGMP离开报文的端口发送IGMP特定组查询报文,对该用户终端是否离开进行确认;步骤s606、二层组播设备判断该用户终端端口在系统设定的离开确认时间内是否响应,如果有响应则不作任何处理并结束,否则进行步骤s607;步骤s607、二层组播设备将该用户终端端口从组播组表项和组播转发表项的端口集中删除并结束。
本发明方案下的组播组和组播转发表项的刷新机制与现有实现方式相比,没有本质区别。区别仅在于在本发明中,组播组表项和组播转发表项在建立后,对组播组表项中成员端口和组播转发表项中的转发目的端口的刷新由二层组播设备根据用户终端端口发送的加入报文或离开报文进行维护,而组播组表项的刷新则是由组播数据流触发实现。
本发明方案下的组播组和组播转发表项的删除本发明中,在组播组表项和组播转发表项建立后,当在设定时间内没有检测到组播组的数据流经过时,二层组播设备将删除该组播组的组播组表项与组播转发表项。这与现有技术中二层组播设备在组播组表项中的全部成员端口离开后、立即将组播组的组播组表项与组播转发表项删除的过程不同。
本发明中二层组播设备定时检测组播组表项和组播转发表项、删除该组播组的组播组表项与组播转发表项的核心思想如图7所示,包括步骤步骤s701、二层组播设备定时检测组播组表项和组播转发表项中的端口是否为空,若为空,进行步骤s702;不为空时,二层组播设备不进行任何处理并结束;步骤s702、二层组播设备判断系统的一个等待周期内,是否有组播组的组播流从二层组播设备经过;若没有则进行步骤s703,否则不进行任何操作并结束;步骤s703、二层组播设备删除该组播组的组播组表项与组播转发表项并结束。
具体而言,本发明中,二层组播设备在用户终端离开后,检测组播流并删除该组播组的组播组表项与组播转发表项的处理流程如图8所示,包括步骤步骤s801、二层组播设备接收到用户终端发送IGMP离开报文;步骤s802、二层组播将该IGMP离开报文向三层网络设备发送;步骤s803、二层组播设备向发送IGMP离开报文的端口发送IGMP特定组查询报文,对该用户终端是否离开进行确认;步骤s804、二层组播设备判断该用户终端端口在系统设定的离开确认时间内是否响应,如果有响应则不作任何处理并结束,否则进行步骤s805;
步骤s805、将该用户终端端口从组播组表项和组播转发表项中删除;步骤s806、二层组播设备判断是否组播组中所有成员都已离开,如果未都离开则不做任何处理并结束,否则进行步骤s807;步骤s807、二层组播设备判断经过系统的一个等待周期内是否有组播流经过,如果有则不做任何处理并结束,否则进行步骤s808;步骤s808、二层组播设备删除组播组表项与组播转发表项并结束。
另外一种情况下,为了节约二层组播设备的软硬件资源,在因某种原因而导致三层网络设备发送的组播流中断的情况下,若二层组播设备在经过系统的一个等待周期后仍未发现该组播流经过,即使组播组表项和组播转发表项中的端口集不为空,二层组播设备仍将删除该组播组的组播组表项和组播转发表项。
此情况下的二层组播设备删除该组播组的组播组表项与组播转发表项的处理流程如图9所示,包括步骤步骤s901、二层组播设备判断系统的一个等待周期内,是否有组播组的组播流从二层组播设备经过;若有则进行步骤s902,否则不进行任何操作并结束。
步骤s902、二层组播设备删除该组播组的组播组表项与组播转发表项并结束。
本发明还公开了一种二层组播设备,如图10所示,该二层组播设备10包括组播信息存储单元101、组播信息控制单元102、组播报文控制单元103、定时器单元104、三层网络设备侧接口105和用户终端侧接口106。
其中,组播信息存储单元101存储组播组表项和组播转发表项。
组播信息控制单元102管理组播组表项和组播转发表项的建立、和/或修改、和/或删除,其中组播组表项和组播转发表项的建立由从三层网络设备接收到的组播流触发;该单元进一步包括组播组表项成员端口控制子单元1021,在接收到组播流时建立组播组表项,在所有端口中选择组播组的成员端口并对组播组表项进行相应的修改、和/或删除;以及组播转发表项转发端口控制子单元1022,在接收到组播流时建立组播转发表项,并对组播转发表项中的转发目的端口进行相应修改、和/或删除。
组播报文控制单元103,根据组播信息控制单元维护的组播组表项和组播转发表项,控制用户终端与三层网络设备间的报告报文、和/或查询报文、和/或离开报文的转发。定时器单元104用于组播数据流转发过程中的记时。三层网络设备侧接口105和用户终端侧接口106分别用于该二层组播设备与三层网络设备间、该二层组播设备与用户终端间的报文和信息的交互。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
权利要求
1.一种二层组播流转发方法,其特征在于,包括以下步骤A、二层组播设备侦听到用户终端向三层网络设备发送的加入组播组的报告报文时,判断所述组播组的组播组表项和组播转发表项是否存在,不存在时,进行步骤B;B、所述二层组播设备接收所述组播组的数据流,并根据所述数据流建立组播组表项和组播转发表项。
2.如权利要求1所述二层组播流转发方法,其特征在于,所述步骤B中的组播组表项是根据所述组播数据流的目的IP地址建立的,组播转发表项则是根据所述组播数据流的目的IP或MAC地址建立。
3.如权利要求1所述二层组播流转发方法,其特征在于,所述步骤B中建立的组播组表项和/或组播转发表项的端口为空。
4.如权利要求1所述二层组播流转发方法,其特征在于,如果是第一个用户终端首次发起加入组播组时,则所述步骤B之后还包括所述二层组播设备将虚拟局域网内所有端口加入组播转发表项,将所述组播组的数据流进行广播;所述二层组播设备判断在设定的时间内是否有用户终端端口集加入,有则所述广播停止,在组播组表项和组播转发表项中只保留所述加入的端口集,并保持向所述端口集发送所述组播组的数据流;否则将所述组播转发表项中的转发端口集删除。
5.如权利要求1所述二层组播流转发方法,其特征在于,如果是第一个用户终端首次发起加入组播组时,则所述步骤B之前还可以包括所述二层组播设备将所述报告报文中的组播组和端口信息存储在高速缓冲区中;所述步骤B之后还包括所述二层组播设备读取所述高速缓冲区中的所述组播组和端口信息,将端口加入到所述组播组的组播组表项和组播转发表项中,并将所述组播组的数据流向所述端口发送。
6.如权利要求1所述二层组播流转发方法,其特征在于,所述二层组播设备接收到三层网络设备发送的特定组查询报文时,若存在所述组播组表项和组播转发表项尚未建立、或所述组播转发表项中的端口为空的情况,所述二层组播设备将所述特定组查询报文向所有用户终端端口发送。
7.如权利要求1所述二层组播流转发方法,其特征在于,所述二层组播设备接收到用户终端发送的离开报文时,若存在所述组播组表项和组播转发表项尚未建立、或所述用户终端端口不在所述组播转发表项中的端口集的情况,所述二层组播设备将所述离开报文向三层网络设备发送。
8.如权利要求7所述二层组播流转发方法,其特征在于,所述二层组播设备在设定时间内没有检测到所述组播组的数据流经过时,将所述组播组表项和组播转发表项删除。
9.一种二层组播设备,其特征在于,包括组播信息控制单元和组播报文控制单元;所述组播信息控制单元,在接收到组播流时建立组播组表项和组播转发表项,并维护所述组播组表项和组播转发表项的修改、和/或删除;所述组播报文控制单元,根据所述组播信息控制单元维护的组播组表项和组播转发表项控制用户终端与三层网络设备间报文的转发。
10.如权利要求9所述二层组播设备,其特征在于,所述组播信息控制单元进一步包括组播组表项成员端口控制子单元和组播转发表项转发端口控制子单元;所述组播组表项成员端口控制子单元,在接收到组播流时建立组播组表项,在所有端口中选择组播组的成员端口并对组播组表项进行相应的修改、和/或删除;所述组播转发表项转发端口控制子单元,在接收到组播流时建立组播转发表项,并对组播转发表项中的转发端口进行相应的修改、和/或删除。
全文摘要
本发明公开了一种二层组播流的转发方法,包括以下步骤A.二层组播设备侦听到用户终端向三层网络设备发送的加入组播组的报告报文时,判断所述组播组的组播组表项和组播转发表项是否存在,不存在时,进行步骤B;B.所述二层组播设备接收所述组播组的数据流,并根据所述数据流建立组播组表项和组播转发表项。本发明还公开了一种二层组播设备,包括组播信息控制单元和组播报文控制单元。本发明解决了用户反复或轮流点播组播组对组播设备硬件和软件造成的冲击,降低了二层组播设备资源的占用率,同时提高了二层组播设备软件硬件资源的利用率,优化了二层组播设备的处理性能。
文档编号H04L12/56GK1980246SQ20061016210
公开日2007年6月13日 申请日期2006年12月7日 优先权日2006年12月7日
发明者哈达 申请人:杭州华为三康技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1