CN100596112C - 生成标签转发表项、及查找标签转发表项的方法和装置 - Google Patents
生成标签转发表项、及查找标签转发表项的方法和装置 Download PDFInfo
- Publication number
- CN100596112C CN100596112C CN200710120220A CN200710120220A CN100596112C CN 100596112 C CN100596112 C CN 100596112C CN 200710120220 A CN200710120220 A CN 200710120220A CN 200710120220 A CN200710120220 A CN 200710120220A CN 100596112 C CN100596112 C CN 100596112C
- Authority
- CN
- China
- Prior art keywords
- label
- value
- multilayer labels
- forwarding
- class
- 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.)
- Active
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开的技术方案,通过设置表征弹出类标签的特征值;用特征值代替弹出类标签生成所需的多层标签转发表项、以及单层标签转发表项,用一个标签转发表项代替原来的多个标签转发表项工作,从而减少了标签转发表中的表项数目。相应的,在本发明的技术方案中还提供了一种查找该标签转发表项的技术方案。通过应用本发明的技术方案,减少了标签转发表中表项的数目,减少了硬件存储器的成本,提高了查找标签转发表项的速度。
Description
技术领域
本发明涉及多协议标签交换(MPLS,Multi Protocol Label Switch)技术,尤指一种生成标签转发表项的方法和装置、及一种查找标签转发表项的方法和装置、以及一种MPLS设备。
背景技术
在MPLS网络中,标签交换路由器(LSR,Labeled Edge Router)根据分组上的标签、以及自身保存的标签转发表对分组进行转发。如果分组在超过一层的LSP隧道中传送,在该分组上就会有多层标签,形成标签栈(LabelStack)。在每一隧道的入口和出口处,进行标签栈的入栈和出栈操作。
在一条LSP隧道的出口LSR设备上,由于该LSP隧道对应的标签已经没有指导该分组在该LSP上转发的价值;因此在该LSP隧道支持倒数第二跳弹出(PHP,Penultimate Hop Popping)的情况下,该LSP隧道的倒数第二个节点会将该LSP隧道对应的标签弹出。这样,该LSP隧道的出口LSR就不需要再对该标签进行操作,而直接根据该分组标签栈的下一个标签执行转发操作,从而提高处理效率。
在现有技术中,并不是所有的LSP隧道都支持PHP。在LSP隧道不支持PHP时,由于标签栈最外层的标签需要出栈、而分组的转发动作由次外层或者更里面的标签来确定,因此在该LSP隧道的出口LSR设备上就需要连续处理至少两层标签。对于能够支持多次查找,分次匹配的LSR设备来说,可以一次获得标签栈中位于外层的一个标签、并在标签转发表中查找该标签,通过逐次匹配的过程来实现。而对于在硬件上不支持多次查找、分次匹配的LSR设备来说,就需要一次获得分组中需要处理的多层标签,并匹配标签转发表项。因此,在现有技术中就存在描述多层标签与转发动作之间对应关系的多层标签转发表项。多层标签转发表项根据表项中标签关键值中包含的标签数目,分为二层标签转发表项和三层标签转发表项等。
假设,在一台LSR设备上配置了两个虚拟私有网(VPN,Virtual PrivateNetwork)、同时有三条LSP隧道在此LSR设备上终结,分别表示为VPN1、VPN2、LSP1、LSP2和LSP3。在这三条LSP隧道均不支持PHP的情况下,当前LSR设备除了需要为两个VPN和三条LSP隧道分别配置单层标签转发表项之外,由于分组具体走哪个LSP隧道是由对应的入口LSR设备确定的,因此还需要为每个VPN在每个LSP隧道生成标签转发表项。即VPN1分组承载在LSP1上对应的表项、VPN1分组承载在LSP2上对应的表项、以及VPN1分组承载在LSP3上对应的表项,对于VPN2来说也是相同的。其中单层标签转发表项是相对于多层标签转发表项而言,在单层标签转发表项中标签关键值仅包含一个标签。LSR设备上的标签转发表如表一所示:
标签关键值 | 表项内容 |
(L1,V1) | X1 |
(L2,V1) | X2 |
(L3,V1) | X3 |
(L1,V2) | X4 |
(L2,V2) | X5 |
(L3,V2) | X6 |
L1 | X7 |
L2 | X8 |
L3 | X9 |
V1 | X10 |
V2 | X11 |
表一
在表一中,L1、L2、L3、V1和V2分别代表三条LSP隧道以及两个VPN对应的标签值;X1~X11表示对应的表项内容。另外,L1、L2、L3、V1和V2对应的表项为单层标签转发表项,其余表项则为二层标签转发表项,即该表的多层标签转发表项。其中,对于标签关键值为(L1,V1)、(L2,V1)、(L3,V1)、(L1,V2)、(L2,V2)以及(L3,V2)的表项,其最终对分组的转发动作均由内层VPN对应的标签确定,只不过在转发先删除分组中的LSP隧道对应的标签,再根据内层VPN对应的标签对分组执行转发操作。这里当标签关键值为(L1,V1)时,其中L1可以称为二层标签关键值、V1称为一层标签关键值。
另外,在一些组网比较复杂的情况下,标签转发表还可能会存在三层或者四层标签转发表项。对于一个标签是否需要生成二层、三层或者四层的标签转发表项由所在的LSR设备根据预先的配置确定。对于三层标签转发表项来说,其标签关键值中包含三个标签值,分别称为三层标签关键值、二层标签关键值以及一层标签关键值。层数越大的标签关键值越最早被处理。对于其他多层标签转发表项,依次类推。
以上仅以一个简单的例子对多层标签转发表项进行描述。在实际的组网中,一台LSR设备通常会终结多条LSP隧道以及配置多个VPN。当存在10K不支持PHP的LSP隧道和配置了30K个VPN的情况下,该LSR设备的标签转发表中就存在10K×30K=300M条多层标签转发表项。这里的多层标签转发表项是指除去单层标签转发表项之外的表项。
综上所述,在LSP隧道不支持PHP、而该LSP终结的设备又不支持多次查找时,则需要在该设备上设置大量的标签转发表项用于处理分组的转发。客观上,设备的硬件很难支持这么大规模的表项数量。另外,即使硬件能够支持这么大数量的表项,硬件存储器的成本也会变得不可接受。同时特别在出现公网隧道表项增删、或者VPN标签变化时,会引起大规模的表项的增删动作,这样对设备来说也是不可接受的。在另一个方面,由于设备内标签转发表中所含的表项过多,会降低标签转发表的查找效率。
发明内容
有鉴于此,本发明提供了一种生成标签转发表项的方法,应用该方法能够减少标签转发表中的表项数。相应的,本发明提供了一种生成标签转发表项的装置,应用该装置能够减少标签转发表中的表项数。
另外,本发明提供了一种查找标签转发表项的方法,应用该方法能够加快查找标签转发表项的速度。相应的,本发明提供了一种查找标签转发表项的装置,应用该装置能够加快查找标签转发表项的速度。
本发明还提供了的一种多协议标签交换设备,该设备能够通过减少标签转发表中的表项数,加快查找标签转发表项的速度。
为达到上述目的,本发明的技术方案是这样实现的:
一种生成标签转发表项的方法,应用于支持标签转发的设备,生成多层标签对应的多层标签转发表项时,该方法包括:
设置表征弹出类标签值的特征值;
用所述特征值代替该多层标签中弹出类标签的标签关键值,作为该多层标签的外层标签关键值,保留该多层标签中非弹出类的内层标签关键值,生成该多层标签对应的多层标签转发表项,该多层标签转发表项中包括与该多层标签关键值对应的转发内容。
较佳地,该方法进一步包括:
设置弹出类标签值的生成范围;在所述生成范围内为弹出类标签分配标签值;
所述设置表征弹出类标签值的特征值为:根据所述弹出类标签值的生成范围,将表征所述生成范围的值作为表征弹出类标签值的特征值。
一种生成标签转发表项的装置,该装置包括存储单元和生成单元;
所述存储单元保存表征弹出类标签值的特征值;
所述生成单元用于在生成多层标签对应的多层标签转发表项时,用所述特征值代替多层标签中弹出类标签的标签关键值,作为该多层标签的外层标签关键值,保留该多层标签中非弹出类的内层标签关键值,生成该多层标签对应的多层标签转发表项。
一种查找标签转发表项的方法,应用于支持标签转发的设备,在查找多层标签对应的多层标签转发表项时,该方法包括:
用弹出类标签值与表征该类标签值的特征值之间的映射关系,映射所述多层标签中的弹出类标签值得到映射值;
将所述映射值作为外层标签关键值,并将所述多层标签中内层标签关键值作为内层标签关键值,查找多层标签转发表项。
较佳地,当所述特征值为表征所述弹出类标签值生成范围的值时,所述用弹出类标签值与表征该类标签值的特征值之间的映射关系,映射所述多层标签中的弹出类标签值得到映射值为:
用所述弹出类标签值映射至弹出类标签值生成范围所需的掩码,对当前待查找的弹出类标签值进行运算,得到当前多层标签中弹出类标签值的映射值。
一种查找标签转发表项的装置,该装置包括控制单元和处理单元;
所述控制单元在查找多层标签对应的多层标签转发表项时,用弹出类标签值与表征该类标签值的特征值之间的映射关系,映射所述多层标签中的弹出类标签值得到映射值;并将所述得到的映射值发送至所述处理单元;
所述处理单元接收所述映射值,将所述映射值作为外层标签关键值,并将所述多层标签中内层标签关键值作为内层标签关键值,查找多层标签转发表项。
一种多协议标签交换设备,该设备包括存储单元、生成单元、控制单元和处理单元;
所述存储单元保存表征弹出类标签值的特征值;
所述生成单元用于在生成多层标签对应的多层标签转发表项时,用所述特征值代替多层标签中弹出类标签的标签关键值,作为该多层标签的外层标签关键值,保留该多层标签中非弹出类的内层标签关键值,生成该多层标签对应的标签转发表项,并保存至所述存储单元;
所述控制单元在查找多层标签对应的多层标签转发表项时,用弹出类标签值与表征该类标签值的特征值之间的映射关系,映射所述多层标签中的弹出类标签值得到映射值;并将所述得到的映射值发送至所述处理单元;
所述处理单元接收所述映射值,将所述映射值作为外层标签关键值,并将所述多层标签中内层标签关键值作为内层标签关键值,查找所述存储单元中保存的多层标签转发表项。
本发明所提供的技术方案,通过设置表征弹出类标签值的特征值;用特征值代替弹出类标签生成所需的多层标签转发表项、以及单层标签转发表项,用一个标签转发表项代替原来的多个标签转发表项工作,从而减少了标签转发表中的表项数目。相应的,在本发明的技术方案中还提供了一种查找该标签转发表的技术方案。通过应用本发明的技术方案,减少了标签转发表中表项的数目,减少了硬件存储器的成本,提高了查找标签转发表的速度。
附图说明
图1为MPLS VPN网络结构图;
图2为本发明实施例的方法流程图;
图3为本发明实施例的MPLS设备的结构图。
具体实施方式
对现有技术中存在的多层标签转发表项进行分析可知,当LSR设备需要对分组中的多层标签进行处理时,该多层标签中的外层标签通常为弹出类标签,其实际意义不大。这里,弹出类标签是指标签转发动作为POP的标签,即该弹出标签后,需要进一步根据内层标签来决定转发行为的一类标签,它只是决定了该标签需要被弹出。而该多层标签中的内层标签的值决定了当前分组在当前设备上最终的转发动作。例如,当LSR设备需要对三层标签进行处理,将这三层标签从外至内依次定义为第三层标签、第二层标签、以及第一层标签。这里从外至内的次序也就是从栈顶至栈底的顺序。第三层标签和第二层标签对应的动作为弹出,第一层标签决定分组最终的转发动作。
基于以上分析,本发明的技术方案可以通过用一个多层标签转发表项,代替转发动作由一个内层标签确定的多个多层标签转发表项工作,从而减少LSR设备内的标签转发表项的项数。这里,之所以能够将多个多层标签转发表项用一个多层标签转发表项来代替工作,是由于多层标签中的外层标签为弹出类标签,其不能决定分组最终的转发动作,因此可以用一个多层标签转发表项代替原来的多个标签转发表项工作。为了方便后续的描述,对于需要处理的多层标签,将除最内层标签之前的其它标签统称为外层标签。即上述第三层标签、第二层标签均为外层标签;而第一层标签为内层标签。
以下为本发明中生成多层标签转发表项方法的示例性流程,包括:设置表征弹出类标签值的特征值;在需要生成当前标签对应的多层标签转发表项时,将特征值作为该多层标签转发表项的各外层标签关键值、并将当前标签的标签值作为该多层标签转发表项的内层标签关键值,生成所需的多层标签转发表项。相应的,本发明中查找标签转发表项方法的示例性流程包括:对于分组中待查找标签转发表的多层标签,用弹出类标签值与表征该类标签值的特征值之间的映射关系,映射分组中多层标签的外层标签得到该外层标签映射值;将外层标签映射值和多层标签的内层标签值作为标签关键值查找标签转发表。
这里,表征弹出类标签值的特征值可以是任意一个唯一设定的值。假设当前LSR设备存在的弹出类标签的标签值为:0X00001、0X00010、0X00100、0X01000和0X10000,弹出类标签的标签值对应的特征值为0XFFFFF。当存在一个VPN标签需要对以上弹出类标签生成二层标签转发表项时,则用0XFFFFF作为二层标签关键值、VPN标签对应标签值作为一层标签关键值生成所需的二层标签转发表项。这里的弹出类标签标签值与表征该类标签特征值之间的映射关系则为多对一的映射表,如表二所示。
表二
当收到的分组需要对二层标签进行处理时,将首先根据映射表将外层标签值映射至0XFFFFF,再将0XFFFFF和内层标签值作为标签关键值查找标签转发表。
以上介绍的是特征值的第一种具体实施方式,在本发明的技术方案中还存在第二种特征值的实现方式。在第二种实现方式下,需要首先设置弹出类标签的生成范围,在该生成范围内为弹出类标签分配唯一标签值。则在这种情况下,可以将表征弹出类标签生成范围的值作为所需特征值。此时的映射关系即为弹出类标签的标签值映射至弹出类标签生成范围所需的对应关系。关于这种实现方式将在后续的实施例中进行详细介绍,在此不再详述。
对于一个标签是生成二层标签转发表项、还是三层、四层标签转发表项,或者二层和三层标签转发表项是由所在LSR设备决定的。因此,生成当前标签对应的多层标签转发表项是指,根据所在LSR设备配置决定当前标签所需生成的多层标签转发表项,可能是二层标签转发表项、三层标签转发表项、或者是二层和三层标签转发表项或者其它情况。在需要生成当前标签对应的二层标签转发表项时,将特征值作为该二层标签关键值,并将标签的标签值作为一层标签关键值,生成二层标签转发表项。在需要生成当前标签对应的三层标签转发表项时,将特征值分别作为二层标签关键值和三层标签关键值,并将标签的标签值作为一层标签关键值,生成三层标签转发表项。
以下以图1所示的MPLS VPN为例,介绍本发明的针对多层标签的技术方案。如图1所示,MPLS VPN网络主要由用户网络边缘路由器(CE,Custom Edge Router)、骨干网边缘路由器(PE,Provider Edge Router)和骨干网核心路由器(P,Provider Router)三部分组成。其中,CE设备直接与服务提供商网络即图1中的MPLS骨干网络相连;PE设备与用户的CE直接相连,负责VPN业务接入,处理VPN-IPv4路由,是MPLS三层VPN的主要实现者;P设备主要负责快速转发数据,不与CE直接相连。
在图1所示的MPLS VPN网络中,在出口PE上配置了两个VPN,同时存在不支持PHP的LSP隧道1、LSP隧道2和LSP隧道3均在该出口PE上终结。由于LSP隧道1、LSP隧道2和LSP隧道3这三条隧道均不支持PHP、并且在出口PE上终结;因此,这三条隧道对应的标签均为弹出类标签。当出口PE需要针对各VPN标签与各LSP隧道的组合生成多层标签转发表项,该多层标签转发表项的转发动作由VPN对应的标签确定。
这里,以特征值的第二种具体实施方式为例介绍本实施例。在本实施例中,可以设置弹出类标签的生成范围,例如在0X00100~0X001FF之间为弹出类标签分配标签值。由于弹出类标签值的前12比特固定为0X001,因此设表征弹出类标签的标签值的特征值为0X00100。相应的映射关系为弹出类标签的标签值映射至该特征值所需的对应关系,即弹出类标签的标签值与0XFFF00进行的逻辑“与”运算。实际上,根据所选取的特征值,将弹出类标签进行运算得到特征值还有其他的方式一些运算方式,对于本领域计算人员来讲,都是很容易想到的,在此不再详述。在针对VPN标签生成二层标签转发表项时,可以将0X00100到0X001FF中的任意一个值作为外层标签值,该VPN标签值作为内层标签值。由于弹出类标签的前12比特固定为0X001,因此,在进行表项匹配时,只需匹配前12比特、以及VPN标签,就能获得对应的表项内容,进而根据表项内容处理收到的分组。
参见图2,图2为本实施例方法的流程。在执行本流程之前,需要设置弹出类标签的标签值的生成范围。该生成范围假设为0X00100~0X001FF,即在生成弹出类标签时,为该标签在0X00100~0X001FF的范围内分配标签值。由于LSP隧道1、LSP隧道2以及LSP隧道3,这三条LSP隧道的标签,在出口PE上标签交换动作均为弹出,因此这三条隧道的标签属于弹出类标签。出口PE需要在0X00100~0X001FF的范围内为这三条LSP隧道分配标签。这里,假设出口PE为LSP隧道1分配的标签值为0X00100;为LSP隧道2分配的标签值为0X00101;为LSP隧道3分配的标签值为0X00110。相应的,表征生成范围的特征值为0X00100。本实施例的具体流程如下:
在步骤201中,在出口PE上配置VPN1和VPN2,出口PE根据配置生成VPN1对应的标签值V1、VPN2对应的标签值V2。该V1假设为0X00200,V2为0X00300。因为VPN标签的转发动作是先弹出、然后进入VPN路由表转发,而不查找内层标签进行转发,所以VPN标签不属于弹出类。
在步骤202中,出口PE根据自身的配置,需要生成LSP隧道1、LSP隧道2以及LSP隧道3,对应于VPN1和VPN2的二层标签转发表项时,出口PE执行的操作为:将特征值0X00100作为该二层标签转发表项所需的外层标签关键值、将VPN1标签的标签值0X00200作为该二层标签转发表项的内层标签关键值,生成所需的二层标签转发表项,并将生成的二层标签转发表项保存至出口PE的标签转发表中。即如下形式:
标签值 | 表项内容 |
(0X00100,0X00200) | Y1 |
表三
这里表项内容Y1包含的内容为弹出外层标签、以及VPN1标签所对应的转发动作内容。按照同样的方法还需要生成VPN2对应的二层标签转发表项,则对应的二层标签转发表项为:
标签值 | 表项内容 |
(0X00100,0X00300) | Y2 |
表四
此时,该出口PE中的标签转发表即为如下的形式:
标签值 | 表项内容 |
(0X00100,0X00200) | Y1 |
(0X00100,0X00300) | Y2 |
0X00100 | Y3 |
0X00101 | Y4 |
0X00102 | Y5 |
0X00200 | Y6 |
0X00300 | Y7 |
表五
在表五中单层标签转发表项的生成方法与现有技术中的方法相同,在此不再详述。
本实施例中所举的例子与现有技术中所举的例子相同,均是配置了2个VPN、以及存在三条在自身终结且不支持PHP的LSP隧道。从表一和表四所示的表项可以很明显的看出,对于二层标签转发表项来说,在表一中有6条、而在表四中仅存在2条。即在本实施例中,将具有相同二层标签关键值的表项合并成一条。即在存在10K不支持PHP的LSP隧道和30KVPN的情况下,出口PE设备的标签转发表中仅存在30k条表项,与现有技术中的300M条表项相比,极大的减少了不支持多次查找的PE设备中设置的表项数。
如果根据出口PE的配置,需要针对VPN1和/或VPN2生成对应的三层标签转发表项时,也是按照与生成二层标签转发表项相同的方法生成。例如,在生成VPN1对应的三层标签转发表项时,将特征值0X00100分别作为外层标签所需的三层标签关键值和二层标签关键值,将VPN1的标签值0X00200作为内层标签关键值,即一层标签关键值,生成VPN1对应的三层标签转发表项。可以是如下形式。
标签值 | 表项内容 |
(0X00100,0X00100,0X00300) | Z1 |
表六
这里表项内容Z1包含的内容为弹出外层标签,即第二、三层标签,以及VPN1标签所对应的内容。
在步骤203中,出口PE收到上游节点发送来的分组,这里假设分组中仅携带两层标签,出口PE获得分组中携带的两层标签。
在步骤204中,出口PE对获得的外层标签进行掩码运算,即用掩码对标签中的外层标签进行运算得到弹出类标签的生成范围。这里的掩码为0XFFF00。将获得的内层标签和经过掩码运算后的外层标签作为关键字,查找出口PE中保存的标签转发表,得到对应的表项。根据表项中的内容对当前收到的分组进行转发处理。
假设,从分组中获得的两层标签为(0X00101,0X00300),对外层标签进行掩码运算后得到两层标签为(0X00100,0X00300)。将(0X00100,0X00300)作为关键字,查找得到表四中第二行的表项,得到对应的表项内容Y2。按照同样的方法,对于两层标签为(0X00100,0X00300)或(0X00110,0X00300)的分组,均能查找得到表项内容为Y2的二层标签转发标签。进而,能够成功查找得到对应的标签转发表项。同时,由于出口PE设备中标签转发表中表项数目明显变少,因此本发明的技术方案提高了查找标签转发表项的效率。
在本实施例中,设置弹出类标签的标签值的生成范围,也可以不是连续的。例如弹出类标签的生成范围可以在0X10000~0X1FF00之间。那么相应的掩码则为0XF00FF。
以上以MPLS VPN为例对本发明的技术方案进行了详细介绍。在上述实施例中仅描述出口PE设备生成多层标签转发表项、查找多层标签转发表项的操作。在MPLS的应用中,并不限于只有出口PE设备才能执行这样的操作,任何需要生成多层标签转发表项的设备均可以使用本发明所提出的方案,内层标签的类型包括交换、交换-压入,同样也包括弹出。
在本发明的技术方案中,除了可以对多层标签转发表项进行合并处理,还可以对标签转发表中的弹出类标签对应的单层标签转发表项进行合并处理。即将表征弹出类标签值的特征值作为标签关键值,生成弹出类标签对应的标签转发表项。相应的,对于分组中待查找标签转发表的单个标签,用弹出类标签值与表征该类标签值的特征值之间的映射关系,映射标签得到该标签的映射值;将标签的映射值作为标签关键值查找标签转发表。并且在将标签的映射值作为标签关键值,在标签转发表中查找不到相应的标签转发表项时,则用该标签自身的标签值查找标签转发表。
例如,根据上述MPLS VPN实施例中值为0X00100的特征值,将表五中0X00100、0X00101和0X00102对应的单层标签转发表项合并成如表七所示的形式:
0X00100 | Z2 |
表七
其中Z2表示弹出该标签。这样,当出口PE需要在标签转发表查找单个标签时,首先将该标签与特征值0X00100对应的掩码0XFFF00进行二进制运算,用得到的值匹配标签转发表。由于弹出类标签值的生成范围是0X00100~0X001FF,因此仅弹出标签的标签值才能通过掩码运算得到特征值0X00100。进而就能够根据表七所示的表项内容弹出该标签。如果不能匹配到的话,则表明该标签不属于弹出类,此时,则需要根据自身所具有的标签值查找标签转发表。
在上述实施例的介绍中,描述的分组为仅携带两层标签的分组。在实际的处理过程中,分组中可能会携带三层甚至更多层的标签。由于设备中的标签转发表项是根据设备的配置生成,因此对于自身不处理的标签,设备是不会生成相应的标签转发表项。进而,在分组中存在多层标签时,查找标签转发表项的方法可以是:首先获得分组标签栈中所有的标签,此时该所有的标签就是分组中当前待查找标签转发表的多层标签,用特征值对该所有标签中的外层标签进行处理,用处理后的标签值依次匹配标签转发表中的各表项。在匹配到时,则根据匹配到的表项内容执行相应操作。在没有匹配到时,删除该多层标签中的最底层标签,得到的剩余的标签就是分组当前待查找标签转发表的多层标签,继续匹配标签转发表中的各表项,在匹配到时,则根据匹配到的表项内容执行相应操作;在没有匹配到时,删除当前多层标签中的最底层标签,用剩余的标签继续匹配标签转发表中的各表项,直到匹配到对应的标签转发表项。在依次删除标签栈中的标签,最后剩下标签栈顶层标签时,则采用本发明提供的处理单层标签的技术方案进行处理。
综合以上对本发明实施例的描述,本发明的技术方案在生成标签转发表项时,首先设置表征弹出类标签值的特征值;再将该特征值作为表征弹出类标签的标签关键值,生成弹出类标签对应的标签转发表项。另外,在需要生成多层标签对应的多层标签转发表项时,则进一步将该多层标签中内层标签的标签值作为该多层标签转发表项的内层标签关键值,生成所需的多层标签转发表项。相应的,在查找标签转发表时,用弹出类标签值与表征该类标签值的特征值之间的映射关系,映射当前待查找的弹出类标签值得到映射值;将所述得到的映射值作为标签关键值查找标签转发表。如果需要查找多层标签对应的多层标签转发表项时,则进一步将所述多层标签中内层标签的标签值作为内层标签关键值、并结合作为外层标签关键值的所述得到的映射值,查找标签转发表。通过用一个标签转发表项代替原来的多个标签转发表项工作,从而减少了标签转发表中的表项数目。
参见图3,图3为本发明实施例中的MPLS设备的结构图,该设备包括存储单元、生成单元、控制单元和处理单元。其中,存储单元保存表征弹出类标签值的特征值。生成单元将特征值作为表征弹出类标签的标签关键值,生成弹出类标签对应的标签转发表项,并保存至存储单元。控制单元用弹出类标签值与表征该类标签值的特征值之间的映射关系,映射待查找的弹出类标签值得到映射值;并将得到的映射值发送至处理单元。处理单元接收得到的映射值,将得到的映射值作为标签关键值,查找存储单元中保存的标签转发表项。
另外,生成单元在需要生成多层标签对应的多层标签转发表项时,进一步将多层标签中内层标签的标签值作为该多层标签转发表项的内层标签关键值,生成所需的多层标签转发表项,并保存至存储单元。处理单元在需要查找多层标签对应的多层标签转发表项时,进一步将多层标签中内层标签的标签值作为内层标签关键值、并结合作为外层标签关键值的得到的映射值,查找存储单元中保存的标签转发表项。
在本发明介绍的本实施例中,上述所描述的MPLS设备就是出口PE设备。当然在其它的应用环境中,也可以是其它角色的MPLS网络中的设备。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1、一种生成标签转发表项的方法,应用于支持标签转发的设备,其特征在于,生成多层标签对应的多层标签转发表项时,该方法包括:
设置表征弹出类标签值的特征值;
用所述特征值代替该多层标签中弹出类标签的标签关键值,作为该多层标签的外层标签关键值,保留该多层标签中非弹出类的内层标签关键值,生成该多层标签对应的多层标签转发表项,该多层标签转发表项中包括与该多层标签关键值对应的转发内容。
2、根据权利要求1所述的方法,其特征在于,该方法进一步包括:
设置弹出类标签值的生成范围;在所述生成范围内为弹出类标签分配标签值;
所述设置表征弹出类标签值的特征值为:根据所述弹出类标签值的生成范围,将表征所述生成范围的值作为表征弹出类标签值的特征值。
3、一种生成标签转发表项的装置,其特征在于,该装置包括存储单元和生成单元;
所述存储单元保存表征弹出类标签值的特征值;
所述生成单元用于在生成多层标签对应的多层标签转发表项时,用所述特征值代替多层标签中弹出类标签的标签关键值,作为该多层标签的外层标签关键值,保留该多层标签中非弹出类的内层标签关键值,生成该多层标签对应的多层标签转发表项。
4、一种查找标签转发表项的方法,其特征在于,应用于支持标签转发的设备,在查找多层标签对应的多层标签转发表项时,该方法包括:
用弹出类标签值与表征该类标签值的特征值之间的映射关系,映射所述多层标签中的弹出类标签值得到映射值;
将所述映射值作为外层标签关键值,并将所述多层标签中内层标签关键值作为内层标签关键值,查找多层标签转发表项。
5、根据权利要求4所述的方法,其特征在于,当所述特征值为表征所述弹出类标签值生成范围的值时,所述用弹出类标签值与表征该类标签值的特征值之间的映射关系,映射所述多层标签中的弹出类标签值得到映射值为:
用所述弹出类标签值映射至弹出类标签值生成范围所需的掩码,对当前待查找的弹出类标签值进行运算,得到当前多层标签中弹出类标签值的映射值。
6、一种查找标签转发表项的装置,其特征在于,该装置包括控制单元和处理单元;
所述控制单元在查找多层标签对应的多层标签转发表项时,用弹出类标签值与表征该类标签值的特征值之间的映射关系,映射所述多层标签中的弹出类标签值得到映射值;并将所述得到的映射值发送至所述处理单元;
所述处理单元接收所述映射值,将所述映射值作为外层标签关键值,并将所述多层标签中内层标签关键值作为内层标签关键值,查找多层标签转发表项。
7、一种多协议标签交换设备,其特征在于,该设备包括存储单元、生成单元、控制单元和处理单元;
所述存储单元保存表征弹出类标签值的特征值;
所述生成单元用于在生成多层标签对应的多层标签转发表项时,用所述特征值代替多层标签中弹出类标签的标签关键值,作为该多层标签的外层标签关键值,保留该多层标签中非弹出类的内层标签关键值,生成该多层标签对应的多层标签转发表项,并保存至所述存储单元;
所述控制单元在查找多层标签对应的多层标签转发表项时,用弹出类标签值与表征该类标签值的特征值之间的映射关系,映射所述多层标签中的弹出类标签值得到映射值;并将所述得到的映射值发送至所述处理单元;
所述处理单元接收所述映射值,将所述映射值作为外层标签关键值,并将所述多层标签中内层标签关键值作为内层标签关键值,查找所述存储单元中保存的多层标签转发表项。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710120220A CN100596112C (zh) | 2007-08-13 | 2007-08-13 | 生成标签转发表项、及查找标签转发表项的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710120220A CN100596112C (zh) | 2007-08-13 | 2007-08-13 | 生成标签转发表项、及查找标签转发表项的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101110773A CN101110773A (zh) | 2008-01-23 |
CN100596112C true CN100596112C (zh) | 2010-03-24 |
Family
ID=39042671
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200710120220A Active CN100596112C (zh) | 2007-08-13 | 2007-08-13 | 生成标签转发表项、及查找标签转发表项的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100596112C (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101577660B (zh) * | 2008-05-05 | 2012-03-21 | 华为技术有限公司 | 一种标签转发表项获取、报文转发方法和装置 |
CN101572669A (zh) * | 2009-05-27 | 2009-11-04 | 中兴通讯股份有限公司 | Vpn报文的转发方法及其路由标签的分配、删除方法 |
CN102291316A (zh) * | 2011-09-14 | 2011-12-21 | 中兴通讯股份有限公司 | 一种实现mpls零标签弹出的方法及边缘设备 |
CN104348721A (zh) * | 2013-07-24 | 2015-02-11 | 中兴通讯股份有限公司 | 标签查找方法及装置 |
CN105471737B (zh) * | 2014-09-05 | 2019-05-10 | 华为技术有限公司 | 一种标签栈的压缩方法及装置、标签栈的解压缩方法及装置 |
US11323369B2 (en) * | 2020-05-18 | 2022-05-03 | Juniper Networks, Inc. | Transforming a multi-level hybrid hierarchical forwarding information base format |
-
2007
- 2007-08-13 CN CN200710120220A patent/CN100596112C/zh active Active
Non-Patent Citations (2)
Title |
---|
MPLS和VPN体系结构CCIP版. Ivan Pepelnjak,Jim Guichard,第20至36页,人民邮电出版社. 2003 |
MPLS和VPN体系结构CCIP版. Ivan Pepelnjak,Jim Guichard,第20至36页,人民邮电出版社. 2003 * |
Also Published As
Publication number | Publication date |
---|---|
CN101110773A (zh) | 2008-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100596112C (zh) | 生成标签转发表项、及查找标签转发表项的方法和装置 | |
CN104283791B (zh) | 一种sdn网络中的三层拓扑确定方法和设备 | |
CN100417142C (zh) | 将接口流量在多个网络处理器引擎中均担的方法 | |
CN103152267B (zh) | 路由管理方法及路由方法及网络控制器及路由器 | |
CN105099913B (zh) | 一种报文转发方法及设备 | |
CN101667970B (zh) | 保护倒换方法和设备 | |
CN109831382A (zh) | 一种路径计算方法、装置及设备 | |
CN100566299C (zh) | 多协议标签交换业务分类处理方法及网络设备 | |
US5701300A (en) | Connectionless server for an asynchronous transfer mode network | |
CN101848161A (zh) | 一种mpls l2vpn和mpls l3vpn的通信方法和设备 | |
CN101517981A (zh) | 多机架仿真交换机 | |
CN101447920A (zh) | 线速ip信息多点传送的方法和装置 | |
CN101102264A (zh) | 一种以太网转发数据的方法和一种以太网系统 | |
CN101155130A (zh) | 学习mac地址的方法及传送vpls客户数据的系统及设备 | |
CN101136921A (zh) | 通信装置及通信系统 | |
CN106375105B (zh) | 一种确定路径故障的方法、控制器、交换机和系统 | |
CN103416010A (zh) | 网络在协议之间的自动转换 | |
CN108259341A (zh) | 一种前缀标签分配方法和sdn控制器 | |
CN101494610B (zh) | 处理报文的方法及交换机 | |
CN105591868A (zh) | 一种虚拟专用网络vpn的接入方法和装置 | |
KR20160124161A (ko) | 네트워크 제어 방법, 네트워크 시스템, 장치, 및 프로그램 | |
CN114095305A (zh) | Bier报文转发的方法、设备以及系统 | |
CN103023779B (zh) | 一种数据报文处理方法及装置 | |
CN101052011B (zh) | Mpls标签分配方法、系统和设备 | |
CN101719868B (zh) | 一种lsp承载于te隧道的方法及装置 |
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 | ||
CP03 | Change of name, title or address |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Patentee after: Xinhua three Technology Co., Ltd. Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base Patentee before: Huasan Communication Technology Co., Ltd. |
|
CP03 | Change of name, title or address |