组播方法及组播路由方法

文档序号:7643685阅读:920来源:国知局
专利名称:组播方法及组播路由方法
技术领域
本发明涉及网络路由及转发技术,特别是组播方法及组播路由方法。
技术背景在目前的网络应用中,视频等多媒体业务的地位日益重要,而组播技术 则是网络多媒体业务的重要承载技术,组播是一到多或者多到多的多方通信 形式。如图1所示的组播模型中,视频流在网络中流经的路径形成一个树形 结构,在这棵树的每一个分支上都传送相同的视频流,在树的分叉处进行复 制,就可以将枧频流传送到所有的接收者,这棵树被称为分发树。组播路由 协议首先形成分发树,通过在分发树的每一个分支上传送一个视频流,在树 的分叉处进行复制的过程,视频流从服务器最终传送到所有接收者。以网络电视(IPTV)业务为例,用户想要收看某频道的电视节目,则 首先要向离自身最近的三层网络设备发送加入组播组的报文,以下简称加入 报文,该三层网络设备建立相应的路由/转发状态,所述路由/转发状态因为 可以用来指导协议报文和组播数据包的转发,故统称为组播转发指导信息, 还要在路由/转发状态中添加组播数据包的出接口 ,并向该频道电视节目所 隶属的组播源服务器方向的上游三层网络设备发送加入报文,在上游三层网 络设备上执行相同的动作,建立路由/转发状态,在路由/转发表项中添加出 接口,再向上游发送加入报文, 一直到组播数据包分发树的根节点,该根节 点三层网络设备将组播数据包沿相同的分发树推送到离用户最近的三层网 络设备上。其中,在用户发送的加入报文中包含组播源组地址对,即某频道节目的 地址,用该组播地址对来标识一个组播会话,该地址对一般以(S,G )或(*,G)的形式表示,或统一表示为(S/*,G) , S表示指定的组播源地址,表示发向 组播组G的源的IP地址,G表示指定的组播组地址,用于标识多点通信业 务中所有接收者的集合,即組播组,例如一个网络电视节目的所有接收者就 同属于一个组播组,所述*表示任意组播源,即接收者未指定组播源。 一个 组播源組地址对(S/*,G)在分发树上的三层网络设备中对应一组状态,分 发树上的三层网络设备会对该组播组建立相应的路由/转发表项,而携带该 状态的消息称为协议报文。目前的组播网络中, 一般是在分发树的根节点上部署静态加入,这样的 话,不同组播源组的数据包和报文传输路径都是相同的,即使是动态加入组 播组,在网络某层次的节点之上,比如接入或者汇接层,都是要接收所有的 活跃源组的,其分发树也相同。但是,在现有协议中,不同的組播组在三层 网络设备中对应了不同的状态/协议报文。例如,当某接收者想要收看某频 道节目,则向最近的路由器发送假设为(S,G1 )的加入报文,该路由器创建 (S,G1)的相应状态,在该状态中包含的组播路由/转发表项中添加出接口 , 并向分发树上的上游节点发送(S,Gi)的加入报文, 一直到分发树的根节点 路由器接收到加入报文后,则将组播数据包沿相同分发树发送到接收者。而 此时如果该接收者又想要收看另一频道的节目,于是又向所述最近的路由器 发送假设为(S,G2)加入报文,该路由器创建需要创建新的(S,G2)的相应 状态,在组播路由/转发表项中添加出接口 ,虽然此出接口与前一次的出接 口是相同的,并向分发树上的上游节点发送(S,G2)的加入报文, 一直到分 发树的根节点路由器接收到加入报文后,再将相应的组播数据包沿相同分发 树发送到接收者。由于组播源相同,两个组播组的分发树也是相同的,如图 1中的粗线部分所示。然而前后两次在分发树的节点路由器上要建立两组不 同的状态,虽然该状态的出接口都相同。这样的结果就导致了在分发树的路 由器中,不同的组播组占用了大量的状态,该状态主要包括不同组播組的组 播路由表项和組播转发表项,并且传递大量的协议报文,从而占用了较多的 内存空间,同时,路由器要根据每个(S/*,G)状态逐个收敛每个路由,路由收敛时间,即路由切换的时间比较长,并且协i义才艮文的构造及交换效率也 比较低。发明内容本发明的实施例的目的在于提供组播方法及组播路由方法,用于减少路由 器内存占用及提高协议报文的效率。本发明的实施例提供了 一种组播方法,包括加入组播组的过程和转发组播 数据包的过程,将采用相同方式转发的组播数据包的集合设置为组播转发等价 类,且在加入组播组的过程中,在组播转发等价类所属分发树或分发子树的网络 节点上,建立以组播转发等价类标识的组播转发指导信息;在转发组播数据包的过程中,将同 一组播转发等价类的组播数据包根据 同一个组播转发指导信息转发。本发明的实施例还提供了一种组播路由方法,包括将采用相同方式转发的组播数据包的集合设置为组播转发等价类,组播转 发等价类所属分发树或分发子树的出口网络节点接收到激励后,则向所述分发 树或分发子树的上游网络节点发送加入报文,建立以组播转发等价类标识的组 播转发指导信息,并在所述转发指导信息中添加出接口,所述上游网络节点建 立以组播转发等价类标识的组播转发指导信息,在所述转发指导信息中添加出 接口,并继续向上游发送加入报文, 一直到达所述分发树或分发子树的入口网 络节点上。本发明的实施例还提供了一种组播方法,包括将采用相同方式转发的 组播数据包的集合设置为组播转发等价类,在组播转发等价类所属分发树或 分发子树的网络节点上,静态配置以组播转发等价类标识的组播转发指导信 息,将同 一组播转发等价类的组播数据包根椐同 一个组播转发指导信息转 发。本发明通过将使用相同方式转发的组播数据包的集合划分为 一 个组播转发等价类,对流经相同分发树或子树的组播转发等价类使用同一个组播转 发指导信息,减少了不同组播数据包的转发指导信息对路由器空间的占用, 并且可以加快路由收敛时间,减少路由切换频率,从而提高空间和时间效率。进一步的,本发明对协议报文不再以单独的(S,G)或(*,G)为粒度, 也就是说,不再针对每个不同的(S,G)或(*,G)的加入请求发送加入报文, 而是基于组播转发等价类的粒度,对于同一组播转发等价类的加入请求,使 用相同的协议报文,从而可以提高状态处理和报文交互的效率。


图1为背景技术中的组播模型示意图;图2为本发明的实施例中基于组播转发等价类的分发树或分发子树示 意图;图3为本发明的实施例一中基于MFEC进行组播路由的方法流程图;图4为本发明的实施例二中在PIM SSM协议中构建基于MFEC分发树 并转发组播数椐包的示意图;图5为本发明的实施例三中在PIM SM协议中构建基于MFEC的共享 树并转发组播数据包的示意图;图6为本发明的实施例四中在PIM SM协议中从RPT向SPT切换并转 发组播数据包的示意图。
具体实施方式
本发明的实施例将使用相同方式转发的组播数据包的集合划分为 一个 组播转发等价类,通过对流经相同分发树或子树的组播转发等价类MFEC 使用同一个组播转发指导信息,采用相同的方式转发,所述组播转发指导信 息包括但不仅限于相同的组播路由表项和组播转发表项,从而聚合了多个组 播数据包的转发,减少了不同组播組的组播转发指导信息对路由器空间的占 用,并且可以加快路由收敛时间,减少路由切换频率,从而提高空间和时间效率;同时,本发明的实施例对协i义才艮文不再以单独的(S,G)或(*,G)为 粒度,也就是说,不再针对每个不同的(S,G)或(*,G)的加入请求发送加 入报文,而是基于组播转发等价类的粒度,可以提高状态处理和报文交互的 效率。为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明 作进一步的详细描述。在本发明的实施例中,将使用相同方式转发的组播数据包的集合设置为 组播转发等价类(MFEC),例如流经相同的组播分发树或分发子树并进行 相同的转发处理的数据包的集合。以IPTV中的业务为例,同一服务器或服 务器群可能会发送多个频道的节目,在接收者的加入请求下,这些节目都被 推送到离接收者最近的路由器上,假设一组接收者接收所有的这些频道节 目,即所有这些频道对应的分发树都相同,则所有组播数据包都流经相同的 路由路径,那么这些组播数据包的集合就可以是一个MFEC;同理,流经相 同分发子树的組播数据包集合也是一个MFEC,如图2所示,椭圓内的路由 器上转发的组播数据包都相同,则流经该部分子树的组播数据包成为 一个 MFEC。在MFEC分发树或分发子树中,如图2所示,根节点称为入口 (Ingress)节点,叶子节点称为出口 (Egress)节点,除根节点和叶子节点 之外的节点称为传输(Transit)节点。本发明的实施例采用组播源组地址对来表示MFEC,但该组播源组地址 对与现有协议中不同,该地址对能够表示在该分发树上传输的所有频道。该 地址对的表示方式包括但不限于以下几种(组播源地址,组播组地址/掩 码),(组播源地址/掩码,组播组地址),(组播源地址/掩码,组播组地 址/掩码),(组播源地址,{239.1.1.1, 239.1.1.2}),(离散的组播源地 址,组播组地址),(离散的组播源地址,组播组地址/掩码),或(离散 的组播源地址,离散的组播组地址)。其中,组播组地址/掩码表示一个网 段,该网段范围内的所有地址就表示本MFEC中包括的所有频道的组播组地 址,同理,组播源地址/掩码也表示一个网段,该网段范围内的所有地址就表示本MFEC中包括的所有频道的组播源地址。当然,如果多个组播源或多 个组播组的地址不连续,也可以采用离散的IP地址的方式来表示,如前述 第4至7种表示方式。在本发明的实施例中,协议报文的交互都是以MFEC为粒度进行的, 同一组播转发等价类的组播数据包使用同一个组播转发表项进行转发。并 且,由于在一个MFEC对应的分发树或分发子树中,可以将属于同一MFEC 的各频道的协议报文或报文中的字段合并为一个。这样就不必针对每个频道 都建立相应的状态和协议报文,节约了路由器的内存空间,并减少了路由切 换的时间。实施例一为基于MFEC进行组播路由的方法,其流程如图3所示,具 体包括以下步骤步骤301、在Egress路由器上设置(S/*,G)到MFEC的映射关系。如 果(S,G/M)或(*,G/M)属于一个MFEC,那么收到接收者主机发送的因 特网组管理协议/组播接收者发现(IGMP/MLD )加入(report)报文,或者 其它接收者主机通过其它路由器发送的PIM等协议的加入(Join)报文,就 将其映射为对应的(S,G/M)或(*,G/M)的IGMP/MLD report报文或Join 报文,这里有两种映射方法, 一直是用MEFC的标识(S,G/M)或(*,G/M) 替换加入报文中的(S/*,G),或者在报文中增加一个MFECID字段,并向 全网广播MFEC与MFEC ID间的对应关系,或者通过命令在各节点上静态 配置这种对应关系。其中report报文是接收者主机向路由器发送的到组播组 的加入报文,Join报文是路由器之间传递的加入报文。因为Egress路由器可 能与接收者主机或通过其它路由器接收者主机相连,所以存在以上两种情 况。步骤302、在Ingress路由器上设置(S/*,G)到MFEC的映射关系。如 果(S,G/M)属于一个MFEC,那么Ingress路由器在接收到組播数据包时, 查询构建基于MFEC的分发树或分发子树时已建立的以MFEC标识的组播转发表项,并在相应出接口上转发组播数据包。步骤303、创建基于组播转发等价类MFEC的路由。依据的原则就是在 MFEC中,所有组播数据包采用相同方式转发。创建路由的方法分为动态和 静态两种,动态创建方式是指修改现有协议,通过接收者主机发送的加入报 文以及在基于MFEC的分发树或分发子树中传递的加入报文,来动态生成基 于MFEC的分发树或分发子树。接收者主机首先发送加入报文,Egress路由器直接接收到该加入报文, 或者通过其它路由器接收到该加入请求,则进行(S/*,G)到MFEC的映射, 将加入报文中的(S,G)或(*,G)字段替换成(S,G/M)或(*,G/M),创 建以(S,G/M)或(*,G/M)标识的组播路由表项及组播转发表项,并在表 项中添加出接口,该出接口是组播数据包的出接口,组播数据包通过该接口 向下游转发,比如,(S,G/M)为一个MFEC,那么路由和转发表项变为(S,G/M, GE1/0/1, (GE2/0/0, GE3/0/0})的形式,GE1/0/1为组播数据包的入接口 , {GE2/0/0,GE3/0/0}为出接口,所述GE是指吉比特以太网,然后再向分发 树或分发子树的上游路由器发送以MFEC标识的加入报文。该上游路由器可 能是Transit路由器也可能是Ingress路由器,如果为Transit路由器,则还要 继续创建以(S,G/M)或(*,G/M)标识的组播路由表项及组播转发表项, 在表项中添加出接口,向上游路由器发送加入报文,最终Ingress路由器会 收到加入报文,也要创建以(S,G/M)或(*,G/M)标识的组播路由表项及 组播转发表项,在表项中添加出接口,至此,在整个MFEC分发树或分发子 树上建立了基于MFEC的路由。以上步骤301至步骤303是加入组播组的过程,包括接收者主机发送加 入报文和网络节点路由器向上游节点发送加入报文,该过程实际上也是构建 MFEC分发树或分发子树的过程,执行该过程后,也就确定了组播数据包的 分发路径。而静态创建基于MFEC的路由的方式是指在所述分发树或分发子树中 的各个节点上静态配置以组播转发等价类标识的组播转发指导信息,即组播 路由表项及组播转发表项,从而在各节点上以MFEC为粒度直接指导组播数据包的转发。 一般来讲,分发树或分发子树的节点按功能可划分为入口节点, 即组播数据包在分发树或分发子树上的入口,传输节点,也就是中间节点, 还包括出口节点,即组播数据包在分发树或分发子树上的出口。当然,这三 类节点并非必须同时存在,例如可以没有传输节点,或者在分发树或分发子 树上仅包括一个节点,那么该节点同时是入口、传输及出口节点。所述组播路由表项与组播转发表项的区别在于,组播路由表项是在路由 器进行路由学习时,建立的所有的路由表项。而组播转发表项是路由表项中的最优路由,是路由器实际进行数据包转 发的路由表项。但在组播协议中,组播路由表项与组播转发表项一般来说是 相同的。除了前述的动态和静态创建基于组播转发等价类MFEC的路由方式之 外,还有一种动静相结合的创建方式,即在Egress路由器上静态地配置到接 口的加入,通过命令配置到Egress路由器某接口上的静态加入,该接口并非 仅限于物理接口,也有可能是一些虛拟逻辑接口,按照该方法,就不必在 Egress路由器上配置步骤301所述的映射关系了 ,直接会向上游路由器发送 基于MFEC的加入报文。该方法虽然没有接收者主机的加入请求,但效果与 接收者主机发送加入报文相同,结果都是触发了 Egress路由器向上游发送加 入报文,因此,在本发明的实施例中,将这两种方法统称为激励,动态映射 方式称为协议激励,静态加入方式称为命令激励。但这种静态方式是在 Egress路由器上实现的,在Transit路由器及上Ingress路由器依然为根据下 游路由器发送的加入报文来动态创建路由,因此从整体上看,该方法还是动 态的映射方式。通过步骤301至步骤303,创建了基于MFEC的分发树或分发子树,确 定了树上各节点的组播路由表项和组播转发表项,当随后组播数据包到达 Ingress路由器时,首先根据步骤302中设置的映射关系,查询组播转发指导 信息,根据以(S,G/M)或(*,G/M)标识的组播转发表项,在出接口上转 发组播数据包,组播数据包通过所述分发树或分发子树的Transit路由器和Egress路由器的转发,并最终到达接收者的主机。本发明的实施例二是在PIM SSM协议中构建基于MFEC的路由并按照 该路由转发组播数据包的方法,其流程如图4所示,具体包括以下步骤1 、在Egress路由器和Ingress路由器上预设置(*,G )或(S,G)到MFEC 的映射关系为(*,G/M)或(S,G/M)。2、 接收者的主机向离自身最近的路由器发送IGMP/MLD (S,G) 加 入report报文。例如接收者想要收看某频道的节目,即需要接收(S,G)的 组播数据流,则向Egress路由器发送GMP/MLD ( S,G )加入report报文。3、 在Egress路由器上,根据步骤1中设置的映射关系,将(S,G )状 态转换为(S,G/M)状态。该转换动作是Egress路由器在接收到report报文 后进行的,将该报文中的(S,G)字段转换为(S,G/M)。因为组播源确定 为S,因此,Egress路由器通过查询相应路由表项获得到该组播源的入接口 , 再创建以(S,G/M)为标识的组播路由和转发表项,为该表项添加出接口, 该出接口就是到接收者主机的接口 。当然也可以采用静态配置的方式在Egress路由器上配置基于MFEC的 静态加入,在没有接收到report报文情况下,通过相关命令配置到Egress 路由器某接口上的静态加入,触发Egress路由器向上游发送加入报文。4、 'Egress路由器计算并生成(S,G/M )状态的PIM Join报文,并在步 骤3中所述入接口上向组播源方向发送基于(S,G/M)的PIMJoin报文。如 图4所示,接收该报文的是MFEC上的Transit路由器。5、 在Transit路由器上创建(S,G/M )状态,建立相应的以(S,G/M ) 为标识的路由/转发表项,并在表项中添加组播数据包的出接口 ,向源方向 发送(S,G/M)的pimjoin报文。6、 Ingress路由器创建(S,G/M )状态,建立相应的以(S,G/M )为标识 的路由/转发表项,并在表项中添加出接口。如果Ingress路由器与组播源之 间没有其他三层网络设备,即Ingress路由器为距离组播源最近的三层网络 设备,那么组播源发出的数据流到达Ingress路由器后根据已建立的组播转发表项,在出接口上进行转发。如果Ingress路由器与组播源之间还有其他路由器,则Ingress路由器可 以采用两种方式接收并转发组播源发送的组播数据包方式1)在Ingress路由器与组播源之间的路由器上可以采用静态配置 组4番路由表项和组播转发表项的方式,生成以(S,G/M)为标识的组播路由 表项和转发表项,由距离组播源最近的三层网络设备通过配置转发表项,在 出接口上向Ingress路由器转发组播数据包;方式2 )在Ingress路由器上,根据步骤1中配置的映射关系,再将MFEC 分解为相应的(S,G),按照正常方式向上游路由器分别发送基于每个(S,G) 的PIMjoin才艮文。采用方式l)的方法,实际上是对本发明的实施例的技术方案的延续, 将MFEC的所有组播组数据流都推送到Ingress路由器上,该方法的优点是 能够避免MFEC分发树上链路的振荡所导致的组播数据包传输延迟或抖动 等问题,因为所有组播数据包都一次性推送到Ingress路由器上了 ,不会因 为MFEC分发树内部的变化受到影响;而方式2)是一种节约带宽的方法, 该方法能够按需发送,即只有接收到某个组播组的加入报文才发送这个组播 组的组播数据包,在Ingress路由器与组播源之间的路由器上按照接收者的 需要仅传输(S,G)组播数据包。7、 组播源发出组播数据包,到达Ingress路由器后,根据映射关系,查 询以MFEC标识的组播转发表项,根据已建立的以(S,G/M)的转发表项, 在出接口上转发组播数据包。8、 Transit路由器接收组播数据包,根据已建立的以(S,G/M )的转发 表项,在出接口上向下游转发组播数据包一直到Egress路由器,Egress路由 器同样根据已建立的以(S,G/M)的转发表项,将组播数据包转发给接收者。本实施例应用在特定组播源的情况下,在Egress路由器和Ingress路由 器上预设置组播数据包与MFEC间的映射关系。当Egress路由器获得用户 的加入组播组的请求时,直接建立基于MFEC的组播路由表项和转发表项。当用户想要接收同一 MFEC的其它频道节目时,不必改变映射关系和路由/ 转发表项,从而节省了路由器的内存空间和路由切换时间。本发明的实施例三是应用在稀疏模式协议独立组播(PIM SM)中的构 建基于MFEC的共享树并转发组播数据包的方法,其构建方式如图5所示, 包括以下步骤1 、在Egress路由器和Ingress路由器上预设置(*,G )或(S,G )到MFEC 的映射关系为(*,G/M)或(S,G/M)。2、 接收者的主机向Egress路由器发送IGMP/MLD ( *,G ) report报文。 例如接收者想要收看某频道的节目,仅仅知道组播组的地址,即想要接收(*,G )的组4番数据包,则向Egress路由器发送IGMP/MLD ( *,G ) report 报文。'3、 Egress路由器根据步骤1中设置的MFEC映射关系将IGMP/MLD (*,G) report报文中的(、G)字段转换为(、G/M)字段,建立以(S,G/M )为标识的组播路由和转发表项,在表项中添加出接口,或者采用静态配置的 方式,配置IGMP/MLD静态加入(*,G/M),从而触发PIM SM构建分发树。 其中,在该MFEC上的这些(*,G)的共享树汇聚点(RP)是相同的, 否则无法聚合成(*,G/M)状态,这是因为按照现有协议,路由器上生成的 join报文只能发送给同一个RP,如果在MFEC中对应了多个RP,在Egress 路由器上会生成(*,G/M)的join报文,该报文只能发送给一个RP,那么注 定有一些组播源是该RP找不到的。4、 Egress路由器计算并生成基于(*,G/M)的PIMjoin报文,并向RP 方向发送(*,G/M)的PIM join才艮文。5、 在Transit路由器上创建以(*,G/M )为标识的组播路由/转发表项, 并在表项中添加出接口 。6、 Transit路由器计算并生成基于(*,G/M)的PIM join报文,向RP 方向发送基于(*,G/M)的PIM join才艮文。7、 在RP路由器上创建以(*,G/M)为标识的组播路由/转发表项,并在表项中添力口出接口 。8、 源指定路由器(DR)向RP单播注册(register)报文。源DR是距 离组播源最近的三层网络节点,组播源的组播数据包会不断地发送给源DR, 但源DR在没接收到加入该组播组的请求时是不会转发该数据包的。该单播 动作并非限制在本流程的本步骤中进行,事实上,源DR的register报文是 周期性地发送给RP的,目的是让RP获知组播源的存在,而RP的作用就在 于将接收者主机与组播源联系在一起,也能通过RP从组播源接收数据包。如果源DR是Ingress路由器,则根据MFEC映射关系将组播源(S,G ) 转换为(S,G/M)状态,向RP单播基于(S,G/M)的register报文。如果RP 是Ingress路由器,则本发明中RP接收到(S,G ) register报文后,根据MFEC 映射表将register报文中的(S,G )转换为(S,G/M )状态。9、 源DR接收组播源发送的组播数据包,并在出接口上向下游转发, 通过Transit路由器和Egress路由器发送给接收者的主机。本实施例是在接收者不指定组播源的情况下,构建共享树并转发组播数 据包的方法。需要借助RP将接收者要加入的组播组与组播源联系在一起。 通过RP转发组播数椐包的路径称为共享树(RPT),由于RPT—般并非是 接收者到组播源的最优路径,并且RPT往往为多个(*,G )的转发请求服务, 其负载较大,因此协议中规定,在一定的触发条件下,要将RPT路径上的 流量切换到最优路径,也就是接收者与组播源间的最短路径树(SPT)上, SPT—般也称为源树。切换的触发条件由用户设定, 一般可以设置为Egress 路由器接收到的下行组播数据包的流量大于0或大于某个速率,比如 1Mbit/s。本发明的实施例四描述了该切换过程,其流程如图6所示,包括以 下步骤1 、在Egress路由器和Ingress路由器上预设置(*,G )或(S,G )到MFEC 的映射关系为(*,G/M)或(S,G/M)。2、组播数据包原本是沿RPT转发,此时,图6中直连接收者主机的 Egress路由器发起SPT切换,计算并向组播源方向发送基于(S,G/M )的PIMjoin报文。3、 在Transit路由器上创建以(S,G/M )为标识的组播路由/转发表项, 并在表项中添加出接口,计算并生成基于(S,G/M)的PIMjoin报文,向源 方向发送PIMjoin报文。4、 源DR如果是Ingress路由器,则根据步骤l,在源DR上已经存在 (S,G/M)的映射关系,则创建以(S,G/M)为标识的组播路由/转发表项,并在表项中添加出接口;否则源DR有可能和Ingress路由器直连,也有可 能在其间还有其他路由器,对于这种情况有两种解决方法1 )在源DR路由器与Ingress路由器之间的路由器上可以静态配置基于 MFEC的组播转发表项和组播路由表项,生成(S,G/M)的路由表项和转发 表项,通过该配置由Ingress路由器向源DR路由器转发数据包;2 ) Ingress路由器根据步骤1中的映射关系将MFEC分解为相应的多个 (S,G),按照常规方式向组播源方向发送每个(S,G)的PIMjoin报文。5、 源DR接收组播源发送的组播数据包,并在出接口上将组播数据包 向下游转发。6、 Transit路由器接收组播数据包,沿SPT向下游转发组播数据包。7、 直连接收者的最后一跳路由器,接收来自SPT上游的组播数据包, 发起剪枝过程,因为其已经通过SPT来接收组播数据包,需要删除RPT, 于是计算并向RP方向发送基于(S,G/M)的剪枝Prune报文。8、 RPT上的Transit路由器剪枝(S,G/M)的出接口,并2向RP方向 发送基于(S,G/M)的Prune报文。9、 RP剪枝(S,G/M)的出接口,向源DR发送(S,G/M)的停止注册 (register stop )报文,源DR剪枝(S,G/M )的register出接口 ,不再沿RPT转发数据包。以上实施例二至实施例四都采用了 MFEC的动态应用方式,即根椐预 设置MFEC映射关系,以收到IGMP/MLD report/PIM等组播协议报文为触 发条件,将组播(S/*,G)状态转换成相应的MFEC状态,并促使组播路由协议构建基于MFEC的组播分发树。当然也可以采用静态应用方式,直接定 义基于MFEC的静态加入,创建基于MFEC的组播分发树,在路由器上定 义MFEC路由项及转发项,直接指导数据包转发。此外,可以为每个MFEC 状态设定主备两个入接口,增强组播转发的健壮性。还可以将动态应用方式 和静态应用方式相结合,在部分网络节点上使用动态方式,部分网络节点上 使用静态方式,例如在Egress路由器上使用静态方式,其它路由器上使用动 态方式。总之,在本发明的实施例中,由于对流经相同分发树或子树的数据包使 用同一组组播转发表项,这些组播数据包称为组播转发等价类MFEC,同一 组播转发等价类的数据报文使用同一个组播转发表项进行转发,可以加快路 由收敛时间,降低空间占用,提高空间和时间效率;对协议报文也不再以单 独的(S,G)或(*,G)为粒度,而是基于组播转发等价类,可以提高状态处 理和报文交互的效率。总之,以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的 保护范围。
权利要求
1. 一种组播方法,包括加入组播组的过程和转发组播数据包的过程,其特征在于,将采用相同方式转发的组播数据包的集合设置为组播转发等价类,且在加入组播组的过程中,在组播转发等价类所属分发树或分发子树的网络节点上,建立以组播转发等价类标识的组播转发指导信息;在转发组播数据包的过程中,将同一组播转发等价类的组播数据包根据同一个组播转发指导信息转发。
2、 根据权利要求1所述的组播方法,其特征在于,所述建立以组播转发等 价类标识的组播转发指导信息的过程包括所述组播转发等价类所属分发树或分发子树的出口网络节点接收到激励 后,向所述分发树或分发子树的上游网络节点发送加入报文,建立以组播转发 等价类标识的组播转发指导信息,并在所述组播转发指导信息中添加出接口 , 所述上游网络节点建立以组播转发等价类标识的组播转发指导信息,在所述组 播转发指导信息中添加出接口 ,并继续向上游发送加入报文。
3、 根据权利要求2所述的组播方法,其特征在于,该方法进一步包括 入口网络节点接收到下游网络节点的加入报文后,建立以所述组播转发等价类标识的组播转发指导信息,在所述组播转发指导信息中添加出接口 。
4、 根据权利要求l、 2或3所述的组播方法,其特征在于,所述相同方式 转发具体为流经相同的组,潘分发树或分发子树的组播数据包进行相同的转发处 理。
5、 根据权利要求l、 2或3所述的组播方法,其特征在于,该方法进一步 包括在所述分发树或分发子树的出口网络节点及入口网络节点上设置所述同一 组播转发等价类的组播数据包与所述组播转发等价类之间的映射关系,确定所 述组播转发等价类中包含的组播数据包。
6、 根据权利要求5所述的组播方法,其特征在于,所述接收到激励具体包括所述出口网络节点接收到属于同一组播转发等价类的组播数据包的接收者 主机加入报文或下游网络节点的加入报文,根据所述映射关系将加入不同组播组的加入报文映射为基于所述组播转发等价类的报文,创建以所述组播转发等 价类标识的组播转发指导信息,在所述转发指导信息中添加出接口。
7、 根据权利要求2或3所述的组播方法,其特征在于,所述接收到激励具 体包括在接口上配置静态加入,创建标识所述组播转发等价类的组播转发指导信息。
8、 根据权利要求5所述的组播方法,其特征在于,所述映射关系具体包括 将组播源组地址对(组播源地址,组播组地址)或(任意组播源,组播组地址)映射为(组播源地址,组播组地址/掩码),(组播源地址/掩码,组播组地址), (组播源地址/掩码,组播组地址/掩码),(组播源地址,离散的组播组地址), (离散的组播源地址,组播组地址),(离散的组播源地址,组播组地址/掩码),或(离散的组播源地址,离散的组播组地址)。
9、 根据权利要求6所述的组播方法,其特征在于,所述将多个加入不同组 播组的加入报文映射为基于组播转发等价类的报文具体包括在所述多个加入报文中,根据所述同一组播转发等价类的组播数据包与组 播转发等价类间的映射关系,用标识所述组播转发等价类的字段,替换标识所 述属于同 一组播转发等价类的组播数据包的组播组地址对字段;或者根据所述 组播数据包与组播转发等价类间的映射关系,在所述多个加入报文中增加标识 所述组播转发等价类的字段,并向全网广播该标识方法与所述组播转发等价类 的对应关系,或通过命令配置所述对应关系。
10、 根据权利要求5所述的组播方法,其特征在于,该方法进一步包括 如果在所述分发树或分发子树的入口网络节点与组播源之间存在其它网络节点,则在所述入口网络节点与组播源之间的网络节点上配置以所述组播转发 等价类标识的組播转发指导信息,生成相应的路由表项和转发表项,通过该配置向组播源方向发送加入报文;
11、 根据权利要求5所述的组播方法,其特征在于,该方法进一步包括 如果在所述分发树或分发子树的入口网络节点与组播源之间存在其它网络节点,则在所述入口网络节点上,根据所述映射关系,将基于组播转发等价类 的加入报文分解为所述组播转发等价类包含的组播数据包的加入报文,并向上 游路由器发送所述分解后的加入报文。
12、 根据权利要求4所述的组播方法,其特征在于,所述转发组播数据包 具体包括入口网络节点接收到隶属于同一组播转发等价类的组播数据包后,根据所 述映射关系,查询所述组播转发指导信息,在相应出接口上向下游节点转发所 述组播数据包;出口网络节点接收到所述组播数据包,查询组播转发指导信息,并在相应 出接口上转发所述组播数据包。
13、-根据权利要求12所述的组播方法,其特征在于,该方法进一步包括 传输网络节点接收到所述入口网络节点发送的组播数据包,根据所述标识组播转发等价类的字段,查询组播转发指导信息,在相应出接口上向出口网络 节点转发所述组播数据包。
14、 根据权利要求12所述的组播方法,其特征在于,如果所述出口网络节 点与接收者主机之间存在其它网络节点,则在所述出口网络节点与接收者主机 之间的网络节点上配置以所述组播转发等价类标识的组播转发指导信息,生成 相应的路由表项和转发表项,通过该配置向接收者主机方向转发组播数据包; 或者,在所述出口网络节点与接收者主机之间的网络节点上,查询以所述组播 数据包的地址对标识的组播转发指导信息,并向下游网络节点转发所述组播数 据包。
15、 一种组播路由方法,其特征在于,包括将采用相同方式转发的组播数据包的集合设置为组播转发等价类,组播转 发等价类所属分发树或分发子树的出口网络节点接收到激励后,则向所述分发树或分发子树的上游网络节点发送加入报文,建立以组播转发等价类标识的组 播转发指导信息,并在所述转发指导信息中添加出接口,所述上游网络节点建 立以组播转发等价类标识的组播转发指导信息,在所述转发指导信息中添加出 接口,并继续向上游发送加入报文, 一直到达所述分发树或分发子树的入口网 络节点上。
16、 根据权利要求15所述的组播方法,其特征在于,所述相同方式转发具 体为流经相同的组播分发树或分发子树并进行相同的转发处理。
17、 一种组播方法,其特征在于,包括将采用相同方式转发的组播数据 包的集合设置为组播转发等价类,在组播转发等价类所属分发树或分发子树的 网络节点上,静态配置以组播转发等价类标识的组播转发指导信息,将同一组 播转发等价类的组播数据包根据同 一个组播转发指导信息转发。
18、 根据权利要求17所述的组播方法,其特征在于,所述相同方式转发具 体为流经相同的组播分发树或分发子树并进行相同的转发处理。
全文摘要
本发明公开了一种组播方法,包括加入组播组的过程和转发组播数据包的过程,将采用相同方式转发的组播数据包的集合设置为组播转发等价类,且在加入组播组的过程中,在分发树或分发子树的网络节点上,建立以组播转发等价类标识的组播转发指导信息;在转发数据包的过程中,将同一组播转发等价类的数据包根据同一组播转发指导信息转发。本发明还公开了一种组播方法,包括将采用相同方式转发的组播数据包的集合设置为组播转发等价类,在组播转发等价类所属分发树或分发子树的网络节点上,静态配置以组播转发等价类标识的组播转发指导信息,将同一组播转发等价类的组播数据包根据同一个组播转发指导信息转发。本发明还公开了一种组播路由方法。
文档编号H04L12/18GK101242342SQ20071000348
公开日2008年8月13日 申请日期2007年2月5日 优先权日2007年2月5日
发明者怡 熊, 董伟嗣, 锋 郭 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1