在一个多点广播网络中用于管理多点广播分组成员的系统、装置与方法

文档序号:6415645阅读:116来源:国知局
专利名称:在一个多点广播网络中用于管理多点广播分组成员的系统、装置与方法
技术领域
本发明一般地涉及各种通信系统并且,更具体地,涉及在一个多点广播网络中对多点广播小组成员的管理。
在今天的信息时代,人们在访问例如因特网那样的使用计算机网络业务的信息方面存在着日益增长的需求。某些类型的信息适合于被多个用户所使用,例如,新闻、金融信息以及运动会得分记录。这些类型的信息可以由一个单独的出品人以分组交换的形式通过计算机网络发送到大量的用户那里。
出品人向诸用户发送信息的一种典型的方法就是复制这些信息,并向每一个用户分发一份拷贝。然而,若存在大量的用户,则个别的传送可能要求出品人进行大量的处理,还需要占用大量的网络带宽。
出品人向诸用户发送信息的一种改进的方法就是借助于一种多点广播业务。多点广播业务允许出品人发送一段单独的报文,然后在适当的站点上由该网络复制这段报文,并将其送往作为一个多点广播小组的一个成员的每一个用户。在网络中典型地由路由器管理复制事宜,并且仅当有必要时才进行复制。为了方便起见,一个支持多点广播业务的路由器被称为一个多点广播路由器。在Semeria和Maufer合写的一份题为《IP多点广播路由介绍》的因特网草案中,可以找到关于IP多点广播的概述,该文作为参考文献已被收入本文。
为了支持多点广播业务,每一个多点广播路由器典型地支持至少一种多点广播路由协议,后者用于在网络中在各个多点广播路由器之间交换多点广播小组成员信息。目前存在着几种多点广播路由协议。多点广播路由协议的例子包括远程矢量多点广播路由协议(DVMRP),多点广播开放最短路径第一(MOSPF)。以及与协议无关的多点广播(PIM)。
除了支持多点广播路由协议以外,典型地,如同在因特网RFC1112(IGMP版本1)的附录1以及在Fenner所写的一份题为《因特网分组管理协议·版本2》(IGMP版本2)的因特网草案中所叙述的那样,每一种具有直接地连接的诸局域网(LANs)的多点广播路由器都将支持因特网分组管理协议(IGMP)。一个多点广播路由器使用IGMP去了解在其所属的诸物理网络中,那些多点广播小组拥有诸成员。多点广播路由器保持一个数据库,其中包括针对其每一个所属网络的多点广播小组各成员的一份列表,这里“多点广播小组成员”意味着在一个给定的所属网络上至少存在一个多点广播小组的一个成员。多点广播路由器并不保持一份来自其所属诸网络的全体小组成员的列表。为了方便起见,关于多点广播小组各成员的列表被称为“小组列表”。
IGMP被用于多点广播路由器及其直接地连接的各IP主机之间(即,处于支持IP协议的直接地连接的局域网上的各主计算机)。通过使用IGMP,各IP主机可以连结和分离各多点广播小组,并且多点广播路由器可以监测它的各IP主机的多点广播小组各成员。为了方便起见,直接地连接到一部IP主机的多点广播路由器称为本地路由器(从该IP主机的观点来看)。而在网络中的另一个路由器则称为远方路由器。
IGMP规定多种报文类型,这些报文类型可以在本地路由器以及各IP主机之间进行交换。本地路由器使用IGMP查询报文来为它的直接连接的IP主机确定多点广播小组成员。当一部未经请求的IP主机需要连接一个特定的多点广播小组以及响应于一段要求报告它在一个特定的多点广播小组内的继续有效的成员资格的IGMP查询报文时,就由该IP主机发出IGMP成员报告报文。一部IP主机使用IGMP离开报文使它自己明确地从一个多点广播小组中退出。为了方便起见,一部发出IGMP查询报文的装置(例如,本地路由器)被称为一个IGMP查询器,并且一部发出IGMP成员报告报文以及IGMP离开报文的装置(例如,一部IP主机)被称为一部IGMP主机。
本地路由器典型地向各IP主机发出查询报文以检索小组成员信息。IGMP定义了两种类型的查询报文,具体来说就是一种一般查询报文以及一种小组专用查询报文。从本地路由器直接连接的各IP主机发送一般查询报文,用以确定在可用的多点广播诸小组中哪一个(如果有的话)具有至少一个成员。响应于一般查询报文,每一部IP主机都为它的多点广播小组成员发送一段IGMP成员报告报文。然而,由于每一部IP主机典型地只能监测在同一个局域网上的其他各IP主机,所以一部检测到来自另一部IP主机对一个特定的多点广播小组的响应的IP主机可以不向该相同的小组发送一段IGMP成员报告报文。因此,即使有多部IP主机成为同一个小组的成员,本地路由器都可以为每一个多点广播小组接收一份单独的IGMP成员报告。
发送小组专用的查询报文是为了确定是否至少有一部直接连接的IP主机成为该指定的多点广播小组的成员。成为该指定的小组的一个成员的至少一部主机将用一段IGMP成员报告报文来响应小组专用查询报文(再有,至于一般查询报文,若一部主机没有从该小组中任何其他IP主机那里检测到一个响应信号,则成为该指定小组成员的一部IP主机将仅发出一个响应信号)。
当一部IP主机需要退出一个特定的多点广播小组时,它将停止报告它在该小组中的成员资格(即,它不再发送一份针对该特定小组的IGMP成员报告)。通过停止发送针对一个特定的多点广播小组的一段IGMP成员报告报文,该IP主机隐含地请求退出该小组。一部支持IGMP版本2的IP主机通过向本地路由器发出一段IGMP离开报文,就可以隐含地请求退出一个多点广播小组。这段IGMP离开报文通知该本地路由器称该IP主机不再是该多点广播小组的成员,并且,在接收到这段IGMP离开报文之后,典型地该本地路由器发出一段IGMP小组专用查询报文,以确定是否至少有一部IP主机保留该多点广播小组的成员资格。


图1表示一个系统100,在其中,介于本地路由器以及多点广播网络之间,使用一种多点广播路由协议,并且在本地路由器以及多部IP主机(典型地是个人计算机)之间的动态小组注册中使用IGMP。保持小组成员关系的总的责任在本地路由器以及IP主机之间进行分摊。各IP主机起到各IGMP主机的作用,而本地路由器则起到一个IGMP查询器的作用。
用于在一个多点广播互连网络上保持小组成员关系的当前模型强迫本地路由器参与一项或多项复杂的多点广播路由协议,以便向其他各多点广播路由器传播小组信息。现有的各种多点广播路由协议都是复杂的,并且,由于这种复杂性,它们已经被频繁地更改。这个事实使得每一种协议都难以实施和保持。还有,由于还没有一种协议被采纳为所有路由器的一项标准,所以一个多点广播路由器通常必须支持多种协议,这就使路由器显著地增加成本。
在一种电缆数据(DOC)系统中存在相同的各种问题。图2表示一个示例性的DOC系统,在其中,一个前端路由器(即,本地路由器)210经由共享信道230被连接到多个电缆调制解调器2201到220n,每一个前端路由器可以支持上千个电缆调制解调器,其中每一个电缆调制解调器代表一个单独的具有至少一个主机的局域网区段。如上面图1所示,前端路由器必须支持各项多点广播路由协议,以便在多点广播网络上交换多点广播小组信息。
因此,在一个多点广播网络中,保留着这样一种需求,即,一种从各本地路由器中解除各项多点广播路由协议的系统、装置和方法。
在附图中,图1表示一种为业界所熟知的多点广播网络;图2表示一种为业界所熟知的DOC系统;图3表示一个示例性的多点广播系统,在其中,本地路由器里面的IGMP智能代理允许在远方路由器以及本地路由器之间使用IGMP;图4表示一个示例性的DOC系统,在其中,前端路由器里面的IGMP智能代理允许在远方路由器以及前端路由器之间使用IGMP;图5表示一个示例性的DOC系统,在其中,前端路由器里面的IGMP智能代理允许在多点广播服务器以及前端路由器之间使用IGMP;图6是在一个多点广播网络中针对IGMP智能代理的一份流程图;图7是IGMP智能代理用于处理从一部多点广播主机那里接收的一段IGMP成员报告报文的一份流程图;图8是IGMP智能代理用于监测多点广播小组成员状况的一份流程图;图9是IGMP智能代理用于处理从一部多点广播主机那里接收的一段IGMP离开报文的一份流程图;图10是IGMP智能代理用于处理从远方多点广播装置那里接收的一段IGMP一般查询报文的一份流程图;图11是IGMP智能代理用于处理从远方多点广播装置那里接收的一段IGMP小组专用查询报文的一份流程图;图12表示在一个多点广播网络中用作IGMP智能代理的一种装置。
如上所述,在一个多点广播网络中,保留着这样一种需求,即,一种从各本地路由器中解除各项多点广播路由协议的系统、装置和方法。本发明通过用一个IGMP智能代理取代在本地路由器中的各项多点广播路由协议来进行工作。该本地路由器继续起到在其主机接口上(即,在局域网与直接连接的各IP主机的连接点上)的一个IGMP查询器的作用。然而,本地路由器和远方路由器都使用IGMP,以代替使用多点广播路由协议,来跟远方路由器交换多点广播小组成员信息。远方路由器承担一个IGMP查询器的功能,而在本地路由器中的IGMP智能代理则承担一部IGMP主机的功能。对远方路由器来说,IGMP智能代理表现为一部单独的IGMP主机,并且使用由本地路由器所保存的多点广播小组成员信息,以便起到代表其直接连接的各IP主机的一个代理的作用。若在其直接连接的各IP主机中至少有一部是该小组的一个成员,则IGMP智能代理连结一个多点广播小组,并且当最后一部直接连接的主机离开该小组时,IGMP智能代理也离开该多点广播小组。
诸附图表示在一个多点广播网络中IGMP智能代理的多种应用。图3表示一个示例性的多点广播系统300,在其中,本地路由器里面的IGMP智能代理允许在远方路由器以及本地路由器之间使用IGMP。图4表示一个示例性的DOC系统400,在其中,前端路由器里面的IGMP智能代理允许在远方路由器以及前端路由器之间使用IGMP。图5表示一个示例性的DOC系统500,在其中,前端路由器里面的IGMP智能代理允许在多点广播服务器以及前端路由器之间使用IGMP。在这些示例性的实施例中,IGMP智能代理执行标准的IGMP主机的功能,以便针对各多点广播主机将多点广播小组诸成员合并为一部单独的IGMP主机,并且将它们提供给远方多点广播装置。
由于本地路由器不需要支持任何一项多点广播路由协议,所以IGMP智能代理降低了本地路由器的成本和复杂性,IGMP智能代理还降低了远方多点广播装置(例如远方路由器或服务器)的成本和复杂性,仅要求后者支持在通往本地路由器的网络接口上支持IGMP。若远方多点广播装置是一部多点广播服务器,则该多点广播服务器不需要支持任何一项多点广播路由协议,这样就使得该多点广播服务器的成本和复杂性得以降低。
图6是在一个多点广播网络中针对IGMP智能代理的一份流程图。该逻辑保存一份小组列表,用以指示针对多部多点广播主机的多点广播小组成员的状态。当至少有一部多点广播主机申请在一个多点广播小组中的成员资格时,该逻辑就跟代表各多点广播主机的远方多点广播装置建立一种多点广播小组成员关系。只要至少有一部多点广播主机保留该多点广播小组的成员资格,该逻辑就跟远方多点广播装置保持多点广播小组成员关系。当所有的各多点广播主机都离开该多点广播小组时,该逻辑才撤销与远方多点广播装置的多点广播小组成员关系,使得该远方多点广播装置不再向IGMP智能代理发送各种多点广播报文。该逻辑还对来自作为多部多点广播主机的一个代理的远方多点广播装置的状态查询作出响应。
当一部多点广播主机申请在一个多点广播小组中的成员资格时,IGMP智能代理检索该数据库,以便确定所指定的多点广播小组是否处于该小组列表之中。若该多点广播小组处于该小组列表之中,则不需要进行将该多点广播主机添加到该小组中去的操作。然而,若该多点广播小组不在该小组列表里面,则IGMP智能代理将该多点广播小组添加到该小组列表之中,并且向指定该多点广播小组的远方多点广播装置发送一段IGMP成员报告报文。
图7表示IGMP智能代理用于处理从一部多点广播主机那里接收的一段IGMP成员报告报文的一份流程图。不管是否在未经请求的情况下接收到IGMP成员报告报文或者是否响应于一段IGMP查询报文,该逻辑都是相同的。该逻辑开始于步骤710,并且,在步骤720,在从一部多点广播主机那里接收到一段IGMP成员报告报文时,转入步骤730,在这里它检索该数据库,以便确定多点广播小组是否处于小组列表之中。若该多点广播小组不在该小组列表里面(步骤740中的否),则该逻辑在步骤750将该多点广播小组添加到该小组列表之中,并且在步骤760向远方多点广播装置发送一段IGMP成员报告报文,以便申请在该多点广播小组中的成员资格。该逻辑结束于步骤799。
IGMP智能代理还通过周期性地向各多点广播主机发出状态查询报文(即,IGMP查询报文)来监测其各多点广播主机的多点广播小组成员状况。尤其是,IGMP智能代理使用标准的IGMP查询功能来确定不再需要将哪一个(如果有的话)多点广播小组留在小组列表里面。针对每一个不需要的小组,IGMP从小组列表中删除该小组,若支持IGMP版本2,则向远方多点广播装置发出一段IGMP离开报文,请求离开该多点广播小组。
图8是IGMP智能代理用于监测多点广播小组成员状况的一份流程图;该逻辑开始于步骤810并转到步骤820,在这里,该逻辑使用标准的IGMP查询功能来确定不再需要将哪一个(如果有的话)多点广播小组留在小组列表里面。针对每一个不需要的小组(步骤830中的是),该逻辑从小组列表中删除该小组,(若支持IGMP版本2),则在步骤850,向远方多点广播装置发出一段IGMP离开报文,请求离开该多点广播小组。当所有不需要的小组都已经从小组列表中被删除(步骤830中的否)时,该逻辑就结束于步骤899。
如上所述,支持IGMP版本2的多点广播主机通过向本地路由器发送一段IGMP离开报文,就能隐含地请求离开一个多点广播小组。图9是IGMP智能代理用于处理从一部多点广播主机那里接收的一段IGMP离开报文的一份流程图。该逻辑开始于步骤910,并且,在步骤920,在接收到一段IGMP离开报文之后,转入步骤930,在这里,它使用标准的各种IGMP查询功能,以确定是否至少有一个受到本地路由器支持的多点广播主机保留该多点广播小组的成员资格。若在该多点广播小组中没有继续保留的成员(步骤940中的否),则在步骤950,该逻辑从小组列表中删除该多点广播小组。并在步骤960,(若支持IGMP版本2,)则向远方多点广播装置发送一段IGMP离开报文,请求离开该多点广播小组。该逻辑结束于步骤999。
除了为各多点广播主机保持多点广播小组成员的状态以外,IGMP智能代理还对作为代表各多点广播主机的一个代理的远方多点广播装置的状态查询作出响应。作为其IGMP查询功能的一部分,远方多点广播装置向IGMP智能代理发送一段IGMP查询报文。IGMP智能代理用标准的IGMP成员报告报文来响应该状态查询。
图10是IGMP智能代理用于处理从远方多点广播装置那里接收的一段IGMP一般查询报文的一份流程图。该逻辑开始于步骤1010,并且,在步骤1020,在接收到一段IGMP一般查询报文之后,在步骤1030,访问该数据库以获得该小组列表,并向远方多点广播装置发送一段针对在小组列表中的每一个多点广播小组的IGMP成员报告报文。该逻辑结束于步骤1099。
图11是IGMP智能代理用于处理从远方多点广播装置那里接收的一段IGMP小组专用查询报文的一份流程图。该逻辑开始于步骤1110,并且在步骤1120,在接收到一段IGMP小组专用查询报文之后,转到步骤1130,在这里,它检索该数据库,以便确定所指定的多点广播小组是否处于该小组列表之中。若该多点广播小组处于小组列表之中(步骤1140中的是),则在步骤1150,该逻辑向远方多点广播装置发送一段针对该多点广播小组的IGMP成员报告报文。并且结束于步骤1199。
图12表示在一个多点广播网络中用作IGMP智能代理的一部装置。该装置1200包括一个网络接口1210,用于跟另一个多点广播装置(例如一个远方多点广播路由器或服务器)或一个多点广播网络建立接口关系。该装置1200还包括一个主机接口1230,用于跟多部多点广播主机建立接口关系。一个IGMP智能代理1220在主机接口1230上执行各种IGMP查询功能,以便管理针对各多点广播主机的多点广播小组成员关系,并在网络接口1210上执行各种IGMP主机功能,以便起到代表各多点广播主机的一个代理的作用。IGMP智能代理1220在一个数据库1240中为其所属的各多点广播主机保存多点广播小组成员信息,每当一个小组成员资格被建立或取消,该数据库1240都被更新一次。
在联系于一个DOC系统的前端路由器或其他本地路由器对IGMP智能代理技术已经作了说明的时候,对专业人士来说,显而易见的是,本发明还可以被应用于其他装置,例如一个远方路由器,一个远程访问服务器,或者一部IP交换机。当IGMP智能代理技术被应用于一个远方路由器时,该远方路由器将为其直接附属的、也支持IGMP智能代理的本地的和远方的诸路由器管理多点广播小组成员关系。
在不背离本发明的精神实质或重要特性的前提下,本发明也可以按照其他指定的形式来实施。所说明的诸实施例在一切方面都被认为仅仅是说明性的,而不是限制性的。
权利要求
1.一种方法(600),用于在一个多点广播网络中管理介于一个远方多点广播装置以及多个多点广播主机之间的多点广播小组诸成员,本方法包括下列诸步骤保存(620)一个小组列表,用以指示多部多点广播主机的多点广播小组成员状态;当多部多点广播主机中至少有一部申请在该多点广播小组中的成员资格时,建立(630)与远方多点广播装置的一种多点广播小组成员关系;当所有多点广播主机都已经离开该多点广播小组时,撤销(640)与该远方多点广播装置的多点广播小组成员关系。
2.如权利要求1所述方法,其中建立与远方多点广播装置的多点广播小组成员关系的步骤包括下列诸步骤从一部多点广播主机那里接收(720)一段成员关系报告报文,指定多个多点广播小组中的一个;确定(730)该被指定的多点广播小组是否处于小组列表之中;以及若被指定的多点广播小组不在小组列表之中,则将被指定的多点广播小组添加(750)到小组列表之中;以及向远方多点广播装置发送(760)一段成员关系报告报文,用以指定该多点广播小组。
3.如权利要求1所述方法,其中撤销与该远方多点广播装置的多点广播小组成员关系的步骤包括下列诸步骤向多部多点广播主机发送(820)一段状态查询(报文);若该多点广播小组是必需的,则从多部多点广播主机中的至少一部那里接收(820)针对该多点广播小组的一段成员关系报告(报文);若没有接收到针对该多点广播小组的成员关系报告,则从小组列表中删除(840)该多点广播小组;以及在从该小组列表中删除该多点广播小组之后,若选择这样做,则向远方多点广播装置发送(850)一项离开该多点广播小组的请求。
4.如权利要求1所述方法,其中撤销与该远方多点广播装置的多点广播小组成员关系的步骤包括下列诸步骤从一部多点广播主机那里接受(920)一项关于离开一个指定的多点广播小组的请求;确定(930)在多部多点广播主机中是否至少有一部保留在指定的多点广播小组中的一个成员资格;若在多部多点广播主机中至少有一部保留在指定的多点广播小组中的一个成员资格,则将该指定的多点广播小组留在该小组列表中;若在多部多点广播主机中没有一部保留在指定的多点广播小组中的一个成员资格,则从小组列表中删除(950)该指定的多点广播小组;在从小组列表中删除该多点广播小组之后,若选择这样做,则向远方多点广播装置发送(960)一项离开该多点广播小组的请求。
5.如权利要求1所述方法还包括下列步骤对来自作为代表多部多点广播主机的一个代理的远方多点广播装置的状态查询作出响应。
6.如权利要求5所述方法,其中对来自远方多点广播装置的状态查询作出响应的步骤包括下列诸步骤接收(1020,1120)来自远方多点广播装置的一段查询报文,要求提供至少一个多点广播小组成员的状态;若该查询报文要求提供所有多点广播小组成员的状态,则向该远方多点广播装置发送(1040)针对在小组列表中的每一个多点广播小组的一段成员关系报告报文;若该查询报文要求提供一个指定的多点广播小组成员的状态,则检索(1130)该数据库,以确定该指定的多点广播小组是否处于该小组列表之中,并且,若该指定的多点广播小组处于该小组列表之中,则向远方多点广播装置发送(1150)一段针对该指定的多点广播小组的成员关系报告报文。
7.一个装置(1200),用于在一个多点广播网络中管理针对多部多点广播主机的多点广播小组成员关系,该装置包括一个网络接口(1210),用于跟多点广播网络建立接口关系;一个主机接口(1230),用于跟多部多点广播主机建立接口关系;一个数据库(1240),用于存储多点广播小组成员信息;以及一个IGMP智能代理(1220),它支持IGMP主机功能以及IGMP查询器功能;其中该IGMP智能代理通过操作被连接到该数据库,以便保存针对多部多点广播主机的多点广播小组成员关系;该IGMP智能代理通过操作被连接到该网络接口,以便支持IGMP主机功能;以及该IGMP智能代理通过操作被连接到该主机接口,以便支持IGMP查询器功能。
8.如权利要求7所述装置,其中该IGMP智能代理包括用于保存一个小组列表的逻辑,该列表指示针对多部多点广播主机的多点广播小组成员状态;当多部多点广播主机中至少有一部申请在该多点广播小组中的成员资格时,用于跟远方多点广播装置建立一种多点广播小组成员关系的逻辑;以及当所有多点广播主机都已经离开该多点广播小组时,用于撤销与远方多点广播装置的多点广播小组成员关系的逻辑。
9.如权利要求8所述装置,其中该IGMP智能代理还包括用于响应状态查询的逻辑,上述状态查询来自作为代表多部多点广播主机的一个代理的远方多点广播装置。
10.在一个多点广播网络中,用于管理多点广播小组成员关系的一个系统(300,400,500),该系统包括一个支持IGMP查询器功能的远方多点广播装置;至少一部支持IGMP主机功能的多点广播主机;以及一个本地多点广播装置,通过操作被连接到远方多点广播装置,以便支持IGMP主机功能,并且通过操作被连接到至少一部多点广播主机,以便支持IGMP查询器功能。
全文摘要
一个系统(300.400,500)、装置(1200)和方法(600),用于在一个多点广播网络中管理多点广播小组成员关系,(其要点是,)使用IGMP智能代理将多部多点广播主机的多点广播小组成员合并为一个单独的IGMP主机。IGMP智能代理保存一份小组列表,用以指示针对多部多点广播主机的多点广播小组成员的状态。当多部多点广播主机中至少有一部申请在该多点广播小组中的成员资格时,IGMP智能代理跟一个远方多点广播装置建立一种多点广播小组成员关系。当所有多点广播主机都已经离开该多点广播小组时,IGMP智能代理就撤销与远方多点广播装置的多点广播小组(成员关系)。IGMP智能代理对来自作为代表多部多点广播主机的一个代理的远方多点广播装置的状态查询作出响应。
文档编号G06F15/177GK1253641SQ98804458
公开日2000年5月17日 申请日期1998年3月6日 优先权日1997年4月23日
发明者伦纳德·保尔·格雷, 詹姆斯·弗莱彻 申请人:摩托罗拉公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1