CN101588305A - 一种携带多层标签的报文处理方法和交换机 - Google Patents
一种携带多层标签的报文处理方法和交换机 Download PDFInfo
- Publication number
- CN101588305A CN101588305A CNA2009101507510A CN200910150751A CN101588305A CN 101588305 A CN101588305 A CN 101588305A CN A2009101507510 A CNA2009101507510 A CN A2009101507510A CN 200910150751 A CN200910150751 A CN 200910150751A CN 101588305 A CN101588305 A CN 101588305A
- Authority
- CN
- China
- Prior art keywords
- message
- logic
- labels
- ifp
- switch
- 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.)
- Granted
Links
Images
Landscapes
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种携带多层标签的报文处理方法和交换机,应用于包含ASIC芯片不具备连续弹出多层标签能力的交换机的系统中,根据所述ASIC芯片所能连续弹出的标签数量,所述交换机建立至少一个IFP逻辑,并根据所述IFP逻辑处理携带多层标签的报文,以通过利用端口环回的方式,灵活的实现多层标签的弹出处理,提高交换机的处理能力,保证报文处理流程的顺利进行。
Description
技术领域
本发明涉及通信技术领域,特别涉及一种携带多层标签的报文处理方法和交换机。
背景技术
在现有技术中,高性能三层交换机都实现了高级的多协议标签交换(Multi-Protocol Label Switching,MPLS)功能,但是,与同样具有MPLS功能的路由器相比,两者之间的区别在于,交换机中的MPLS功能一般是通过专用集成电路(Application Specific Integrated Circuit,ASIC)芯片来实现的,而在路由器中,则一般是通过网络处理器(Network Processor,NP)或者高性能中央处理器(Central Processing Unit,CPU)来实现。
正是由于存在着这样的区别,在交换机中,可能由于ASIC芯片硬件逻辑的限制,使得某些功能不能满足实现应用的具体需求,比如:出栈(POP)多层标签,即将报文中所携带的多层标签弹出。
在现有的运营商网络中,多协议标签交换三层虚拟专网(Multi-ProtocolLabel Switching L3Virtual Private Network,MPLS L3VPN)的组网应用是比较普遍的方式。在此种组网方式下,要求运营商边缘设备(Provide Edge Device,PE)设备能压栈(PUSH)两层标签,即向报文中添加两层标签,包括通道(TUNNEL)标签和VPN标签,并且同样要求在对端的PE设备上能够支持POP两层标签。
另外,在现有的运营商网络中,在部署MPLS L3VPN时,一般和基于多协议标签交换的流量工程技术(MPLS Traffic Engineering Technology,MPLSTE)进行组合应用,保证用户的数据流在通过运营商网络的时候,可以进行数据流处理。在MPLS TE中,一个关键的技术就是FRR,即快速重路由技术,保证用户的流量在主隧道故障的时候,可以快速的切换到备份隧道上进行转发,此时要求PE设备具有PUSH三层标签的能力;同样能够支持POP三层标签的能力。
对于上面的两种应用环境,都需要高性能的三层交换机设备能够支持PUSH多层标签的能力,同时也具备POP多层标签的能力。这样问题就出现了,就是POP能力和PUSH能力不对等,POP标签的能力小于PUSH标签的能力,如下两种情况,ASIC支持弹出一层标签和支持弹出二层标签的模式。
如图1所示,为在交换机ASIC芯片上只能弹出一层标签的处理模式。
交换机在接收到携带标签的报文之后,进行MPLS标签表的查询,查询首层标签所对应的处理类型,如果处理类型为弹出(POP)/倒数第二帧弹出(PHP)/交换(SWAP),并判断该报文中只携带一层标签,则该交换机在将该报文中的一层标签弹出后,将该报文进行转发,否则将该报文丢弃。
如图2所示,为在交换机ASIC上进行连续弹出二层标签的处理模式。
交换机在接收到携带标签的报文之后,进行MPLS标签表的查询,首先,查询首层标签所对应的处理类型,如果首层标签的处理类型为弹出(POP),则将首层标签弹出,并继续查询第二层标签在MPLS查询表中所对应的处理类型,如果第二层标签的处理类型为倒数第二帧弹出(PHP)/交换(SWAP),则该交换机继续将该报文中的第二层标签弹出,并将该报文进行转发,另外,如果首层标签所对应的处理类型不是弹出,则继续判断首层标签的处理类型是否为倒数第二帧弹出或交换,如果是,则弹出该标签,否则,如果第二层标签所对应的处理类型不是倒数第二帧弹出/交换,或者该报文中还携带有其他标签时,则将该报文进行丢弃处理。
对于现有的处理模式,在ASIC不具备连续弹出多层标签的能力的时候,只能通过配置进行规避。通过在设备上使能PHP功能,保证从对端设备进来的数据流只携带单层标签,即VPN标签,防止出现数据流携带多层标签,而设备不能处理的情况。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
通过配置进行规避的方式,限制了设备的应用模型,也限制了设备所处的位置,要实现PHP功能,那么设备只能是MPLS主干(MPLS Backbone)云中的最后一跳设备,因为如果在最后一跳之前进行部署,则有可能因为不能处理多层标签而导致处理流程失败,这种限制对于高性能的三层交换机来说是不可以接受的。
发明内容
本发明提供一种携带多层标签的报文处理方法和交换机,以实现通过利用端口环回的方式,灵活的实现多层标签的弹出处理,提高交换机的处理能力,保证报文处理流程的顺利进行。
为达到上述目的,本发明一方面提供了一种携带多层标签的报文处理方法,应用于包含专用集成电路ASIC芯片的交换机的系统中,根据所述ASIC芯片所能连续弹出的标签数量和所述系统需要处理的报文所携带的标签数量,所述交换机建立至少一个入逻辑过滤处理器IFP逻辑,所述至少一个IFP逻辑按照所匹配的标签数量高于所述ASIC芯片所能连续弹出的标签数量,所述方法具体包括:
所述交换机接收携带多层标签的报文,识别所述报文所携带的标签数量;
所述交换机根据所述报文所携带的标签数量,为所述报文匹配相对应的IFP逻辑;
所述交换机将所述报文弹出与所述ASIC芯片所能连续弹出的标签数量相对应的标签后,将所述报文重定向到所述IFP逻辑相对应的环回端口,环回至所述交换机继续进行处理,直至所述报文被转发或被丢弃。
优选的,所述交换机建立IFP逻辑的数量,具体为所述系统需要处理的报文所携带的标签数量与所述ASIC芯片所能连续弹出的标签数量的差值;
所述各IFP逻辑所匹配的标签数量依次为大于所述ASIC芯片所能连续弹出的标签数量且小于等于所述系统需要处理的报文所携带的标签数量的数值。
优选的,所述交换机建立至少一个IFP逻辑,具体为:
按照所述IFP逻辑所匹配的标签数量由高到低的顺序,所述交换机建立所述IFP逻辑。
优选的,所述交换机根据所述报文所携带的标签数量,为所述报文匹配相对应的IFP逻辑,具体为:
所述交换机为所述报文匹配最大标签匹配数量与所述报文所携带的最大标签数量相等的IFP逻辑;
其中,IFP逻辑最大标签匹配数量具体为所述ASIC芯片所能连续弹出的标签数量与所述IFP逻辑所能实际处理的报文所携带的标签数量。
优选的,所述交换机中建立的至少一个IFP逻辑分别对应不同的环回端口。
优选的,所述IFP逻辑所对应的环回端口所设置的环回模式具体为媒体访问控制MAC环回模式。
优选的,所述IFP逻辑所对应的环回端口,具体为所述交换机内部的端口,包括:
10G端口或HIG端口。
优选的,如果所述交换机接收到的报文所携带的标签数量小于或等于所述交换机自身的ASIC芯片所能连续弹出的标签数量,则所述交换机无需为所述报文匹配IFP逻辑,直接按照所述交换机中ASIC芯片的原有处理能力进行处理。
另一方面,本发明还提供了一种交换机,包含不具备连续弹出多层标签能力的ASIC芯片,具体包括:
建立模块,用于根据所述ASIC芯片所能连续弹出的标签数量和系统需要处理的报文所携带的标签数量,建立至少一个IFP逻辑,所述至少一个IFP逻辑按照所匹配的标签数量高于所述ASIC芯片所能连续弹出的标签数量,各所述IFP分别对应不同的环回端口;
匹配模块,用于根据接收到的携带多层标签的报文的标签数量,为所述报文匹配相对应的所述建立模块建立的IFP逻辑;
处理模块,用于将所述报文弹出与所述ASIC芯片所能连续弹出的标签数量相对应的标签,并将所述报文重定向到所述匹配模块所匹配的所述IFP逻辑相对应的环回端口,环回至所述交换机继续进行处理。
优选的,所述建立模块用于根据所述ASIC芯片所能连续弹出的标签数量,建立至少一个IFP逻辑,具体为:
所述建立模块所建立的IFP逻辑分别对应不同的环回端口;
所述建立模块按照所述IFP逻辑所匹配的标签数量由高到低的顺序,所述交换机建立所述IFP逻辑;
所述建立模块所建立的IFP逻辑所对应的环回端口所设置的环回模式具体为MAC环回模式。
优选的,所述匹配模块,具体包括:
识别子模块,用于识别所接收的报文中携带的标签数量;
匹配子模块,用于根据所述识别子模块的识别结果,为所述报文匹配相对应的所述建立模块建立的IFP逻辑。
与现有技术相比,本发明具有以下优点:
通过本发明,通过利用端口环回的方式,能够灵活的实现弹出多层标签,解决了ASIC上硬件逻辑的限制,也解决了高级的三层交换机所处的网络中的位置,不受标签层数的限制。
附图说明
图1为现有技术的在交换机ASIC芯片上只能弹出一层标签的处理模式的示意图;
图2为现有技术的在交换机ASIC上进行连续弹出二层标签的处理模式的示意图;
图3为现有的三层交换机中,一般采用的Pipeline处理流程的示意图;
图4为本发明提供的一种携带多层标签的报文处理方法的流程示意图;
图5为本发明提供的在包含只能弹出一层标签的ASIC芯片的交换机中,携带多层标签的报文处理方法的流程示意图;
图6为本发明提供的在包含只能弹出一层标签的ASIC芯片的交换机中,携带三层标签的报文处理方法的流程示意图;
图7为本发明提供的在包含只能弹出一层标签的ASIC芯片的交换机中,携带多层标签的报文处理方法的流程示意图;
图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的循环,这样的循环在具体的应用场景中可能会出现多次,直至该报文被丢弃或者被成功转发,完成该报文的处理流程。
需要指出的是,在报文处理过程中,IFP逻辑对该报文的有效时间仅限于被环回端口环回之前,如果报文通过环回端口环回至系统,则按照新接收到的报文处理流程进行处理,如果该报文仍携带有多层标签,则重新为该报文匹配项对应的IFP逻辑,直至处理完成。
其中,IFP逻辑所对应的环回端口所设置的环回模式具体为媒体访问控制(Media Access Control,MAC)环回模式。
在具体的应用场景中,IFP逻辑所对应的环回端口具体为交换机的内部端口,包括交换机内部的10G端口或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,将报文重定向到IFP1所对应的环回端口HG1;如果对于二层标签,那么,根据匹配三层标签的IFP2,将报文重定向到IFP2所对应的环回端口HG2。
(3)在下发IFP逻辑时,除了确定在该IFP逻辑中的目的环回端口外,还要设置环回端口的环回模式。
在现有的技术中,环回端口的环回模式可以设置为如下三种模式:
NONE模式,不进行环回,端口为普通端口;
MAC模式,根据报文的MAC进行环回;
PHY模式,根据物理层协议进行环回。
通过设置端口的不同模式,得到不同的应用效果。
在本发明所提出的技术方案中,将环回端口的环回模式设置为MAC模式。
为了进一步说明本发明的技术方案,下面,分别基于只能弹出一层标签的ASIC芯片和只能连续弹出两层标签的ASIC芯片,说明携带三层标签的保温的处理流程。
如图5所示,对于包含只能弹出一层标签的ASIC芯片的交换机,在接收到携带多层标签的报文后,进行的处理流程如下:
步骤S501、交换机识别自身的ASIC芯片的类型,建立IFP逻辑。
对于报文携带的标签层数最高为三层的系统,交换机识别自身的ASIC芯片是只能弹出一层标签的ASIC芯片,据此建立两条IFP逻辑,优先建立IFP1逻辑,可以匹配携带三层标签的报文,即设置了携带三层标签的报文的处理逻辑,然后建立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逻辑进行匹配。
对于报文携带的标签层数最高为三层的系统,
如果携带有三层标签的报文,确定的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逻辑进行匹配。
步骤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逻辑所对应的环回端口各不相同,但各个环回端口的环回模式均为MAC环回。
这样的变化同样属于本发明的保护范围。
步骤S702、交换机接收携带多层标签的报文,确认选择相应的IFP逻辑进行匹配。
对于报文携带的标签层数最高为三层的系统,
如果携带有三层标签的报文,确定的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逻辑进行匹配。
步骤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逻辑所对应的环回端口具体为交换机的内部端口,包括交换机内部的10G端口或HIG端口,其中的HIG端口即为12G端口。这样设置的目的在于,将报文处理流程所占用的端口直接限定在交换机内部,使用交换机内部的端口,这样,无需占用用户资源,但是,需要指出的是,在交换机内部的端口资源不足,或处理逻辑要求占用用户端口资源的情况下,也可以使用用户端口资源。
优先使用交换机内部的端口可以节约用户资源,最大程度上的使通过本技术方案所实现的报文还回处理不影响用户体验,但这只是本发明技术方案的一种优选方案,具体端口类型的变化并不影响本发明的保护范围。
匹配模块92,与建立模块91电性连接,用于根据接收到的携带多层标签的报文的标签数量,为报文匹配相对应的建立模块91建立的IFP逻辑,具体包括:
识别子模块921,用于识别所接收的报文中携带的标签数量;
匹配子模块922,用于根据识别子模块921的识别结果,为报文匹配相对应的建立模块91建立的IFP逻辑。
处理模块93,与匹配模块92电性连接,用于将报文弹出与ASIC芯片所能连续弹出的标签数量相对应的标签,并将报文重定向到匹配模块92所匹配的IFP逻辑相对应的环回端口,环回至交换机继续进行处理,具体的处理相当于上述各模块处理步骤的循环,这样的循环在具体的应用场景中可能会出现多次,直至该报文被丢弃或者被成功转发,完成该报文的处理流程。
需要指出的是,在报文处理过程中,IFP逻辑对该报文的有效时间仅限于被环回端口环回之前,如果报文通过环回端口环回至本交换机,则按照新接收到的报文处理流程进行处理,如果该报文仍携带有多层标签,则重新为该报文匹配项对应的IFP逻辑,直至处理完成。
其中,如果交换机接收到的报文所携带的标签数量小于或等于交换机自身的ASIC芯片所能连续弹出的标签数量,则交换机无需为该报文匹配IFP逻辑,直接按照该交换机中ASIC芯片的原有处理能力进行处理即可。
与现有技术相比,本发明具有以下优点:
通过本发明,通过利用端口环回的方式,能够灵活的实现弹出多层标签,解决了ASIC上硬件逻辑的限制,也解决了高级的三层交换机所处的网络中的位置,不受标签层数的限制。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施场景所述的方法。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明序号仅仅为了描述,不代表实施场景的优劣。
以上公开的仅为本发明的几个具体实施场景,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
Claims (11)
1、一种携带多层标签的报文处理方法,其特征在于,应用于包含专用集成电路ASIC芯片的交换机的系统中,根据所述ASIC芯片所能连续弹出的标签数量和所述系统需要处理的报文所携带的标签数量,所述交换机建立至少一个入逻辑过滤处理器IFP逻辑,所述至少一个IFP逻辑所匹配的标签数量高于所述ASIC芯片所能连续弹出的标签数量,所述方法具体包括:
所述交换机接收携带多层标签的报文,识别所述报文所携带的标签数量;
所述交换机根据所述报文所携带的标签数量,为所述报文匹配相对应的IFP逻辑;
所述交换机将所述报文弹出与所述ASIC芯片所能连续弹出的标签数量相对应的标签后,将所述报文重定向到所述IFP逻辑相对应的环回端口,环回至所述交换机继续进行处理,直至所述报文被转发或被丢弃。
2、如权利要求1所述的方法,其特征在于,
所述交换机建立IFP逻辑的数量,具体为所述系统需要处理的报文所携带的标签数量与所述ASIC芯片所能连续弹出的标签数量的差值;
所述各IFP逻辑所匹配的标签数量依次为大于所述ASIC芯片所能连续弹出的标签数量且小于等于所述系统需要处理的报文所携带的标签数量的数值。
3、如权利要求2所述的方法,其特征在于,所述交换机中建立至少一个IFP逻辑,具体为:
按照所述IFP逻辑所匹配的标签数量由高到低的顺序,所述交换机建立所述IFP逻辑。
4、如权利要求1所述的方法,其特征在于,所述交换机根据所述报文所携带的标签数量,为所述报文匹配相对应的IFP逻辑,具体为:
所述交换机为所述报文匹配最大标签匹配数量与所述报文所携带的最大标签数量相等的IFP逻辑;
其中,IFP逻辑最大标签匹配数量具体为所述ASIC芯片所能连续弹出的标签数量与所述IFP逻辑所能实际处理的报文所携带的标签数量。
5、如权利要求1所述的方法,其特征在于,所述交换机中建立的至少一个IFP逻辑分别对应不同的环回端口。
6、如权利要求5所述的方法,其特征在于,所述IFP逻辑所对应的环回端口所设置的环回模式具体为媒体访问控制MAC环回模式。
7、如权利要求6所述的方法,其特征在于,所述IFP逻辑所对应的环回端口,具体为所述交换机内部的端口,包括:
10G端口或HIG端口。
8、如权利要求1所述的方法,其特征在于,如果所述交换机接收到的报文所携带的标签数量小于或等于所述交换机自身的ASIC芯片所能连续弹出的标签数量,则所述交换机无需为所述报文匹配IFP逻辑,直接按照所述交换机中ASIC芯片的原有处理能力进行处理。
9、一种交换机,其特征在于,包含ASIC芯片,具体包括:
建立模块,用于根据所述ASIC芯片所能连续弹出的标签数量和系统需要处理的报文所携带的标签数量,建立至少一个IFP逻辑,所述至少一个IFP逻辑按照所匹配的标签数量高于所述ASIC芯片所能连续弹出的标签数量;
匹配模块,用于根据接收到的携带多层标签的报文的标签数量,为所述报文匹配相对应的所述建立模块建立的IFP逻辑;
处理模块,与所述匹配模块电性连接,用于将所述报文弹出与所述ASIC芯片所能连续弹出的标签数量相对应的标签,并将所述报文重定向到所述匹配模块所匹配的所述IFP逻辑相对应的环回端口,环回至所述交换机继续进行处理。
10、如权利要求9所述的交换机,其特征在于,所述建立模块用于根据所述ASIC芯片所能连续弹出的标签数量,建立至少一个IFP逻辑,具体为:
所述建立模块所建立的IFP逻辑分别对应不同的环回端口;
所述建立模块按照所述IFP逻辑所匹配的标签数量由高到低的顺序,所述交换机建立所述IFP逻辑;
所述建立模块所建立的IFP逻辑所对应的环回端口所设置的环回模式具体为MAC环回模式。
11、如权利要求9所述的交换机,其特征在于,所述匹配模块,具体包括:
识别子模块,用于识别所接收的报文中携带的标签数量;
匹配子模块,用于根据所述识别子模块的识别结果,为所述报文匹配相对应的所述建立模块建立的IFP逻辑。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101507510A CN101588305B (zh) | 2009-06-30 | 2009-06-30 | 一种携带多层标签的报文处理方法和交换机 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101507510A CN101588305B (zh) | 2009-06-30 | 2009-06-30 | 一种携带多层标签的报文处理方法和交换机 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101588305A true CN101588305A (zh) | 2009-11-25 |
CN101588305B CN101588305B (zh) | 2012-02-08 |
Family
ID=41372375
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101507510A Active CN101588305B (zh) | 2009-06-30 | 2009-06-30 | 一种携带多层标签的报文处理方法和交换机 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101588305B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102035740A (zh) * | 2010-12-17 | 2011-04-27 | 中兴通讯股份有限公司 | 多协议标签交换三层私有虚拟网快速重路由方法及系统 |
CN102291316A (zh) * | 2011-09-14 | 2011-12-21 | 中兴通讯股份有限公司 | 一种实现mpls零标签弹出的方法及边缘设备 |
CN102427424A (zh) * | 2011-11-24 | 2012-04-25 | 烽火通信科技股份有限公司 | 多重标签的端口聚合实现方法 |
CN103095583A (zh) * | 2012-11-09 | 2013-05-08 | 盛科网络(苏州)有限公司 | 通过芯片环回实现Openflow两级流表的方法及系统 |
CN103139072A (zh) * | 2011-11-30 | 2013-06-05 | 美国博通公司 | 用于在交换机asic中集成线速应用识别的系统和方法 |
US9258225B2 (en) | 2011-11-30 | 2016-02-09 | Broadcom Corporation | System and method for efficient matching of regular expression patterns across multiple packets |
CN111327541A (zh) * | 2020-02-27 | 2020-06-23 | 南京贝伦思网络科技股份有限公司 | 适于按源目的mac的流量复制分类方法和装置 |
CN112953809A (zh) * | 2021-03-25 | 2021-06-11 | 杭州迪普科技股份有限公司 | 多层vlan流量的生成系统及方法 |
CN114760108A (zh) * | 2022-03-22 | 2022-07-15 | 杭州迪普科技股份有限公司 | 报文匹配方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100446503C (zh) * | 2005-03-22 | 2008-12-24 | 杭州华三通信技术有限公司 | 一种增强型vpn网络优化的方法及设备 |
CN100512186C (zh) * | 2006-06-09 | 2009-07-08 | 上海未来宽带技术及应用工程研究中心有限公司 | 用硬件环回方式在EPON网络上实现IPv6组播过滤的装置及方法 |
-
2009
- 2009-06-30 CN CN2009101507510A patent/CN101588305B/zh active Active
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102035740A (zh) * | 2010-12-17 | 2011-04-27 | 中兴通讯股份有限公司 | 多协议标签交换三层私有虚拟网快速重路由方法及系统 |
CN102035740B (zh) * | 2010-12-17 | 2015-09-16 | 中兴通讯股份有限公司 | 多协议标签交换三层私有虚拟网快速重路由方法及系统 |
CN102291316A (zh) * | 2011-09-14 | 2011-12-21 | 中兴通讯股份有限公司 | 一种实现mpls零标签弹出的方法及边缘设备 |
CN102427424B (zh) * | 2011-11-24 | 2014-06-04 | 烽火通信科技股份有限公司 | 多重标签的端口聚合实现方法 |
CN102427424A (zh) * | 2011-11-24 | 2012-04-25 | 烽火通信科技股份有限公司 | 多重标签的端口聚合实现方法 |
CN103139072B (zh) * | 2011-11-30 | 2016-04-20 | 美国博通公司 | 用于在交换机asic中集成线速应用识别的系统和方法 |
CN103139072A (zh) * | 2011-11-30 | 2013-06-05 | 美国博通公司 | 用于在交换机asic中集成线速应用识别的系统和方法 |
US9258225B2 (en) | 2011-11-30 | 2016-02-09 | Broadcom Corporation | System and method for efficient matching of regular expression patterns across multiple packets |
CN103095583B (zh) * | 2012-11-09 | 2016-03-16 | 盛科网络(苏州)有限公司 | 通过芯片环回实现Openflow两级流表的方法及系统 |
CN103095583A (zh) * | 2012-11-09 | 2013-05-08 | 盛科网络(苏州)有限公司 | 通过芯片环回实现Openflow两级流表的方法及系统 |
CN111327541A (zh) * | 2020-02-27 | 2020-06-23 | 南京贝伦思网络科技股份有限公司 | 适于按源目的mac的流量复制分类方法和装置 |
CN112953809A (zh) * | 2021-03-25 | 2021-06-11 | 杭州迪普科技股份有限公司 | 多层vlan流量的生成系统及方法 |
CN112953809B (zh) * | 2021-03-25 | 2022-07-26 | 杭州迪普科技股份有限公司 | 多层vlan流量的生成系统及方法 |
CN114760108A (zh) * | 2022-03-22 | 2022-07-15 | 杭州迪普科技股份有限公司 | 报文匹配方法及装置 |
CN114760108B (zh) * | 2022-03-22 | 2023-04-25 | 杭州迪普科技股份有限公司 | 报文匹配方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101588305B (zh) | 2012-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101588305B (zh) | 一种携带多层标签的报文处理方法和交换机 | |
US7818628B1 (en) | Fast port failover in a network switch | |
US8867400B2 (en) | Method and apparatus for tracking clock sources | |
US7602712B2 (en) | Switch method and apparatus with cut-through routing for use in a communications network | |
US8438307B2 (en) | Method and device of load-sharing in IRF stack | |
EP2037364B1 (en) | Method and system for assigning a plurality of macs to a plurality of processors | |
CN102255751A (zh) | 一种堆叠冲突的处理方法和设备 | |
US9584399B2 (en) | Preventing a loop in a vertical stack network | |
US7443860B2 (en) | Method and apparatus for source authentication in a communications network | |
CN102347867A (zh) | 一种堆叠分裂检测的处理方法和设备 | |
US7319664B2 (en) | Redundant link management switch for use in a stack of switches and method thereof | |
WO2017193966A1 (zh) | 一种存储系统中业务的链路切换方法和存储设备 | |
EP1839051B1 (en) | Dual-purpose uplinks used in a fault-tolerant stack | |
CN104660449B (zh) | 防止堆叠分裂多主设备Master的方法和设备 | |
CN101383732A (zh) | 负载平衡联网环境中的智能故障恢复 | |
US20050271074A1 (en) | Method and apparatus for verifying service level in a communications network | |
CN104427012B (zh) | 端口协商方法和设备 | |
CN106452921A (zh) | 一种堆叠系统分裂检测方法及装置 | |
CN109525681A (zh) | Mac地址学习方法、线卡及分布式设备 | |
EP3534577B1 (en) | Forwarding multicast packets through an extended bridge | |
CN105721235A (zh) | 一种检测连通性的方法和装置 | |
CN103200092B (zh) | 一种基于虚拟网络设备的路由进程管理方法和设备 | |
CN102315972B (zh) | 用于实现lsp倒换的方法和装置 | |
CN101707555B (zh) | 一种堆叠系统中的数据交互方法及装置 | |
CN103117923B (zh) | 一种进程管理方法和设备 |
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 |