CN101364987A - 帧处理的方法、装置和系统 - Google Patents
帧处理的方法、装置和系统 Download PDFInfo
- Publication number
- CN101364987A CN101364987A CN200810222852.XA CN200810222852A CN101364987A CN 101364987 A CN101364987 A CN 101364987A CN 200810222852 A CN200810222852 A CN 200810222852A CN 101364987 A CN101364987 A CN 101364987A
- Authority
- CN
- China
- Prior art keywords
- frame
- identification field
- tcam
- field information
- index value
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种帧处理的方法、装置和系统。所述方法包括:将当前帧的标识域信息与第一类型TCAM内的第一类标识域信息进行第一匹配,如果第一匹配不成功,则识别当前帧为业务帧,将帧内的标识域信息与第二类型TCAM内的第二类标识域信息进行第二匹配,成功后根据匹配结果找到对应的操作信息并执行相应的操作;所述第一类标识域信息为识别协议帧时所需的标识域信息,所述第二类标识域信息为操作业务帧时所需的标识域信息。所述装置包括:匹配模块和业务帧处理模块。所述系统包括:获取装置和帧处理的装置。本发明采用两种类型的TCAM分别对协议帧和业务帧处理,降低了TCAM资源的消耗,节省了成本。
Description
技术领域
本发明涉及网络技术领域,特别涉及一种帧处理的方法、装置和系统。
背景技术
在网络中,通常需要根据网络的具体应用和客户需求,提供相应的带宽、功能和服务,采用网络数据的流分类技术能很好的解决这一问题,流分类技术能根据业务的需求,制定相应的流分类规则,将网络中的帧进行分类处理,针对不同的应用和客户需求,对帧进行不同的处理。
流分类技术通常将网络中的帧识别为业务帧和协议帧两类。其中,识别业务帧时,需要分析帧的信息,包括:源端口号、VLAN(Virtual Local Area Network,虚拟局域网)信息和用户的MAC(Media Access Control,媒体接入控制)地址等。对业务帧的处理以转发为主,也包括丢弃和上交CPU处理。识别协议帧时,需要分析帧的信息,包括:协议帧的类型类别信息和标识域信息等等,其中,标识域信息有很多种,如DMAC(Destination MAC,目的MAC)地址、SMAC(Source MAC,源MAC)地址、SIP(Source IP,源IP)地址和DIP(DestinationIP,目的IP)地址等等。通过分析协议帧的类型类别信息,可以初步判定协议帧的类型,比如,判断出协议帧属于以太网类别、IP类别或LLC(LLC-Logic Link Control,逻辑链接控制)类别。通过分析协议帧内的标识域信息,可以进一步判断出协议帧的具体类别类型,比如,通过分析帧内的DMAC地址信息可以识别出BPDU(Bridge Protocol Data Unit,桥接协议数据单元)协议帧等。对协议帧的处理包括:上交CPU处理、丢弃或转发,比如,通过LSP(LabelSwitched Path,标签交换路径)通道透传BPDU协议帧,将IGMP(Internet Group ManagementProtocol,因特网组管理协议)帧上交CPU由上层软件进行IP组播协议处理等等。
现有的网络设备上,通常采用TCAM(Ternary Content Addressing Memory,三值内容查找地址存储器)来完成流分类,并且业务帧和协议帧采用相同的TCAM表项进行识别和处理。TCAM是一种由内容索引地址的存储单元,可以实现线性索引无法完成的匹配查找。TCAM可以按照bit域进行非关心域的掩码,对TCAM表项进行不同的掩码可以实现不同的功能,包括业务帧的转发与协议帧的识别和处理。比如,将TCAM表项中的端口号和VLAN域不屏蔽,其它域屏蔽,以当前帧的源端口号和VLAN信息为查找键值与TCAM表项进行匹配,匹配成功后将当前帧识别为VPWS(Virtual Private Wire Service,虚拟专线服务)业务帧,并根据匹配成功的表项中的信息转发该VPWS帧。或者,将TCAM表项中的DMAC域不屏蔽,其它域屏蔽,以当前帧的DMAC值为查找键值与TCAM表项进行匹配,匹配成功后将当前帧识别为BPDU协议帧,然后根据匹配成功的表项中的操作配置值对该BPDU协议帧进行上交CPU处理、丢弃或转发。
发明人在实现本发明的过程中,发现现有技术至少存在以下缺点:流分类过程中,识别协议帧时,需要分析的标识域种类较多,根据标识域信息配置TCAM表项时,对TCAM的宽度要求较高,当业务流较多时,会消耗大量的TCAM资源,成本很高。比如,对涉及四层协议的协议帧进行识别时,需要分析的标识域包括:DMAC(长度为48bit)、SMAC(长度为48bit)、SIP(长度为32bit)、DIP(长度为32bit)、IP_Protocol号(IP协议号,长度为8bit)、TCP(Transfer Control Protocol,传输控制协议)/UDP(User Datagram Protocol,用户数据报协议)源端口和目的端口(总长度为32bit)、报文源端口(以24个端口为例,需要5bit)、优先级和VLAN ID信息(总长度为16bit)以及协议帧类型信息(以区分以太网类型、IP类型和LLC类型为例,需要2bit),因此TCAM的宽度至少需要223bit,当有8k个业务流时,则需要8k个宽度为223bit的TCAM,总共需要1.78M的TCAM资源。
发明内容
本发明目的在于提供一种帧处理的方法、装置和系统,为了实现在流分类过程中降低TCAM资源的消耗。
根据本发明的一方面,提供一种帧处理的方法,所述方法包括:
将当前帧内的标识域信息与预先配置在第一类型TCAM三值内容查找地址存储器内的第一类标识域信息进行第一匹配,所述第一类标识域信息为识别协议帧时所需的标识域信息;
如果所述第一匹配不成功,则识别所述当前帧为业务帧,将所述业务帧内的标识域信息与预先配置在第二类型TCAM内的第二类标识域信息进行第二匹配,如果所述第二匹配成功,则根据所述第二匹配的结果找到对应的操作信息,根据所述操作信息对所述业务帧执行相应的操作,所述第二类标识域信息为操作业务帧时所需的标识域信息。
根据本发明的另一方面,还提供了一种帧处理的装置,所述装置包括:
匹配模块,用于将当前帧内的标识域信息与预先配置在第一类型TCAM内的第一类标识域信息进行第一匹配,所述第一类标识域信息为识别协议帧时所需的标识域信息;
业务帧处理模块,用于当所述匹配模块第一匹配不成功时,识别所述当前帧为业务帧,将所述业务帧内的标识域信息与预先配置在第二类型TCAM内的第二类标识域信息进行第二匹配,如果所述第二匹配成功,则根据所述第二匹配的结果找到对应的操作信息,根据所述操作信息对所述业务帧执行相应的操作,所述第二类标识域信息为操作业务帧时所需的标识域信息。
本发明还提供了一种帧处理的系统,所述系统包括:
获取装置,用于获取当前帧;
帧处理的装置,用于将所述获取装置获取的当前帧的标识域信息,与预先配置在第一类型TCAM内的第一类标识域信息进行第一匹配,所述第一类标识域信息为识别协议帧时所需的标识域信息,当所述第一匹配成功时,识别所述当前帧为协议帧,按照与所述协议帧的类型对应的的操作信息,对所述协议帧执行相应的操作,当所述第一匹配不成功时,识别所述当前帧为业务帧,将所述业务帧内的标识域信息与预先配置在第二类型TCAM内的第二类标识域信息进行第二匹配,如果所述第二匹配成功,则根据所述第二匹配的结果找到对应的操作信息,根据所述操作信息对所述业务帧执行相应的操作,所述第二类标识域信息为操作业务帧时所需的标识域信息。
本发明实施例通过采用两种类型的TCAM,分别实现对协议帧和业务帧的处理,在第一类型TCAM中配置识别协议帧时所需的第一类标识域信息,在第二类型TCAM中配置操作业务帧时所需的第二类标识域信息,与现有技术中TCAM资源对协议帧和业务帧统一进行处理相比,远远降低了对TCAM宽度的需求,降低了TCAM资源的消耗,节省了成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例1提供的帧处理方法的流程图;
图2是本发明实施例2提供的帧处理方法的流程图;
图3是本发明实施例3提供的帧处理装置的结构示意图;
图4是本发明实施例3提供的协议帧处理模块的一种结构示意图;
图5是本发明实施例3提供的协议帧处理模块的一种结构示意图;
图6是本发明实施例3提供的业务帧处理模块的结构示意图;
图7是本发明实施例4提供的帧处理系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明实施例提供了一种帧处理的方法,包括:将当前帧内的标识域信息,与预先配置在第一类型TCAM内的第一类标识域信息,进行第一匹配,所述第一类标识域信息为识别协议帧时所需的标识域信息;如果所述第一匹配不成功,则识别所述当前帧为业务帧,将所述业务帧内的标识域信息与预先配置在第二类型TCAM内的第二类标识域信息进行第二匹配,如果所述第二匹配成功,则根据所述第二匹配的结果找到对应的操作信息,根据所述操作信息对所述业务帧执行相应的操作,所述第二类标识域信息为操作业务帧时所需的标识域信息。
本发明实施例采用两种类型的TCAM来实现对协议帧和业务帧的处理,第一类型TCAM的宽度较大,其中配置有识别协议帧时所需的标识域信息,第二类型TCAM宽度较小,其中配置有操作业务帧时所需的标识域信息。
实施例1
参见图1,本发明实施例提供了一种帧处理的方法,包括:
101:在第一类型TCAM中配置第一类标识域信息,该第一类标识域信息是指识别协议帧时所需的标识域信息,通常为多个,且第一类标识域信息的总长度决定了第一类型TCAM的宽度。例如,配置的第一类标识域信息包括但不限于:DMAC、SMAC、SIP、DIP、IP_Protocol号、TCP/UDP Port和协议帧类型信息,则第一类型TCAM的宽度至少为186bit。
其中,第一类型TCAM可以为多个,在本实施例中,为每种类型的协议帧分配一个第一类型TCAM,并且在每个第一类型TCAM中根据对应的协议帧类型配置相应的第一类标识域信息。由于不同类型的协议帧所包含的标识域信息不同,因此在配置第一类标识域信息时可以在不同类型的协议帧对应的第一类型TCAM中设置不同的掩码,但是所有第一类型TCAM的宽度均相同。例如,网络中有64种协议帧,则分配64个第一类型TCAM,每个第一类型TCAM的宽度都为186bit,其中,BPDU协议帧对应TCAM1,在TCAM1中配置第一类标识域信息,DMAC域不屏蔽,其它域屏蔽;IGMP协议帧对应TCAM2,在TCAM2中配置第一类标识域信息,DIP域不屏蔽,其它域屏蔽等等。
102:在第二类型TCAM中配置第二类标识域信息,该第二类标识域信息是指操作业务帧时所需的标识域信息,用来标识该帧所属的业务流,通常为多个,且第二类标识域信息的总长度决定了第二类型TCAM的宽度。例如,配置的第二类标识域信息包括但不限于:报文源端口(如24个端口长度为5bit)和优先级和VLAN ID信息(16bit),则第二类型TCAM的宽度至少为21bit。
其中,第二类型TCAM可以为多个,在本实施例中,为每个业务流分配一个第二类型TCAM,并且在每个第二类型TCAM中配置相同的第二类标识域信息,即所有第二类型TCAM的宽度均相同。例如,网络设备中有8k个业务流,则分配8k个第二类型TCAM,每个第二类型TCAM的宽度都为21bit。
103:使用第一类型TCAM对当前帧进行识别,即将当前帧内的标识域信息与第一类型TCAM中的第一类标识域信息进行第一匹配。
104:判断在第一类型TCAM中的第一匹配是否成功,如果是,则执行105;否则,执行106。
其中,当第一类型TCAM为多个时,则将当前帧与每个第一类型TCAM进行比对,直到比对成功,则执行105,或者全部比对后均未比对成功,则执行106。
105:此时,当前帧内的标识域信息与第一类型TCAM中的第一类标识域信息相同,将当前帧识别为协议帧,根据匹配到的索引值,在预先配置的操作信息中,找到与该索引值对应的操作信息,按照该操作信息对当前协议帧执行相应的操作,流程结束。
本实施例中,第一类型TCAM中的每个TCAM都有自己的索引值(即地址),由于每个TCAM都对应一种协议帧,因此通过该索引值可以区分协议帧的类型,例如,索引值为12,对应BPDU协议帧,索引值为60,对应IGMP协议帧等等。如果当前帧与第一类型TCAM中的某一个TCAM匹配成功,则可以得到该TCAM的索引值。
其中,可以预先设置每种类型的协议帧对应的操作信息,该操作信息包括:对协议帧进行转发、丢弃或上交CPU处理。具体地,可以按照第一类型TCAM索引值设置对应的操作配置值,则匹配成功后,根据匹配到的第一类型TCAM索引值找到对应的操作配置值,从而按找到的操作配置值对协议帧执行相应的操作。例如,BPDU协议帧的索引值为12,对应的操作配置值为0,代表转发,则匹配成功后,按照匹配到的索引值12找到对应的操作配置值0,并执行转发该BPDU协议帧的动作。
106:将当前帧识别为业务帧,将该业务帧内的标识域信息与第二类型TCAM内的第二类标识域信息进行第二匹配。
107:判断在第二类型TCAM内的第二匹配是否成功,如果是,则执行108;否则,执行109。
108:此时,该业务帧内的标识域信息与第二类型TCAM内的第二类标识域信息相同,根据该匹配得到的第二类型TCAM索引值,在预先配置的操作信息中,找到与该第二类型TCAM索引值对应的操作信息,按照该操作信息对当前业务帧执行相应的操作,流程结束。
本实施例中,第二类型TCAM中的每个TCAM都有自己的索引值(即地址),如果当前帧与第二类型TCAM中的某一个TCAM匹配成功,则可以得到该TCAM的索引值。
其中,可以预先设置各种业务帧对应的操作信息,该操作信息包括:对业务帧进行转发、丢弃或上交CPU处理。具体地,可以按照第二类型TCAM索引值设置对应的操作配置值,则匹配成功后,根据匹配到的索引值找到对应的操作配置值,从而按找到的操作配置值对业务帧执行相应的操作。例如,与VLAN1所在的TCAM匹配成功后,得到该TCAM的索引值为500,则按照该索引值500找到对应的操作配置值为2,代表丢弃,则执行丢弃当前业务帧的动作等等。
109:当前帧既不是协议帧,也不是业务帧,则根据全局配置将当前帧丢弃、上交CPU处理或转发,然后结束。
在实际网络中,通常运行的协议帧类型较少,但识别这些协议帧所需分析的标识域信息非常多,而网络中运行的业务流数量通常巨大,但是对业务流中的帧执行操作所需分析的标识域信息相对较少,因此本实施例中,优选地,第一类型TCAM采用大宽度,小深度(指TCAM的个数较少),实现对协议帧的识别,第二类型TCAM采用小宽度,大深度(指TCAM的个数较多),实现对业务帧的转发。例如,以处理8k个包含64种协议帧的业务流为例,第一类型TCAM可以为64个223bit宽的TCAM,第二类型TCAM可以为8k个21bit宽的TCAM,所需TACM资源为:(64×223+8k×21)bit=182Kbit,远远小于现有技术中所需的TCAM资源。
本发明实施例通过采用两种类型的TCAM,分别实现对协议帧和业务帧的处理,在第一类型TCAM中配置识别协议帧时所需的第一类标识域信息,在第二类型TCAM中配置操作业务帧时所需的第二类标识域信息,由于网络中协议帧的类型远远少于业务帧的数量,因此,可以使用较少的大宽度的第一类型TCAM,以及较多的小宽度的第二类型TCAM,来实现协议帧和业务帧的处理,与现有技术相比,远远降低了对TCAM宽度的需求,降低了TCAM资源的消耗,节省了成本。
实施例2
参见图2,本发明实施例还提供了一种帧处理的方法,对不同业务流内同种类型的协议帧进行区分处理,包括:
201:在第一类型TCAM中配置第一类标识域信息。
其中,第一类标识域信息可以有多个,第一类型TCAM也可以有多个,每个TCAM都有自己的索引值,具体同实施例1中的描述,此处不再赘述。
202:在第二类型TCAM中配置第二类标识域信息和帧索引值。
其中,第二类标识域信息同实施例1中的描述,此处不再赘述。帧索引值是指预先为各种类型的帧设置的索引值,包括预设的协议帧索引值和预设的业务帧索引值。在本实施例中,预设的协议帧索引值有多个,为每种类型的协议帧设置一个索引值,如给1~63种协议帧设置协议帧索引值为0~62。另外,本实施例中预设的业务帧索引值为1个,即固定的索引值,如63,代表业务帧。通常设置的业务帧索引值与协议帧索引值不相同,如果协议帧索引值为多个,则该业务帧索引值与每个协议帧索引值都不相同。
与实施例1相比,由于在第二类型TCAM中配置了帧索引值,因此本实施例中第二类型TCAM的宽度有所不同。具体的,以63种协议帧为例,协议帧的索引值为0至62,再为业务帧分配1个固定的索引值63,则共需要6bit数据表示帧索引值,此外,包括报文源端口号(24个端口号)、优先级和VLAN ID信息的第二类标识域信息所需的宽度为21bit,因此本实施例中第二类型TCAM的宽度为27bit。当有8k个业务流时,第二类型TCAM可以为8k个27bit宽的TCAM。
203:将当前帧内的标识域信息与第一类型TCAM中的第一类标识域信息进行第一匹配。
204:判断在第一类型TCAM中的第一匹配是否成功,如果是,则执行205;否则,执行209。
205:此时,当前帧内的标识域信息与第一类型TCAM中的第一类标识域信息相同,将当前帧识别为协议帧,根据匹配得到的第一类型TCAM索引值,将该第一类型TCAM索引值和当前协议帧内标识业务流的标识域信息共同作为键值,与第二类型TCAM内的第二类标识域信息和帧索引值进行第三匹配。其中,当前协议帧内标识业务流的标识域信息,是指用来识别该协议帧属于哪个业务流的标识域信息,包括但不限于:报文源端口号、优先级和VLAN ID信息等等,如端口号PORT1代表从该端口接收的业务流1,端口号PORT2代表从该端口接收的业务流2。
206:判断该协议帧在第二类型TCAM中的第三匹配是否成功,如果是,则执行207;否则,执行208。
207:此时,该第一类型TCAM索引值与第二类型TCAM中的帧索引值相同,并且,当前协议帧内标识业务流的标识域信息与第二类型TCAM内的第二类标识域信息相同,因此根据第三匹配得到的第二类型TCAM索引值,在预先配置的操作信息中,找到与该第二类型TCAM索引值对应的操作信息,根据该操作信息,对当前协议帧执行相应的操作,包括转发、丢弃或上交CPU处理,流程结束。
其中,预先配置的操作信息可以具体地设置为与第二类型TCAM索引值对应的操作配置值,对应不同的操作,当匹配成功后,根据匹配到的第二类型TCAM索引值找到对应的操作配置值,从而对当前帧执行相应的操作。
208:当前帧既不是协议帧,也不是业务帧,则根据全局配置将当前帧丢弃、上交CPU处理或转发,然后结束。
209:将当前帧识别为业务帧,将当前业务帧内的标识域信息与上述预设的业务帧索引值共同作为键值,与第二类型TCAM内的第二类标识域信息和帧索引值进行第四匹配。
210:判断该业务帧在第二类型TCAM中的第四匹配是否成功,如果是,则执行211;否则,执行208。
211:此时,当前业务帧内的标识域信息与第二类型TCAM内的第二类标识域信息相同,并且,上述预设的业务帧索引值与第二类型TCAM内的帧索引值相同,因此根据第四匹配得到的第二类型TCAM索引值,在预先配置的操作信息中,找到与该第二类型TCAM索引值对应的操作信息,根据该操作信息,对当前业务帧执行相应的操作,包括转发、丢弃或上交CPU处理,流程结束。
本实施例可以应用于网络设备从不同端口接收到不同的业务流,对该不同的业务流内同种类型的协议帧进行不同处理的场景。例如,从端口1收到的BPDU协议帧,进行转发处理,从端口2收到的BPDU协议帧,进行上交CPU处理。
本发明实施例通过采用两种类型的TCAM,分别实现对协议帧和业务帧的处理,在第一类型TCAM中配置识别协议帧时所需的第一类标识域信息,在第二类型TCAM中配置操作业务帧时所需的第二类标识域信息,由于网络中协议帧的类型远远少于业务帧的数量,因此,可以使用较少的大宽度的第一类型TCAM,以及较多的小宽度的第二类型TCAM,来实现协议帧和业务帧的处理,与现有技术相比,远远降低了对TCAM宽度的需求,降低了TCAM资源的消耗,节省了成本。通过配置协议帧索引值和业务帧索引值,并根据匹配到的第一类型TCAM索引值在第二类型TCAM中进行匹配,极大地提高了对协议帧的处理能力,增强了扩展性,并且能够实现对不同业务流内同种类型协议帧的区分处理,提高了灵活性和实用性。
实施例3
参见图3,本发明实施例还提供了一种帧处理的装置,包括:
匹配模块301,用于将当前帧内的标识域信息与预先配置在第一类型TCAM内的第一类标识域信息进行第一匹配,第一类标识域信息为识别协议帧时所需的标识域信息;
业务帧处理模块302,用于当匹配模块301第一匹配不成功时,识别当前帧为业务帧,将该业务帧内的标识域信息与预先配置在第二类型TCAM内的第二类标识域信息进行第二匹配,如果第二匹配成功,则根据第二匹配的结果找到对应的操作信息,根据操作信息对业务帧执行相应的操作,第二类标识域信息为操作业务帧时所需的标识域信息。
进一步地,参见图3,上述装置还可以包括:
协议帧处理模块303,用于当匹配模块301第一匹配成功时,识别当前帧为协议帧,按照与该协议帧的类型对应的操作信息,对该协议帧执行相应的操作。本实施例中,上述装置可以包含协议帧处理模块303,也可以不包含协议帧处理模块303。
其中,参见图4,协议帧处理模块303可以进一步包括:
第一协议帧识别单元303a,用于当匹配模块301第一匹配成功时,识别当前帧为协议帧;
第一协议帧操作单元303b,用于当第一协议帧识别单元303a识别当前帧为协议帧后,按照第一匹配得到的第一类型TCAM索引值,在预先设置的操作信息中查找与该第一类型TCAM索引值对应的操作信息,根据找到的操作信息对该协议帧执行相应的操作。
或者,参见图5,协议帧处理模块303可以进一步包括:
第二协议帧识别单元303c,用于当匹配模块301第一匹配成功时,识别当前帧为协议帧;
第二协议帧操作单元303d,用于当第二协议帧识别单元303c识别当前帧为协议帧后,根据第一匹配得到的第一类型TCAM索引值,将该第一类型TCAM索引值和该协议帧内标识业务流的标识域信息共同作为键值,与预先配置在第二类型TCAM内的第二类标识域信息和帧索引值进行第三匹配,如果第三匹配成功,则按照第三匹配得到的第二类型TCAM索引值,在预先设置的操作信息中查找与该第二类型TCAM索引值对应的操作信息,根据找到的操作信息对该协议帧执行相应的操作,第二类标识域信息为操作业务帧时所需的标识域信息,上述帧索引值包括预设的协议帧索引值和预设的业务帧索引值。
另外,本实施例中,参见图6,业务帧处理模块302可以进一步包括:
第二业务帧识别单元302a,用于当匹配模块301第一匹配不成功时,识别当前帧为业务帧;
第二业务帧操作单元302b,用于当第二业务帧识别单元302a识别当前帧为业务帧后,将该业务帧内的标识域信息和预设的业务帧索引值共同作为键值,与第二类型TCAM内的第二类标识域信息和帧索引值进行第四匹配,如果第四匹配成功,则根据第四匹配得到的第二类型TCAM索引值找到对应的操作信息,根据该操作信息对业务帧执行相应的操作。
本实施例中的第一类标识域信息和第二类标识域信息的配置,具体同实施例1中的描述,协议帧索引值和业务帧索引值的配置,具体同实施例2中的描述,此处不再赘述。
本实施例中所述的操作包括转发、丢弃或上交CPU处理。
本实施例中,参见图3,上述装置进一步地还可以包括:
其余帧处理模块304,用于如果与所述第二类型TCAM进行的匹配不成功,则按照预设的全局配置对所述当前帧执行转发、丢弃或上交CPU处理。其中,包括上述第二匹配不成功、第三匹配不成功和第四匹配不成功。
本实施例提供的装置可以包含其余帧处理模块304,也可以不包含其余帧处理模块304。
本发明实施例通过采用两种类型的TCAM,分别实现对协议帧和业务帧的处理,在第一类型TCAM中配置识别协议帧时所需的第一类标识域信息,在第二类型TCAM中配置操作业务帧时所需的第二类标识域信息,由于网络中协议帧的类型远远少于业务帧的数量,因此,可以使用较少的大宽度的第一类型TCAM,以及较多的小宽度的第二类型TCAM,来实现协议帧和业务帧的处理,与现有技术相比,远远降低了对TCAM宽度的需求,降低了TCAM资源的消耗,节省了成本。通过配置协议帧索引值和业务帧索引值,并根据匹配到的第一类型TCAM索引值在第二类型TCAM中进行匹配,极大地提高了对协议帧的处理能力,增强了扩展性,并且能够实现对不同业务流内同种类型协议帧的区分处理,提高了灵活性和实用性。
实施例4
参见图7,本发明实施例还提供了一种帧处理的系统,包括:
获取装置701,用于获取当前帧;
帧处理的装置702,用于将获取装置701获取的当前帧的标识域信息,与预先配置在第一类型TCAM内的第一类标识域信息进行第一匹配,第一类标识域信息为识别协议帧时所需的标识域信息,当第一匹配成功时,识别当前帧为协议帧,按照与协议帧的类型对应的的操作信息,对协议帧执行相应的操作,当第一匹配不成功时,识别当前帧为业务帧,将业务帧内的标识域信息与预先配置在第二类型TCAM内的第二类标识域信息进行第二匹配,如果第二匹配成功,则根据第二匹配的结果找到对应的操作信息,根据操作信息对业务帧执行相应的操作,第二类标识域信息为操作业务帧时所需的标识域信息。
其中,获取装置701进一步包括:
接收模块,用于接收网络设备发来的当前帧,例如,接收路由器发来的当前帧;
或者包括:
读取模块,用于从存储区读取当前帧,该存储区可以是获取装置701内部的存储区,也可以是其它设备的存储区,如路由器的存储区等等。
本实施例中帧处理的装置702具体功能同实施例3中的描述,此处不再赘述。
本发明实施例通过采用两种类型的TCAM,分别实现对协议帧和业务帧的处理,在第一类型TCAM中配置识别协议帧时所需的第一类标识域信息,在第二类型TCAM中配置操作业务帧时所需的第二类标识域信息,由于网络中协议帧的类型远远少于业务帧的数量,因此,可以使用较少的大宽度的第一类型TCAM,以及较多的小宽度的第二类型TCAM,来实现协议帧和业务帧的处理,与现有技术相比,远远降低了对TCAM宽度的需求,降低了TCAM资源的消耗,节省了成本。通过配置协议帧索引值和业务帧索引值,并根据匹配到的第一类型TCAM索引值在第二类型TCAM中进行匹配,极大地提高了对协议帧的处理能力,增强了扩展性,并且能够实现对不同业务流内同种类型协议帧的区分处理,提高了灵活性和实用性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (16)
1.一种帧处理的方法,其特征在于,所述方法包括:
将当前帧的标识域信息与预先配置在第一类型三值内容查找地址存储器TCAM内的第一类标识域信息进行第一匹配,所述第一类标识域信息为识别协议帧时所需的标识域信息;
如果所述第一匹配不成功,则识别所述当前帧为业务帧,将所述业务帧内的标识域信息与预先配置在第二类型TCAM内的第二类标识域信息进行第二匹配,如果所述第二匹配成功,则根据所述第二匹配的结果找到对应的操作信息,根据所述操作信息对所述业务帧执行相应的操作,所述第二类标识域信息为操作业务帧时所需的标识域信息。
2.根据权利要求1所述的帧处理的方法,其特征在于,所述将当前帧的标识域信息与预先配置在第一类型TCAM内的第一类标识域信息进行第一匹配的步骤进一步包括:
如果所述第一匹配成功,则识别所述当前帧为协议帧,按照与所述协议帧的类型对应的操作信息,对所述协议帧执行相应的操作。
3.根据权利要求2所述的帧处理的方法,其特征在于,所述按照与所述协议帧的类型对应的操作信息,对所述协议帧执行相应的操作,包括:
按照所述第一匹配得到的第一类型TCAM索引值,在预先设置的操作信息中查找与所述第一类型TCAM索引值对应的操作信息,根据找到的操作信息对所述协议帧执行相应的操作。
4.根据权利要求2所述的帧处理的方法,其特征在于,所述按照与所述协议帧的类型对应的操作信息,对所述协议帧执行相应的操作,进一步包括:
根据所述第一匹配得到的第一类型TCAM索引值,将所述第一类型TCAM索引值和所述协议帧内标识业务流的标识域信息共同作为键值,与预先配置在所述第二类型TCAM内的第二类标识域信息和帧索引值进行第三匹配;
如果所述第三匹配成功,则按照所述第三匹配得到的第二类型TCAM索引值,在预先设置的操作信息中查找与该第二类型TCAM索引值对应的操作信息,根据找到的操作信息对所述协议帧执行相应的操作,所述帧索引值包括预设的协议帧索引值和预设的业务帧索引值。
5.根据权利要求1所述的帧处理的方法,其特征在于,所述将所述业务帧内的标识域信息与预先配置在第二类型TCAM内的第二类标识域信息进行第二匹配,如果所述第二匹配成功,则根据所述第二匹配的结果找到对应的操作信息的步骤包括:
将所述业务帧内的标识域信息和所述预设的业务帧索引值共同作为键值,与所述第二类型TCAM内的第二类标识域信息和帧索引值进行第四匹配,如果所述第四匹配成功,则根据所述第四匹配得到的第二类型TCAM索引值找到对应的操作信息。
6.根据权利要求1至5中任一权利要求所述的帧处理的方法,其特征在于,所述操作包括转发、丢弃或上交CPU处理。
7.根据权利要求1至5中任一权利要求所述的帧处理的方法,其特征在于,所述方法还包括:
如果与所述第二类型TCAM进行的匹配不成功,则按照预设的全局配置对所述当前帧执行转发、丢弃或上交CPU处理。
8.一种帧处理的装置,其特征在于,所述装置包括:
匹配模块,用于将当前帧的标识域信息与预先配置在第一类型三值内容查找地址存储器TCAM内的第一类标识域信息进行第一匹配,所述第一类标识域信息为识别协议帧时所需的标识域信息;
业务帧处理模块,用于当所述匹配模块第一匹配不成功时,识别所述当前帧为业务帧,将所述业务帧内的标识域信息与预先配置在第二类型TCAM内的第二类标识域信息进行第二匹配,如果所述第二匹配成功,则根据所述第二匹配的结果找到对应的操作信息,根据所述操作信息对所述业务帧执行相应的操作,所述第二类标识域信息为操作业务帧时所需的标识域信息。
9.根据权利要求8所述的帧处理的装置,其特征在于,所述装置进一步包括:
协议帧处理模块,用于当所述匹配模块第一匹配成功时,识别所述当前帧为协议帧,按照与所述协议帧的类型对应的的操作信息,对所述协议帧执行相应的操作。
10.根据权利要求9所述的帧处理的装置,其特征在于,所述协议帧处理模块包括:
第一协议帧识别单元,用于当所述匹配模块第一匹配成功时,识别所述当前帧为协议帧;
第一协议帧操作单元,用于当所述第一协议帧识别单元识别所述当前帧为协议帧后,按照所述第一匹配得到的第一类型TCAM索引值,在预先设置的操作信息中查找与该第一类型TCAM索引值对应的操作信息,根据找到的操作信息对所述协议帧执行相应的操作。
11.根据权利要求9所述的帧处理的装置,其特征在于,所述协议帧处理模块进一步包括:
第二协议帧识别单元,用于当所述匹配模块第一匹配成功时,识别所述当前帧为协议帧;
第二协议帧操作单元,用于当所述第二协议帧识别单元识别所述当前帧为协议帧后,根据所述第一匹配得到的第一类型TCAM索引值,将所述第一类型TCAM索引值和所述协议帧内标识业务流的标识域信息共同作为键值,与预先配置在所述第二类型TCAM内的第二类标识域信息和帧索引值进行第三匹配,如果所述第三匹配成功,则按照所述第三匹配得到的第二类型TCAM索引值,在预先设置的操作信息中查找与该第二类型TCAM索引值对应的操作信息,根据找到的操作信息对所述协议帧执行相应的操作,所述第二类标识域信息为操作业务帧时所需的标识域信息,所述帧索引值包括预设的协议帧索引值和预设的业务帧索引值。
12.根据权利要求8所述的帧处理的装置,其特征在于,所述业务帧处理模块包括:
第二业务帧识别单元,用于当所述匹配模块第一匹配不成功时,识别所述当前帧为业务帧;
第二业务帧操作单元,用于当所述第二业务帧识别单元识别所述当前帧为业务帧后,将所述业务帧内的标识域信息和所述预设的业务帧索引值共同作为键值,与所述第二类型TCAM内的第二类标识域信息和帧索引值进行第四匹配,如果所述第四匹配成功,则根据所述第四匹配得到的第二类型TCAM索引值找到对应的操作信息,根据所述操作信息对所述业务帧执行相应的操作。
13.根据权利要求8至12中任一权利要求所述的帧处理的装置,其特征在于,所述操作包括转发、丢弃或上交CPU处理。
14.根据权利要求8至12中任一权利要求所述的帧处理的装置,其特征在于,所述装置进一步包括:
其余帧处理模块,用于如果与所述第二类型TCAM进行的匹配不成功,则按照预设的全局配置对所述当前帧执行转发、丢弃或上交CPU处理。
15.一种帧处理的系统,其特征在于,所述系统包括:
获取装置,用于获取当前帧;
帧处理的装置,用于将所述获取装置获取的当前帧的标识域信息,与预先配置在第一类型三值内容查找地址存储器TCAM内的第一类标识域信息进行第一匹配,所述第一类标识域信息为识别协议帧时所需的标识域信息,当所述第一匹配成功时,识别所述当前帧为协议帧,按照与所述协议帧的类型对应的的操作信息,对所述协议帧执行相应的操作,当所述第一匹配不成功时,识别所述当前帧为业务帧,将所述业务帧内的标识域信息与预先配置在第二类型TCAM内的第二类标识域信息进行第二匹配,如果所述第二匹配成功,则根据所述第二匹配的结果找到对应的操作信息,根据所述操作信息对所述业务帧执行相应的操作,所述第二类标识域信息为操作业务帧时所需的标识域信息。
16.根据权利要求15所述的帧处理的系统,其特征在于,所述获取装置包括:
接收模块,用于接收所述当前帧;
或者包括:
读取模块,用于从存储区读取所述当前帧。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810222852.XA CN101364987B (zh) | 2008-09-22 | 2008-09-22 | 帧处理的方法、装置和系统 |
PCT/CN2009/074040 WO2010031354A1 (zh) | 2008-09-22 | 2009-09-18 | 帧处理的方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810222852.XA CN101364987B (zh) | 2008-09-22 | 2008-09-22 | 帧处理的方法、装置和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101364987A true CN101364987A (zh) | 2009-02-11 |
CN101364987B CN101364987B (zh) | 2011-11-16 |
Family
ID=40391137
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810222852.XA Active CN101364987B (zh) | 2008-09-22 | 2008-09-22 | 帧处理的方法、装置和系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN101364987B (zh) |
WO (1) | WO2010031354A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010031354A1 (zh) * | 2008-09-22 | 2010-03-25 | 华为技术有限公司 | 帧处理的方法、装置和系统 |
CN102130835A (zh) * | 2011-03-18 | 2011-07-20 | 中兴通讯股份有限公司 | 透传协议数据单元bpdu报文的方法、装置及系统 |
CN102739537A (zh) * | 2012-06-26 | 2012-10-17 | 中兴通讯股份有限公司 | 以太网数据包的转发方法及装置 |
CN102932229A (zh) * | 2012-11-20 | 2013-02-13 | 成都卫士通信息产业股份有限公司 | 一种对数据包进行加解密处理的方法 |
CN106372075A (zh) * | 2015-07-21 | 2017-02-01 | 杭州华为数字技术有限公司 | 一种基于树结构的数据比较及处理方法、装置 |
CN114390120A (zh) * | 2022-01-04 | 2022-04-22 | 烽火通信科技股份有限公司 | 一种对协议帧的处理方法和装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4336625B2 (ja) * | 2004-06-17 | 2009-09-30 | 株式会社日立製作所 | パケット転送装置 |
KR100770643B1 (ko) * | 2006-03-28 | 2007-10-29 | 충남대학교산학협력단 | Tcam을 이용한 고성능 패킷 분류 방법 및 그 장치 |
CN101247337B (zh) * | 2008-02-18 | 2012-11-21 | 华为技术有限公司 | 一种报文转发的方法和设备 |
CN101364987B (zh) * | 2008-09-22 | 2011-11-16 | 华为技术有限公司 | 帧处理的方法、装置和系统 |
-
2008
- 2008-09-22 CN CN200810222852.XA patent/CN101364987B/zh active Active
-
2009
- 2009-09-18 WO PCT/CN2009/074040 patent/WO2010031354A1/zh active Application Filing
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010031354A1 (zh) * | 2008-09-22 | 2010-03-25 | 华为技术有限公司 | 帧处理的方法、装置和系统 |
CN102130835A (zh) * | 2011-03-18 | 2011-07-20 | 中兴通讯股份有限公司 | 透传协议数据单元bpdu报文的方法、装置及系统 |
CN102130835B (zh) * | 2011-03-18 | 2015-12-16 | 中兴通讯股份有限公司 | 透传协议数据单元bpdu报文的方法、装置及系统 |
CN102739537A (zh) * | 2012-06-26 | 2012-10-17 | 中兴通讯股份有限公司 | 以太网数据包的转发方法及装置 |
CN102739537B (zh) * | 2012-06-26 | 2018-05-15 | 上海佑译信息科技有限公司 | 以太网数据包的转发方法及装置 |
CN102932229A (zh) * | 2012-11-20 | 2013-02-13 | 成都卫士通信息产业股份有限公司 | 一种对数据包进行加解密处理的方法 |
CN102932229B (zh) * | 2012-11-20 | 2015-08-12 | 成都卫士通信息产业股份有限公司 | 一种对数据包进行加解密处理的方法 |
CN106372075A (zh) * | 2015-07-21 | 2017-02-01 | 杭州华为数字技术有限公司 | 一种基于树结构的数据比较及处理方法、装置 |
CN106372075B (zh) * | 2015-07-21 | 2020-01-10 | 杭州华为数字技术有限公司 | 一种基于树结构的数据比较及处理方法、装置 |
CN114390120A (zh) * | 2022-01-04 | 2022-04-22 | 烽火通信科技股份有限公司 | 一种对协议帧的处理方法和装置 |
CN114390120B (zh) * | 2022-01-04 | 2023-06-09 | 烽火通信科技股份有限公司 | 一种对协议帧的处理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101364987B (zh) | 2011-11-16 |
WO2010031354A1 (zh) | 2010-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101364987B (zh) | 帧处理的方法、装置和系统 | |
CN100433715C (zh) | 给数据流提供不同的服务质量策略的方法 | |
US7412507B2 (en) | Efficient cascaded lookups at a network node | |
CN104823416B (zh) | 实现OpenFlow的软件定义网络中的报文排序的装置和方法 | |
US20180191615A1 (en) | Using segmentation identification to identify destination node within network environment | |
CN100555986C (zh) | 交换环境用的组合流水线式包分类和地址搜索方法及设备 | |
CN101087296B (zh) | 利用网络处理器实现IPv4/IPv6网络协议转换的方法 | |
CN101247308B (zh) | 基于网络处理器实现IPv6穿越IPv4的隧道报文处理方法 | |
EP3282649B1 (en) | Data packet forwarding | |
CN101924695B (zh) | 用于网络连接的方法和系统 | |
CN101488904B (zh) | Gre隧道穿越网络地址转换设备的方法和网络地址转换设备 | |
CN104579940B (zh) | 查找访问控制列表的方法及装置 | |
US20030223364A1 (en) | Classifying and distributing traffic at a network node | |
CN104348716A (zh) | 一种报文处理方法及设备 | |
CN103004158A (zh) | 具有可编程内核的网络设备 | |
CN102377640B (zh) | 一种报文处理装置和报文处理方法、及预处理器 | |
CN100559772C (zh) | 混合型虚拟私有网络系统和骨干网边缘设备及其配置方法 | |
CN104113484A (zh) | 报文的转发处理方法及装置 | |
CN101924700B (zh) | 报文处理方法、装置和网络设备 | |
CN103200084B (zh) | 基于网络处理器的报文预处理方法、装置及网络处理器 | |
CN105515995A (zh) | 报文处理方法、流表生成方法及装置 | |
CN115604229B (zh) | 一种基于IPv6特性构建柔性组网框架的方法及系统 | |
CN102289453A (zh) | 三态内容寻址存储器规则存储方法、装置及网络设备 | |
CN105207904A (zh) | 报文的处理方法、装置和路由器 | |
CN101009705B (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 |