一种优化组管理协议的方法、服务器及系统的制作方法

文档序号:7961240阅读:87来源:国知局
专利名称:一种优化组管理协议的方法、服务器及系统的制作方法
技术领域
本发明涉及组播业务,特别是涉及一种优化组管理协议的方法、服务器及系统。
背景技术
IGMP协议是IPV4组播的组管理协议,它运行于主机和与主机直接相连的组播路由器之间。主机通过此协议告诉本地路由器希望加入某个特定的组播组,同时路由器通过此协议周期性地查询局域网内某个已知组的成员是否处于活动状态(即该网段是否仍有属于某个组播组的成员),实现所连网络组成员关系的收集与维护。
IGMP有三个版本,IGMPv1[RFC1112]中定义了基本的组成员查询和报告过程;目前通用的是IGMPv2[RFC2236],IGMPv2添加了组成员快速离开的机制。IGMPv3[RFC3376]中主要增加了源过滤的功能,即组成员可以指定接收或指定不接收某些组播源的报文。
组播侦听发现协议MLD为IGMP的IPV6扩展,其实现的功能与IGMP是相同的。MLD有两个版本,MLDV1与MLDV2,分别与IGMPV2和IGMPV3对应。
在IGMPV3/MLDV2中,为了支持对特定源的过滤功能,协议定义了两种过滤模式INCLUDE(包含)和EXCLUDE(排除)模式。在INCLUDE模式中,组播接收者“只”从特定的组播源接收报文。在EXCLUDE模式中,接收者只接收“除了”特定源之外的组播报文。所述特定源是用源列表来表示的。
IGMPV3/MLDV2中定义的源过滤功能,提高了组成员的表达能力。接收者可以自行选择从某些源或不从某些源接收组播报文。在IGMPV3中,源过滤功能在主机系统中是通过如下操作实现的IPMulticastListen(socket,interface,multicast-address,filter-mode,source-list) (1)上式中,Socket为IPV4系统内与不同请求实体(某个高层协议或应用程序)相关的参数;Interface为网络接口的本地标识,该接口可为物理或逻辑的。multicast-address为该请求所属的组地址。filter-mode为INCLUDE或EXCLUDE。source-list为组播接收者希望接收(INCLUDE模式下)和不希望接收(EXCLUDE模式下)的组播源的IP单播地址列表。
在MLDV2中具有相似的表达方式IPv6MulticastListen(socket,interface,IPv6 multicast address,filter mode,source list) (2)式(2)与式(1)主要的区别在于组播地址和源列表是以IPV6地址的形式表述。为方便起见,本文中相关技术方案的阐述以IGMPV3为例。由于MLDV2中实现的源过滤功能与IGMPV3是等同的,不在这里做特别说明。
IGMP为非对称协议,组成员(通常位于主机上,有时也在路由器上)和组播路由器的协议行为是不同的。IGMPV3主机系统在每个Socket和每个接口上保存组播组接收的状态,以实现源过滤模式的支持。其中socket的状态为每个应用所表达的组接收的愿望,即该应用希望在什么接口上,以何种过滤模式,过滤哪些组播源列表,加入哪个组播组。而接口的组接收状态为该接口上所有socket的组接收状态的联合。主机可以根据接口上的组接收状态及其变化,生成IGMPV3状态报告报文,以及响应相连路由器的组成员查询。
支持IGMPV3的路由器也需要保存所连网络的组接收状态,其概念模型为(multicast address,group timer,filter-mode,(source records));(3)其中multicast address为该状态记录对应的组地址。fiIter-mode为路由器自身定义的过滤模式,只要路由器收到EXCLUDE模式的报告报文,将该过滤模式源记录为EXCLUDE。组定时器group timer只在EXCLUDE模式下使用,表示该组的过滤模式从EXCLUDE转换为INCLUDE的超时时间。source record为源记录,它具有如下形式(Source address,source timer)。Source address为主机希望接收的组播源的源地址,source timer为其超时定时器。
IGMPV3和MLDV2虽然增加了对源过滤列表的支持,增加了加入组的灵活性,特别是通过定义INCLUDE模式,可以实现对源特定组播(PIM-SSM)路由协议的支持,但是过滤模式的引入也有一定的缺点1、模式设定与转换机制复杂路由器需根据邻接系统组接收状态的变化进行模式的设定和转换,这些操作与源/组定时器的状态紧密相关,需要复杂的判决逻辑。协议实现起来繁琐。
2、EXCLUDE模式的实现机制并不能完全满足实际应用的需求一方面,在组播应用系统中,希望不从某个(或某些)源接收组播报文的情况是比较少见的。另一方面,即使存在这样的应用场景,如果与路由器某个接口相连的主机希望不接收某个源的组播数据,那么存在很大的可能性,该网络中的其他主机希望接收该组播源的数据,在这种情况下,路由器也必须将该源的报文转发过来,因而EXLUDE模式起的作用是非常有限的。

发明内容
本发明提供一种优化组管理协议的方法、服务器及系统,用以解决现有协议的过滤模式设定和转换机制较复杂的问题。
本发明方法包括下列步骤组成员向组播路由器发送成员报告;组播路由器收到成员报告后,判断该报告中是否包含排除模式EXCLUDE的非空源列表,若是,则按照非特定源的加入更新路由器内部的相应状态;否则,以该报告的内容直接完成路由器内部相应状态的更新。
其中,组成员向组播路由器发送包含非空源列表的包含模式INCLUDE的成员报告,以完成特定源的加入操作。
其中,组播路由器收到非特定源的加入报告,则按照INCLUDE模式处理。
进一步,组成员向组播路由器发送包含任意源列表的INCLUDE模式的成员报告,以完成非特定源的加入操作。组成员侧的非特定源加入操作的接口模型中,以INCLUDE,ANY表示包含任意源列表。
进一步,组成员向组播路由器发送包含空源列表的EXCLUDE模式的成员报告,以完成非特定源的加入操作。组成员侧的非特定源加入操作的接口模型中,以EXCLUDE,NULL表示排除空源列表。
若组播路由器收到包含非空源列表的EXCLUDE模式的成员报告,则按照收到包含任意源列表的INCLUDE模式的成员报告或收到包含空源列表的EXCLUDE模式的成员报告处理。
本发明的组播路由器,用于实现组成员关系的收集与维护,其还包括判断模块,用于判断收到成员报告是否包含排除模式EXCLUDE的非空源列表,若是,则触发转换模块;否则,触发识别模块;转换模块,用于将收到的成员报告转换为非特定源的加入报告,并交由识别模块处理;识别模块,用于识别非特定源的加入报告,并完成路由器内部相应状态的更新。
所述识别模块将包含任意源列表的INCLUDE模式的成员报告,以及包含空源列表的EXCLUDE模式的成员报告认定为非特定源的加入报告。
所述转换模块将包含非空源列表的EXCLUDE模式的成员报告转换为可被所述识别模块认定为非特定源加入的报告。
本发明的组播系统,包括若干组成员;以及组播路由器,其用于以INCLUDE过滤模式处理组成员发来的EXCLUDE模式的成员报告和INCLUDE模式的成员报告。
所述组播路由器包括下列子模块判断模块,用于判断收到成员报告是否包含排除模式EXCLUDE的非空源列表,若是,则触发转换模块;否则,触发识别模块;转换模块,用于将收到的成员报告转换为非特定源的加入报告,并交由识别模块处理;识别模块,用于识别非特定源的加入报告,并完成路由器内部相应状态的更新。
所述识别模块将包含任意源列表的INCLUDE模式的成员报告,以及包含空源列表的EXCLUDE模式的成员报告认定为非特定源的加入报告。
所述转换模块将包含非空源列表的EXCLUDE模式的成员报告转换为可被所述识别模块认定为非特定源加入的报告。
本发明有益效果如下由于现有技术定义了两种源过滤模式,需要主机和路由器维护复杂的过滤模式和处理机制。考虑到EXCLUDE过滤模式较少的应用场景和有限的过滤功能,本发明屏蔽原EXCLUDE过滤模式所实现的过滤功能,在组播路由器收到成员报告后,判断该报告中是否包含EXCLUDE模式的非空源列表,若是,则按照非特定源的加入更新路由器内部的相应状态;否则(即收到包含非空源列表的INCLUDE模式的成员报告,包含任意源列表的INCLUDE模式的成员报告,或者包含空源列表的EXCLUDE模式的成员报告),以该报告的内容直接完成路由器内部相应状态的更新,而无需进行模式判定和转换。
通过本发明方法的实施,可以避免现有协议复杂的过滤模式转换和处理。
由于组播路由器收到成员报告后,对该报告的过滤模式和该报告包含的源列表的特性进行判断,而不是在屏蔽原EXCLUDE过滤模式后,一味的拒收EXCLUDE模式的包含非空源列表的报告;相应的在收到该种报告时,组播路由器按照非特定源的加入更新路由器内部的相应状态,从而兼容其它低版本组播管理协议。
由于本发明方法保留了有应用价值的INCLUDE模式源过滤功能,所以可支持SSM协议。
为了支撑本发明方法,本发明还提供了一种组播路由器,以及相应的组播系统。


图1为本发明的组播路由器结构示意图;图2为本发明组播系统结构示意图;图3为本发明方法步骤流程图。
具体实施例方式
为了简化现有协议(包括段不限于IGMPV3或MLDV2协议)的过滤模式设定和转换机制,本发明提供了一种组播路由器,其可实现现有的组成员关系的收集与维护功能,参见图1所示,其包括依次相连的判断模块、转换模块和识别模块,所述判断模块还直接与识别模块相连。
所述判断模块,用于判断收到成员报告是否包含排除模式EXCLUDE的非空源列表,若是,则触发转换模块;否则,触发识别模块。
所述转换模块,用于将包含非空源列表的EXCLUDE模式的成员报告转换为可被所述识别模块认定为非特定源加入的报告,并交由识别模块处理。
所述识别模块,用于识别非特定源的加入报告,并完成路由器内部相应状态的更新。本发明中,识别模块可将包含任意源列表的INCLUDE模式的成员报告,以及包含空源列表的EXCLUDE模式的成员报告认定为非特定源的加入报告。
对应上述组播路由器,本发明又提供了一种组播系统,参见图2所示,其包括本发明的组播路由器,以及与该组播路由器相连的若干个组成员。
应用上述组播路由器及系统,本发明提供了一种优化组管理协议的方法,参见图3所示,包括下列主要步骤S1、组成员向组播路由器发送成员报告。
根据现有技术,当组成员启动组播应用时,或者组成员收到组播路由器定时发来的查询报文时,组成员向组播路由器发送成员报告,以报告接口当前的组接收状态。
为了兼容低版本的协议,允许组成员向组播路由器发送INCLUDE过滤模式和EXCLUDE过滤模式的成员报告。
进一步,所述INCLUDE过滤模式的成员报告又可分为包含非空源列表的INCLUDE模式的成员报告,以及包含任意源列表的INCLUDE模式的成员报告。所述EXCLUDE过滤模式的成员报告又可分为包含非空源列表的EXCLUDE模式的成员报告,以及包含空源列表的EXCLUDE模式的成员报告。
S2、组播路由器收到成员报告后,判断该报告中是否包含EXCLUDE模式的非空源列表,若是,则转入步骤S3;否则,转入步骤S4。
组播路由器收到成员报告后,对该报告的过滤模式,以及其中的源列表特点进行判断,并相应转入步骤S3进行EXCLUDE模式的屏蔽处理,以体现本发明的有益效果,并实现对低版本协议的兼容。
或者,相应转入步骤S4,完成路由器内部相应状态的更新。
S3、按照非特定源的加入更新路由器内部的相应状态。
由于本发明对现有协议作了优化,屏蔽了应用场景较少,过滤效率不高的EXCLUDE过滤模式,所以当路由器收到EXCLUDE模式的报告时,不进行模式设定和超时转换等处理,而是将包含EXCLUDE模式的非空源列表的报告作为非特定源加入报告处理(具体处理方式参见步骤S4中的内容),即按照非特定源的加入更新路由器内部的相应状态。这样做不但避免了模式设定和超时转换,而且路由器在收到包含EXCLUDE模式的非空源列表的报告时,不会向组成员返回错误报文,从而兼容现有低版本的协议。
S4、以该报告的内容直接完成路由器内部相应状态的更新。
若组播路由器收到与现有协议相同的包含非空源列表的INCLUDE模式的成员报告,即组成员发起特定源的加入操作,则按照现有处理流程,直接以该非空源列表完成路由器内部相应状态的更新。
若组播路由器收到组成员发来的非特定源的加入报告,则按照INCLUDE模式处理。
其中,组成员可在非特定源加入操作的接口模型中,以(INCLUDE,ANY)表示包含任意源列表,并向组播路由器发送包含任意源列表的INCLUDE模式的成员报告;若组播路由器收到含有(INCLUDE,ANY)的INCLUDE模式的成员报告,则认定该报告为非特定源的加入报告,进而完成非特定源的加入操作。
或者,组成员可在非特定源加入操作的接口模型中,以(EXCLUDE,NULL)表示排除空源列表,并向组播路由器发送包含空源列表的EXCLUDE模式的成员报告;若组播路由器收到含有(EXCLUDE,NULL)的EXCLUDE模式的成员报告,则认定该报告为非特定源的加入报告,进而完成非特定源的加入操作。
至此本发明方法概述完毕。
结合上述概述的内容,以下描述按照本发明方法对现有协议优化后的相关信息的定义,以及具体操作的处理。
1、为非特定源的加入定义新的业务接口模型IpMulticastListen(socket,interface,multicast-address,INCLUDE,ANY);(4)式(4)中,IPMulticastListen表示IGMPV3协议接口模型,若为MLDV2协议,则IPMulticastListen可替换为IPv6MulticastListen;Socket表示系统内与不同请求实体相关的参数;Interface表示网络接口的本地标识;multicast-address表示请求所属的组地址;(INCLUDE,ANY)表示组播接收者希望接收的非特定源的IP单播地址列表。
IPMulticastListen(socket,interface,multicast-address,EXCLUDE,NULL)(5)式(5)中,IPMulticastListen表示IGMPV3协议接口模型,若为MLDV2协议,则IPMulticastListen可替换为IPv6MulticastListen;Socket表示系统内与不同请求实体相关的参数;Interface表示网络接口的本地标识;multicast-address表示请求所属的组地址;(EXCLUDE,NULL)表示非特定源的组的加入。
2、组成员报告报文中与模式相关的字段定义(以INCLUDE,ANY为例,EXCLUDE,NULL可类推)在IGMPV3/MLDV2中组成员报告中,组记录定义有六种类型[RFC3376],保留INCLUDE相关的三种类型NODE_IS_INCLUDE,ALLOW_NEW_SOURCES和BLOCK_OLD_SOURCES,下文分别以IS_IN,ALLOW和BLOCK表示。
3、组成员协议行为的重新定义(以INCLUDE,ANY为例,EXCLUDE,NULL可类推)a、主机接口状态变化的操作原协议中的主机状态转化规则表,在优化协议中参见表一

表一此时主机在生成报告时,封装NODE_IS_INCLUDE、ALLOW_NEW_SOURCES和BLOCK_OLD_SOURCES的报告类型。
b、主机在接收到查询报文之后的操作原协议主机侧为响应路由器的源-组查询报文设定一个组定时器,当该定时超时时,响应报告报文。组定时器超时时,主机需要将该组定时器所对应的源列表和接口相应组的源进行比较,决定向路由器报告的接口状态形式。优化协议的判定规则如表二所示

表二4、组播路由器协议行为(以INCLUDE,ANY为例,EXCLUDE,NULL可类推)a、路由器过滤模式IGMPV3/MLDV2路由器过滤模式定义是为了简化路由器内部的状态数目,具体操作为当收到一个源过滤模式EXCLUDE的报文时,路由器的过滤模式即设为EXCLUDE。如果不存在EXCLUCE的源,当group-timer超时时,路由器过滤模式转换为INCLUDE。
在优化协议中,由于路由器不进行模式设定和转换,而只采用INCLUDE过滤模式处理收到的成员报告,所以现有路由器侧的协议中的EXCLUDE模式没有存在的意义,因而取消路由器的模式定义,此时路由器的接收状态的概念模型为(multicast address,group timer,(source records));(6)式(6)中,multicast address为该状态记录对应的组地址;group timer用于判定与路由器相连的网络是否有非特定源的组接收状态;source records表示源记录。
b、定时器的相关操作在原协议中,接口的组定时器是在EXCLUDE模式下使用的,它表示了路由器从EXCLUDE过滤模式转换为INCLUDE模式的超时时间。路由器的源定时器为每个源记录维护。
在优化协议中,不使用组定时器标识EXCLUDE模式,而是采用组定时器表示一个非特定源的组。这时与组定时器相关的协议行为参见表三

表三c、源特定转发规则在优化协议中,当连接子网的组播路由器接收到一个组播报文时,需要根据IGMPV3/MLDV2的信息判定是否将所需的报文转发到子网上。具体的判定规则参见表四

表四d、接收到主机成员报告报文的操作原协议中,当接收到组记录之后,路由器需要更新组定时器与源定时器,并可能导致路由器的过滤模式发生变化。在优化协议中,相应的操作行为参见表五


表五其中GMI(Group Member Interval)为IGMPV3协议中定义的组成员关系超时定时器,MALI(Multicast Address Listening Interval)为GMI在MLDV2中的对应部分。
e、收到源列表变化记录的操作方法原协议在收到过滤模式变化和源列表变化的报文之后,会有一系列的处理和转换机制。在优化协议中,路由器不进行模式设定和转换,而只采用INCLUDE过滤模式处理收到的成员报告,即路由器只处理源列表变化记录报告,相应的操作行为参见表六

表六5、与其他版本的IGMPV3/MLDV2的兼容性处理(以INCLUDE,ANY为例,EXCLUDE,NULL可类推)在RFC3376和RFC3810中描述了IGMPV3/MLDV2与IGMPV2/IGMPV1/MLDV1的兼容方法。优化的IGMPV3/MLDV2与原IGMPV3/MLDV2的兼容原则是相同的。但由于模式定义的变化,需要引入一些特殊的处理。
a、与IGMPV1/IGMPV2/MLDV1之间的兼容处理,参见表七

表七b、与IGMPV3/MLDV2之间的兼容处理,参见表八

表八显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.一种优化组管理协议的方法,其特征在于,包括下列步骤组成员向组播路由器发送成员报告;组播路由器收到成员报告后,判断该报告中是否包含排除模式EXCLUDE的非空源列表,若是,则按照非特定源的加入更新路由器内部的相应状态;否则,以该报告的内容直接完成路由器内部相应状态的更新。
2.如权利要求1所述的方法,其特征在于,组成员向组播路由器发送包含非空源列表的包含模式INCLUDE的成员报告,以完成特定源的加入操作。
3.如权利要求1所述的方法,其特征在于,组播路由器收到非特定源的加入报告,则按照INCLUDE模式处理。
4.如权利要求3所述的方法,其特征在于,组成员向组播路由器发送包含任意源列表的INCLUDE模式的成员报告,以完成非特定源的加入操作。
5.如权利要求4所述的方法,其特征在于,组成员侧的非特定源加入操作的接口模型中,以INCLUDE,ANY表示包含任意源列表。
6.如权利要求3所述的方法,其特征在于,组成员向组播路由器发送包含空源列表的EXCLUDE模式的成员报告,以完成非特定源的加入操作。
7.如权利要求6所述的方法,其特征在于,组成员侧的非特定源加入操作的接口模型中,以EXCLUDE,NULL表示排除空源列表。
8.如权利要求3所述的方法,其特征在于,若组播路由器收到包含非空源列表的EXCLUDE模式的成员报告,则按照收到包含任意源列表的INCLUDE模式的成员报告或收到包含空源列表的EXCLUDE模式的成员报告处理。
9.如权利要求1至8任一项所述的方法,其特征在于,组成员启动组播应用时,或者组成员收到组播路由器定时发来的查询报文时,组成员向组播路由器发送成员报告,以报告接口当前的组接收状态。
10.一种组播路由器,用于实现组成员关系的收集与维护,其特征在于,所述组播路由器还包括判断模块,用于判断收到成员报告是否包含排除模式EXCLUDE的非空源列表,若是,则触发转换模块;否则,触发识别模块;转换模块,用于将收到的成员报告转换为非特定源的加入报告,并交由识别模块处理;识别模块,用于识别非特定源的加入报告,并完成路由器内部相应状态的更新。
11.如权利要求10所述的路由器,其特征在于,所述识别模块将包含任意源列表的INCLUDE模式的成员报告,以及包含空源列表的EXCLUDE模式的成员报告认定为非特定源的加入报告。
12.如权利要求11所述的路由器,其特征在于,所述转换模块将包含非空源列表的EXCLUDE模式的成员报告转换为可被所述识别模块认定为非特定源加入的报告。
13.一种组播系统,包括若干组成员,其特征在于,所述系统还包括组播路由器,用于以INCLUDE过滤模式处理组成员发来的EXCLUDE模式的成员报告和INCLUDE模式的成员报告。
14.如权利要求13所述的系统,其特征在于,所述组播路由器包括下列子模块判断模块,用于判断收到成员报告是否包含排除模式EXCLUDE的非空源列表,若是,则触发转换模块;否则,触发识别模块;转换模块,用于将收到的成员报告转换为非特定源的加入报告,并交由识别模块处理;识别模块,用于识别非特定源的加入报告,并完成路由器内部相应状态的更新。
15.如权利要求14所述的系统,其特征在于,所述识别模块将包含任意源列表的INCLUDE模式的成员报告,以及包含空源列表的EXCLUDE模式的成员报告认定为非特定源的加入报告。
16.如权利要求15所述的系统,其特征在于,所述转换模块将包含非空源列表的EXCLUDE模式的成员报告转换为可被所述识别模块认定为非特定源加入的报告。
全文摘要
本发明公开了一种优化组管理协议的方法、服务器及系统,用以解决现有协议的过滤模式设定和转换机制较复杂的问题。本发明方法包括下列步骤组成员向组播路由器发送成员报告;组播路由器收到成员报告后,判断该报告中是否包含排除模式EXCLUDE的非空源列表,若是,则按照非特定源的加入更新路由器内部的相应状态;否则,以该报告的内容直接完成路由器内部相应状态的更新。通过本发明方法的实施,可以避免现有协议复杂的过滤模式转换和处理。
文档编号H04L29/06GK101079728SQ200610080979
公开日2007年11月28日 申请日期2006年5月26日 优先权日2006年5月26日
发明者郭锋, 克力士纳睿智·辛·拉索, 苏海洋, 周小牛 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1