自动识别组播代理设备接口类型的方法和装置的制作方法

文档序号:7971105阅读:319来源:国知局
专利名称:自动识别组播代理设备接口类型的方法和装置的制作方法
技术领域
本发明涉及网络通讯领域,特别涉及一种自动识别组播代理设备接口类型的方法和装置。
背景技术
随着网络和数据业务的发展,出现了许多新的宽带应用业务,如VoIP(Voice over InternetProtocol,IP网络语音)、IPTV(Internet Protocol Television,交互式网络电视)、视频会议、VOD(Video On Demand,视频点播)和多媒体远程教育等,这些应用带来了带宽的急剧消耗和网络拥挤等问题。为了解决这些问题,人们提出了IP组播技术方案。相较其他技术而言,IP组播技术拥有独特的网络主干带宽,不需要和用户数量的增长成正比等特点,使其成为电信运营商不增加主干网成本,开展新业务的首选技术。
组播(Multicast)相对于广播(Broadcast)和单播(Unicast)而言,是点到多点投递或者多点到多点投递。组播的基本思想是多个接收者可以同时接收相同组播源所发出的相同数据的一个拷贝。如图1所示,接收者1至接收者4可以同时接收同一个服务器所发出的数据,这就是组播。
组播协议根据作用范围分为主机和路由器之间的协议,即IGMP(Internet GroupManagement Protocol,互联网组管理协议);以及路由器和路由器之间协议,主要是各种路由协议。另外,为了有效抑制组播数据在主机和路由器之间的二层网络中的扩散,引入了组播侦听协议(IGMP Snooping)和组播代理协议(IGMP Proxy)等二层组播协议。通过IGMP和二层组播协议,使用户的主机可以通过IGMP协议报文和上层组播路由器之间进行通信,实现用户加入或离开组播组的功能,以及路由器对组播组的查询和维护等功能。
一般来说,应用组播代理协议的组播代理设备既可以是二层交换机,也可以是低端路由器。组播代理协议将组播代理设备的接口(通常是设备端口)设置成两种类型上行接口和下行接口。上行接口又称为主机接口,是指组播代理设备上与路由器相连的端口,组播代理设备在上行接口上运行IGMP主机功能。下行接口又称为路由器接口,是指组播代理设备上与主机相连的端口,组播代理设备在下行接口上运行IGMP路由器功能。
当与上行接口相连的路由器需要查询和维护其下联的组播组成员关系时,会发送IGMP查询报文给组播代理设备,组播代理设备接收到该IGMP查询报文后,通过组播代理协议将所有组播组的IGMP成员报告发送到相连的路由器上。上行接口不仅会根据组播组成员数据库,转发接收到的组播数据包到相连的路由器;而且在某个主机端口加入或离开某个组播组时,会根据组播组成员数据库的变化,主动发送主机加入或离开组播的协议报文到相连的路由器。
组播代理设备在下行接口上进行组播组成员的登记、查询和删除工作,维护组播组成员数据库;接收成员报告,建立或修改组播组成员表;主动发送查询报文,查询主机是否离开已经加入的组;依据登记的组播组成员数据库向上行和下行转发接收到的组播数据包。
组播代理协议通常应用在简单的树拓扑网络中,如图2所示。在这种场景下,需要手工配置组播代理设备的接口,指定上行接口和下行接口。如指定组播代理设备A的p1端口为上行接口,它指向树的根节点,即上联到组播路由器;指定组播代理设备A的p2端口和p3端口为下行接口,它们背离根节点,下联组播代理设备B和C。组播代理设备B和C通过上行接口上联组播代理设备A,通过下行接口下联用户主机。
现有组播代理协议对于作为查询器的组播路由器发来的查询报文作如下处理首先判断收到查询报文的接口类型是上行接口还是下行接口,如果是上行接口,则检索组播代理设备上的有效组播组列表,并针对每个组播组向上游查询器发送组成员报告报文;如果是下行接口,则进行查询器选举,并判断本组播代理设备是否被选举为查询器,如果被选举为查询器,则在组播代理设备上运行查询器功能,如果没有被选举为查询器,则在组播代理设备上运行非查询器功能。
当把现有的组播代理协议应用在环形拓扑网络中时,需要在环形拓扑网络上启动生成树协议,把环形拓扑从逻辑上变成一个树形拓扑,这样即使在物理上网络为环形,通过生成树协议会把某个物理端口阻塞掉,在这个端口上不再发送和接收数据报文。因此报文不会在环上不停地传送,从而避免了网络风暴的情况发生。如图3所示,其中组播代理设备B和C的上行接口p1均为根端口,即根据生成树协议最终形成的端口状态为指向根节点,组播代理设备C的下行接口p2为阻塞端口,即该端口已经被生成树协议阻塞了,不再接收数据报文。
在因为网络链路更改或者设备配置更改而导致拓扑结构随之改变的情况下,需要同时修改组播代理协议的上行接口配置,使组播代理设备始终连向树的根节点。如图4所示,由于组播代理设备C的p1端口所连的网线已经断掉,该端口不再和路由器相连,因此不能再接收数据报文了。为了使组播代理设备C仍然能接收组播数据报文,且报告组播成员关系报文给路由器,需要把原上行接口p1改为下行接口,原下行接口p2改为上行接口。
现有组播代理协议的缺点如下1、组播代理设备的接口类型无法自动识别,需要手工配置,功能局限性较大。而且当与上行路由器所连的接口更改之后,组播代理设备的接口类型也无法自动识别。
2、接口类型无法随网络拓扑结构的改变而自动改变,需要手工更改组播代理协议的上行接口配置,不仅增加了网络管理员的工作量,使设备维护成本升高,而且还要承担更改配置可能带来的风险。
3、在更改配置之前,由于组播代理协议无法正常运行,组播业务会中断。此时组播代理设备不会接收到查询报文,因此也不会作组成员报告响应,不仅导致组播代理协议的上行设备无法及时获知组成员关系,而且还会影响用户正常接收组播数据包。

发明内容
为了解决现有技术中组播代理设备的接口类型无法自动识别等问题,本发明提供了一种自动识别组播代理设备接口类型的方法,具体包括步骤A组播代理设备的接口接收到能够将当前接口选择为上行接口的消息;步骤B所述组播代理设备将接收到所述消息的接口作为上行接口,将其他未收到所述消息的接口作为下行接口;步骤C如果所述上行接口在规定的时间内还未再次收到所述消息,则不再将该接口作为上行接口;否则继续将该接口作为上行接口。
本发明还提供了一种自动识别组播代理设备接口类型的装置,所述装置具体包括接收模块,用于通过组播代理设备的接口接收能够将当前接口选择为上行接口的消息;识别模块,用于将接收到所述消息的接口作为上行接口,将其他未收到所述消息的接口作为下行接口;还用于如果所述上行接口在规定的时间内还未再次收到所述消息,则不再将该接口作为上行接口;否则继续将该接口作为上行接口。
本发明的有益效果主要表现在1、根据收到的通知将指定的接口作为上行接口,其他接口作为下行接口,实现了组播代理设备接口类型的自动识别,无需手工配置上下行接口。
2、通过在组播代理协议中增加接口类型静态手工配置和自动识别的选择功能,增大了设备的灵活性。
3、当路由器所连的接口改变,或网络拓扑结构改变时,不仅不用更改组播代理协议的接口配置,而且组播业务和协议功能够迅速恢复。


图1是现有组播应用场景示意图;图2是现有组播代理协议应用于树形拓扑网络的示意图;图3是现有组播代理协议应用于环形拓扑网络的示意图;图4是环形拓扑结构改变后更改组播代理协议配置的示意图;图5是本发明自动识别组播代理设备接口类型的方法实施例的流程图;图6是本发明自动识别组播代理设备接口类型的装置实施例的结构图。
具体实施例方式
下面结合附图和具体实施例对本发明作进一步说明,但不作为对本发明的限定。
实施例一参见图5,本发明提供了一种自动识别组播代理设备接口类型的方法,首先执行以下步骤步骤101在组播代理协议中增加一选择功能,包括两个选项一个是采用静态手工配置的方式,指定上行接口和下行接口;另一个是采用接口类型自动识别的方式,用户可以根据需要选择其中的任一种;本实施例默认在启动组播代理协议的设备上,已经采用接口类型自动识别的方式;然后执行以下步骤步骤102组播代理设备的一个接口接收到组播路由器发来的IGMP查询报文(包括通用查询报文和特定组查询报文),组播代理设备通过IGMP查询报文能够识别出该接口所连的设备为路由器,即IGMP查询报文是由路由器发来的;步骤103判断是否在组播代理设备上启动了接口类型自动识别的方式,如果已经启动,则执行步骤105;否则执行步骤104;步骤104按照现有技术中静态手工配置接口类型的方式处理,然后结束;步骤105将接收IGMP查询报文的接口识别为上行接口,在该接口上运行IGMP主机功能;其他未收到IGMP查询报文的接口,则作为下行接口,在下行接口上运行IGMP路由器功能;步骤106在上行接口上按预设的时间启动一老化定时器,如5分钟;步骤107判断是否在预设的时间内,该上行接口还未再收到任何IGMP查询报文,如果是,则认为该上行接口已经失效,则不再将该接口作为上行接口;否则继续将该接口作为上行接口。
本实施例中的IGMP查询报文可以由采用其他类型但能够表明当前接口连接的设备为路由器的报文来替换,例如,PIM(Protocol Independent Multicast,独立组播协议)Hello(握手)报文,MOSPF(Multicast Extensions to Open Shortest Path First,组播扩展开放最短路径优先算法)Hello(握手)报文等。
本实施例中以接收到IGMP查询报文作为上行接口识别依据的方式,可以由以接收到将组播代理设备的其他协议选择的具有唯一性的接口作为其上行接口的消息为识别依据的方式来替换。例如,当组播代理协议应用在环形拓扑网络中时,组播代理设备可以根据收到的消息,将生成树协议选择的根接口(根接口是唯一的)作为其上行接口。
当组播代理设备同时连接多个组播路由器时,有可能会有多个接口同时接收到路由器发来的报文,按上述方法组播代理设备将这些收到报文的接口都识别为上行接口,则组播代理设备就会存在多个上行接口。为了从这些上行接口中识别出一个上行接口,本实施例还需要增加下面的步骤在组播代理协议中建立上行接口列表,上行接口列表中包括根据收到的报文识别出来的所有上行接口;然后每个上行接口都将收到的报文转发给其他所有上行接口,即透传报文到组播代理设备所连的所有路由器上,使这些路由器自行选举出一个查询器,从而保证只有一个路由器作为主查询器发送报文,根据该报文识别出来的上行接口也只有一个。例如,上行接口列表中有5个上行接口,则其中每个上行接口除了要向下行接口转发报文外,还要向其他4个上行接口转发报文。
为了避免因转发报文使网络带宽被大量占用,在上述过程中,下行接口可以暂停主动发送组播查询报文,直到上行接口保持为只有一个时再恢复。
当拓扑结构改变引起接口使能状态改变时,通过上述方法组播代理协议可以智能地发现并改变接口类型,来适应新的拓扑结构。
当组播代理设备没有连接任何组播路由器,或者组播代理设备的所有接口都失效时,不会有任何接口收到报文,即未识别出任何上行接口,则可采用静态配置的上行接口或者其他默认接口(厂家在设备上预先设置的)作为上行接口的过渡策略,以减少组播转发表项重新建立的时间,保障下行接口的组播业务快速恢复,即下行接口能够依据组播转发表正常转发组播数据包给用户。进一步地,也可以对该过渡上行接口作定时器老化处理。
实施例二参见图6,本发明还提供了一种自动识别组播代理设备接口类型的装置,装置具体包括接收模块,用于通过组播代理设备的接口接收能够将当前接口作为上行接口的消息;识别模块,用于将接收到消息的接口作为上行接口,将其他未收到消息的接口作为下行接口;还用于如果上行接口在规定的时间内还未再次收到消息,则不再将该接口作为上行接口;否则继续将该接口作为上行接口。
当组播代理设备连接多个组播路由器时,上述装置还包括多上行接口处理模块,用于当组播代理设备连接多个组播路由器时,在组播代理协议中建立上行接口列表,上行接口列表包括根据收到的消息识别出来的所有上行接口;并使每个上行接口都将收到的消息转发给其他所有上行接口。
当组播代理设备没有连接组播路由器,或所有接口都失效时,上述装置还包括异常处理模块,用于当组播代理设备没有连接组播路由器,或所有接口都失效时,将事先静态配置的上行接口或默认的接口作为上行接口。
以上所述的实施例,只是本发明较优选的具体实施方式
的几种,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。
权利要求
1.一种自动识别组播代理设备接口类型的方法,其特征在于,所述方法具体包括步骤A组播代理设备的接口接收到能够将当前接口选择为上行接口的消息;步骤B所述组播代理设备将接收到所述消息的接口作为上行接口,将其他未收到所述消息的接口作为下行接口;步骤C如果所述上行接口在规定的时间内还未再次收到所述消息,则不再将该接口作为上行接口;否则继续将该接口作为上行接口。
2.根据权利要求1所述的自动识别组播代理设备接口类型的方法,其特征在于,通过所述消息所述组播代理设备能够识别出所述接口所连的设备为路由器。
3.根据权利要求2所述的自动识别组播代理设备接口类型的方法,其特征在于,所述消息包括IGMP查询报文、PIM握手报文和MOSPF握手报文。
4.根据权利要求2所述的自动识别组播代理设备接口类型的方法,其特征在于,当所述组播代理设备连接多个组播路由器时,所述方法还包括在组播代理协议中建立上行接口列表,所述上行接口列表包括根据收到的消息识别出来的所有上行接口;每个上行接口都将收到的消息转发给其他所有上行接口。
5.根据权利要求1所述的自动识别组播代理设备接口类型的方法,其特征在于,所述消息具体为将所述组播代理设备的其他协议选择的具有唯一性的接口作为上行接口。
6.根据权利要求5所述的自动识别组播代理设备接口类型的方法,其特征在于,所述唯一性的接口为生成树协议选择的根接口。
7.根据权利要求1所述的自动识别组播代理设备接口类型的方法,其特征在于,当所述组播代理设备没有连接组播路由器,或所有接口都失效时,将事先静态配置的上行接口或默认的接口作为上行接口。
8.一种自动识别组播代理设备接口类型的装置,其特征在于,所述装置具体包括接收模块,用于通过组播代理设备的接口接收能够将当前接口选择为上行接口的消息;识别模块,用于将接收到所述消息的接口作为上行接口,将其他未收到所述消息的接口作为下行接口;还用于如果所述上行接口在规定的时间内还未再次收到所述消息,则不再将该接口作为上行接口;否则继续将该接口作为上行接口。
9.根据权利要求8所述的自动识别组播代理设备接口类型的装置,其特征在于,所述装置还包括多上行接口处理模块,用于当所述组播代理设备连接多个组播路由器时,在组播代理协议中建立上行接口列表,所述上行接口列表包括根据收到的消息识别出来的所有上行接口;并使每个上行接口都将收到的消息转发给其他所有上行接口。
10.根据权利要求8所述的自动识别组播代理设备接口类型的装置,其特征在于,所述装置还包括异常处理模块,用于当所述组播代理设备没有连接组播路由器,或所有接口都失效时,将事先静态配置的上行接口或默认的接口作为上行接口。
全文摘要
本发明提供了一种自动识别组播代理设备接口类型的方法和装置,属于网络通讯领域。为了解决现有技术中组播代理设备的接口类型无法自动识别等问题,本发明提供了一种自动识别组播代理设备接口类型的方法,包括组播代理设备的接口接收到消息;将接收到消息的接口作为上行接口,其他接口作为下行接口;在规定的时间内还未再次收到消息时,该接口不再作为上行接口,否则继续作为上行接口。本发明还提供了一种自动识别组播代理设备。接口类型的装置,包括接收模块和识别模块。本发明实现了组播代理设备接口类型的自动识别,无需手工配置上下行接口,增大了设备的灵活性,当路由器所连的接口改变,或网络拓扑结构改变时,组播业务和协议功能能够迅速恢复。
文档编号H04L29/10GK1988464SQ20061014558
公开日2007年6月27日 申请日期2006年11月23日 优先权日2006年11月23日
发明者王志文 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1