CN102685008A - 基于流水线的快速流识别方法及设备 - Google Patents
基于流水线的快速流识别方法及设备 Download PDFInfo
- Publication number
- CN102685008A CN102685008A CN2012101390759A CN201210139075A CN102685008A CN 102685008 A CN102685008 A CN 102685008A CN 2012101390759 A CN2012101390759 A CN 2012101390759A CN 201210139075 A CN201210139075 A CN 201210139075A CN 102685008 A CN102685008 A CN 102685008A
- Authority
- CN
- China
- Prior art keywords
- rule
- field
- grouping
- list
- submodule
- 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.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于流水线的快速流识别方法及设备,主要解决现有流识别设备处理速度低、设备复杂度高的问题。其设备包括字段列表、预处理控制器、分组预处理器模块、数据选通开关、分组字段寄存器模块、规则表模块、比较器模块和总决策器。字段列表和规则表模块中存储有用户定义的字段和规则;预处理控制器控制分组预处理器模块的数据通路;分组预处理器模块提取字段在流识别分组中的值;数据选通开关控制选通数据通路;比较器模块比较字段在分组中的值是否满足规则,将比较结果输出给决策器;决策器将结果转换成分组处理操作码输出。该设备采用乒乓加流水线的结构,能满足千兆以太网中的流分类需求,可应用于分组网络接入端设备中。
Description
技术领域
本发明涉及分组通信技术领域,尤其涉及一种基于流水线的快速流识别,可应用于分组网络的接入端设备中。
背景技术
流识别技术是指依据网络协议的定义对网络中不同业务功能的分组进行识别分类的方法。它是分组通信网络设备中一项非常重要的技术,用于实现包过滤,服务质量QoS、虚拟局域网VLAN,虚拟专网VPN,IGMP Snooping等业务。
流识别功能可以通过软件实现,也可以通过硬件实现。软件流识别一般是基于访问控制列表ACL来实现的,这种方法通过配置一系列ACL规则对数据分组头中的多个域进行匹配,确定其是否满足ACL规则,并根据满足或不满足某一类规则,决定对数据分组的处理。基于软件的流识别,可以支持大量的复杂的规则,方便地对规则列表进行添加,删除或更改,为网络管理者提供灵活的管理方法。但在需要支持的ACL规则数目变大时,表项的生成和组织会变得越来越复杂,对所能使用的规则匹配算法也提出了更高的要求。
硬件实现有多种方法,大致可分成两类,一类是采用专用的内容寻址存储器CAM器件再附加静态随机存储器SRAM的实现方法,另一类是基于普通存储器如同步动态随机存储器SDRAM的实现方法。
采用CAM器件的流识别设备中,CAM器件中一般存储有用于查找各种表的关键字,SRAM中存储有关键字附带的内容。在进行流识别查找时,由CAM给出地址,
再从SRAM中的相应地址单元读出数据,该方式可以实现高度的并行流水线查表,性能可以达到很高,但由于该技术方案需要增加额外的SRAM,不仅增加了成本而且增加了实现复杂度,不适合用于网络接入端设备中。
基于普通存储器的流识别方法将查表的关键字和关键字对应的内容组织成流识别规则表存储在普通存储器中,查表过程需要逐一对表项进行判断是否满足规则。这种方法成本较低,仅适合在速度要求不高的应用场合,如分组网络接入端设备中使用。但是这种方法对存储器的需求量大,性能比较低,而且这种流识别方法一般涉及的匹配域较少,并且多为精确匹配,在识别匹配域较多时,实现的复杂度也比较高。如果要实现多域流识别,就需要查找多个流识别表,在这种情况下,若不增加并行查找模块,分组处理速度将成倍减小。
发明内容
本发明目的是针对上述已有技术存在的问题,提出一种基于流水线的快速流识别方法及设备,以节省流识别规则表项的存储空间,提高多域流识别的处理速度,降低多域流识别设备的复杂度。
本发明的技术方案是这样实现的:
一.术语说明
字段:用于指定分组中需要进行匹配或操作的特定区域的一个连续的bit串,其由地址偏移和长度两种信息组成。
字段列表:用于存放字段的列表,其中的字段按存储顺序编号。
条款:是由字段Field、操作和值组成,其中字段通过字段编号表示,操作包括等于、大于、小于、不等于、大于等于和小于等于,值为用户设置的16位数据。
规则:包括一系列条款,条款之间为与运算逻辑关系,规则还定义了当规则满足时需要做的动作。
动作:是指需要对分组实施的处理,包括进入指定优先级队列、丢弃包、插入/删除/修改字段、复制到CPU和重定向到CPU,一个规则只对应一个动作。
规则表:是用于存放规则的列表。
二.实现步骤:
(1)用户根据组网及管理需要生成字段和规则,并把字段配置到字段列表中,把规则配置到规则表中,该字段是指用于指向分组中需要进行匹配或操作的特定区域的一个连续的bit串由地址偏移和长度两种信息组成,该规则包括一系列条款和条款满足时需要执行的动作;
(2)根据用户配置的字段列表,提取出需要进行流识别处理的分组字段的值;
(3)从规则表中的第一条和第M/2+1条规则开始,比较分组字段的值是否满足规则,若满足,记录规则中的动作,若不满足,判断是否满足第二条和第M/2+2条规则,依次类推,读入下一个分组字段的值,得到对所有规则的判断结果,M为总规则数;在此同时,字段提取模块可以继续读入下一个分组字段的值并提取其相应字段。
(4)根据对所有规则的判断结果确定对分组的操作:
当分组不满足规则表中的任何一条规则时,操作指令码各位无效;
当分组只满足规则表中的一条规则R1时,则按规则R1期望的动作得到一个相应动作位有效的操作指令码,并作为模块输出;
当分组满足规则表中的多条规则R1,R2,…Rm…,Rn,n>m>1时,则根据多条规则所标示的操作综合得到一个相应操作位有效的最终操作指令码,并作为模块输出。
(5)规则匹配结束后,经由总决策器处理,对分组的处理操作以指令码的方式给出,完成流识别。
三.本发明提出的基于流水线的快速流识别设备,包括:
字段列表:用于存储字段列表,它设有配置和分组字段的读取两个接口,字段列表中的内容由用户通过配置接口提前写入,并支持对单条或多条字段的实时更新;
分组预处理器模块:用于提取字段在流识别分组中的值,根据预处理控制器的数据选通控制信息,从数据选通开关中读取分组信息,并将根据字段列表指示提取出的字段信息存入分组字段寄存器中;
预处理控制器:用于控制分组预处理器的数据路径和乒乓操作;
数据选通开关:用于控制数据通路,根据预处理控制器输出的控制信息选通不同的数据通路,在输入端将数据传递给分组预处理器模块,在输出端将不同的字段提取信息传递给规则表模块;
规则表模块:包括两个规则表子模块,其中第一规则表子模块用于存储第1条至第M/2条规则,第二规则表子模块用于存储第M/2+1条至第M条规则,这两个子模块并行运行;
分组字段寄存器模块:用于存储提取出的字段,用于存储分组预处理器模块提取出的字段的值和字段编号;
比较器模块:用于从规则表模块中连续读取规则的条款,从分组字段寄存器模块中读取字段在分组中的值,并比较字段在分组中的值是否满足规则的条款,将比较结果输出给决策器;包括两个比较器子模块,第一比较器子模块和第二比较器子模块,这两个比较器子模块并行工作,每个比较器子模块内部采用流水线结构。
总决策器:用于根据比较器的比较结果,判断出最终输出结果,将最终结果的动作转换成分组处理操作码输出。
本发明具有如下优点:
1)本装置预处理器内部采用了乒乓提取字段的方式,这种方式的预处理器的吞吐率是不采用乒乓方式的2倍。
2)本装置两个规则表子模块及比较器子模块并行,这种结构执行比较操作的速度是不使用并行结构系统的2倍。
3)本装置比较模块使用流水线的结构,这种结构读取规则的速度是不使用流水线结构读取规则速度的4倍。
4)本发明在现场可编程门阵列FPGA中实现流识别,而没有使用传统的、较复杂的内容可寻址存储器CAM器件,因而装置结构简单、成本低。
附图说明
图1为本发明的流识别设备结构图;
图2为本发明的流识别方法流程图;
图3为本发明流识别方法中的字段列表数据格式图;
图4为本发明流识别方法中的规则表数据格式图;
图5为本发明规则表内条款的格式图;
图6为本发明条款内的比较码的格式图;
图7为本发明流识别方法中输出的操作指令码格式图。
具体实施方式
为使本发明目的、技术方案以及优点更加清楚明白,以下参照附图并举实施例,对本发明进行进一步的详细说明。
参照图1,本发明的流识别设备,包括字段列表10、预处理控制器20、分组预处理器模块30、数据选通开关40、分组字段寄存器模块50、规则表模块60、比较器模块70和总决策器80。其中:
字段列表10:用于存储字段列表,它设有配置和分组字段的读取两个接口,字段列表中的内容由用户通过配置接口提前写入,并支持对单条或多条字段的实时更新;
分组预处理器模块20:用于提取从MAC层协议至第四层协议分组字段值,根据预处理控制器30的数据选通控制信息,从数据选通开关40中读取分组信息,并将根据字段列表10指示提取出的字段信息存入分组字段寄存器60中;该分组预处理器模块20包括两个分组预处理器子模块,其中第一分组预处理器子模块201和第二分组预处理器子模块202轮流提取字段在流识别分组中的值,形成乒乓复用的结构;该MAC层支持标准以太网帧格式和802.3协议,根据MAC协议中类型域的定义,定位IP层协议在分组中的起始位置;IP层同时支持IPv4协议和IPv6协议,根据IPv4协议的IP头长度IHL域和IPv6协议的Next header域,定位第四层协议在分组中的起始位置。
预处理控制器30:用于控制分组预处理器模块20的数据路径和乒乓操作;
数据选通开关40:用于控制数据通路,根据预处理控制器30输出的控制信息选通不同的数据通路,在输入端将数据传递给分组预处理器模块20,在输出端将不同的字段提取信息传递给规则表模块50;
规则表模块50:包括两个规则表子模块,每个规则表子模块均设有配置接口和读接口,配置接口用于将规则配置到规则表中,读接口用于从规则表中读出规则。其中第一规则表子模块501用于存储第1条至第M/2条规则,第二规则表子模块502用于存储第M/2+1条至第M条规则,这两个子模块并行运行,M为总规则数;
分组字段寄存器模块60:用于存储分组预处理器模块20提取出的字段的值和字段编号;它包括两个分组字段寄存器子模块,其中第一分组字段寄存器子模块601用于存储第一分组预处理器子模块201提取出的字段的值和字段编号,第二分组字段寄存器子模块602用于存储第二分组预处理器子模块202提取出的字段值和字段编号。
比较器模块70:用于从规则表模块50中连续读取规则的条款,从分组字段寄存器模块60中读取字段在分组中的值,并比较字段在分组中的值是否满足规则的条款,将比较结果输出给决策器;它包括两个比较器子模块,每个比较器子模块包含N个比较器,N为每条规则中条款的个数。其中第一比较器子模块701读取第一规则表子模块501的规则和第一分组字段寄存器子模块601中的字段,并将结果输出给决策器1。第二比较器子模块702读取第二规则表子模块502的规则和第二分组字段寄存器子模块602中的字段,并将结果输出给决策器2,这两个比较器子模块并行工作。
总决策器80:根据决策器1和决策器2的输出结果,判断出最终输出结果,将最终结果的动作转换成分组处理操作码输出。
整个设备的工作原理是:提取字段在输入分组中的值,当分组进行预处理时,分组预处理器模块20首先获得各层协议在分组中的起始位置,然后从字段列表中读取字段信息,结合字段中的偏移地址和长度信息,即可从分组中提取该字段在分组中的值,并将提取出的字段信息存入分组字段寄存器模块60中,以完成分组字段值的存储操作;比较器模块70从分组字段寄存器模块60中读取字段在分组中的值,并从规则表模块50中读取规则的条款,再比较字段在分组中的值是否满足规则的条款,将比较结果输出给决策器1和决策器2,决策器1和决策器2对第一比较器子模块和第二比较器子模块的比较结果进行处理,分别输出一个操作码;当比较器模块70完成对所有规则的比较后,总决策器80根据决策器1和决策器2的输出操作码,取两个操作码中优先级较高的动作得到一个相应动作位有效的操作指令码,作为最终结果输出。
参照图2,本发明基于流水线的快速流识别方法,其实现步骤如下:
步骤1:用户根据组网及管理需要生成字段和规则,并把字段配置到字段列表中,把规则配置到规则表中,该字段是指用于指向分组中需要进行匹配或操作的特定区域的一个连续的长度为16的bit串,它由地址偏移和长度两种信息组成,该规则包括一系列条款和条款满足时需要执行的动作。
参照图3,本发明的所有字段按顺序存储在字段列表中,并按存储顺序给字段编号,字段通过其编号来索引。
字段列表中每个字段占用4字节,其中:
1~0位:表示字段所在的协议层,0表示MAC层、1表示IP层、2表示IP上层、3表示特殊字段;
7~2位:作为保留位;
8位:用来指示字段处在由层号和偏移确定的双字的高16位中还是低16位中,1表示高16位,0表示低16位;
13~9位:表示字段在所在层中的双字偏移,最大双字偏移个数为31;
15~14位:作为保留位;
31~16位:16位掩码,指字段所在双字中高或低16位比特中的有效位数,1表示比特位有效,0表示无效。
参照图4,本发明的规则表为两块连续的存储空间,分别包含64条规则,每条规则占用64个字节,规则顺序存储在规则表中,一条规则由12个条款、1个动作信息、1个附带信息组成,每条规则占4字节,动作占12字节,附带信息为4字节。规则的动作包括各条款间的“与”或“或”的关系指示、指令、双字偏移、层号、掩码和值,其中指令包括丢弃、优先级映射、添加、删除或修改字段,重定向到CPU,复制到CPU。
参照图5,本发明的条款是由字段、操作和值组成,字段通过字段编号表示,字段编号占用8比特,高3位保留不用,低5位用于对应字段列表中的相应序号的字段,因为字段列表中只存储的字段不超过32项,所以用5比特数据可以表示字段列表中的任意字段。本发明条款操作占用8比特,值占用16比特。
参照图6,本发明比较码的格式,其最高两位始终为0,剩下6位按照优先级由高到低的顺序依次代表等于、不等于、大于、小于、大于等于和小于等于6个比较动作,这6位中任意一位若为1,则表示该位代表的比较动作有效,若6位全为0,则表示所有比较动作无效,当多个比较动作位同时为1时,只有高优先级的比较动作有效。
步骤2:根据用户配置的字段列表,提取出需要进行流识别处理的分组字段的值。
由于字段由层号,相对于某一层起始地址的偏移量,以及掩码组成,所以提取分组中有效字段的值的关键是确定某一层协议的开始位置;分组的第一个字节是MAC层的开始,按照MAC层头部类型域可以判断第三层协议是互联网协议第四版IPv4还是互联网协议第六版IPv6;然后利用IPv4头长度域IHL和IPv6协议的Next header域定位出第四层协议的开始地址;当各层协议的起始地址确定之后,结合字段的偏移量,通过字节计数找到字段在分组中的位置,再通过掩码得到分组字段的值。
由于字段提取模块中含有两个字段提取子模块,两个子模块通过乒乓的方式复用,即在某个子模块提取完某个分组的字段并将这些字段提交给比较模块进行比较的时候,另一个字段提取模块就可以接收下一个分组并提取其字段。
步骤3:从规则表中的第一条和第M/2+1条规则开始,比较模块会从规则表模块中连续读取规则,同时进行比较操作。
比较操作的具体步骤为:比较模块比较分组字段的值是否满足当前规则中每个条款指示的大小关系,若满足,记录规则中的动作,若不满足,判断是否满足第二条和第M/2+2条规则,依次类推对每条规则逐条进行比较,最终完成所有规则的比较操作,得到对所有规则的判断结果,M为总规则数。
步骤4:根据对规则的判断结果确定对分组的操作:
(4a)对于丢弃包、复制和重定向操作:比较模块比较分组字段的值是否满足一条规则中每个条款指示的大小关系,若满足,且该条规则包含丢弃包、复制和重定向操作这三种操作的一个或多个,则输出的操作指令码的相应操作指示位有效;
(4b)对于指定优先级操作:比较模块比较分组字段的值是否满足规则中每个条款指示的大小关系,若满足,取所有满足的规则中优先级最高的的优先级作为输出的操作指令码中的优先级;
(4c)对于插入、修改和删除操作:比较模块比较分组字段的值是否满足一条规则中每个条款指示的大小关系,若满足,且这条规则包含插入、修改或删除操作,则将该条规则中的双字偏移、掩码和修改值,作为输出的指令操作码中的双子偏移、掩码和修改值。
步骤5:每一条规则比较结束后,通过查看下一条规则中的数据有效指示位,判断下一条规则是否有效,如果数据有效指示位为0,则下条规则无效,结束规则比较,输出结果;如果数据有效指示位为1,则下一条规则有效,继续下一条规则的比较,如果下一条规则是规则表子模块中的最后一条规则,则结束规则比较,并以指令码的方式输出结果,完成流识别。
参照图7,指令码位宽为80比特,一个流识别分组对应一条指令码,指令码包括指令区和参数区,指令区有7种指令,分别是复制包、重定向到CPU、复制到CPU、指定优先级队列、插入、修改和删除,指令区相应位为1表示该指令有效,为0表示无效;参数区包括指定的优先级号,删除操作的地址,插入操作的地址和值,修改操作的地址,值和掩码;
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不限于此,任何熟悉该技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的改变或替换,都涵盖在本发明的保护范围内。
Claims (9)
1.一种流水线的快速流识别方法,包括如下步骤:
(1)用户根据组网及管理需要生成字段和规则,并将字段配置到字段列表中,将规则配置到规则表中,该字段是指用于指向分组中需要进行匹配或操作的特定区域的一个连续的bit串,它由地址偏移和长度两种信息组成,该规则包括一系列条款和满足条款需要执行的动作;
(2)根据用户配置的字段列表,由输入的分组中提取出需要进行流识别处理的分组字段值;
(3)从规则表中的第一条和第M/2+1条规则开始,比较分组字段的值是否满足规则,若满足,记录规则中的动作,若不满足,判断是否满足第二条和第M/2+2条规则,依次类推,读入下一个分组字段的值,得到对所有规则的判断结果,M为总规则数;
(4)根据对所有规则的判断结果,生成操作指令码:
当分组不满足规则表中的任何一条规则时,操作指令码各位无效;
当分组只满足规则表中的一条规则R1时,则按规则R1期望的动作得到一个相应动作位有效的操作指令码,并作为模块输出;
当分组满足规则表中的多条规则R1,R2,…Rm…,Rn,n>m>1时,则根据多条规则所标示的操作综合得到一个相应操作位有效的最终操作指令码,并作为模块输出。
(5)将生成的操作指令码作为流识别的输出结果。
2.根据,权利要求1所述的方法,其中步骤(2)所述的由输入的分组中提取出需要进行流识别处理的分组字段值,是从输入分组中由字段列表指定的位置提取出的长度为16的bit串。
3.根据权利要求1所述的方法,其中所述步骤(4)中的操作指令码,包含对分组的处理操作信息和辅助信息;该处理操作信息,包括丢弃、复制、重定向、指定优先级、插入、修改和删除的相应操作有效指示位,该辅助信息,包括修改指定bit串所对应的双字偏移、掩码、修改值和删除指定bit串所对应的双字偏移。
4.根据权利要求1所述的方法,其中步骤(4)所述的按规则期望的动作得到一个相应动作位有效的操作指令码,按如下步骤进行:
(4a)对于丢弃包、复制和重定向操作,若有一条满足的规则包含其中的操作,则相应操作有效;
(4b)对于指定优先级操作,取所有满足的规则表中设定的最高优先级作为最终操作的优先级;
(4c)对于插入、修改和删除操作,若有一条规则包含插入、修改或删除操作,且分组字段的值等于该规则中对应的值,则将该条规则中的的双字偏移、掩码和修改值,作为指令操作码中的双子偏移、掩码和修改值。
5.一种流水线的快速流识别设备,其特征在于,包括:
字段列表(10):用于存储字段列表,它设有配置和分组字段的读取两个接口,字段列表中的内容由用户通过配置接口提前写入,并支持对单条或多条字段的实时更新;
分组预处理器模块(20):用于提取字段在流识别分组中的值,根据预处理控制器(30)的数据选通控制信息,从数据选通开关(40)中读取分组信息,并将根据字段列表(10)指示提取出的字段信息存入分组字段寄存器(60)中;
预处理控制器(30):用于控制分组预处理器模块(20)的数据路径和乒乓操作;
数据选通开关(40):用于控制数据通路,根据预处理控制器(30)输出的控制信息选通不同的数据通路,在输入端将数据传递给分组预处理器模块(20),在输出端将不同的字段提取信息传递给规则表模块(50);
规则表模块(50):包括两个规则表子模块,其中第一规则表子模块(501)用于存储第1条至第M/2条规则,第二规则表子模块(502)用于存储第M/2+1条至第M条规则,这两个子模块并行运行;
分组字段寄存器模块(60):用于存储提取出的字段,用于存储分组预处理器模块(20)提取出的字段的值和字段编号;
比较器模块(70):用于从规则表模块(50)中连续读取规则的条款,从分组字段寄存器模块(60)中读取字段在分组中的值,并比较字段在分组中的值是否满足规则的条款,将比较结果输出给决策器;包括两个比较器子模块,第一比较器子模块(701)和第二比较器子模块(702),这两个比较器子模块并行工作,每个比较器子模块内部采用流水线结构。
总决策器(80):用于根据比较器(70)的比较结果,判断出最终输出结果,将最终结果的动作转换成分组处理操作码输出。
6.根据权利要求4所述的设备,其特征在于分组预处理器模块(20),包括两个分组预处理器子模块,其中第一分组预处理器子模块(201)和第二分组预处理器子模块(202)轮流提取字段在流识别分组中的值,形成乒乓复用的结构。
7.根据权利要求4所述的设备,其特征在于规则表模块(50),其中第一规则表子模块(501)和第二规则表子模块(502),它们设有配置接口和读接口,配置接口用于将规则配置到规则表中,读接口用于从规则表中读出规则。
8.根据权利要求4所述的设备,其特征在于分组字段寄存器模块(60),包括两个分组字段寄存器子模块,其中第一分组字段寄存器子模块(601)用于存储第一分组预处理器子模块(201)提取出的字段的值和字段编号,第二分组字段寄存器子模块(602)用于存储第二分组预处理器子模块(202)提取出的字段值和字段编号。
9.根据权利要求4所述的设备,其特征在于比较器模块(70)包括两个比较器子模块,其中第一比较器子模块(701)读取第一规则表子模块(501)的规则和第一分组字段寄存器子模块(601)中的字段,第二比较器子模块(702)读取第二规则表子模块(502)的规则和第二分组字段寄存器子模块(602)中的字段,这两个比较器子模块并行工作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012101390759A CN102685008A (zh) | 2012-05-07 | 2012-05-07 | 基于流水线的快速流识别方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012101390759A CN102685008A (zh) | 2012-05-07 | 2012-05-07 | 基于流水线的快速流识别方法及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102685008A true CN102685008A (zh) | 2012-09-19 |
Family
ID=46816393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012101390759A Pending CN102685008A (zh) | 2012-05-07 | 2012-05-07 | 基于流水线的快速流识别方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102685008A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104660574A (zh) * | 2013-11-22 | 2015-05-27 | 华为技术有限公司 | 数据中心的配置方法、控制实体和转发实体 |
CN104699448A (zh) * | 2015-03-20 | 2015-06-10 | 上海交通大学 | Fast协议的并行解码系统及其实现方法 |
CN106549817A (zh) * | 2015-09-21 | 2017-03-29 | 深圳市中兴微电子技术有限公司 | 报文识别方法及装置 |
CN108574679A (zh) * | 2017-03-13 | 2018-09-25 | 华为技术有限公司 | 处理分组的方法和网络设备 |
CN111131159A (zh) * | 2019-11-22 | 2020-05-08 | 中国人民解放军国防科技大学 | 一种报文解析器及其设计方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7227842B1 (en) * | 2001-04-24 | 2007-06-05 | Tensilica, Inc. | Fast IP packet classification with configurable processor |
CN102427428A (zh) * | 2011-12-07 | 2012-04-25 | 西安电子科技大学 | 基于多域最长匹配的流识别方法及设备 |
-
2012
- 2012-05-07 CN CN2012101390759A patent/CN102685008A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7227842B1 (en) * | 2001-04-24 | 2007-06-05 | Tensilica, Inc. | Fast IP packet classification with configurable processor |
CN102427428A (zh) * | 2011-12-07 | 2012-04-25 | 西安电子科技大学 | 基于多域最长匹配的流识别方法及设备 |
Non-Patent Citations (1)
Title |
---|
潘伟涛等: ""一种HIMAC硬件协处理器的设计与FPGA实现"", 《电子器件》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104660574A (zh) * | 2013-11-22 | 2015-05-27 | 华为技术有限公司 | 数据中心的配置方法、控制实体和转发实体 |
CN104660574B (zh) * | 2013-11-22 | 2018-10-30 | 华为技术有限公司 | 数据中心的配置方法、控制实体和转发实体 |
CN104699448A (zh) * | 2015-03-20 | 2015-06-10 | 上海交通大学 | Fast协议的并行解码系统及其实现方法 |
CN106549817A (zh) * | 2015-09-21 | 2017-03-29 | 深圳市中兴微电子技术有限公司 | 报文识别方法及装置 |
WO2017050038A1 (zh) * | 2015-09-21 | 2017-03-30 | 深圳市中兴微电子技术有限公司 | 报文识别方法、装置和计算机存储介质 |
CN108574679A (zh) * | 2017-03-13 | 2018-09-25 | 华为技术有限公司 | 处理分组的方法和网络设备 |
CN108574679B (zh) * | 2017-03-13 | 2021-03-30 | 华为技术有限公司 | 处理分组的方法和网络设备 |
CN113206801A (zh) * | 2017-03-13 | 2021-08-03 | 华为技术有限公司 | 处理分组的方法和网络设备 |
US11310153B2 (en) | 2017-03-13 | 2022-04-19 | Huawei Technologies Co., Ltd. | Packet processing method and network device |
US11799766B2 (en) | 2017-03-13 | 2023-10-24 | Huawei Technologies Co., Ltd. | Packet processing method and network device |
CN113206801B (zh) * | 2017-03-13 | 2024-06-07 | 华为技术有限公司 | 处理分组的方法和网络设备 |
CN111131159A (zh) * | 2019-11-22 | 2020-05-08 | 中国人民解放军国防科技大学 | 一种报文解析器及其设计方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11102120B2 (en) | Storing keys with variable sizes in a multi-bank database | |
CN102427428A (zh) | 基于多域最长匹配的流识别方法及设备 | |
US10496680B2 (en) | High-performance bloom filter array | |
US9984144B2 (en) | Efficient lookup of TCAM-like rules in RAM | |
CN103401777B (zh) | Openflow的并行查找方法和系统 | |
US9269411B2 (en) | Organizing data in a hybrid memory for search operations | |
CN104580027B (zh) | 一种OpenFlow报文转发方法及设备 | |
US20080198853A1 (en) | Apparatus for implementing actions based on packet classification and lookup results | |
CN102685008A (zh) | 基于流水线的快速流识别方法及设备 | |
CN108370352A (zh) | 使用网络处理器的高速灵活分组分类 | |
CN101510855B (zh) | 一种QinQ报文的处理方法和装置 | |
CN102238083A (zh) | 用于适配分组处理流水线的系统和方法 | |
WO2020093737A1 (zh) | 一种报文处理方法及装置、存储介质、光网络终端 | |
CN110727760B (zh) | 一种对大规模知识图谱进行分布式正则路径查询的方法 | |
CN105515997B (zh) | 基于bf_tcam实现零范围扩张的高效范围匹配方法 | |
US9485179B2 (en) | Apparatus and method for scalable and flexible table search in a network switch | |
CN107276916A (zh) | 基于协议无感知转发技术的交换机流表管理方法 | |
CN103812860A (zh) | 一种基于fpga的高速网络策略匹配方法 | |
CN106487769B (zh) | 一种访问控制列表acl的实现方法及装置 | |
US8730961B1 (en) | System and method for optimizing router lookup | |
CN114327833A (zh) | 一种基于软件定义复杂规则的高效流量处理方法 | |
US11968286B2 (en) | Packet filtering using binary search trees | |
CN107528794A (zh) | 一种数据处理方法和装置 | |
US11689464B2 (en) | Optimizing entries in a content addressable memory of a network device | |
CN103309950A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120919 |