一种组播mpls标签分配方法

文档序号:7957001阅读:136来源:国知局
专利名称:一种组播mpls标签分配方法
技术领域
本发明涉及网络通信技术领域,尤其涉及一种组播MPLS标签分配方法。
背景技术
多协议标签交换MPLS(Multiprotocol Label Switching)最初是为了提高转发速度而提出的。MPLS使用短而定长的标签(label)封装分组,在数据平面实现快速转发。在控制平面,MPLS拥有IP网络强大灵活的路由功能,可以满足各种新应用对网络的要求。
MPLS起源于IPv4(Internet Protocol version 4),其核心技术可扩展到多种网络协议,包括IPv6(Internet Protocol version 6)、IPX(InternetPacket Exchange)、Appletalk、DECnet、CLNP(Connectionless NetworkProtocol)等。“MPLS”中的“Multiprotocol”指的就是支持多种网络协议。
为了更清晰的了解MPLS,我们首先了解如下概念1.标签,标签是一个长度固定、只具有本地意义的短标识符,用于唯一标识一个分组所属的转发等价类FEC(Forwarding Equivalence Class,MPLS作为一种分类转发技术,将具有相同转发处理方式的分组归为一类,称为转发等价类FEC。相同转发等价类的分组在MPLS网络中将获得完全相同的处理)。在某些情况下,例如要进行负载分担,对应一个FEC可能会有多个标签,但是一个标签只能代表一个FEC。
2.标签交换路由器,标签交换路由器LSR(Label Switching Router)是MPLS网络中的基本元素,所有LSR都支持MPLS协议。
3.标签交换路径,一个转发等价类在MPLS网络中经过的路径称为标签交换路径LSP(Label Switched Path)。LSP在功能上与ATM和Frame Relay的虚电路相同,是从入口到出口的一个单向路径。LSP中的每个节点由LSR组成。标签交换路径LSP分为静态LSP和动态LSP两种。静态LSP由管理员手工配置,动态LSP则利用路由协议和标签发布协议动态产生。
4.标签空间,标签分配协议对等体之间分配标签的范围称为标签空间(Lable Space)。可以为LSR的每个接口指定一个标签空间(per InterfaceLabel Space),也可以整个LSR使用一个标签空间(per Platform Label Space)。
在MPLS体系结构中,有两种方式可以将一个标签L绑定到一个转发等价类(FEC)F上,上游分配标签和下游分配标签(在一条LSP上,沿数据传送的方向,相邻的LSR分别称为上游LSR和下游LSR。例如,图1a的点到多点LSP上,LSR A为LSR B的上游LSR)。下游分配标签是指由处于标签转发路径(LSP)下游的标签交换路由器(LSR)决定如何绑定并将结果通知给上游LSR;上游分配标签是指上游LSP决定如何绑定并将绑定结果通知下游LSR。
组播MPLS上游分配标签时,如图1a组网结构示意图一所示的一个共享网段,有三个LSRA、B和C。对于转发等价类FEC_S,LSR A是上游LSR,LSR B和LSR C是下游LSR。LSR A接收到属于转发等价类FEC_S的数据流,LSR B和LSR C都需要接收该转发等价类的数据流。因此三个LSR之间首先构建P2MP LSP,然后LSR A接收数据流之后通过P2MP LSP转发给LSR B和LSR C。对于上游分配标签而言,LSR A获知下游LSR B需要接收FEC_S的数据流,则将标签X3分配并通知LSR B,当LSR A获知LSR C也需要接收FEC_S的数据流时,LSR A将已经确定的FEC_S和标签X3的绑定关系告知LSR C。如果还有更多的下游需要接收FEC_S的数据流,LSR A采用同样的处理方式。
但是,因为在一个共享网段上,组播MPLS上游分配标签时,不同的FEC可能对应不同的上游LSR,造成标签分配冲突的问题。如图1b组网结构示意图二所示,对于转发等价类FEC_S,LSR A是上游LSR,LSR C是下游LSR。对于转发等价类FEC_T,则LSR B是上游LSR,LSR C仍是下游LSR。此时,因为LSR C需要分别接收来自FEC_S和FEC_T的标签,所以可能存在两个不同的上游分配给下游LSR C标签相同的情况,导致标签分配冲突。例如LSR A将标签Xx绑定给FEC_S并通知下游LSR C,但是,因为LSR B不知道LSR A的标签绑定情况,LSR B同样可能将标签Xx绑定给FEC_T并通知下游LSR C。当LSR C接收到标签为Xx的报文时,无法确定该报文是属于FEC_S还是FEC_T,导致报文无法正确被转发。

发明内容
有鉴于此,本发明解决的技术问题是提供一种组播MPLS标签分配方法,有效解决不同上游之间标签分配冲突的问题。
本发明的目的是通过以下技术方案实现的一种组播MPLS标签分配方法,适用于共享网段内部,该方法包括步骤A.管理实体分配子标签空间给标签交换路由器LSR;B.所述LSR从所述子标签空间中选取标签对下游LSR做标签绑定。
其中,所述子标签空间包含的标签数量大小相同或不同,满足各子标签空间之间无重叠;其中,所述子标签空间未被分配给任何标签交换路由器使用时,处于空闲状态,否则,处于占用状态;处于占用状态的标签空间未被释放之前,不再供其它标签交换路由器使用。
其中,步骤A所述管理实体在某一时刻唯一,包括网络管理员或管理LSR,分配处于空闲状态的子标签空间供所述LSR绑定使用。
其中,步骤A所述管理实体是网络管理员时,络管理员静态地分配所述子标签空间给LSR;由网络管理员静态地将可用标签空间分割成若干子标签空间,所述网络管理员从所述的处于空闲状态的子标签空间中选取一个或多个分配给所述LSR,供所述LSR绑定使用。
其中,步骤A所述管理实体是管理LSR时,所述LSR发送申请给管理LSR,包括申请的标签数量N,然后管理LSR动态地分配所述子标签空间给LSR;由管理LSR静态地将可用标签空间分割成若干子标签空间,所述管理LSR从所述的处于空闲状态的子标签空间中选取一个或多个分配给所述LSR,供所述LSR绑定使用;或者,管理LSR根据所述LSR的申请动态地从可用标签空间中分配一个子标签空间,供所述LSR绑定使用。
其中,选举产生所述管理LSR,与非管理LSR在同一共享网段上,包括物理实体和逻辑实体。
其中,从所述的处于空闲状态的子标签空间中选取一个或多个分配给所述LSR时,如果单个子标签空间中包含的标签数量大于等于所述申请的标签数量N,则分配该子标签空间给所述LSR;如果单个子标签空间中包含的标签数量都小于所述申请的标签数量N,则分配多个子标签空间给所述LSR,满足所述多个子标签空间总共包括的标签数量大于等于所述申请的标签数量。
其中,所述管理LSR根据所述LSR的申请动态地从可用标签空间中分配单个子标签空间时,管理LSR收到来自所述LSR的申请,根据所述申请的标签数量N,从所述可用标签空间中划出一个子标签空间,分配给所述标签交换路由器,供其绑定使用,满足所述子标签空间包含的标签数量是N+m,m大于等于零。
其中,如果所述LSR需要更多的标签,则再次向所述管理LSR发送申请,所述管理LSR会根据所述LSR的请求,分配满足申请要求的处于空闲状态的子标签空间给所述LSR使用。
其中,如果所述LSR不再使用标签,则通知管理LSR,管理LSR接收到所述通知后,释放子标签空间,该子标签空间的状态改为空闲状态,被释放的标签空间可以被其他LSR使用,被释放的标签空间与之前分配的标签空间相同,或者与之前分配的标签空间不同。
进而,本发明解决了上游LSR需要对所有下游LSR都复制一份报文,进而,本发明采用动态分配标签机制,尽可能的避免了标签的浪费,最大程度满足运行过程中各LSR对标签的需求


图1a为本发明背景技术中的组网结构示意图;图1b为本发明背景技术中的组网结构示意图;图2为本发明实施例中的组网结构示意图;图3为本发明实施例中的标签分配流程图。
具体实施例方式
贯穿说明书,示出的该优选实施例和示例应被看作本发明的范例而不受限制。
本发明提出一种组播MPLS上游LSR独立标签空间分配的方法,同一个共享网段上的各标签交换路由器(LSR)在做标签绑定时,如图3所示步骤100首先,确定某一时刻仅供该LSR使用的子标签空间,要求每个LSR使用独立的标签空间,各标签空间之间不重叠;步骤200然后,各个LSR在绑定过程中从各自的标签空间中选取标签值,完成MPLS标签绑定工作。
各LSR可以根据各自标签的使用情况释放子标签空间,保证标签空间的循环利用。
MPLS标签长度为20Bits,理论上的标签值范围是0-(220-1),即0-1048575,本发明称之为标签空间(或标签集合)A。其中部分标签是被保留的,如Label值0-16等,所以除去那些保留的标签值,剩余的可用标签空间本发明称之为标签空间(或标签集合)B。
由网关或DR_LSR来管理、维护可用标签空间,这里我们将标签空间抽象为一个标签集合B。标签集合B是由多个标签子集B1、B2、......、Bn组成,并且保证满足条件B1∩B2∩......Bn=Φ且B1∪B2∪......∪Bn=B。
也就是说,所有的标签子集相互独立,没有重合部分,并且所有标签子集共同构成完成的可以标签集合B;每个标签子集包括的标签容量可以相等,也可以不等。
标签子集有两种状态空闲状态也被占用状态。最初状态是,所有的标签子集B1-Bn都处于空闲状态;如果共享网段上LSR_i需要进行标签绑定操作,可以手工静态给该LSR分配标签,也可以向管理实体DR_LSR发出标签空间申请。根据申请的内容(如标签的数量),DR_LSR从空闲的标签子集中选取合适的标签子集Bi分配给LSR_i,并将标签子集的状态改变为被占用状态,LSR_i在进行标签绑定的过程中,只能从标签子集Bi中选取标签值进行操作。
通过这样的机制,每个LSR进行标签绑定的时候,都不会和其它LSR绑定的标签发生冲突,结合上游分配标签机制,在共享网段内建立P2MP LSP并进行数据转发的时候,就可以避免多余的数据复制同时不会发生标签冲突的情况。
如图2所示,标签交换路由器L1、L2、L3和L4通过一个共享网段相连。
MPLS标签空间为20Bits,为了说明简便起见,本实施例说明中,标签值采用64-767(8Bits),代表实际应用中MPLS的标签空间。
实施例一通过静态配置实现上游独立标签空间分配方案手工将可用标签集合划分成多个标签子集,假设可用标签集合B={64,65,66,......,767},以划分四个标签子集,即n=4为例说明,分别是B1={64至127},包含64个标签;B2={128至255},包含128个标签;B3={256至511},包含256个标签;B4={512至767},包含256个标签;初始状态,各个标签子集都处于空闲状态,假设标签子集B1、B2、B3和B4对应的索引分别为0、1、2和3,然后,手工配置各个标签交换路由器对应的标签子集,此时,被指定的标签子集变为占用状态。例如,配置标签交换路由器L1的标签空间索引为0,则标签交换路由器L1做标签绑定处理时,从集合B1={64至127}中取值。这样,处于同一个网段上的不同路由设备获得不同的标签空间子集,相互独立。
如对应转发等价类FEC_1,标签交换路由器L1是上游、L2、L3是下游。L1需要对FEC_1分配标签,则从64至127的范围内选取任意可用标签(如标签65),分配给L2、L3。
对转发等价类FEC_2,L2是上游,而L1、L4是下游,L2可以选取128至255范围内的任意可用空间使用(如150)。这样,在共享网段上,可以实现一个转发等价类FEC需要对多个下游进行转发,无需分配多个不同标签,避免数据重复发送,同时也不会因为标签冲突而引起下游处理混乱。
以上实施例不一定局限于使用4个标签空间子集,管理人员可以根据实际网络情况和路由器多少,划分不同数目的标签空间子集,且标签空间的大小可以相同也可以不同。
实施例二采用DR方式实现上游独立标签空间分配方案共享网段上首先选举一个管理LSR,该管理LSR可以是实际的路由器,也可以是逻辑上处理实体,选举时可遵循优先级大者胜出,或IP地址大者胜出等原则,本实施例中假设L2为管理LSR。管理LSR确定后,L2负责本共享网段上标签空间的分配,网段上所有标签交换路由器(包括L2本身),需要做标签绑定时,都需要向管理LSR L2提出申请,接受管理LSR L2的统一管理。
仍然以可用标签集合B={64,65,66,......,767}为例,所有做标签绑定的标签交换路由器都通过向管理LSR L2发送控制信息申请标签空间集合,然后管理实体从处于空闲状态的标签中划分出一部分响应所述申请。例如,假设标签交换路由器L1需要50个标签,L1首先向管理LSR L2发送控制信息提出申请,L2查询标签集合B中处于空闲状态的标签,然后划分一个标签子集B1供L1使用,B1由空闲状态变为占用状态,在L1为释放B1之前,标签集合B1中的所有标签都不能被其他标签交换路由器再次使用。假设B1={64至114},如果设置冗余为10的话,也可以B1={64至124},这里,是否分配冗余的标签可以灵活控制。之后,标签交换路由器L1在做标签绑定时,从标签子集B1中选取。L2、L3和L4的处理过程与L1类似。
如果L1需要更多的标签,可以再次向管理LSR申请,管理LSR会根据L1的请求内容(如标签数量)和空闲标签情况,从未分配出的空间中划分合适的标签子集供L1使用。同样,该标签子集中的所有标签变为占用状态,在L1未释放之前,不再给其它标签交换路由器使用。
在实施例二中,标签子集的划分是根据标签交换路由器的申请来动态划分的,也可以采用实施例一中的静态划分的方法,即在为收到来自标签交换路由器的申请之前,就将标签集合B静态划分成若干标签子集B1、B2、......、Bn,标签子集大小可以相同也可以不同,管理LSR在收到申请之后,从固定大小的标签子集中选取一个响应申请,只要标签子集Bi包含的标签数量大于等于申请的数量,就可能被分配给申请者。
在实施例一和实施例二中,如果运行一段时间之后,标签交换路由器L1不再使用标签,则L1向管理LSR发送控制信息释放标签空间,如L1释放标签子集B1,管理LSR接收到释放消息之后,将状态由占用状态改为空闲状态,被释放的标签空间可以被其他LSR使用。释放的标签空间可能是原来申请的标签空间,也可以将几个合并,或者归还部分空间。
组播MPLS分配标签时,本发明通过采用上游分配独立子标签空间策略,使得处于同一个共享网段上的多个LSR在进行标签绑定时,每个LSR使用的特定的子标签空间,且各个子标签空间之间互相独立、无重叠。各LSR在标签绑定时,从各自的子标签空间中选取标签值,完成MPLS标签绑定工作。从而避免不同上游LSR绑定标签可能发生冲突,即同一个LSR会从不同上游收到标签值相同的MPLS报文,造成下游处理报文混乱。有效解决了不同上游LSR之间标签分配冲突的问题。
权利要求
1.一种组播MPLS标签分配方法,适用于共享网段内部,其特征在于,该方法包括步骤A.管理实体分配子标签空间给标签交换路由器LSR;B.所述LSR从所述子标签空间中选取标签对下游LSR做标签绑定。
2.根据权利要求1所述的方法,其特征在于,所述子标签空间包含的标签数量大小相同或不同,满足各子标签空间之间无重叠。
3.根据权利要求2所述的方法,其特征在于,所述子标签空间未被分配给任何标签交换路由器使用时,处于空闲状态,否则,处于占用状态;处于占用状态的标签空间未被释放之前,不再供其它标签交换路由器使用。
4.根据权利要求3所述的方法,其特征在于,步骤A所述管理实体在某一时刻唯一,包括网络管理员或管理LSR,分配处于空闲状态的子标签空间供所述LSR绑定使用。
5.根据权利要求4所述的方法,其特征在于,步骤A所述管理实体是网络管理员时,络管理员静态地分配所述子标签空间给LSR;由网络管理员静态地将可用标签空间分割成若干子标签空间,所述网络管理员从所述的处于空闲状态的子标签空间中选取一个或多个分配给所述LSR,供所述LSR绑定使用。
6.根据权利要求4所述的方法,其特征在于,步骤A所述管理实体是管理LSR时,所述LSR发送申请给管理LSR,包括申请的标签数量N,然后管理LSR动态地分配所述子标签空间给LSR;由管理LSR静态地将可用标签空间分割成若干子标签空间,所述管理LSR从所述的处于空闲状态的子标签空间中选取一个或多个分配给所述LSR,供所述LSR绑定使用;或者,管理LSR根据所述LSR的申请动态地从可用标签空间中分配一个子标签空间,供所述LSR绑定使用。
7.根据权利要求6所述的方法,其特征在于,选举产生所述管理LSR,与非管理LSR在同一共享网段上,包括物理实体和逻辑实体。
8.根据权利要求7所述的方法,其特征在于,从所述的处于空闲状态的子标签空间中选取一个或多个分配给所述LSR时,如果单个子标签空间中包含的标签数量大于等于所述申请的标签数量N,则分配该子标签空间给所述LSR;如果单个子标签空间中包含的标签数量都小于所述申请的标签数量N,则分配多个子标签空间给所述LSR,满足所述多个子标签空间总共包括的标签数量大于等于所述申请的标签数量。
9.根据权利要求7所述的方法,其特征在于,所述管理LSR根据所述LSR的申请动态地从可用标签空间中分配单个子标签空间时,管理LSR收到来自所述LSR的申请,根据所述申请的标签数量N,从所述可用标签空间中划出一个子标签空间,分配给所述标签交换路由器,供其绑定使用,满足所述子标签空间包含的标签数量是N+m,m大于等于零。
10.根据权利要求3至9任意一项所述的方法,其特征在于,如果所述LSR需要更多的标签,则再次向所述管理LSR发送申请,所述管理LSR会根据所述LSR的请求,分配满足申请要求的处于空闲状态的子标签空间给所述LSR使用。
11.根据权利要求3至9任意一项所述的方法,其特征在于,如果所述LSR不再使用标签,则通知管理LSR,管理LSR接收到所述通知后,释放子标签空间,该子标签空间的状态改为空闲状态,被释放的标签空间可以被其他LSR使用,被释放的标签空间与之前分配的标签空间相同,或者与之前分配的标签空间不同。
全文摘要
本发明公开了一种组播MPLS标签分配方法,适用于同一共享网段内部。管理实体分配子标签空间给标签交换路由器LSR;所述LSR从所述子标签空间中选取标签对下游LSR做标签绑定。本发明通过采用上游分配独立子标签空间策略,使得处于同一个共享网段上的多个LSR在进行标签绑定时,每个LSR使用的特定的子标签空间,且各个子标签空间之间互相独立、无重叠。各LSR在标签绑定时,从各自的子标签空间中选取标签值,完成MPLS标签绑定工作。从而避免不同上游LSR绑定标签可能发生冲突,即同一个LSR会从不同上游收到标签值相同的MPLS报文,造成下游处理报文混乱。有效解决了不同上游LSR之间标签分配冲突的问题。
文档编号H04L12/24GK101064674SQ200610060560
公开日2007年10月31日 申请日期2006年4月29日 优先权日2006年4月29日
发明者曹玮 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1