解决标签冲突的方法和系统的制作方法

文档序号:7957210阅读:377来源:国知局
专利名称:解决标签冲突的方法和系统的制作方法
技术领域
本发明涉及组播领域,尤其涉及解决标签冲突的方法和系统。
背景技术
组播是在一个发送者与多个接收者之间传递消息的技术,可以提高带宽利用率,节约网络资源。当单播用户业务需要穿过运营商网络时,通常的做法是把业务放到一个隧道(tunnel)中传输,对于组播业务,也可以考虑在点到多点隧道中承载组播业务,比如承载在P2MP LSP Tunnel(P2MPLabel Switched Path Tunnel,点到多点标签交换路径隧道)或multi-accesslink(多接入链路)上的LDP(Label Distribution Protocol,标签分发协议)组播业务。组播过程中,可以只传输一份组播业务数据包,通过组播承载技术复制该数据包并传送到所有的组播接收者。根据组播业务特性,对于同一个组播业务,所有下一跳的LDP LSR(Label Switching Router,标签交换路由器)都将处理相同的标签,这就可能引起标签冲突。
如图1所示,是单播标签和组播标签冲突的一种情形。粗实线表示的组播LSP1(Label Switched Path,标签交换路径)(即PLSR1-LSR9-LSR10-LSR4、LSR5、LSR6)在LSR4、LSR5和LSR6均分配了相同的标签K;由于标签分发过程独立,当我们建立单播LSP2(即虚线表示的LSR2-LSR9-LSR10-LSR5)时也可能为LSR5分配标签K。这样,就在组播LSP1与单播LSP2之间发生了标签冲突,当两条LSP的业务抵达LSR5时,由于采用了相同的标签,根据现有技术,LSR5无法区分业务属于哪一条LSP,从而影响后续的转发动作。为了解决这个问题,目前的做法是通过信令重新为单播LSP2分配标签,如LDP协议。
如图2所示,是单播标签和组播标签冲突的另一种情形。粗实线表示组播LSP1(即LSR1-LSR9-LSP10-LSR4、LSR6),虚线表示单播LSP2(即LSR2-LSR9-LSR10-LSR5)。组播LSP1在LSR4和LSR6使用了标签K,单播LSP2在LSR5也分配了标签K。此时,如果位于单播LSP2上的LSR5希望加入所述的组播LSP1,为保证组播下一跳的所有LSR处理相同的标签,即LSR4、LSR6和LSR5都应使用相同的标签K,而此时,标签K已经被单播LSP2占用,这样就会产生与前面描述相同的标签冲突。这个问题,目前还没有解决的方法。
如图3所示,是组播标签和组播标签冲突的一种情形。由于标签分发是独立的过程,粗实线表示的组播LSP1和虚线表示的组播LSP2在LSR5分配了相同的标签K,引起标签冲突。目前,现有技术也未能解决这一问题。
在发生图1所示的标签冲突时,现有的技术方案需要借助信令重新获取标签。但是对于图2,图3描述的情况,这种方法依然无效。所以,这种通过信令重新获取标签的方法不能从根本上解决标签冲突的问题。

发明内容
本发明所要解决的就是上述标签冲突问题,基于这一目的,本发明提供了一种简单,有效可行的解决标签冲突的方法,包括下述步骤组播业务源向主控制器发送申请标签的请求消息;所述主控制器接收到所述请求消息后,查询标签信息表,为所述组播业务分配标签,并更新所述标签信息表。
可选地,上述方法进一步包括步骤所述主控制器向所述组播业务源发送标签通知消息,通知所述标签;所述组播业务源向转发控制器发布所述标签。
可选地,上述方法进一步包括步骤所述主控制器向转发控制器发布所述标签。
其中,所述标签信息表包含标签、标签使用状态的标识与组播业务标识,所述标签使用状态的标识用于区分已使用的标签和未使用的标签。
在上述方法中,所述主控制器查询标签信息表为所述组播业务分配标签时,选取所述标签信息表中未使用的标签分配给所述组播业务,并将所述组播业务的标识添加到所述标签对应的表项中,将所述标签的标签使用状态的标识更改为已使用。
其中,所述标签信息表中的标签用于单播和组播。
或者,所述标签信息表中的标签只用于组播。
可选地,上述方法进一步包括步骤所述组播业务源向所述主控制器发送释放标签的请求消息,所述请求消息中包括组播业务标识;所述主控制器接收到所述请求消息后,释放所述组播业务标识对应的标签,并更新标签信息表;所述主控制器向所述组播业务源发送标签释放消息。
本发明提供了另一种解决标签冲突的方法,包括步骤(1)组播成员向主控制器发送查询标签的请求消息,所述请求消息中包括组播业务标识;(2)所述主控制器接收到所述请求消息后,根据所述组播业务标识查询标签信息表,获取所述组播业务标识对应的标签。
可选地,该方法进一步包括步骤所述主控制器向所述组播成员发送标签通知消息,通知所述标签;所述组播成员向转发控制器发布所述标签。
可选地,该方法进一步包括步骤所述主控制器向转发控制器发布所述标签。
上述方法中,步骤(2)具体包括步骤若所述标签信息表中不存在所述组播业务标识,则所述主控制器为所述组播业务分配标签,并更新所述标签信息表。
其中,所述标签信息表包括标签和组播业务标识。
所述标签信息表中还包括所述标签使用状态的标识,区分已使用的标签和未使用的标签。
上述方法中,所述主控制器为所述组播业务分配标签时,选取所述标签信息表中未使用的标签分配给所述组播业务,并将所述组播业务标识添加到所述标签对应的表项中,将所述标签的标签使用状态的标识更改为已使用。
其中,所述标签信息表中的标签用于单播和组播。
或者所述标签信息表中的标签只用于组播。
本发明还提供了一种解决标签冲突的系统,包括组播业务源、组播成员,还包括主控制器,主控制器维护管理标签信息表,并根据所述标签信息表为组播业务源分配标签;为组播成员查询标签。
上述系统中还包括转发控制器,用于接收所述主控制器或者所述组播业务源或者所述组播成员转发的标签。
本发明对标签空间进行集中管理,利用标签信息表维护管理标签信息,通过主控制器分配标签保证单播和组播使用不同的标签,并且主控制器可以为组播成员查询标签,从而解决了单播和组播的标签冲突问题,也可以解决组播和组播的标签冲突问题。


图1为现有技术中单播标签和标签冲突的一种情形;图2为现有技术中单播标签和标签冲突的另一种情形;图3为现有技术中标签和标签冲突的一种情形;图4为本发明中解决标签冲突的系统示意图;图5为本发明方法中组播业务源申请标签的一个实施例;
图6(a)为本发明一个实施例中的LDP请求消息格式;图6(b)为本发明的一个实施例中申请标签的LDP请求消息中的FEC TLV格式;图6(c)为本发明的一个实施例中申请标签的LDP请求消息中的Optional Parameters格式;图6(d)为本发明中一个实施例中查询标签的LDP请求消息格式中的Optional Parameters格式;图7(a)为本发明一个实施例中的标签通知消息格式;图7(b)为本发明的一个实施例中标签通知消息的Label TLV格式;图8为本发明方法中组播业务源申请标签的另一个实施例;图9为本发明方法中释放标签的实施例;图10为本发明的一个实施例中释放标签的LDP请求消息格式;图11为本发明的一个实施例中标签释放消息的格式;图12为本发明方法中组播成员查询标签的一个实施例;图13为本发明方法中组播成员查询标签的另一个实施例。
具体实施例方式
本发明解决的是MPLS标签冲突的问题。基于这一目的,本发明提供了一种避免标签冲突的系统和方法。本发明方法中,对标签空间进行集中管理,利用标签信息表维护管理标签信息。一种方法是标签信息表中的标签可以分配给单播和组播,但通过管理保证单播和组播使用不同的标签,即分配给单播使用的标签不能被组播使用,分配给组播使用的标签不能再被单播使用;另一种方法是标签信息表中的标签仅仅用于组播,不可用于单播,例如,可以划分一个标签范围,利用标签信息表记录管理维护该标签范围中的标签。这里所说的标签指全局标签,即标签空间是基于整个网络范围的。
在上述第一种方法中,标签信息表可以记录整个标签空间所有标签的使用状态,其中Flag为1时,表示该标签已使用;Flag为0时,表示标签未使用。对于Flag为1的标签,如果其对应的组播业务标识表项中有组播业务标识,表明该标签已分配给组播业务,否则,如表1中以NULL表示的,表明该标签已用于单播。

表1在上述第二种方法中,标签信息表中的标签仅用于组播,例如,可以采用划分标签范围的方式,将组播标签与单播标签进行区分,举例来说,在主控制器中配置标签域(multicast label space)100~500;用Flag为1标识标签已被使用,用Flag为0标识标签未被使用,则标签信息表如表2所示。

表2
如图4所示,是本发明提供的一种解决标签冲突的系统,包括组播业务源、组播成员和主控制器,主控制器维护管理标签信息表,根据标签信息表为组播业务源分配标签;为组播成员查询标签。该系统中,还包括转发控制器,用于接收所述主控制器或者所述组播业务源或者所述组播成员转发的标签。其中,主控制器可以存在于网管上;转发控制器位于LSR上,用于控制组播业务的转发。
本发明还提供了一种解决标签冲突的方法,下面结合实施例和附图进行详细说明。
如图5所示,是本发明方法中组播业务源申请标签的一个实施例,具体步骤如下S110、组播业务源向主控制器发送申请标签的请求消息,该消息中包括组播业务标识;S120、主控制器收到该请求消息后,为该组播业务分配标签,即查询标签信息表,选取未使用的标签分配给该组播业务;更新标签信息表,也就是,将组播业务标识加入到该标签对应的表项中,并修改Flag;S130、主控制器向该组播业务源发送标签通知消息,向其通知所分配的标签。
此外,还可以包括步骤S140、组播业务源向转发控制器发布该标签。
上述申请标签的请求消息可以通过扩展LDP信令实现,也可以通过其他方法实现,下面以LDP信令为例详细说明。
现有的LDP请求消息格式如图6(a)所示,参考[RFC 3036],其中,该LDP的消息类型为Label Request,用0x0401表示;Message Length(消息长度)16位,用于表示该消息的长度;Message ID(消息标识)32位,用于标识该消息;
FEC TLV(转发等价类TLV)需要申请标签的组播业务的FEC(forwarding equivalence class,转发等价类);Optional Parameters(可选参数)长度可变,包含0或多个TLV(Type-Length-Value,类型-长度-值)。
为了获得上述申请标签的请求消息,对图6(a)所示的LDP请求消息格式进行如下扩展(1)FEC表示组播FEC,包含组播业务标识,如图6(b)所示;(2)在Optional Parameters增加标签请求TLV,如图6(c),表示向主控制器请求标签,分配给相应的组播业务。
上述标签通知消息可以采取如图7(a)的格式该消息类型为Label Notification,其值待定;Message Length(消息长度)16位,用于表示该消息的长度;Message ID32位,用于标识该消息;FEC TLV需要申请标签的组播业务的FEC,包含组播业务标识,与图6(b)采用相同的格式;Label TLV集中分配的标签值,与FEC对应,如图7(b)所示;Optional Parameters长度可变,包含0或多个TLV,要包含LabelRequest Message ID TLV。
如图8所示,是本发明方法中组播业务源申请标签的另一个实施例,具体步骤如下S210~S220同图5所示实施例中的步骤S110~S120;S130、主控制器向转发控制器发布该标签。
当一个组播业务的所有成员均退出组播业务,并且组播业务源期望删除该组播业务时,如图9,释放标签的具体步骤如下S310、组播业务源向主控制器发送释放标签的请求消息,该消息中包括组播业务标识;
S320、主控制器释放标签,更新标签信息表;S330、主控制器向组播业务源发送标签释放消息。
上述释放标签的请求消息可以通过扩展LDP信令实现,也可以通过其他方法实现。下面结合附图,以LDP信令为例进行详细说明。
释放标签的请求消息格式如图10所示,其中,该LDP的消息类型是LabelWithdraw,用0x0402表示,FEC TLV和Label TLV同前,参见图6(b)和图7(b)。标签释放消息格式如图11所示,其中,该LDP的消息类型是Label Release,用0x0403标识,FEC TLV和Label TLV同前,参见图6(b)和图7(b)。
如图12所示,是本发明方法中组播成员查询标签的一个实施例,具体步骤如下S410、组播成员向主控制器发送查询标签的请求消息,该消息中包括组播业务标识;S420、主控制器收到该查询消息后,根据其中包含的组播业务标识查询标签信息表,如果标签信息表中存在对应表项,则执行S440;如果标签信息表中不存在对应表项,则执行S430;S430、主控制器为该组播业务分配标签,并更新标签信息表,然后执行S440;S440、主控制器向组播成员发送标签通知消息,通知已分配的标签,然后执行S450;S450、组播成员向转发控制器发布该标签。
其中,查询标签的请求消息与图6所示的实施例中申请标签的请求消息类似,如图6(a);FEC TLV中也包含组播业务标识,如图6(b);其可选参数(Optional Parameters)如图6(d)所示,与申请标签的请求消息有所不同,表明该消息是查询标签的请求消息。另外,标签通知消息与前一个实施例相同,参见图7(a)和7(b)。
如图13所示,是本发明方法中组播成员查询标签的另一个实施例,具体步骤如下S510~520同图12所示实施例中的S410~420;若标签信息表中存在对应表项,则执行S540;否则,执行S530;S530、主控制器为该组播业务分配标签,并更新标签信息表,然后执行S540;S540、主控制器向转发控制器发布该标签。
当然,我们也可以手动在主控制器配置标签与组播业务的对应关系,如通过网管进行配置,在主控制器为不同的组播业务分配不同的标签,在主控制器中维护如表3所示的标签信息表,并提供组播业务查询功能。如果主控制器知道组播业务的成员信息,也可以由主控制器直接向转发控制器发布该组播业务使用的标签。

表3以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
权利要求
1.一种解决标签冲突的方法,其特征在于,包括步骤组播业务源向主控制器发送申请标签的请求消息;所述主控制器接收到所述请求消息后,查询标签信息表,为所述组播业务分配标签,并更新所述标签信息表。
2.如权利要求1所述的方法,其特征在于,进一步包括步骤所述主控制器向所述组播业务源发送标签通知消息,通知所述标签;所述组播业务源向转发控制器发布所述标签。
3.如权利要求1所述的方法,其特征在于,进一步包括步骤所述主控制器向转发控制器发布所述标签。
4.如权利要求1所述的方法,其特征在于,所述标签信息表包含标签、标签使用状态的标识与组播业务标识,所述标签使用状态的标识用于区分已使用的标签和未使用的标签。
5.如权利要求4所述的方法,其特征在于,所述主控制器查询标签信息表为所述组播业务分配标签时,选取所述标签信息表中未使用的标签分配给所述组播业务,并将所述组播业务的标识添加到所述标签对应的表项中,将所述标签的标签使用状态的标识更改为已使用。
6.如权利要求4或5所述的方法,其特征在于,所述标签信息表中的标签用于单播和组播。
7.如权利要求4或5所述的方法,所述标签信息表中的标签只用于组播。
8.如权利要求1-3任一项所述的方法,进一步包括步骤所述组播业务源向所述主控制器发送释放标签的请求消息,所述请求消息中包括组播业务标识;所述主控制器接收到所述请求消息后,释放所述组播业务标识对应的标签,并更新标签信息表;所述主控制器向所述组播业务源发送标签释放消息。
9.一种解决标签冲突的方法,其特征在于,包括步骤(1)组播成员向主控制器发送查询标签的请求消息,所述请求消息中包括组播业务标识;(2)所述主控制器接收到所述请求消息后,根据所述组播业务标识查询标签信息表,获取所述组播业务标识对应的标签。
10.如权利要求9所述的方法,其特征在于,进一步包括步骤所述主控制器向所述组播成员发送标签通知消息,通知所述标签;所述组播成员向转发控制器发布所述标签。
11.如权利要求9所述的方法,其特征在于,进一步包括步骤所述主控制器向转发控制器发布所述标签。
12.如权利要求9或10或11所述的方法,其特征在于,步骤(2)具体包括步骤若所述标签信息表中不存在所述组播业务标识,则所述主控制器为所述组播业务分配标签,并更新所述标签信息表。
13.如权利要求9所述的方法,其特征在于,所述标签信息表包括标签和组播业务标识。
14.如权利要求13所述的方法,其特征在于,所述标签信息表中还包括所述标签使用状态的标识,区分已使用的标签和未使用的标签。
15.如权利要求14所述的方法,其特征在于,所述主控制器为所述组播业务分配标签时,选取所述标签信息表中未使用的标签分配给所述组播业务,并将所述组播业务标识添加到所述标签对应的表项中,将所述标签的标签使用状态的标识更改为已使用。
16.如权利要求13或14所述的方法,其特征在于,所述标签信息表中的标签用于单播和组播。
17.如权利要求13或14所述的方法,所述标签信息表中的标签只用于组播。
18.一种解决标签冲突的系统,包括组播业务源、组播成员,其特征在于,还包括主控制器,主控制器维护管理标签信息表,并根据所述标签信息表为组播业务源分配标签;为组播成员查询标签。
19.如权利要求18所述的系统,其特征在于,还包括转发控制器,用于接收所述主控制器或者所述组播业务源或者所述组播成员转发的标签。
全文摘要
本发明涉及组播领域,公开了解决标签冲突的方法和系统。本发明方法之一包括步骤组播业务源向主控制器发送申请标签的请求消息;所述主控制器接收到所述请求消息后,查询标签信息表,为所述组播业务分配标签,并更新所述标签信息表。其中,标签信息表包含标签、标签使用状态的标识与组播业务标识,标签使用状态的标识用于区分已使用的标签和未使用的标签。本发明对标签空间进行集中管理,利用标签信息表维护管理标签信息,通过主控制器分配标签保证单播和组播使用不同的标签,并且主控制器可以为组播成员查询标签,从而解决了单播和组播的标签冲突问题,也可以解决组播和组播的标签冲突问题。
文档编号H04L12/28GK101043464SQ200610061050
公开日2007年9月26日 申请日期2006年6月9日 优先权日2006年6月9日
发明者蒋章震, 贺佳 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1