CN101378354B - 组播报文转发方法及装置 - Google Patents
组播报文转发方法及装置 Download PDFInfo
- Publication number
- CN101378354B CN101378354B CN2007101455926A CN200710145592A CN101378354B CN 101378354 B CN101378354 B CN 101378354B CN 2007101455926 A CN2007101455926 A CN 2007101455926A CN 200710145592 A CN200710145592 A CN 200710145592A CN 101378354 B CN101378354 B CN 101378354B
- Authority
- CN
- China
- Prior art keywords
- information
- multicast
- node
- outlet ports
- egress
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种组播报文转发方法,包括:接收组播报文,并确定处于下游的组播组的所有出口节点信息;根据所述处于下游的组播组的所有出口节点信息,转发组播报文。本发明还提供一种组播报文转发装置。在本发明中,各个相关的网络节点在组播转发过程中不需要根据一定的组播协议生成组播报文的组播路径,更不需要维护组播路径,而只需根据处于下游的组播组的所有出口节点信息,就可以将报文进行转发,这样,相关的网络节点的工作量就会减少,从而避免了网络拥塞。
Description
技术领域
本发明涉及组播技术,尤其涉及组播报文转发技术。
背景技术
目前,一个网络节点可以采取至少两种方式向网络中的其他网络节点发送相同的报文,即,单播方式和组播方式。在单播方式中,源网络节点需要不停的产生多个相同的报文,再分别发送到出口网络节点,在实际应用中,有些报文对时延很敏感,或者说,这些报文如果到达出口网络节点有过多的时延,可能就会对后续的处理产生负面影响,另外,源网络节点产生过多相同的报文,对自身来说也是一个很大的负担,而组播方式恰好可以解决上述问题。在组播方式中,源网络节点只需一次性的产生报文,不需要多次产生相同的报文,加入组播组的所有出口网络节点都可以收到这个报文,相对于单播方式来说,报文到达出口网络节点的时延减少了,源网络节点自身的负担减少了。
以图1所示的承载组播的网络示意图为例,网络节点f是网络的入口节点,网络节点a、b、c、d、e是网络的出口节点,其中,网络节点f是组播报文的入口节点,如果网络节点a、c、d加入了组播组,则网络节点a、c、d是组播报文的出口节点。当有组播报文到达网络节点f时,网络节点f将组播报文发到网络节点g;网络节点g将组播报文分别发到网络节点h和网络节点i;当网络节点h接收到组播报文后,网络节点h将组播报文分别发到网络节点a和网络节点j,网络节点j再将组播报文发到网络节点c,当网络节点i接收到组播报文后,网络节点i将组播报文分别发到网络节点d和网络节点j,网络节点j再将组播报文发到网络节点c。当然,由于网络节点g到网络节点c之间有两条承载组播报文的路径,所以,当网络节点g将组播报文分别发到网络节点h和网络节点i时,网络节点h和网络节点i中可以只有一个网络节点向网络节点j发送组播报文。
申请人在认真分析、仔细研究后发现,在实际应用中,相关的网络节点为了转发一个组播报文,不但需要根据一定的组播协议生成这个组播报文的组播路径,还需要维护这个组播路径,当一个网络有多个组播组时,就需要维护多个组播路径,这样,与组播相关的各个网络节点的工作量会很大,如果对组播报文转发不及时,就会很容易导致网络拥塞。
发明内容
本发明实施例要解决的技术问题在于提供一种组播报文转发方法及装置,以减轻组播方式中的网络节点的负担,避免网络拥塞。
本发明提供一种组播报文转发方法的实施例,包括:网络域的入口节点确定组播组的所有出口节点信息,将确定的组播组的所有出口节点信息加入到组播报文中,转发携带有组播组的所有出口节点信息的组播报文,所述中间节点获得携带有组播组的出口节点信息的组播报文,并确定相邻下游网络节点对应的所有出口节点信息;根据组播报文携带的组播组的出口节点信息以及每个相邻下游网络节点对应的所有出口节点信息,确定每个相邻下游网络节点对应的组播组的所有出口节点信息;将相邻下游网络节点对应的组播组的所有出口节点信息加入到将要发给相应的相邻下游网络节点的组播报文中,将携带有相邻下游网络节点对应的组播组的所有出节点信息的组播报文发送给相应的相邻下游网络节点。
本发明还提供一种组播报文转发装置的实施例,包括:组播报文接收单元,用于当网络域的入口节点确定组播组的所有出口节点信息,将确定的组播组的所有出口节点信息加入到组播报文中,转发携带有组播组的所有出口节点信息的组播报文,获得携带有组播组的出口节点信息的组播报文,并确定相邻下游网络节点对应的所有出口节点信息;信息确定单元,用于根据组播报文携带的组播组的出口节点信息以及每个相邻下游网络节点对应的所有出口节点信息,确定每个相邻下游网络节点对应的组播组的所有出口节点信息;组播报文转发单元,用于将相邻下游网络节点对应的组播组的所有出口节点信息加入到将要发给相应的相邻下游网络节点的组播报文中,将携带有相邻下游网络节点对应的组播组的所有出节点信息的组播报文发送给相应的相邻下游网络节点。
在本发明的几个实施例中,各个相关的网络节点在组播转发过程中不需要根据一定的组播协议生成组播报文的组播路径,更不需要维护组播路径,而只需根据处于下游的组播组的所有出口节点信息,就可以将报文进行转发,这样,相关的网络节点的工作量就会减少,从而避免了网络拥塞。
附图说明
图1为现有的承载组播的网络示意图;
图2为本发明的一种组播报文转发方法实施例的流程图;
图3为本发明的另一种组播报文转发方法实施例的流程图。
具体实施方式
首先对本发明的组播报文转发方法实施例的整体技术方案进行说明。一种组播报文转发方法的实施例,包括:接收组播报文,并确定处于下游的组播组的所有出口节点信息;根据所述处于下游的组播组的所有出口节点信息,转发组播报文。这里需要说明的是,接收组播报文的步骤与确定处于下游的组播组的所有出口节点信息的步骤之间没有必然的先后顺序,或者说,先执行这两个步骤中的哪一个步骤都可以。另外,如果将这个方法实施例应用于一个网络域中,则确定的处于下游的组播组的所有出口节点信息应该是处于下游的并且在这个网络域中的所有出口节点信息。
其中,可以至少按照下述一种方式确定处于下游的组播组的所有出口节点信息:根据预先配置的处于下游的组播组的所有出口节点信息,直接确定处于下游的组播组的所有出口节点信息;如果相邻上游网络节点提供了处于所述相邻上游网络节点下游的组播组的所有出口节点信息,则根据所述处于相邻上游网络节点下游的组播组的所有出口节点信息以及处于下游的所有出口节点信息,确定处于下游的组播组的所有出口节点信息;根据其他网络实体提供的处于下游的组播组的所有出口节点信息,直接确定处于下游的组播组的所有出口节点信息。
进一步的,可以至少按照下述一种方式根据所述处于相邻上游网络节点下游的组播组的所有出口节点信息以及处于下游的所有出口节点信息,确定处于下游的组播组的所有出口节点信息:如果处于相邻上游网络节点下游的组播组的所有出口节点信息为处于相邻上游网络节点下游的包含有组播组的每个出口节点的信息的集合,且处于下游的所有出口节点信息为处于下游的所有的出口节点的信息的集合,则将两个集合进行对比,对比一致的出口节点的信息即为处于下游的组播组的出口节点信息;如果处于相邻上游网络节点下游的组播组的所有出口节点信息为处于相邻上游网络节点下游的组播组的所有的出口节点的信息经过运算后的结果,且处于下游的所有出口节点信息为处于下游的所有的出口节点的信息经过运算后的结果,则将两个结果再进行运算,以得到能够表示处于下游的组播组的所有出口节点信息的结果。
如果出口节点信息为出口节点的标识且每两个出口节点的标识是正交的,则处于相邻上游网络节点下游的组播组的所有的出口节点的信息之间的运算以及处于下游的所有的出口节点的信息之间的运算分别为或运算。
如果出口节点信息为出口节点的标识且每两个出口节点的标识是正交的,则上述两个结果之间的运算为与运算。
确定处于下游的组播组的所有出口节点信息之前还可以包括:获得其他网络实体提供的能够表示处于下游的组播组的所有出口节点信息的组播转发指示信息,所述组播转发指示信息是所述其他网络实体根据获得的出口节点发送的组播加入请求或者预先配置的处于下游的组播组的所有出口节点信息生成的,所述组播加入请求至少包括需要加入的组播组信息以及出口节点的信息。这里需要说明的是,在实际应用中,如果网络域中的一个或多个出口节点需要加入某个组播组,则可以直接向这个网络域的入口节点发出组播加入请求消息,也可以向其他网络实体(例如称为组播转发计算单元)发出组播加入请求消息,再由其他网络实体将需要加入的组播组信息以及出口节点的信息提供给入口节点。当然,所有需要加入这个组播组的出口节点都可以将组播加入请求消息发给组播转发计算单元,组播转发计算单元将这些出口节点的信息进行某种运算,生成组播转发指示信息,并将组播转发指示信息提供给入口节点,其中,组播转发指示信息可以是运算结果本身,也可以是携带运算结果的信息。
转发组播报文之前还可以包括:将所述处于下游的组播组的所有出口节点信息加入到组播报文中。
具体的,上述方法实施例的整体技术方案可以由一个网络域的入口节点执行。下面结合图2,对入口节点作为执行主体的情况下的一种组播报文转发方法的实施例进行说明。如图2所示,包括:
步骤S201:确定组播组的所有出口节点信息。
出口节点可以是一个网络域的出口节点。出口节点信息可以为出口节点的标识,也可以是出口节点的名称,还可以是出口节点的其他信息,只要出口节点信息能够唯一标识出口节点即可。如果出口节点信息为出口节点的标识,则这个标识可以放置于多协议标签交换(MPLS,Multi-Protocol LabelSwitching)标签中,也可以置于运营商骨干传送(PBT,Provider BackboneTransport)的报文头中,还可以置于扩展的IP报文头中。
所有出口节点信息可以是所有的出口节点信息的集合,在这个集合中,出口节点信息相互独立。所有出口节点信息也可以是所有的出口节点信息经过某种运算后的结果,这个结果虽然是由所有的出口节点信息经过运算得到的,但每个出口节点信息在这个结果中不是单独存在的。如果出口节点信息是出口节点的标识,则所有出口节点信息可以是所有出口节点的标识经过或运算生成的结果。
另外,可以有多种方式确定所有出口节点信息。例如,获得某个网络节点发出的加入组播组的请求,请求信息中可以携带这个网络节点的信息,当然,利用同样手段还可以获得其他网络节点的信息,如果需要的话,随时可以将所有的出口节点信息汇总。再例如,可以从其他网络节点获得已经汇总的所有的出口节点信息。这里的汇总可以是所有的出口节点信息的集合,也可以是所有的出口节点信息经过某种运算后的结果。
需要说明的是,如果将这个方法实施例应用于一个网络域中,则确定的组播组的所有出口节点信息应该是处于下游的并且在这个网络域中的所有出口节点信息。
步骤S202:将确定的组播组的所有出口节点信息加入到组播报文中。
如果所有出口节点信息是所有的出口节点信息的集合,则可以将这个集合直接加入到组播报文中;如果所有出口节点信息是所有的出口节点信息经过某种运算后的结果,则可以将这个结果直接加入到组播报文中。
步骤S203:转发携带有组播组的所有出口节点信息的组播报文。
如果步骤S201、步骤S202及步骤S203的执行主体都是一个网络域中的同一个入口节点,则这个入口节点可以将组播报文转发到相邻下游的中间节点,所述组播报文可以携带有处于下游的且在这个网络域内的组播组的所有出口节点信息。
这个相邻下游的中间节点接收到组播报文后,可以确定每个相邻下游网络节点对应的所有出口节点信息,再根据组播报文携带的组播组的出口节点信息以及每个相邻下游网络节点对应的所有出口节点信息,确定每个相邻下游网络节点对应的所有出口节点信息,之后,将相邻下游网络节点对应的所有出口节点信息加入到将要发给相应的相邻下游网络节点的组播报文中,最后将携带有相邻下游网络节点对应的所有出口节点信息的组播报文发给相应的相邻下游网络节点,直至组播报文到达每个出口节点。
上述方法实施例的整体技术方案还可以由一个网络域的除入口节点及出口节点之外的中间节点执行。下面结合图3,对中间节点作为执行主体的情况下的一种组播报文转发方法的实施例进行说明。如图3所示,包括:
步骤S301:获得携带有组播组的出口节点信息的组播报文,并确定每个 相邻下游网络节点对应的所有出口节点信息。
如果这个步骤的执行主体是处于入口节点相邻下游的中间节点,则组播报文是由入口节点发出的,并且组播报文携带的组播组的出口节点信息是组播组的所有出口节点信息;如果这个步骤的执行主体是处于某个中间节点相邻下游的中间节点,则组播报文就是由这个处于相邻上游的中间节点发出的,组播报文携带的组播组的出口节点信息可以是组播组的所有出口节点信息,也可以是这个处于相邻上游的中间节点对应的组播组的所有出口节点信息。
出口节点可以是一个网络域的出口节点。出口节点信息可以为出口节点的标识,也可以是出口节点的名称,还可以是出口节点的其他信息,只要出口节点信息能够唯一标识出口节点即可。如果出口节点信息为出口节点的标识,则这个标识可以放置于MPLS标签,也可以放置于PBT的报文头中,还可以放置于扩展的IP报文头中。
如果组播报文携带的组播组的出口节点信息是组播组的所有出口节点信息,则所有出口节点信息可以是所有的出口节点信息的集合,在这个集合中,出口节点信息相互独立。所有出口节点信息也可以是所有的出口节点信息经过某种运算后的结果,这个结果虽然是由所有的出口节点信息经过运算得到的,但每个出口节点信息在这个结果中不是单独存在的。如果出口节点信息是出口节点的标识,则所有出口节点信息可以是所有出口节点的标识经过或运算生成的结果。
每个相邻下游网络节点对应的所有出口节点信息同所有出口节点信息一样,可以是所有的出口节点信息的集合,在这个集合中,出口节点信息相互独立。所有出口节点信息也可以是所有的出口节点信息经过某种运算后的结果,这个结果虽然是由所有的出口节点信息经过运算得到的,但每个出口节点信息在这个结果中不是单独存在的。如果出口节点信息是出口节点的标识,则所有出口节点信息可以是所有出口节点的标识经过或运算生成的结果,这个结果也可以称为掩码。
此外,可以有多种方式确定每个相邻下游网络节点对应的所有出口节点信息。例如,每个相邻下游网络节点对应的所有出口节点信息可以绕开这些相邻下游网络节点而自行上报自身信息。再例如,每个相邻下游网络节点获 得对应的所有的出口节点的信息后,将所有的出口节点的信息汇总后,提供给其相邻上游网络节点。
需要说明的是,如果将这个方法实施例应用于一个网络域中,则确定的每个相邻下游网络节点对应的所有出口节点信息应该是每个相邻下游网络节点对应的并且在这个网络域中的所有出口节点信息。
步骤S302:根据组播报文携带的组播组的出口节点信息以及每个相邻下游网络节点对应的所有出口节点信息,确定每个相邻下游网络节点对应的所有出口节点信息。
如果组播报文携带的组播组的出口节点信息是出口节点的信息的集合,而且某个相邻下游网络节点对应的所有出口节点信息是所有的出口节点的信息的集合,则可以将两个集合进行比较,如果某个出口节点的信息与某个出口节点信息一致,则可以确定这个出口节点是这个相邻下游网络节点对应的一个出口节点。以此类推,可以确定每个相邻下游网络节点对应的所有出口节点,当然,有的相邻下游网络节点不对应任何一个出口节点,由此也可以确定,将来转发组播报文时,不向这个相邻下游网络节点转发组播报文。
如果组播报文携带的组播组的出口节点信息是出口节点信息经过某种运算后的结果,而且所有的相邻下游网络节点对应的所有出口节点信息是所有的出口节点的信息经过运算后的结果,则可以将这两种运算结果再进行某种运算,以得到每个相邻下游网络节点对应的所有的出口节点的信息经过运算后的结果。例如,如果组播报文携带的组播组的出口节点信息是由多个相互正交的出口节点的标识经过或运算生成的结果,则可以将相邻下游网络节点的掩码与这个结果进行与运算,得到相邻下游网络节点对应的结果,所述结果是由相邻下游网络节点对应的所有出口节点的标识经过或运算生成的。需要说明的是,如果某个相邻下游网络节点的掩码与组播报文携带的组播组的出口节点信息进行与运算后,结果为0,则说明这个相邻下游网络节点不对应这个组播组的任何一个出口节点,将来转发组播报文时,不向这个相邻下游网络节点转发组播报文。
步骤S303:将相邻下游网络节点对应的所有出口节点信息加入到将要发给相应的相邻下游网络节点的组播报文中。
如果所有出口节点信息是所有的出口节点信息的集合,则可以将这个集合直接加入到组播报文中;如果所有出口节点信息是所有的出口节点信息经过某种运算后的结果,则可以将这个结果直接加入到组播报文中。
步骤S304:将携带有相邻下游网络节点对应的所有出口节点信息的组播报文发给相应的相邻下游网络节点。
需要说明的是,如果某个相邻下游网络节点是一个出口节点,则确定这个相邻下游网络节点对应的所有出口节点信息实质上就是确定这个出口节点是否是组播组的出口节点,具体的,如果组播报文携带的组播组的出口节点信息是出口节点的信息的集合,则可以将这个出口节点的信息与集合中的信息比较,如果集合中有一个信息与这个出口节点的信息一致,则说明这个出口节点就是组播组的出口节点。如果组播报文携带的组播组的出口节点信息是出口节点信息经过某种运算后的结果,则可以将这个出口节点的信息与结果再进行某种运算,以确定这个出口节点是否是组播组的出口节点,例如,如果组播报文携带的组播组的出口节点信息是由多个相互正交的出口节点的标识经过或运算生成的结果,则可以将这个出口节点的标识与这个结果进行与运算,如果得到的结果是这个出口节点的标识,则说明这个出口节点是组播组的出口节点。
下面再以一个实施例说明组播报文转发方法。还是以图1为例,网络节点f为入口节点,网络节点g、h、i为中间节点,网络节点a、b、c、d、e为出口节点,出口节点的标识分别为0x00001、0x00002、0x00004、0x00008、0x00010,这些标识之间的关系是正交的,即,任意两个标识相与的结果都为0,其中,a、c、d是一个组播组的出口节点。
入口节点f确定组播组的所有出口节点信息为组播报文的标签0x0000d(0x0000d=a |c|d=0x00001|0x00004|0x00008)。入口节点f将组播报文的标签0x0000d加入到组播报文中,发给中间节点g;中间节点g的下游有两个中间节点,一个是中间节点h,其掩码是0x00007=a|b|c=0x00001|0x00002|0x00004,另一个是中间节点i,其掩码是0x00018=d|e=0x00008|0x00010,中间节点g接收组播报文后,将组播标签0x0000d分别与这两个掩码进行与运算,与中间节点h的掩码进行与运算后得 到的结果是0x00005,与中间节点i的掩码进行与运算后得到的结果是0x00008,中间节点g将0x00005加入到复制后的一个组播报文中以替换组播标签0x0000d,并将携带有组播标签0x00005的组播报文发给中间节点h,中间节点g将0x00008加入到复制后的另一个组播报文中以替换组播标签0x0000d,并将携带有组播标签0x00008的组播报文发给中间节点i。中间节点h和i可以采用与中间节点g采用的相同手段,分别将携带有组播标签0x00001的组播报文、0x00004的组播报文和0x00008的组播报文发给出口节点a、c、d。
在上面的实施例中,中间节点可以根据单播路由生成掩码,这种方式可以有效的利用现有的单播路由的所有优点,例如快速的进行路由保护、利用成熟的单播路由协议等。另外,中间节点将接收的组播报文的组播标签替换为新生成的组播标签,可以有效的避免环路。
在上面的实施例中,多个组播报文需要在相同的组播路径转发时,入口节点和中间节点可以在这些组播报文中加入相同的组播标签。另外,当有某个出口节点请求加入组播组或者某个出口节点请求退出组播组时,入口节点需要重新生成组播标签,相关的中间节点将组播标签与相邻下游节点掩码的相与结果也会有变化,但转发过程的原理没有变化。例如,当出口节点e请求加入组播组时,入口节点需要将出口节点a、c、d、e的标识进行或运算,得到组播标签,中间节点h和i的掩码都不变,但组播标签与中间节点i的掩码的与运算结果会有变化,这个结果应该是出口节点d和e的标识经过或运算的结果。上述几个方法的实施例可以由多种形式的装置实现,下面首先对一种组播报文转发装置实施例的整体技术方案进行说明。这个整体技术方案包括:组播报文接收单元,用于接收组播报文;信息确定单元,用于确定处于下游的组播组的所有出口节点信息;组播报文转发单元,用于根据所述信息确定单元确定的处于下游的组播组的所有出口节点信息,转发所述组播报文接收单元接收的组播报文。
具体的,上述装置实施例可以应用于一个网络域中的入口节点。这种情况下,这种报文转发装置实施例具体可以包括:信息确定单元,用于确定组播组的所有出口节点信息;信息添加单元,用于将所述信息确定单元确定的 组播组的所有出口节点信息加入到组播报文中;组播报文转发单元,用于转发所述信息添加单元处理后的携带有组播组的所有出口节点信息的组播报文。
信息确定单元可以有多种方式确定所有出口节点信息。例如,信息确定单元可以获得某个网络节点发出的加入组播组的请求,请求信息中可以携带这个网络节点的信息,当然,利用同样手段还可以获得其他网络节点的信息,如果需要的话,随时可以将所有的出口节点信息汇总。再例如,信息确定单元可以从其他网络节点获得已经汇总的所有的出口节点信息。这里的汇总可以是所有的出口节点信息的集合,也可以是所有的出口节点信息经过某种运算后的结果。需要说明的是,如果将这个装置实施例应用于一个网络域中,则确定的组播组的所有出口节点信息应该是处于下游的并且在这个网络域中的所有出口节点信息。
如果所有出口节点信息是所有的出口节点信息的集合,则信息添加单元可以将这个集合直接加入到组播报文中;如果所有出口节点信息是所有的出口节点信息经过某种运算后的结果,则信息添加单元可以将这个结果直接加入到组播报文中。
另外,组播报文转发单元可以将携带有组播组的所有出口节点信息的组播报文转发到相邻下游的中间节点。
上述装置实施例的整体技术方案还可以应用于一个网络域的除入口节点及出口节点之外的中间节点。具体的,这种组播报文转发装置可以包括:信息获得及确定单元,用于获得携带有组播组的出口节点信息的组播报文,并确定每个相邻下游网络节点对应的所有出口节点信息;出口节点信息确定单元,用于根据所述信息获得及确定单元获得的组播报文携带的组播组的出口节点信息以及确定的每个相邻下游网络节点对应的所有出口节点信息,确定每个相邻下游网络节点对应的所有出口节点信息;信息添加单元,用于将所述出口节点信息确定单元确定的相邻下游网络节点对应的所有出口节点信息加入到将要发给相应的相邻下游网络节点的组播报文中;组播报文发送单元,用于将所述信息添加单元处理后的携带有相邻下游网络节点对应的所有出口节点信息的组播报文发给相应的相邻下游网络节点。
信息获得及确定单元可以有多种方式确定每个相邻下游网络节点对应的所有出口节点信息。例如,每个相邻下游网络节点对应的所有出口节点信息可以绕开这些相邻下游网络节点而自行上报自身信息。再例如,每个相邻下游网络节点获得对应的所有的出口节点的信息后,将所有的出口节点的信息汇总后,提供给信息获得及确定单元。
需要说明的是,如果将这个装置实施例应用于一个网络域中,则确定的每个相邻下游网络节点对应的所有出口节点信息应该是每个相邻下游网络节点对应的并且在这个网络域中的所有出口节点信息。
如果组播报文携带的组播组的出口节点信息是出口节点的信息的集合,而且某个相邻下游网络节点对应的所有出口节点信息是所有的出口节点的信息的集合,则出口节点信息确定单元可以将两个集合进行比较,如果某个出口节点的信息与某个出口节点信息一致,则可以确定这个出口节点是这个相邻下游网络节点对应的一个出口节点。以此类推,出口节点信息确定单元可以确定每个相邻下游网络节点对应的所有出口节点,当然,有的相邻下游网络节点不对应任何一个出口节点,由此也可以确定,将来转发组播报文时,不向这个相邻下游网络节点转发组播报文。
如果组播报文携带的组播组的出口节点信息是出口节点信息经过某种运算后的结果,而且所有的相邻下游网络节点对应的所有出口节点信息是所有的出口节点的信息经过运算后的结果,则出口节点信息确定单元可以将这两种运算结果再进行某种运算,以得到每个相邻下游网络节点对应的所有的出口节点的信息经过运算后的结果。例如,如果组播报文携带的组播组的出口节点信息是由多个相互正交的出口节点的标识经过或运算生成的结果,则出口节点信息确定单元可以将相邻下游网络节点的掩码与这个结果进行与运算,得到相邻下游网络节点对应的结果,所述结果是由相邻下游网络节点对应的所有出口节点的标识经过或运算生成的。需要说明的是,如果某个相邻下游网络节点的掩码与组播报文携带的组播组的出口节点信息进行与运算后,结果为0,则说明这个相邻下游网络节点不对应这个组播组的任何一个出口节点,将来转发组播报文时,不向这个相邻下游网络节点转发组播报文。
如果所有出口节点信息是所有的出口节点信息的集合,则信息添加单元 可以将这个集合直接加入到组播报文中;如果所有出口节点信息是所有的出口节点信息经过某种运算后的结果,则信息添加单元可以将这个结果直接加入到组播报文中。
上述所有的方法实施例和装置实施例都是在组播系统中实现的,所以,本发明还提供一种组播系统的实施例,其可以包括:
入口节点,用于接收组播报文,确定处于下游的组播组的所有出口节点信息,根据所述处于下游的组播组的所有出口节点信息,转发组播报文;
中间节点,用于接收入口节点或相邻上游中间节点发送的组播报文,确定处于下游的组播组的所有出口节点信息,根据所述处于下游的组播组的所有出口节点信息,转发组播报文;
出口节点,用于接收相邻上游中间节点发送的组播报文。
在本发明的所有实施例中,路径相同的组播报文可以使用相同的组播标签,这样,中间节点不需要对组播报文的状态进行维护;不需要周期的维护机制;实现了分布式控制,不需要集中维护组播路径;本发明的实施例可用覆盖(overlay)的方式叠加在现有的MPLS网络上或直接部署在MPLS网络中,实施较方便;在本发明的所有实施例中,路径失效恢复速度等同于点到点MPLS;在本发明的所有实施例中,组播报文与单播报文的转发过程一致,解决了组播系统扩展的问题,增强了组播报文转发速度;由于入口节点知道组播报文将经过哪几个出口节点,而且组播报文的转发与单播报文的转发一致,所以能够迅速定位到故障点,并且增强了组播报文转发的管理性;本发明的实施例大量的应用了单播技术,所以对现有的网络改动较少。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种组播报文转发方法,其特征在于,包括:
网络域的入口节点确定组播组的所有出口节点信息,将确定的组播组的所有出口节点信息加入到组播报文中,转发携带有组播组的所有出口节点信息的组播报文;
网络域的除入口节点及出口节点之外的中间节点获得携带有组播组的出口节点信息的组播报文,并确定相邻下游网络节点对应的所有出口节点信息;
根据组播报文携带的组播组的出口节点信息以及每个相邻下游网络节点对应的所有出口节点信息,确定每个相邻下游网络节点对应的组播组的所有出口节点信息;
将相邻下游网络节点对应的组播组的所有出口节点信息加入到将要发给相应的相邻下游网络节点的组播报文中,将携带有相邻下游网络节点对应的组播组的所有出节点信息的组播报文发送给相应的相邻下游网络节点。
2.如权利要求1所述的组播报文转发方法,其特征在于,所述所有出口节点信息为包含有每个出口节点的信息的集合,或者为所有的出口节点的信息经过运算后得到的结果。
3.如权利要求1所述的组播报文转发方法,其特征在于,所述出口节点信息为出口节点的标识。
4.如权利要求3所述的组播报文转发方法,其特征在于,所述出口节点的标识放置于多协议标签交换MPLS标签、运营商骨干传送PBT的报文头或者扩展的IP报文头中。
5.如权利要求1所述的组播报文转发方法,其特征在于,至少按照下述一种方式根据组播报文携带的组播组的出口节点信息以及每个相邻下游网络节点对应的所有出口节点信息,确定每个相邻下游网络节点对应的组播组的所有出口节点信息:
如果处于相邻上游网络节点下游的组播组的所有出口节点信息为处于相邻上游网络节点下游的包含有组播组的每个出口节点的信息的集合,且处于本地下游的所有出口节点信息为处于本地下游的所有的出口节点的信息的集合,则将两个集合进行对比,对比一致的出口节点的信息即为处于下游的组播组的出口节点信息;
如果处于相邻上游网络节点下游的组播组的所有出口节点信息为处于相邻上游网络节点下游的组播组的所有的出口节点的信息经过运算后的结果,且处于本地下游的所有出口节点信息为处于本地下游的所有的出口节点的信息经过运算后的结果,则将两个结果再进行运算,以得到能够表示处于本地下游的组播组的所有出口节点信息的结果。
6.如权利要求5所述的组播报文转发方法,其特征在于,如果出口节点信息为出口节点的标识且每两个出口节点的标识是正交的,则处于相邻上游网络节点下游的组播组的所有的出口节点的信息之间的运算以及处于下游的所有的出口节点的信息之间的运算分别为或运算。
7.如权利要求6所述的组播报文转发方法,其特征在于,如果出口节点信息为出口节点的标识且每两个出口节点的标识是正交的,则所述两个结果之间的运算为与运算。
8.如权利要求1-4任意一项所述的组播报文转发方法,其特征在于,确定处于每个相邻下游网络节点对应的组播组的所有出口节点信息之前还包括:获得其他网络实体提供的能够表示处于下游的组播组的所有出口节点信息的组播转发指示信息,所述组播转发指示信息是所述其他网络实体根据获得的出口节点发送的组播加入请求或者预先配置的处于下游的组播组的所有出口节点信息生成的,所述组播加入请求至少包括需要加入的组播组信息以及出口节点的信息。
9.如权利要求1-4任意一项所述的组播报文转发方法,其特征在于,转发组播报文之前还包括:将所述每个相邻下游网络节点对应的组播组的所有出口节点信息加入到组播报文中。
10.一种组播报文转发装置,其特征在于,包括:
组播报文接收单元,用于当网络域的入口节点确定组播组的所有出口节点信息,将确定的组播组的所有出口节点信息加入到组播报文中,将转发携带有组播组的所有出口节点信息的组播报文后,获得携带有组播组的出口节点信息的组播报文,并确定相邻下游网络节点对应的所有出口节点信息;
信息确定单元,用于根据组播报文携带的组播组的出口节点信息以及每个相邻下游网络节点对应的所有出口节点信息,确定每个相邻下游网络节点对应的组播组的所有出口节点信息;
组播报文转发单元,用于将相邻下游网络节点对应的组播组的所有出口节点信息加入到将要发给相应的相邻下游网络节点的组播报文中,将携带有相邻下游网络节点对应的组播组的所有出节点信息的组播报文发送给相应的相邻下游网络节点。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101455926A CN101378354B (zh) | 2007-08-28 | 2007-08-28 | 组播报文转发方法及装置 |
PCT/CN2008/072184 WO2009030160A1 (fr) | 2007-08-28 | 2008-08-28 | Procédé d'acheminement de paquets de multidiffusion, appareil et système de multidiffusion |
EP08800696A EP2169874A4 (en) | 2007-08-28 | 2008-08-28 | METHOD, DEVICE AND SYSTEM FOR RETRACTING MULTICAST PACKAGES |
US12/702,877 US20100142529A1 (en) | 2007-08-28 | 2010-02-09 | Multicast packet forwarding method, apparatus and multicast system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101455926A CN101378354B (zh) | 2007-08-28 | 2007-08-28 | 组播报文转发方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101378354A CN101378354A (zh) | 2009-03-04 |
CN101378354B true CN101378354B (zh) | 2010-12-08 |
Family
ID=40421707
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101455926A Expired - Fee Related CN101378354B (zh) | 2007-08-28 | 2007-08-28 | 组播报文转发方法及装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20100142529A1 (zh) |
EP (1) | EP2169874A4 (zh) |
CN (1) | CN101378354B (zh) |
WO (1) | WO2009030160A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102098202B (zh) * | 2009-12-11 | 2013-08-07 | 华为技术有限公司 | 虚拟专用网拓扑控制方法、装置及系统 |
CN103139265B (zh) | 2011-12-01 | 2016-06-08 | 国际商业机器公司 | 大规模并行计算系统中的网络传输自适应优化方法及系统 |
EP3063644B1 (en) | 2013-11-01 | 2018-05-30 | Hewlett-Packard Enterprise Development LP | Protocol agnostic storage access in a software defined network topology |
US20170034008A1 (en) * | 2014-04-29 | 2017-02-02 | Hewlett Packard Enterprise Development Lp | Network management using port announcements |
US10630690B2 (en) | 2014-10-31 | 2020-04-21 | Hewlett Packard Enterprise Development Lp | Group zoning and access control over a network |
EP3235199B1 (en) | 2014-12-19 | 2020-10-07 | Hewlett-Packard Enterprise Development LP | Multicast advertisement message for a network switch in a storage area network |
CN107204933B (zh) * | 2016-03-16 | 2021-03-23 | 华为技术有限公司 | 分布式流量调节方法及装置 |
CN109120537B (zh) * | 2017-06-23 | 2020-10-16 | 迈普通信技术股份有限公司 | 组播树计算方法和装置 |
CN107888518A (zh) * | 2017-10-20 | 2018-04-06 | 深圳市楠菲微电子有限公司 | 用于转发报文的方法及装置 |
US11477041B2 (en) * | 2020-03-31 | 2022-10-18 | Nokia Solutions And Networks Oy | Stateless multicast based on local label spaces |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0785699A2 (en) * | 1996-01-16 | 1997-07-23 | AT&T Corp. | Multicast routing in multistage networks |
US6115379A (en) * | 1997-09-11 | 2000-09-05 | 3Com Corporation | Unicast, multicast, and broadcast method and apparatus |
US6216167B1 (en) * | 1997-10-31 | 2001-04-10 | Nortel Networks Limited | Efficient path based forwarding and multicast forwarding |
CN1716904A (zh) * | 2004-06-30 | 2006-01-04 | 华为技术有限公司 | 一种基于多业务传输平台的组播实现方法 |
CN1996933A (zh) * | 2005-12-31 | 2007-07-11 | 华为技术有限公司 | 对实时组播业务进行拥塞控制的方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6507863B2 (en) * | 1999-01-27 | 2003-01-14 | International Business Machines Corporation | Dynamic multicast routing facility for a distributed computing environment |
US6556544B1 (en) * | 1999-10-22 | 2003-04-29 | Nortel Networks Limited | Method and system for provisioning network resources for dynamic multicast groups |
JP4436960B2 (ja) * | 2000-05-16 | 2010-03-24 | 日本電気株式会社 | パケット通信システムおよび移動通信システム |
CA2410172A1 (en) * | 2001-10-29 | 2003-04-29 | Jose Alejandro Rueda | Content routing architecture for enhanced internet services |
DE60108404T2 (de) * | 2001-12-10 | 2005-12-22 | Alcatel | Vorrichtung und Verfahren zum Ausrichten des Mehrfachdatenverkehrs in einem Ethernet-MAN |
EP1361705A1 (en) * | 2002-05-07 | 2003-11-12 | Alcatel | Method for forwarding data packets as cell sequences within a subnetwork of a data packet network |
US7391772B2 (en) * | 2003-04-08 | 2008-06-24 | Intel Corporation | Network multicasting |
US7688756B2 (en) * | 2005-10-05 | 2010-03-30 | Nortel Networks Limited | Provider link state bridging |
US7852841B2 (en) * | 2005-11-04 | 2010-12-14 | Cisco Technology, Inc. | In-band multicast signaling using LDP |
-
2007
- 2007-08-28 CN CN2007101455926A patent/CN101378354B/zh not_active Expired - Fee Related
-
2008
- 2008-08-28 WO PCT/CN2008/072184 patent/WO2009030160A1/zh active Application Filing
- 2008-08-28 EP EP08800696A patent/EP2169874A4/en not_active Withdrawn
-
2010
- 2010-02-09 US US12/702,877 patent/US20100142529A1/en not_active Abandoned
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0785699A2 (en) * | 1996-01-16 | 1997-07-23 | AT&T Corp. | Multicast routing in multistage networks |
US6115379A (en) * | 1997-09-11 | 2000-09-05 | 3Com Corporation | Unicast, multicast, and broadcast method and apparatus |
US6216167B1 (en) * | 1997-10-31 | 2001-04-10 | Nortel Networks Limited | Efficient path based forwarding and multicast forwarding |
CN1716904A (zh) * | 2004-06-30 | 2006-01-04 | 华为技术有限公司 | 一种基于多业务传输平台的组播实现方法 |
CN1996933A (zh) * | 2005-12-31 | 2007-07-11 | 华为技术有限公司 | 对实时组播业务进行拥塞控制的方法 |
Also Published As
Publication number | Publication date |
---|---|
EP2169874A4 (en) | 2011-03-23 |
CN101378354A (zh) | 2009-03-04 |
EP2169874A1 (en) | 2010-03-31 |
WO2009030160A1 (fr) | 2009-03-12 |
US20100142529A1 (en) | 2010-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101378354B (zh) | 组播报文转发方法及装置 | |
RU2541940C2 (ru) | Способ применения экземпляра службы к сети mpls (варианты) и сеть mpls | |
JP5691703B2 (ja) | マルチキャストネットワークシステム | |
US8773978B2 (en) | System and method for protecting ingress and egress of a point-to-multipoint label switched path | |
CN109150580B (zh) | 协议无关多播加入熵 | |
JP5805318B2 (ja) | P2mpトンネルにわたる障害検出セッションのブートストラッピング | |
CN103748835B (zh) | 标签交换路径的动态更新 | |
WO2010038624A1 (ja) | 通信システム、ノード装置、通信システムの通信方法、およびプログラム | |
EP3340550B1 (en) | Service message multicast method and device | |
CN101335695A (zh) | 点到多点标签交换路径的头节点保护方法、装置和设备 | |
CN102474446A (zh) | 用于点对多点业务的恢复机制 | |
CN101631043A (zh) | 组播故障恢复方法、组播路由器及系统 | |
JP5972287B2 (ja) | リング型ネットワークトポロジーのためのマルチキャストデュアルジョイン | |
CN104426720A (zh) | 网络中继系统以及交换机装置 | |
CN116800646A (zh) | 组播网络中收集遥测数据的方法、装置和系统 | |
CN103117925A (zh) | 数据报文转发处理方法及装置 | |
CN101425941B (zh) | 一种环网链路收敛时间或恢复时间测试系统 | |
CN102130829B (zh) | 一种lsp的建立方法、装置 | |
US9118577B2 (en) | Automatic method for setting up mLDP LSP through P2P tunnel | |
JP2010045732A (ja) | マルチキャストパケット転送装置およびマルチキャストパケット転送方法 | |
US20120287779A1 (en) | Network and fault recovery method | |
CN109005109A (zh) | 路由设置方法及组播组网 | |
US8532101B2 (en) | System and method for providing co-signaled return label switch paths | |
CN102571534B (zh) | 一种基于环网保护的业务传输方法及用于业务传输的节点 | |
JP4455521B2 (ja) | マルチキャストmplsネットワーク構築方法及びマルチキャストmplsネットワークシステム及びルータ及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20101208 Termination date: 20150828 |
|
EXPY | Termination of patent right or utility model |