一种携带多层标签的报文处理方法和交换机的制作方法

文档序号:7709649阅读:221来源:国知局
专利名称:一种携带多层标签的报文处理方法和交换机的制作方法
技术领域
本发明涉及通信技术领域,特别涉及一种携带多层标签的报文处理方法 和交换^几。
背景技术
在现有技术中,高性能三层交换机都实现了高级的多协议标签交换
(Multi-Protocol Label Switching, MPLS)功能,但是,与同样具有MPLS功 能的路由器相比,两者之间的区别在于,交换机中的MPLS功能一般是通过专 用集成电路(Application Specific Integrated Circuit, ASIC)芯片来实现的,而 在路由器中,则一般是通过网络处理器(NetworkProcessor, NP)或者高性 能中央处理器(Central Processing Unit, CPU)来实现。
正是由于存在着这样的区别,在交换机中,可能由于ASIC芯片硬件逻辑 的限制,使得某些功能不能满足实现应用的具体需求,比如出栈(POP)多 层标签,即将报文中所携带的多层标签弹出。
在现有的运营商网络中,多协议标签交换三层虚拟专网(Multi-Protocol Label Switching L3 Virtual Private Network, MPLS L3VPN)的组网应用是比较 普遍的方式。在此种组网方式下,要求运营商边缘设备(Provide Edge Device, PE)设备能压栈(PUSH)两层标签,即向报文中添加两层标签,包括通道
(TUNNEL )标签和VPN标签,并且同样要求在对端的PE设备上能够支持POP 两层标签。
另外,在现有的运营商网络中,在部署MPLSL3VPN时,一4殳和基于多 协议标签交换的流量工程:技术(MPLS Traffic Engineering Technology, MPLS TE)进行组合应用,保证用户的数据流在通过运营商网络的时候,可以进行 数据流处理。在MPLSTE中, 一个关键的技术就是FRR,即快速重路由技术, 保证用户的流量在主隧道故障的时候,可以快速的切换到备份隧道上进行转发,此时要求PE设备具有PUSH三层标签的能力;同样能够支持POP三层标签 的能力。
对于上面的两种应用环境,都需要高性能的三层交换机设备能够支持 PUSH多层标签的能力,同时也具备POP多层标签的能力。这样问题就出现了 , 就APOP能力和PUSH能力不对等,POP标签的能力小于PUSH标签的能力,如 下两种情况,ASIC支持弹出 一层标签和支持弹出二层标签的模式。
如图l所示,为在交换机ASIC芯片上只能弹出一层标签的处理模式。 交换机在接收到携带标签的报文之后,进行MPLS标签表的查询,查询首 层标签所对应的处理类型,如果处理类型为弹出(POP) /倒数第二帧弹出 (PHP)/交换(SWAP),并判断该报文中只携带一层标签,则该交换机在将 该报文中的一层标签弹出后,将该报文进行转发,否则将该报文丢弃。 如图2所示,为在交换机ASIC上进行连续弹出二层标签的处理模式。 交换机在接收到携带标签的报文之后,进行MPLS标签表的查询,首先, 查询首层标签所对应的处理类型,如果首层标签的处理类型为弹出(POP), 则将首层标签弹出,并继续查询第二层标签在MPLS查询表中所对应的处理类 型,如果第二层标签的处理类型为倒数第二帧弹出(PHP) /交换(SWAP), 则该交换机继续将该报文中的第二层标签弹出,并将该报文进行转发,另夕卜, 如果首层标签所对应的处理类型不是弹出,则继续判断首层标签的处理类型 是否为倒数第二帧弹出或交换,如果是,则弹出该标签,否则,如果第二层 标签所对应的处理类型不是倒数第二帧弹出/交换,或者该报文中还携带有其 他标签时,则将该才艮文进行丟弃处理。
对于现有的处理模式,在ASIC不具备连续弹出多层标签的能力的时候, 只能通过配置进行规避。通过在设备上使能PHP功能,保证从对端设备进来的 数据流只携带单层标签,即VPN标签,防止出现数据流携带多层标签,而设 备不能处理的情况。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题 通过配置进行规避的方式,限制了设备的应用模型,也限制了设备所处 的位置,要实现PHP功能,那么设备只能是MPLS主干(MPLS Backbone )云中的最后一跳设备,因为如果在最后一跳之前进行部署,则有可能因为不能 处理多层标签而导致处理流程失败,这种限制对于高性能的三层交换机来说 是不可以接受的。

发明内容
本发明提供一种携带多层标签的报文处理方法和交换机,以实现通过利 用端口环回的方式,灵活的实现多层标签的弹出处理,提高交换机的处理能 力,保证报文处理流程的顺利进行。
为达到上述目的,本发明一方面提供了一种携带多层标签的报文处理方
法,应用于包含专用集成电路ASIC芯片的交换机的系统中,根据所述ASIC 芯片所能连续弹出的标签数量和所述系统需要处理的报文所携带的标签数 量,所述交换机建立至少一个入逻辑过滤处理器IFP逻辑,所述至少一个IFP 逻辑按照所匹配的标签数量高于所述ASIC芯片所能连续弹出的标签数量,所 述方法具体包括
所述交换机接收携带多层标签的报文,识别所述"l艮文所携带的标签数量; 所述交换机根据所述报文所携带的标签数量,为所述报文匹配相对应的 IFP逻辑;
所述交换机将所述报文弹出与所述ASIC芯片所能连续弹出的标签数量 相对应的标签后,将所述净艮文重定向到所述IFP逻辑相对应的环回端口,环 回至所述交换机继续进行处理,直至所述报文被转发或被丟弃。
优选的,所述交换机建立IFP逻辑的数量,具体为所述系统需要处理的 报文所携带的标签数量与所述ASIC芯片所能连续弹出的标签数量的差值;
所述各IFP逻辑所匹配的标签数量依次为大于所述ASIC芯片所能连续弹 出的标签数量且小于等于所述系统需要处理的报文所携带的标签数量的数 值。
优选的,所述交换机建立至少一个IFP逻辑,具体为 按照所述IFP逻辑所匹配的标签数量由高到低的顺序,所述交换机建立 所述IFP逻辑。优选的,所述交换机根据所述报文所携带的标签数量,为所述报文匹配
相对应的IFP逻辑,具体为
所述交换机为所述报文匹配最大标签匹配数量与所述报文所携带的最大 标签数量相等的IFP逻辑;
其中,IFP逻辑最大标签匹配数量具体为所述ASIC芯片所能连续弹出的 标签数量与所述IFP逻辑所能实际处理的报文所携带的标签数量。
优选的,所述交换机中建立的至少一个IFP逻辑分别对应不同的环回端o 。
优选的,所述IFP逻辑所对应的环回端口所设置的环回模式具体为媒体 访问控制MAC环回才莫式。
优选的,所述IFP逻辑所对应的环回端口,具体为所述交换机内部的端 口,包括
IOG端口或HIG端口。
优选的,如果所述交换机接收到的报文所携带的标签数量小于或等于所 述交换机自身的ASIC芯片所能连续弹出的标签数量,则所述交换机无需为所 述报文匹配IFP逻辑,直接按照所述交换机中ASIC芯片的原有处理能力进行 处理。
另一方面,本发明还提供了一种交换机,包含不具备连续弹出多层标签 能力的ASIC芯片,具体包括
建立模块,用于根据所述ASIC芯片所能连续弹出的标签数量和系统需要 处理的报文所携带的标签数量,建立至少一个IFP逻辑,所述至少一个IFP 逻辑按照所匹配的标签数量高于所述ASIC芯片所能连续弹出的标签数量,各 所述IFP分别对应不同的环回端口 ;
匹配模块,用于根据接收到的携带多层标签的报文的标签数量,为所述 报文匹配相对应的所述建立模块建立的IFP逻辑;
处理模块,用于将所述报文弹出与所述ASIC芯片所能连续弹出的标签数 量相对应的标签,并将所述报文重定向到所述匹配模块所匹配的所述IFP逻辑相对应的环回端口 ,环回至所述交换冲几继续进4于处理。
优选的,所述建立模块用于根据所述ASIC芯片所能连续弹出的标签数 量,建立至少一个IFP逻辑,具体为
所述建立;f莫块所建立的IFP逻辑分别对应不同的环回端口 ;
所述建立模块按照所述IFP逻辑所匹配的标签数量由高到低的顺序,所 述交换机建立所述IFP逻辑;
所述建立模块所建立的IFP逻辑所对应的环回端口所设置的环回模式具 体为MAC环回模式。
优选的,所述匹配模块,具体包括
识别子模块,用于识别所接收的报文中携带的标签数量;
匹配子模块,用于根据所述识別子模块的识别结果,为所述报文匹配相 对应的所述建立;f莫块建立的IFP逻辑。
与现有技术相比,本发明具有以下优点
通过本发明,通过利用端口环回的方式,能够灵活的实现弹出多层标签, 解决了ASIC上硬件逻辑的限制,也解决了高级的三层交换机所处的网络中的 位置,不受标签层数的限制。


图1为现有技术的在交换机ASIC芯片上只能弹出一层标签的处理模式的 示意图2为现有技术的在交换机ASIC上进行连续弹出二层标签的处理模式的 示意图3为现有的三层交换机中, 一般采用的Pipeline处理流程的示意图; 图4为本发明提供的一种携带多层标签的报文处理方法的流程示意图; 图5为本发明提供的在包含只能弹出一层标签的ASIC芯片的交换机中,
携带多层标签的报文处理方法的流程示意图6为本发明提供的在包含只能弹出一层标签的ASIC芯片的交换机中,
携带三层标签的报文处理方法的流程示意图;图7为本发明提供的在包含只能弹出一层标签的ASIC芯片的交换^L中, 携带多层标签的报文处理方法的流程示意图8为本发明提供的在包含只能弹出一层标签的ASIC芯片的交换机中, 携带三层标签的^^文处理方法的流程示意图9为本发明提供的一种路由器的结构示意图。
具体实施例方式
对于上述的现有技术的缺陷,本发明提出了通过增加环回端口设置,实 现多层标签的报文处理的技术方案。本发明的目的是要解决设备不支持连续 弹出多层标签的缺陷,保证设备能够连续的弹出多层标签,不受配置规避和 设备所处位置限制的影响,可以将设备放置到MPLS Backbone云中的任何位 置。
首先,在现有的三层交换机中, 一般采用的流水线(Pipeline)处理流程 具体如图3所示。
从如图3所示的Pipeline处理流程可以看出,报文在经过L2层的交换处 理,以及L3层的路由处理后,还可以被IFP根据设置的入逻辑过滤处理器 (Ingress Filter Processor, IFP)逻辑修改,进行端口重定向、丟弃、复制到 CPU等多种操作。
而且,对于IFP来讲,根据IFP逻辑进行报文匹配优先级的不同,IFP所 放置的位置或者IFP逻辑所执行的顺序也不同。
因此,可以利用IFP逻辑这个特性,在系统中写入多种IFP逻辑(如在交 换机中配置),从而,满足匹配多层标签的需求,对报文进行重定向操作。
基于上述论述,本发明提出了一种携带多层标签的报文处理方法,应用 于包含ASIC芯片的交换机的系统中,其中,ASIC芯片所能连续弹出的标签 数量低于系统需要处理的报文所携带的标签数量,根据ASIC芯片所能连续弹 出的标签数量和系统需要处理的报文所携带的标签数量,交换机建立至少一 个IFP逻辑,其中,各IFP逻辑所匹配的标签数量依次为大于ASIC芯片所能 连续弹出的标签数量且小于等于系统需要处理的报文所携带的标签数量的数值,各IFP逻辑分别对应不同的环回端口。
在具体的应用场景中,交换机建立IFP逻辑的数量,具体为系统需要处 理的报文所携带的标签数量与ASIC芯片所能连续弹出的标签数量的差值。
例如,如果系统的ASIC芯片能够连续弹出一层标签,而系统需要处理的 报文所携带的标签数量为四层,则交换机需要建立的IFP逻辑的数量为三个, 即四减一的差值。并且,上述三个IFP逻辑所能匹配的标签数量依次为两层 标签、三层标签和四层标签。
如图4所示,本发明提出的方法具体包括以下步骤
步骤S401、交换机接收携带多层标签的报文,识别该报文所携带的标签 数量。
在本步骤之前,需要在交换机中建立至少一个IFP逻辑,以保证报文处 理策略的执行。具体的,由于IFP逻辑的建立顺序与生效顺序直接相关,所 以,需要按照IFP逻辑所匹配的标签数量由高到低的顺序,在交换机中依次 建立上述的至少一个IFP逻辑,以保证报文处理流程的顺利连续进行。
在具体的应用场景中,交换机建立至少一个IFP逻辑,具体包括以下流

交换机检测自身的ASIC芯片所能连续弹出的标签数量;
才艮据检测结果,交换机建立至少一个IFP逻辑,其中,各IFP逻辑所能匹
配的报文所携带的标签数量高于交换机自身的ASIC芯片所能连续弹出的标
签数量。
步骤S402、交换机根据报文所携带的标签数量,为报文匹配相对应的IFP 逻辑。
在本步骤中,交换机为报文匹配最大标签匹配数量与该报文所携带的最 大标签数量相等的IFP逻辑;其中,IFP逻辑最大标签匹配数量具体为ASIC 芯片所能连续弹出的标签数量与IFP逻辑所能实际处理的报文所携带的标签 数量。
例如,交换机接收到携带四层标签的报文,则为该报文选择能够匹配四 层标签的IFP逻辑,如果ASIC芯片能够连续弹出的标签数量为一层,则该IFP逻辑能够实际处理的报文所携带的标签数量为三层,这样的设置是由于上述
携带四层标签的报文首先被ASIC芯片弹出一层报文,然后,仅携带三层标签 的报文按照上述的IFP逻辑进行处理,在这种情况下,IFP逻辑最大标签匹配 数量为四层,而实际的处理的报文所携带的标签数量为三层,通过上述设置, 实现了 IFP逻辑与ASIC芯片的标签处理能力的组合,使交换机可以处理携带 多层标签的报文。
通过本步骤,使接收到的报文可以匹配对应的IFP逻辑,从而,为该报 文确定了相应的处理逻辑。
其中,如果交换机接收到的报文所携带的标签数量小于或等于交换机自 身的ASIC芯片所能连续弹出的标签数量,则交换机无需为该报文匹配IFP逻 辑,直接按照该交换机中ASIC芯片的原有处理能力进行处理即可。
步骤S403 、交换机将报文弹出与ASIC芯片所能连续弹出的标签数量相 对应的标签后,将该净艮文重定向到IFP逻辑相对应的环回端口,环回至交换 机继续进行处理,直至报文被转发或被丟弃。
在本步骤中,首先通过交换机中的ASIC芯片按照自身的处理能力对报文 进行标签弹出处理,但是,在自身的标签弹出能力实现完毕之后,如果报文 还继续携带有其他标签,则执行通过步骤S402所匹配的IFP逻辑,重定向到 该IFP逻辑所对应的环回端口,环回至系统中继续进行处理,具体的处理相 当于步骤S401 S403的循环,这样的循环在具体的应用场景中可能会出现多 次,直至该4艮文#1丢弃或者^皮成功转发,完成该4艮文的处理流程。
需要指出的是,在报文处理过程中,IFP逻辑对该报文的有效时间仅限于 被环回端口环回之前,如果报文通过环回端口环回至系统,则按照新接收到 的报文处理流程进行处理,如果该报文仍携带有多层标签,则重新为该报文 匹配项对应的IFP逻辑,直至处理完成。
其中,IFP逻辑所对应的环回端口所设置的环回模式具体为媒体访问控制 (Media Access Control, MAC)环回才莫式。
在具体的应用场景中,IFP逻辑所对应的环回端口具体为交换机的内部端 口,包括交换机内部的IOG端口或HIG端口,其中的HIG端口即为12G端口 。这样设置的目的在于,将报文处理流程所占用的端口直接限定在交换机 内部,使用交换机内部的端口,这样,无需占用用户资源,但是,需要指出 的是,在交换机内部的端口资源不足,或处理逻辑要求占用用户端口资源的 情况下,也可以使用用户端口资源。
优先使用交换机内部的端口可以节约用户资源,最大程度上的使通过本 技术方案所实现的报文还回处理不影响用户体验,但这只是本发明技术方案 的一种优选方案,具体端口类型的变化并不影响本发明的保护范围。
与现有技术相比,本发明具有以下优点
通过本发明,通过利用端口环回的方式,能够灵活的实现弹出多层标签, 解决了ASIC上硬件逻辑的限制,也解决了高级的三层交换机所处的网络中的 位置,不受标签层数的限制。
下面,结合具体的应用场景对本发明所提出的技术方案进行说明,具体 的处理流程如下
(1)交换机初始化的时候,交换机首先判断自身的ASIC芯片的类型, 如果该ASIC芯片为只能弹出 一层标签的芯片,那么交换机分别下发两条IFP 逻辑,其中一条IFP逻辑为IFP1,可以匹配三层标签的才艮文,另一条IFP逻 辑为IFP2,可以匹配二层标签的报文,根据IFP先下发先生效的原则,将IFP1 放在IFP2的前面下发,保证在ASIC芯片弹出 一层标签后,通过IFP2还能匹 配二层标签继续环回,保证实现对标签弹出的连续性。
需要具体说明的是,对于多层标签的报文处理,可能需要多次循环过程, 那么,每一次循环发生后,报文所携带的标签都会减少,因此,在上述步骤 中,将匹配标签数量较多的IFP逻辑优先下发,优先执行,对报文的标签进 行减少后,环回至系统中,成为携带较少标签的报文,再执行匹配标签数量 较少的IFP逻辑,继续进行处理,通过这样的设置,使得报文处理可以顺利 进行。
(2 )在下发IFP逻辑后,交换机就可以识别进入ASIC的各种MPLS报 文。通过识别MPLS携带标签的数量,匹配IFP逻辑。如果对于三层标签,那么,才艮据匹配三层标签的IFP1,将^R文重定向到 IFP1所对应的环回端口 HG1;如果对于二层标签,那么,4艮据匹配三层标签 的IFP2,将才艮文重定向到IFP2所对应的环回端口 HG2 。
(3)在下发IFP逻辑时,除了确定在该IFP逻辑中的目的环回端口外, 还要设置环回端口的环回模式。
在现有的技术中,环回端口的环回模式可以设置为如下三种模式
NONE模式,不进行环回,端口为普通端口;
MAC模式,根据报文的MAC进行环回;
PHY模式,根据物理层协议进行环回。
通过设置端口的不同模式,得到不同的应用效果。
在本发明所提出的技术方案中,将环回端口的环回模式设置为MAC模式。
为了进一步说明本发明的技术方案,下面,分别基于只能弹出一层标签 的ASIC芯片和只能连续弹出两层标签的ASIC芯片,说明携带三层标签的保 温的处理流程。
如图5所示,对于包含只能弹出一层标签的ASIC芯片的交换机,在接收 到携带多层标签的报文后,进行的处理流程如下
步骤S501、交换机识别自身的ASIC芯片的类型,建立IFP逻辑。
对于报文携带的标签层数最高为三层的系统,交换机识别自身的ASIC芯 片是只能弹出一层标签的ASIC芯片,据此建立两条IFP逻辑,优先建立IFPl 逻辑,可以匹配携带三层标签的报文,即设置了携带三层标签的报文的处理 逻辑,然后建立IFP2逻辑,可以匹配携带两层标签的报文,即设置了携带两 层标签的报文的处理逻辑,根据IFP先下发先生效的原则,将IFP1放在IFP2 的前面下发,保证在ASIC芯片弹出一层标签后,通过IFP2还能匹配二层标 签继续环回,保证实现对标签弹出的连续性。
设定IFP1逻辑所对应的环回端口为HG1,IFP2逻辑所对应的环回端口为 HG2,其中,HG1和HG2两个端口的环回模式都是MAC环回。相应的,在上述设置的基础上,如果系统接收到携带有三层标签的报文,
ASIC芯片根据自身能力对该报文弹出一层标签,然后优先匹配到IFP1逻辑, 通过HG1端口将剩余两层标签的报文环回至系统中,ASIC芯片根据自身能 力对该报文再次弹出一层标签,然后匹配到IFP2逻辑,通过HG2端口将剩余 一层标签的报文环回至系统中,此时,系统就可以根据自身能力将该报文的 最后一层标签弹出后,根据预设逻辑进行转发,从而完成报文的处理过程
需要指出的是,上述说明是在报文携带的标签层数最高为三层的系统中 的IFP逻辑建立规则,如果系统中可能存在携带的最高标签层数大于三层的 报文时,还需要进一步建立其他的IFP逻辑,并且,对于对应匹配的标签层 数越多的IFP逻辑,越应该优先建立。
例如,如果系统中可能存在携带的最高标签层数为五层的报文时,对于 包含只能弹出一层标签的ASIC芯片的交换机,需要建立四个IFP逻辑,并且 优先建立匹配携带五层标签的报文的IFP逻辑,然后是建立匹配携带四层标 签的报文的IFP逻辑,再然后是建立匹配携带三层标签的报文的IFP逻辑,最 后是建立匹配携带二层标签的报文的IFP逻辑,并且各个IFP逻辑所对应的环 回端口各不相同,但各个环回端口的环回才莫式均为MAC环回。
这样的变化同样属于本发明的保护范围。
步骤S502、交换机接收携带多层标签的报文,确认选择相应的IFP逻辑 进4亍匹配。
对于报文携带的标签层数最高为三层的系统, 如果携带有三层标签的报文,确定的IFP逻辑是IFP1逻辑; 如果携带有两层标签的报文,确定的IFP逻辑是IFP2逻辑。 步骤S503、交换机基于ASIC芯片处理能力,查找MPLS标签表,确定 标签的处理规则。
如果查找到的处理规则为弹出(POP) /倒数第二帧弹出(PHP)/交换 (SWAP),并判断该报文中只携带一层标签,则该交换机在将该报文中的一 层标签弹出后,执行步骤S504;
如果查找到的处理规则为弹出(POP) /倒数第二帧弹出(PHP)/交换(SWAP),但判断该报文中携带不止一层标签,则该交换机在将该报文中的
一层标签弹出后,转入步骤S505。
步骤S504、转发处理后的报文,结束该报文的处理流程。
步骤S505、根据该报文所匹配的IFP逻辑将进行处理后的报文重定向至
相应的环回端口,环回至系统中,即返回步骤S502。
进一步的,结合具体的应用场景,以接收到携带三层标签的报文为例, 说明包含只能弹出一层标签的ASIC芯片的交换机的处理流程,具体如图6所 示。
步骤S601、交换机识别自身的ASIC芯片的类型,建立两条IFP逻辑。 如前所述,由于交换机识别自身的ASIC芯片是只能弹出一层标签的 ASIC芯片,所以,交换机先后建立两条IFP逻辑,优先建立IFP1逻辑,可 以匹配携带三层标签的报文,然后建立IFP2逻辑,可以匹配携带两层标签的 报文。设定IFP1逻辑所对应的环回端口为HG1, IFP2逻辑所对应的环回端口 为HG2,其中,HG1和HG2两个端口的环回模式都是MAC环回。
步骤S602、交换机接收携带三层标签的报文,确认选择相应的IFP1逻辑 进4亍匹配。
步骤S603、交换机基于ASIC芯片处理能力,查找MPLS标签表,确定 标签的处理规则。
由于查找到的处理规则为弹出(POP) /倒数第二帧弹出(PHP)/交换 (SWAP),但判断该报文中携带三层标签,所以,该交换机在将该报文中的 一层标签弹出后,转入步骤S604。
步骤S604、根据该报文所匹配的IFP1逻辑将进行处理后的报文重定向至 相应的环回端口HG1,环回至系统中。
步骤S605、交换机接收经过处理后仅携带两层标签的报文,确认选择相 应的IFP2逻辑进行匹配。
步骤S606、交换机基于ASIC芯片处理能力,查找MPLS标签表,确定 标签的处理规则。由于查找到的处理规则为弹出(POP) /倒数第二帧弹出(PHP)/交换 (SWAP),但判断该报文中携带两层标签,所以,该交换机在将该报文中的 一层标签弹出后,转入步骤S607。
步骤S607、根据该报文所匹配的IFP2逻辑将进行处理后的报文重定向至 相应的环回端口HG2,环回至系统中。
步骤S608、交换机接收经过处理后仅携带一层标签的报文,确认直接通 过ASIC芯片进行处理。
步骤S609、交换机基于ASIC芯片处理能力,查找MPLS标签表,确定 标签的处理规则。
由于查找到的处理规则为弹出(POP) /倒数第二帧弹出(PHP) /交换 (SWAP),并判断该报文中只携带一层标签,则该交换机在将该报文中的最 后一层标签弹出后,执行步骤S610。
步骤S610、交换机将该报文进行转发。
如图7所示,对于包含只能连续弹出两层标签的ASIC芯片的交换机,在 接收到携带多层标签的报文后,进行的处理流程如下
步骤S701、交换机识别自身的ASIC芯片的类型,建立IFP逻辑。
对于报文携带的标签层数最高为三层的系统,交换机识别自身的ASIC芯 片是只能连续弹出两层标签的ASIC芯片,据此建立一条IFP逻辑,即IFP1 逻辑,可以匹配携带三层标签的报文,并设定IFP1逻辑所对应的环回端口为 HG1,其中,HG1端口的环回模式都是MAC环回。
需要指出的是,上述说明是在报文携带的标签层数最高为三层的系统中 的IFP逻辑建立规则,如果系统中可能存在携带的最高标签层数大于三层的 报文时,,还需要进一步建立其他的IFP逻辑,并且,对于对应匹配的标签 层数越多的IFP逻辑,越应该优先建立。
例如,如果系统中可能存在携带的最高标签层数为五层的报文时,对于 包含只能连续弹出两层标签的ASIC芯片的交换机,需要建立三个IFP逻辑, 并且优先建立匹配携带五层标签的报文的IFP逻辑,然后是建立匹配携带四层标签的报文的IFP逻辑,最后是建立匹配携带三层标签的报文的IFP逻辑, 并且各个IFP逻辑所对应的环回端口各不相同,^f旦各个环回端口的环回才莫式 均为MAC环回。
这样的变化同样属于本发明的保护范围。
步骤S702、交换机接收携带多层标签的报文,确认选择相应的IFP逻辑 进4亍匹配。
对于报文携带的标签层数最高为三层的系统, 如果携带有三层标签的报文,确定的IFP逻辑是IFP1逻辑。 步骤S703、交换机基于ASIC芯片处理能力,查找MPLS标签表,确定 标签的处理规则。
如果查询首层标签所对应的处理类型,确认首层标签的处理类型为弹出 (POP),且报文中不含有其他标签,则该交换机继续将该"^艮文中的第二层标 签弹出,并执行步骤S704;
如果查询首层标签所对应的处理类型,确认首层标签的处理类型为弹出 (POP),且报文中还含有其他标签,则将首层标签弹出,并继续查询第二层 标签在MPLS查询表中所对应的处理类型,如果第二层标签的处理类型为倒 数第二帧弹出(PHP) /交换(SWAP),则该交换机继续将该报文中的第二层 标签弹出,并执行步骤S704;
如果该报文在连续弹出两层标签后,还携带有其他标签,则转入步骤 S705。
步骤S704、转发处理后的报文,结束该报文的处理流程。 步骤S705、根据该报文所匹配的IFP逻辑将进行处理后的报文重定向至 相应的环回端口,环回至系统中,即返回步骤S702。
进一步的,结合具体的应用场景,以接收到携带三层标签的报文为例, 说明包含只能连续弹出两层标签的ASIC芯片的交换机的处理流程,具体如图 8所示。
步骤S801、交换机识别自身的ASIC芯片的类型,建立一条IFP逻辑。如前所述,由于交换机识别自身的ASIC芯片是只能连续弹出两层标签的 ASIC芯片,所以,交换机先后建立一条IFP逻辑,即IFP1逻辑,可以匹配 携带三层标签的报文,设定IFP1逻辑所对应的环回端口为HG1, I其中,HG1 端口的环回模式都是MAC环回。
步骤S802、交换机接收携带三层标签的报文,确认选择相应的IFP1逻辑 进4亍匹酉己。
步骤S803、交换机基于ASIC芯片处理能力,查找MPLS标签表,确定 标签的处理规则。
首先,查询首层标签所对应的处理类型,确认首层标签的处理类型为弹 出(POP),且报文中还含有其他标签,则将首层标签弹出,否则,判断该标 签的处理类型是否为倒数第二层弹出或交换,如果是,则将该层标签弹出;
然后,继续查询第二层标签的处理类型,确认第二层标签的处理类型为 倒数第二帧弹出(PHP) /交换(SWAP),则该交换机继续将该报文中的第二 层标签弹出;
由于该报文在连续弹出两层标签后,还携带有其他标签,所以,转入步 骤S804。
步骤S804、根据该报文所匹配的IFP1逻辑将进行处理后的报文重定向至 相应的环回端口 HG1 ,环回至系统中。
步骤S805、交换机接收经过处理后仅携带一层标签的报文,确认直接通 过ASIC芯片进行处理。
步骤S806、交换机基于ASIC芯片处理能力,查找MPLS标签表,确定 标签的处理规则。
首先,查询首层标签所对应的处理类型,由于查找到的处理规则为弹出 (POP) /倒数第二帧弹出(PHP) /交换(SWAP),并判断该报文中只携带一 层标签,则该交换机在将该报文中的最后一层标签弹出后,执行步骤S807。 步骤S807、交换机将该报文进行转发。 与现有技术相比,本发明具有以下优点
通过本发明,通过利用端口环回的方式,能够灵活的实现弹出多层标签,解决了ASIC上硬件逻辑的限制,也解决了高级的三层交换机所处的网络中的 位置,不受标签层数的限制。
为了实现本发明所提出的技术方案,本发明进一步提出了 一种交换机,
包含不具备连续弹出多层标签能力的ASIC芯片,如图9所示,该交换机具体 包括
建立模块91,用于根据ASIC芯片所能连续弹出的标签数量和系统需要 处理的报文所携带的标签数量,建立至少一个IFP逻辑,其中,各IFP逻辑所 匹配的标签数量依次为大于ASIC芯片所能连续弹出的标签数量且小于等于 系统需要处理的报文所携带的标签数量的数值。
需要指出的是,在具体的应用场景中,建立模块91用于根据ASIC芯片 所能连续弹出的标签数量,建立至少一个IFP逻辑,具体为
建立模块91所建立的IFP逻辑分别对应不同的环回端口 ;
建立模块91按照IFP逻辑所匹配的标签数量由高到低的顺序,在交换机 中建立IFP逻辑,这样处理的原因在于IFP逻辑的建立顺序与生效顺序直接相 关,因此,建立模块91需要按照IFP逻辑所匹配的标签数量由高到低的顺序, 在交换机中依次建立上述的至少一个IFP逻辑,以保证报文处理流程的顺利 连续进行;
建立模块91所建立的IFP逻辑所对应的环回端口所设置的环回模式具体 为MAC环回才莫式。
在具体的应用场景中,IFP逻辑所对应的环回端口具体为交换才几的内部端 口,包括交换机内部的IOG端口或HIG端口,其中的HIG端口即为12G端 口 。这样设置的目的在于,将报文处理流程所占用的端口直接限定在交换机 内部,使用交换机内部的端口,这样,无需占用用户资源,但是,需要指出 的是,在交换机内部的端口资源不足,或处理逻辑要求占用用户端口资源的 情况下,也可以使用用户端口资源。
优先使用交换机内部的端口可以节约用户资源,最大程度上的使通过本 技术方案所实现的报文还回处理不影响用户体验,但这只是本发明技术方案的一种优选方案,具体端口类型的变化并不影响本发明的保护范围。
匹配模块92,与建立模块91电性连接,用于根据接收到的携带多层标签 的报文的标签数量,为报文匹配相对应的建立模块91建立的IFP逻辑,具体 包括
识别子模块921,用于识别所接收的报文中携带的标签数量;
匹配子模块922,用于根据识别子模块921的识别结果,为报文匹配相对 应的建立模块91建立的IFP逻辑。
处理模块93,与匹配模块92电性连接,用于将报文弹出与ASIC芯片所 能连续弹出的标签数量相对应的标签,并将报文重定向到匹配模块92所匹配 的IFP逻辑相对应的环回端口,环回至交换才几继续进4于处理,具体的处理相 当于上述各模块处理步骤的循环,这样的循环在具体的应用场景中可能会出 现多次,直至该报文被丢弃或者被成功转发,完成该报文的处理流程。
需要指出的是,在报文处理过程中,IFP逻辑对该报文的有效时间仅限于 被环回端口环回之前,如果报文通过环回端口环回至本交换机,则按照新接 收到的报文处理流程进行处理,如果该报文仍携带有多层标签,则重新为该 报文匹配项对应的IFP逻辑,直至处理完成。
其中,如果交换机接收到的报文所携带的标签数量小于或等于交换机自 身的ASIC芯片所能连续弹出的标签数量,则交换机无需为该报文匹配IFP逻 辑,直接按照该交换机中ASIC芯片的原有处理能力进行处理即可。
与现有技术相比,本发明具有以下优点
通过本发明,通过利用端口环回的方式,能够灵活的实现弹出多层标签, 解决了ASIC上硬件逻辑的限制,也解决了高级的三层交换机所处的网络中的 位置,不受标签层数的限制。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发 明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。 基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软 件产品可以存储在一个非易失性存储介质(可以是CD-ROM, U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服 务器,或者网络设备等)执行本发明各个实施场景所述的方法。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中 的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景 描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施 场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可 以进一步拆分成多个子模块。
上述本发明序号仅仅为了描述,不代表实施场景的优劣。
以上公开的仅为本发明的几个具体实施场景,但是,本发明并非局限于 此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
权利要求
1、一种携带多层标签的报文处理方法,其特征在于,应用于包含专用集成电路ASIC芯片的交换机的系统中,根据所述ASIC芯片所能连续弹出的标签数量和所述系统需要处理的报文所携带的标签数量,所述交换机建立至少一个入逻辑过滤处理器IFP逻辑,所述至少一个IFP逻辑所匹配的标签数量高于所述ASIC芯片所能连续弹出的标签数量,所述方法具体包括所述交换机接收携带多层标签的报文,识别所述报文所携带的标签数量;所述交换机根据所述报文所携带的标签数量,为所述报文匹配相对应的IFP逻辑;所述交换机将所述报文弹出与所述ASIC芯片所能连续弹出的标签数量相对应的标签后,将所述报文重定向到所述IFP逻辑相对应的环回端口,环回至所述交换机继续进行处理,直至所述报文被转发或被丢弃。
2、 如权利要求l所述的方法,其特征在于,所述交换机建立IFP逻辑的数量,具体为所述系统需要处理的报文所携 带的标签数量与所述ASIC芯片所能连续弹出的标签数量的差值;所述各IFP逻辑所匹配的标签数量依次为大于所述ASIC芯片所能连续弹 出的标签数量且小于等于所述系统需要处理的报文所携带的标签数量的数 值。
3、 如权利要求2所述的方法,其特征在于,所述交换机中建立至少一个 IFP逻辑,具体为按照所述IFP逻辑所匹配的标签数量由高到低的顺序,所述交换机建立 所述IFP逻辑。
4、 如权利要求1所述的方法,其特征在于,所述交换机根据所述报文所 携带的标签数量,为所述报文匹配相对应的IFP逻辑,具体为所述交换机为所述报文匹配最大标签匹配数量与所述报文所携带的最大 标签数量相等的IFP逻辑;其中,IFP逻辑最大标签匹配数量具体为所述ASIC芯片所能连续弹出的 标签数量与所述IFP逻辑所能实际处理的报文所携带的标签数量。
5、 如权利要求l所述的方法,其特征在于,所述交换机中建立的至少一个IFP逻辑分别对应不同的环回端口 。
6、 如权利要求5所述的方法,其特征在于,所述IFP逻辑所对应的环回 端口所设置的环回模式具体为媒体访问控制MAC环回模式。
7、 如权利要求6所述的方法,其特征在于,所述IFP逻辑所对应的环回 端口,具体为所述交换机内部的端口,包括IOG端口或HIG端口。
8、 如权利要求l所述的方法,其特征在于,如果所述交换机接收到的报 文所携带的标签数量小于或等于所述交换机自身的ASIC芯片所能连续弹出 的标签数量,则所述交换机无需为所述报文匹配IFP逻辑,直接按照所述交 换机中ASIC芯片的原有处理能力进行处理。
9、 一种交换机,其特征在于,包含ASIC芯片,具体包括 建立模块,用于根据所述ASIC芯片所能连续弹出的标签数量和系统需要处理的报文所携带的标签数量,建立至少一个IFP逻辑,所述至少一个IFP 逻辑按照所匹配的标签数量高于所述ASIC芯片所能连续弹出的标签数量;匹配模块,用于根据接收到的携带多层标签的报文的标签数量,为所述 报文匹配相对应的所述建立才莫块建立的IFP逻辑;处理模块,与所述匹配模块电性连接,用于将所述报文弹出与所述ASIC 芯片所能连续弹出的标签数量相对应的标签,并将所述报文重定向到所述匹 配^t块所匹配的所述IFP逻辑相对应的环回端口,环回至所述交换^L继续进 行处理。
10、 如权利要求9所述的交换机,其特征在于,所述建立模块用于根据 所述ASIC芯片所能连续弹出的标签数量,建立至少一个IFP逻辑,具体为所述建立^t块所建立的IFP逻辑分别对应不同的环回端口 ; 所述建立模块按照所述IFP逻辑所匹配的标签数量由高到低的顺序,所述交换机建立所述IFP逻辑;所述建立模块所建立的IFP逻辑所对应的环回端口所设置的环回模式具体为MAC环回才莫式。
11、如权利要求9所述的交换机,其特征在于,所述匹配模块,具体包括识别子模块,用于识别所接收的报文中携带的标签数量; 匹配子模块,用于根据所述识别子模块的识别结果,为所述报文匹配相 对应的所述建立模块建立的IFP逻辑。
全文摘要
本发明公开了一种携带多层标签的报文处理方法和交换机,应用于包含ASIC芯片不具备连续弹出多层标签能力的交换机的系统中,根据所述ASIC芯片所能连续弹出的标签数量,所述交换机建立至少一个IFP逻辑,并根据所述IFP逻辑处理携带多层标签的报文,以通过利用端口环回的方式,灵活的实现多层标签的弹出处理,提高交换机的处理能力,保证报文处理流程的顺利进行。
文档编号H04L29/06GK101588305SQ20091015075
公开日2009年11月25日 申请日期2009年6月30日 优先权日2009年6月30日
发明者韩立峰 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1