一种协议无关组播中资源预留的方法和路由器转让专利

申请号 : CN200910008453.8

文献号 : CN101789897A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 段少雄刘毅松苏海洋

申请人 : 华为技术有限公司

摘要 :

本发明实施例公开了一种协议无关组播中资源预留的方法,该方法包括:预先配置组播组需要的链路资源信息;获取组播组的汇聚点信息,所述汇聚点信息包含所述预先配置的组播组需要的链路资源信息;根据所述组播组需要的链路资源信息,更新入接口和出接口上可用的链路资源信息。本发明实施例还提供相应的路由器。本发明技术方案使得后续业务的资源分配可以根据更新后可用的链路资源信息获取链路上可用的资源,因此不会发生业务抢占的情况,可以满足每种业务的对资源的需求。

权利要求 :

1.一种协议无关组播中资源预留的方法,其特征在于,包括:预先配置组播组需要的链路资源信息;

获取组播组的汇聚点信息,所述汇聚点信息包含所述预先配置的组播组需要的链路资源信息;

根据所述组播组需要的链路资源信息,更新入接口和出接口上可用的链路资源信息。

2.如权利要求1所述的协议无关组播中资源预留的方法,其特征在于,所述预先配置组播需要的链路资源信息具体为:配置候选汇聚点,配置所述候选汇聚点服务的组播组地址,以及每个组播组需要的链路资源信息;

将候选汇聚点信息扩散到整个网络,使得网络中所有路由器根据所述候选汇聚点信息获得汇聚点信息。

3.如权利要求1所述的协议无关组播中资源预留的方法,其特征在于,所述预先配置所述组播组需要的链路资源信息具体为:静态配置汇聚点;

配置所述汇聚点服务的组播组地址,以及每个组播组需要的链路资源信息。

4.如权利要求1或3任一项所述的协议无关组播中资源预留的方法,其特征在于,所述获取组播组的汇聚点信息具体为:在接收到组播源发送的数据报文,建立组播转发表项时,获取所述组播组的汇聚点信息;或者,在接收到来自接收者方向的加入请求消息,建立组播转发表项时,获取所述组播组的汇聚点信息。

5.如权利要求4所述的协议无关组播中资源预留的方法,其特征在于,所述链路资源信息包括带宽信息。

6.一种路由器,其特征在于,包括:配置单元、汇聚点信息获取单元和信息更新单元,其中:配置单元,用于预先配置组播组需要的链路资源信息;

汇聚点信息获取单元,用于获取组播组的汇聚点信息,所述汇聚点信息包含所配置的所述组播组需要的链路资源信息;

信息更新单元,用于根据汇聚点信息获取单元所获取的链路资源信息,更新入接口和出接口上可用的链路资源信息。

7.如权利要求6所述的路由器,其特征在于,所述汇聚点信息获取单元包括:第一汇聚点信息获取子单元,用于在接收到组播源发送的数据报文,建立组播转发表项时,获取所述组播组的汇聚点信息。

8.如权利要求6或7所述的路由器,其特征在于,所述汇聚点信息获取单元包括:第二汇聚点信息获取子单元,用于在接收到来自接收者方向的加入请求消息,建立组播转发表项时,获取所述组播组的汇聚点信息。

说明书 :

技术领域

本发明涉及组播技术领域,尤其涉及一种协议无关组播中资源预留的方法和路由器。

背景技术

网际协议(IP,Intemet Protocol)组播是指在IP网络中将数据包以尽力传送(Best-effort)的形式发送到网络中的某个确定节点子集,这个子集称为组播组(Multicast Group)。IP组播的基本思想是:源主机只发送一份数据,这份数据中的目的地址为组播组地址;组播组中的所有接收者都可以接收到同样的数据拷贝,并且只有组播组内的主机(目的主机)可以接收该数据,网络中的其他主机不能收到。
协议无关组播(PIM,Protocol Independent Multicast)协议是一种组播传输协议,能在现存IP网上传输组播数据。PIM是一种独立于单播路由协议的组播协议,为IP组播提供路由的单播路由协议可以是静态路由、路由信息协议(RIP,Routing Information Protocol)、开放最短路径优先(OSPF,Open ShortestPath First)、中间系统到中间系统的路由选择协议(IS-IS,Intermediate Systemto Intermediate System Routing Protocol)、边界网关协议(BGP,Border GatewayProtocol)等,组播路由和单播路由协议无关,只要单播路由协议能产生路由表项即可。PIM协议有三种工作模式:PIM稀疏模式、PIM密集模式和双向协议无关组播(BIDIR-PIM,Bidirectional PIM)。BIDIR-PIM适合组播源和接收客户都很多的应用,例如,多方电话会议。
现有的协议中考虑到如何维护表项状态,如何转发数据。例如,在BIDIR-PIM协议中,组播源的数据流被无条件地转发往汇聚点(RP,RendezvousPoint),再由RP向多个客户机转发。汇聚点地址(RPA,Rendezvous PointAddress)为非真实接口的地址,RPA所在的子网链路称为汇聚点链路(RPL,Rendezvous Point Link)。除RPL外,每条链路都需要选择出一个指定转发路由器(DF,Designated Forwarder),DF是唯一具有处理PIM加入/剪枝请求消息能力的路由器,下游路由器也只会将PIM加入/剪枝请求消息发送给DF。这可以避免其他PIM协议中存在的同时有两条相同的组播数据被传递到同一链路的可能性。BIDIR-PIM协议中的反向路径转发(RPF,Reverse PathForwarding)接口均指路由器上距离RPA最近的那个接口,而RPF邻居是指到达RPA的最佳路由的下一跳路由。
参照图1,为现有技术中实现PIM的网络示意图,组播源S的业务流被无条件地转发往RP,RP向接收者R转发,RPA地址为1.1.1.1,是一个非真实的网络接口,路由器C在自身接口e1/0所在链路e为DF,路由器B为路由器C的DF邻居,且为自身e1/0所在链路d的DF,路由器A在自身接口e1/0所在链路b为DF,以下介绍组播源如何将数据流发送到接收者,具体过程如下:
S101、路由器C在自身接口e1/0接收并处理接收者R发送的互联网组管理协议(IGMP,Intemet Group Management Protocol)加入请求消息,建立(*,G)转发表项,并同时向RPF接口e0/0所在链路的DF邻居路由器B的接口e1/0发送PIM加入请求消息;
其中,(*,G)转发表项可以用于任意源数据的转发,*表示任意源,用于表示向组播组G发送组播数据的路由信息。
S102、路由器B在自身接口e1/0接收并处理来自路由器C的接口e0/0的PIM加入请求消息,建立(*,G)转发表项;
同时由于路由器B是RPL的路由器,PIM加入请求消息终止于路由器B。
S103、路由器A在自身接口e1/0接收组播源S的组播数据,建立(*,G)转发表项,并通过自身接口e0/0转发往RPL;
S104、路由器B在自身接口e0/0接收到组播数据时,建立(*,G)转发表项,并将组播数据通过自身接口转发往路由器C的接口e0/0;
S105、路由器C通过自身接口e0/0接收到组播数据时,建立(*,G)转发表项,并将组播数据通过自身接口e1/0发送到接收者R。
但是,本发明的发明人在对现有技术进行研究和实践的过程中发现,现有PIM的过程中未考虑到链路的带宽等链路资源问题,即现有PIM协议假设带宽足够业务的开展,但在实际应用中,链路上往往有多种业务,如果资源被其他业务抢占的话,即使能建立正确的组播表转发项,组播数据还是可能被丢弃,用户的视频业务将出现马赛克,音频业务则会出现声音失真或噪声过大,会严重影响用户使用;或者会抢占其他业务的带宽资源,干扰其他用户的正常使用。但在现有技术中,并没有相应的方法解决所述资源冲突的问题。

发明内容

本发明实施例提供一种协议无关组播中资源预留的方法和路由器,能够在其他业务和组播同时存在的情况下,保障二者的业务不相冲突。
本发明实施例提供的技术方案如下:
一种协议无关组播中资源预留的方法,包括:
预先配置组播组需要的链路资源信息;
获取组播组的汇聚点信息,所述汇聚点信息包含所述预先配置的组播组需要的链路资源信息;
根据所述组播组需要的链路资源信息,更新入接口和出接口上可用的链路资源信息。
一种路由器,包括:配置单元、汇聚点信息获取单元和信息更新单元,其中:
配置单元,用于预先配置组播组需要的链路资源信息;
汇聚点信息获取单元,用于获取组播组的汇聚点信息,所述汇聚点信息包含所配置的所述组播组需要的链路资源信息;
信息更新单元,用于根据汇聚点信息获取单元所获取的链路资源信息,更新入接口和出接口上可用的链路资源信息。
从以上技术方案可以看出,通过预先配置组播组需要的链路资源信息,并在获取组播组的RP信息时,根据所述RP信息中包含的所述组播组需要的链路资源信息,更新入接口、出接口上可用的链路资源信息,使得后续其他业务可以使用所述可用的链路资源信息,选择资源可用的路径。在此过程中,后续业务的资源分配可以根据更新后可用的链路资源信息获取链路上可用的资源,因此不会发生业务抢占的情况,可以满足每种业务的对资源的需求。对于其他业务和组播业务同时存在的情况,上述PIM的方法能够保证所述其他业务和组播的业务互不冲突,从而可以最大限度地利用网络的链路资源,同时可以保证业务质量,避免链路资源不足时,视频业务所出现的马赛克现象,音频业务所出现的声音失真或噪声过大现象,因而可以提高用户体验。

附图说明

图1是现有技术中实现PIM的网络示意图;
图2是本发明实施例中PIM中资源预留的方法流程图;
图3是本发明另一实施例中PIM中资源预留的网络示意图;
图4是本发明实施例中路由器结构示意图。

具体实施方式

在实际应用中,由于链路上往往会有多种业务,现有技术中PIM中资源预留的方法会出现业务抢占的问题,如果资源被其他业务抢占,即使能够建立正确的组播转发表项,组播转发报文还是可能被丢弃,用户的视频业务将出现马赛克,音频业务则会出现声音失真或者噪声过大,影响用户使用;如果组播抢占其他业务的资源,则会干扰其他业务的正常运行。
本发明的一个实施例提供了一种PIM中资源预留的方法,可以满足每种业务对资源的要求,避免业务冲突,并最大限度地利用全网的链路资源。在本实施例中,要预先配置组播组需要的链路资源信息,例如,组播组需要的带宽资源等信息。
参照图2,为本发明实施例中PIM中资源预留的方法流程图,具体步骤如下:
S201、获取组播组的RP信息;
在本实施例中,所述RP信息包括所述组播组需要的链路资源信息;链路资源信息包括带宽资源信息,当然,也可以是其他类型的链路资源信息,不再一一举例说明。
S202、根据所述组播组需要的链路资源信息,更新入接口、出接口上可用的链路资源信息。
在本实施例中,入接口通常是指接收消息的接口,或者为组播流流入的接口;出接口,通常是指发送消息的接口,或组播数据流出的接口。
在实际的应用中,通常是在建立组播转发表项时,获取到组播组的RP信息,并根据RP信息中的组播组需要的链路资源信息,更新入接口和出接口上可用的链路资源信息。例如,可以是在接收到组播源发送的数据报文,建立组播转发表项时,获取所述组播组的汇聚点信息;或者,也可以是在接收到来自接收者方向的PIM加入请求消息,建立组播转发表项时,获取所述组播组的汇聚点信息。
更新入接口和出接口上可用的链路资源信息后,后续业务在选择路径的过程中,可以根据入接口和出接口上可用的链路资源信息,选择资源可用的路径,由于后续业务的资源分配可以考虑根据更新后的可用的链路资源信息获取可用的链路资源,避免业务相互抢占,因此可以满足链路上所有的业务对资源的需求。在具体实施中,对于其他业务和PIM组播同时存在的情况,可以使得先前的PIM组播业务和后续业务互不冲突,从而可以最大限度地利用网络的链路资源,同时可以保证业务的质量,例如:对于视频业务,不会由于业务被其他业务抢占而出现马赛克的现象,对于音频业务,也不会由于业务被其他业务抢占而出现声音失真或噪声过大的问题。同样,也不会干扰其他业务的运行。
为使本领域技术人员更好地理解和实现本发明的实施例,以下通过具体的应用场景进行说明。
参照图3,为本发明的另一实施例中PIM中资源预留的网络示意图,在所述网络中,假设所有路由器接口的带宽为100Mbps,用户R2到RP的路径为路由器C→路由器E→路由器A,用户R3到RP的路径为路由器F→路由器E→路由器D→路由器A。
与上一实施例类似的,在实现资源预留之前,需要预先配置组播组需要的链路资源信息。
例如,在图3所示的场景中,可以配置路由器A为候选自举路由器(C-BSR,Candidate BootStrap Router),配置路由器A的回环(Loopback)接口1.1.1.1为候选汇聚点(C-RP,Candidate-RP),其服务的组播组地址为225.1.1.0/24,每个组播组需要的带宽为30Mbps;此处,服务的组播地址为225.1.1.0/24,表示可以为组播组地址从225.1.1.0至225.1.1.24的25个组播组提供服务。
候选汇聚点通过BSR协议,定期把C-RP信息以单播形式发送到自举路由器BSR,本场景中,C-RP信息包括:候选汇聚点的地址,可选的组播组地址和一个用于说明组的前缀的掩码长度域,以及每个组播组所需的带宽资源。
BSR收集这些C-RP信息并产生相应的自举消息,通过广播自举消息将C-RP信息扩散到整个网络。自举消息也是一种PIM消息,它包括C-RP信息和相应的组前缀,并由BSR以一跳一跳的形式发送到所有普通路由器。
网络中的所有路由器通过收集自举消息,就能够获得C-RP信息。获得C-RP信息后,网络中的路由器通过一定的算法,就能够获得组播组到汇聚点的映射,从而得到一个组播组实际的汇聚点的地址。例如,可以采用散列函数来计算组播组和汇聚点的映射关系,散列函数的算法是把组播组地址和候选汇聚点的地址作为输入值,从而得到一个组播组的实际汇聚点的地址。为了方便描述,假设本场景中,网络中的路由器通过计算得到的RP地址为1.1.1.1。
经过上述配置,网络中的路由器都获知了服务地址为225.1.1.0/24的每个组播组的RP地址为1.1.1.1,所需的带宽为30Mbps。
S401、用户R2通过IGMP消息通知路由器C其需要接收225.1.1.1、225.1.1.2和225.1.1.3的组播数据,路由器C在自身入接口上建立(*,G)转发表项,并更新路由器C和R2之间的可用的链路带宽信息,标识可用带宽为10Mbps,即路由器C入接口上可用链路带宽更新为10Mbps;并在自身出接口建立(*,G)转发表项,更新路由器C和路由器E之间的可用的链路带宽信息,标识可用带宽为10Mbps,即路由器C出接口上可用链路带宽更新为10Mbps;并向其上游路由器E发送PIM加入请求消息;
本实施例中,由于已预先将每个组播组的C-RP信息扩散到每个路由器,故路由器C根据获取的RP信息,得知每个组播组需要的带宽为30Mbps,用户R2共接收3个组播组的组播数据,而所有路由器的接口带宽均为100Mbps,因此,更新后路由器C入接口及出接口上可用带宽均为100Mbps-3*30Mbps=10Mbps。
S402、路由器E处理所述PIM加入请求消息,在自身入接口建立(*,G)转发表项,标识可用带宽为10Mbps,即更新路由器E入接口上可用的链路带宽为10Mbps;路由器E在自身出接口建立(*,G)转发表项,更新路由器E和路由器A之间的可用的链路带宽信息,标识可用带宽为10Mbps,即更新路由器E出接口上可用链路带宽为10Mbps;路由器E向其上游路由器A发送PIM加入请求消息。本场景中,由于路由器A为连接RPL的路由器,因此所述PIM加入请求消息终止于路由器A。
S403、组播源R1通过路由器D向路由器A发送组播组225.1.1.1、225.1.1.2和225.1.1.3的组播数据,在此过程中,更新组播源R1到路由器D、路由器D到路由器A之间的可用带宽为10Mbps,具体如下:路由器D通过入接口接收到来自组播源R1的组播数据时,建立(*,G)转发表项,标识可用带宽为10Mbps,即更新路由器D和组播源R1之间的可用的链路带宽信息,标识可用带宽为10Mbps;路由器D并建立(*,G)转发表项,标识可用带宽为10Mbps,即更新路由器D和路由器A之间的可用的链路带宽信息,标识可用带宽为10Mbps;并向路由器A发送组播组225.1.1.1、225.1.1.2和225.1.1.3的组播数据。
可以看出,通过上述步骤即可实现组播所经过的链路上链路带宽信息的更新,从而可以为后续业务预留出所需要的链路资源。例如,后续R3向路由器A发送20Mbps的单播数据,按照单播的最短路径算法,路径应该为:路由器F→路由器E→路由器D→路由器A,但是,根据更新后的可用的链路带宽信息可知,路由器D到路由器A之间的带宽只剩下10Mbps,无法满足单播数据对带宽的需求,因此选择路径路由器F→路由器E→路由器B→路由器A进行转发,从而可以使得上述BIDIR-PIM业务与后续的单播业务互不冲突。
可见,由于预先已配置好每个组播组需要的带宽资源,因此,在链路上传输组播业务时,根据所述组播业务需要的带宽资源更新链路可用的带宽资源,使得后续业务可以根据更新后链路可用的带宽资源选择满足业务需要的路径,故在一条链路上有多个业务运行的情况下,可以避免业务相互抢占,影响业务质量,同时可以最大限度地利用网络的带宽资源。
仍以图3所述的场景为例,说明另一种PIM中资源预留的方法,与上一实施例通过BSR等动态协议来扩散RP信息不同,本实施例是在全网路由器中静态配置RP信息,例如,预先配置路由器A的回环(Loopback)接口地址1.1.1.1为RP地址;在所有路由器上配置静态RP地址为1.1.1.1,所述RP所服务的组地址为225.1.1.0/24,每个组需要的带宽为30Mbps;RP所服务的组地址为225.1.1.0/24,表示所述RP可以为组播组地址从225.1.1.0至225.1.1.24的25个组播组提供服务。
S501、用户R2通过IGMP消息通知路由器C其需要接收225.1.1.1、225.1.1.2和225.1.1.3共三个组播组的组播数据,路由器C在自身入接口上建立(*,G)转发表项,更新路由器C和R2之间的可用的链路带宽信息,标识可用带宽为10Mbps,即路由器C入接口上可用链路带宽更新为10Mbps;并在自身出接口建立(*,G)转发表项,更新路由器C和路由器E之间的可用的链路带宽信息,标识可用带宽为10Mbps,即路由器C出接口上可用链路带宽更新为10Mbps;并向其上游路由器E发送PIM加入请求消息;
本实施例中,由于所有路由器的接口带宽均为100Mbps,步骤S502中已配置每个组播组需要的带宽资源为30Mbps,而用户R2共需要接收3个组播组的数据,故更新后路由器C入接口及出接口上可用带宽均为100Mbps-3*30Mbps=10Mbps。
S502、路由器E处理所述PIM加入请求消息,在自身入接口建立(*,G)转发表项,标识可用带宽为10Mbps,即更新路由器E入接口上可用的链路带宽为10Mbps;路由器E在自身出接口建立(*,G)转发表项,更新路由器E和路由器A之间的可用的链路带宽信息,标识可用带宽为10Mps,即更新路由器E出接口上可用链路带宽为10Mbps,并向上游路由器A发送PIM加入请求消息。本场景中,由于路由器A为连接RPL的路由器,因此所述PIM加入请求消息终止于路由器A。
S503、组播源R1通过路由器D向路由器A发送组播组225.1.1.1和225.1.1.2和225.1.1.3的组播数据,在此过程中,更新组播源R1到路由器D,路由器D到路由器A之间的可用带宽为10Mbps,具体如下:路由器D通过入接口接收到来自组播源R1的组播数据时,建立(*,G)转发表项,标识可用带宽为10Mbps,即更新路由器D和组播源R1之间的可用的链路带宽信息,标识可用带宽为10Mbps;路由器D并建立(*,G)转发表项,标识可用带宽为10Mbps,即更新路由器D和路由器A之间的可用的链路带宽信息,标识可用带宽为10Mbps;并向路由器A发送组播组225.1.1.1、225.1.1.2和225.1.1.3的组播数据。
可以看出,通过上述步骤即可实现组播所经过的链路上链路带宽信息的更新,从而可以为后续业务预留出所需要的链路资源。例如,后续R3向路由器A发送20Mbps的单播数据,按照单播的最短路径算法,路径应该为:路由器F→路由器E→路由器D→路由器A;但是,根据更新后的可用的链路带宽信息可知,路由器D到路由器A之间的带宽只剩下10Mbps,无法满足单播数据对带宽的需求,因此选择路径路由器F→路由器E→路由器B→路由器A进行转发,从而可以使得上述BIDIR-PIM业务与后续的单播业务互不冲突。
以上实施例中以带宽资源为例,说明当一条链路上有多个业务时,如何避免业务相互抢占,影响业务质量,可以理解的是,链路资源还可以为其他类型,不再一一举例说明。
并且,在具体实施中,上述资源预留方法除了适用于实现BIDIR-PIM业务过程中,还可以用于实现其他PIM业务,例如可以实现PIM SM(稀疏)模式的业务,与BIDIR-PIM业务不同的是,所建立的组播转发表项不是(*,G)表项,而是(S,G)表项,(S,G)表项用于表示由源S向组播组G发送组播数据的路由信息。即,所述表项即包含原地址S,又包含组播组G。其他步骤与实现BIDIR-PIM业务类似,不再赘述。
参照图4,为本发明实施例中路由器结构示意图,该路由器包括配置单元41、汇聚点信息获取单元42和信息更新单元43,其中:
配置单元41,用于预先配置组播组需要的链路资源信息;
汇聚点信息获取单元42,用于获取组播组的汇聚点信息,所述汇聚点信息包含配置单元41配置的所述组播组需要的链路资源信息;
信息更新单元43,用于根据汇聚点信息获取单元42所获取的链路资源信息,更新入接口和出接口上可用的链路资源信息。
在具体实施中,汇聚点信息获取单元42可以包括:第一汇聚点信息获取子单元421和/或第二汇聚点信息获取子单元422,其中:
第一汇聚点信息获取子单元421,用于在接收到组播源发送的数据报文,建立组播转发表项时,获取所述组播组的汇聚点信息;
第二汇聚点信息获取子单元422,用于在接收到来自接收者方向的加入请求消息,建立组播转发表项时,获取所述组播组的汇聚点信息。
所配置的链路资源信息可以为带宽信息,也可以为其他类型的链路资源信息。
可见,所述路由器通过预先配置组播组需要的链路资源信息,并在获取汇聚点信息时,根据所述汇聚点信息中的所配置的组播组需要的链路资源信息,更新入接口和出接口上可用的链路资源信息,这样,当后续有业务选择路径时,可以根据更新后可用的链路资源信息,选择满足带宽需求的路径,因此,在一条链路上有多个业务时,所述路由器可以避免业务之间相互冲突,避免对业务造成影响;同时可以最大限度地利用网络资源。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
以上对本发明实施例所提供的一种协议无关组播中资源预留的方法和路由器进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。