CN1688140A - High-speed multi-dimension message classifying algorithm design and realizing based on network processor - Google Patents

High-speed multi-dimension message classifying algorithm design and realizing based on network processor Download PDF

Info

Publication number
CN1688140A
CN1688140A CNA2005100118540A CN200510011854A CN1688140A CN 1688140 A CN1688140 A CN 1688140A CN A2005100118540 A CNA2005100118540 A CN A2005100118540A CN 200510011854 A CN200510011854 A CN 200510011854A CN 1688140 A CN1688140 A CN 1688140A
Authority
CN
China
Prior art keywords
node
prefix
trie
trie tree
rule
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
Application number
CNA2005100118540A
Other languages
Chinese (zh)
Other versions
CN100413285C (en
Inventor
林闯
郑波
阮东华
陈震
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CNB2005100118540A priority Critical patent/CN100413285C/en
Publication of CN1688140A publication Critical patent/CN1688140A/en
Application granted granted Critical
Publication of CN100413285C publication Critical patent/CN100413285C/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

A high speed multi-dimension message sorting method based on a network processor characterizes in setting up an AM-trie tree for each dimensional degree, then utilizing ABV to carry out the search, taking redundancy to express the prefix of any length for reducing the search complexity and taking the compression to reduce backtrack so as to increase the search velocity and reduce storage space. ABV (BV value) corresponding to the dimension degree is searched from the AM-Trie tree, BV is a binary number of n order, a multi-dimension rule is got after the logic operation to each BV value.

Description

The design of the high-speed multi-dimension message classifying algorithm of processor Network Based and realization
Technical field:
The message classification field.
Background technology:
The rule that message classification (packet classification) refers to utilize grader that the packet lookup that arrives is gone out to meet, with the stream of identification under it, it is the important and basic functions of in the network system one.Many network key technology, as fire compartment wall, VPN(Virtual Private Network), network address translation, service quality (QoS), network invasion monitoring monitoring, congested control, transmission measurement and book keeping operation, and following IPv6 traffic identifier, ATM(Asynchronous Transfer Mode) cell switching etc. all relate to message classification.For the general application on the network, at four or more the application of classifying of multiword section is more and more.This just needs multi-dimension message classifying algorithm.
On the other hand, in the network application of reality, the sorting field that arrives grouping is clocklike, or certain specific structure is arranged, or is that too much redundancy is arranged, and the available message classifying algorithm of reality should make full use of these characteristics.The starting point of Here it is heuristic message classifying algorithm.
Desirable message classifying algorithm is to have extremely low time overhead and space expense, preferable performance is also arranged under worst case, and be with good expansibility and flexibility, also has the fast and low characteristics of pretreatment time of renewal speed simultaneously.Present heuristic classification algorithm has RFC algorithm, HiCut, HyperCut algorithm etc.Their advantage is to be fit to real-life message classification, and seek rate is fast, can be used for the multidimensional classification, but shortcoming also clearly, and pretreatment time is long, space complexity difference etc.
Summary of the invention:
The main target that designs this sorting algorithm is: the time complexity of an adaptation network processing unit of design is low, and space complexity can be accepted, but and message classifying algorithm with executed in parallel of suitable extensibility and flexibility.
Network processing unit is a kind of programmable chip between general processor and application specific processor (ASIC) chip, and network processing unit has adopted following technology to adapt to network data processing:
(1) many inner cores use two kinds of mechanism tissues of multithreading or parallel processing;
(2) memory management of You Huaing and DMA unit;
(3) the arithmetic and logical unit ALU of You Huaing;
(4) coprocessor of network-specific (co-processors);
(5) hardware multithreading technology.
INTEL IXP 2400 be Intel Company at a high performance network processing unit, we realize the message classifying algorithm that this is new based on it.Its logical construction such as Fig. 1.
The main design philosophy following points of our this multidimensional rapid message sorting algorithm:
● utilize the prefix of redundant expression random length, create asymmetric many wooden forks Trie and set the complexity that reduces search.
● set to eliminate and recall by compressing asymmetric many wooden forks Trie, further improve search speed and reduce memory space.
● the width of each layer of the asymmetric many wooden forks Trie tree of flexible design reaches the number of plies (time complexity) of asymmetric Trie tree and trading off of memory space (space complexity).
But ● utilize the thought of ABV algorithm to be extended to the quick multiple dimension message classifying algorithm of executed in parallel.
For the ease of the argumentation of back, we define some the symbol terms that will use earlier.
Address (address):
Address D is a bit string that length is W, as 10.1.1.1 etc.
Field (field/territory):
Field field/territory Fi is the set of a continuous position, and it can be that the part of message also can be the information relevant with message, for example, and source IP, purpose IP, timestamp or the port numbers that enters message.
Prefix (prefix):
Prefix P is a bit string that length is 0...W, and we represent the number of the position of a prefix with symbol length (P).
Rule Update (Policy Updates):
Grader C is carried out the renewal operation that regular increase or deletion etc. are done.
Single dimensional classification (one dimension classification):
Suppose a grader that N rule arranged, each rule has only the requirement to a territory (field), and the one dimension classification is meant searches the rule of its coupling to each message in grader C.
Multi-dimensional classification (multidimensional classification):
The implication of multidimensional classification is similar to the implication of one dimension classification, only can comprise two or more territories (field) in each rule.
CIDR (CIDR):
Be a kind ofly to distribute more flexibly and the method for assigned I nternet address than IP address approach, so, available Internet address number has just increased greatly.
BV (Bit Vector, bit vectors) algorithm:
The BV algorithm is meant, if rule one total m is individual, with the binary number (vector) of a m position, when certain bar message meets n bar rule, the n position is labeled as 1, otherwise is 0.
ABV (Aggregated Bit Vector) algorithm:
The thought basically identical of ABV algorithm and BV algorithm, but improve to some extent.Our this algorithm uses ABV to search for, but for example the time for the sake of simplicity, under the prerequisite that does not influence understanding, use the BV algorithm.
Segmentation:
Segmentation refers to each territory method by appointment of rule is divided into plurality of sections, for example: for IP territory, source 32 bits altogether, we can be divided into 8,/8/,8/8 4 sections to it, also can be divided into 16/,8/8 3 sections to it, concrete segmentation method can be selected according to the prefix distribution situation in the rule base.
Linear search prefix node:
If certain node does not have rule, its rule one of mating fixes in its prefix node so, and the prefix node of certain node of linear search is promptly searched each prefix of this node in order, till finding rule.For example, 101 *Node does not have rule, and our order of searching is 10 so *, 1 *, *
The present invention combines AM-Trie and ABV algorithm, to reach favorable expandability and target that again can executed in parallel.
The overall flow of AM-Trie is seen Fig. 2.
The time complexity that the Trie tree is searched is directly proportional with its number of plies, and our purpose is the Trie tree to be designed to 2m fork Trie set the number of plies that reduces the Trie tree, thereby accelerates searching speed.
Our first thought is: utilize the redundant prefix of representing random length.
Consider the string that a k-bit is long, all possible prefix is
Figure A20051001185400051
Have 2 K+1-a kind is 1,2 with their serial number ..., 2k+1-1, they can be represented with the string of (k+1)-bit.Conversion relation is: if a prefix is P *, the length of P is p-bit, its corresponding sequence number is 2 so p+ P.For example, *Be No. 1 prefix, 1111 *Be No. 31 prefix.Utilize the expression mode of this " redundancy ", we can represent the prefix of all k Bit Strings with the string of a k+1 bit.Next just can utilize such expression mode to construct suitable many fork Trie trees.This Trie tree that utilizes redundant expression prefix is exactly asymmetric many wooden forks Trie tree (Asymmetrical Multi-bit Trie, note by abridging be AM-Trie).
Each node in the AM-Trie tree comprises two pointers---pNext and pRule, points to the original position and the pairing rule of this node of the child node of Trie tree respectively, as shown in Figure 3.If this node does not have child node or do not have rule directly corresponding in rule list, so Dui Ying pointer is changed to null pointer.
Introduce the interpolation operation of AM-Trie tree earlier, the creation operation of AM-Trie is started from scratch exactly, one by one the process of Tian Jiaing.
When adding certain prefix rule to the AM-Trie tree, elder generation by set scheme segmentation (seeing nomenclature), joins each section this prefix successively in the AM-Trie tree then and goes.The interpolation operational flowchart of AM-Trie tree is seen Fig. 4.
AM-Trie adds false code and sees Table 1:
int?Add(struct?TrieNode *Root, Rule newrule) // be input as root node root and the newly-increased current operation pointer of regular newrule step 1 current=root of AMTrie tree; Step 2 is read in first section of newrule; Step 3 while (what read in is not final stage) step 4 current points to [present segment numbering] individual child node of current; Step 5 if (the child node pointer of current is empty) creates child node for current; Step 6 is read in next section; Step 7 current points to [final stage numbering] individual child node of current; Step 8 if (the regular pointer of current is empty) step 9 adds this rule in the current node; The regular nodal point number of step 10 (prefix number)+1; Step 11 else is the priority of two rules relatively, is the Policy Updates in the node the high regular step 12 return regular node number (prefix number) of priority
Table 1 AM-Trie adds false code
Introduce again and how to create AM-Trie by a prefix table.
We can cut into several sections of variable length (variable stride) arbitrarily to it and construct the AM-Trie tree for the prefix of some fields.When creating the AM-Trie tree of certain prefix table, each prefix in the table is all pressed set scheme segmentation, the function Add () that constantly calls the interpolation rule then joins each bar rule in the AM-Trie tree successively and goes.The flow chart of establishment AM-Trie as shown in Figure 5.
AM-Trie creates false code such as following table 2:
????int?CreateAMTrie(struct?TrieNode *&?root,RULE *PRule, int numrule, int col) // wherein root is the root node of the AMTrie of generation, pRule is the base address of rule base, numrule is the number of rule, and col is the child node that territory (for example: source IP, purpose IP, source port, the destination interface etc.) step 1 of rule is created root node root; The regular nodal point number of step 2 (being the prefix number)=0; Step 3 for (i=0; I<rule sum; I++) step 4 is called and is added process of rule to rule of AM-Trie adding; Step 5 return rule nodal point number (being the prefix number)
Table 2: the false code of creating AM-Trie
The search of AM-Trie and the searching class of common tree seemingly if just also do not find corresponding rule after reaching leaf node, be recalled the prefix node that continues to search it.The flow chart of AM-Trie search as shown in Figure 6.The input of algorithm is root node of AM-Trie tree and the sorting field information that arrives grouping, and output is the longest-prefix that this grouping is mated.
AM-Trie search false code sees Table 3.
Rule *?search(struct?TrieNode? *Root, Field_type packet_field) // be input as the root pointer root of AMTrie tree and arrive the current operation pointer of sorting field packet_field step 1 current=root that divides into groups; Step 2 for (i=1; The height of i<=AMTrie tree; I++) //height of AMTrie tree is the numbering offset[i that agreement hierarchy number step 3 is calculated the i section of packet_field]; Step 4 if (current+offset[i]) → pNext==NULL; // this node is leaf node step 5 if (current+offset[i]) → pRule==NULL; // this node does not have regular step 6 to begin the prefix node of this node of linear search from the longest-prefix of this node, and returns lookup result step 7 else return (current+offset[i]) → pRule; // this node is regular just directly to return step 8 else current=(current+offset[i]) → pNext; // one deck under preparing to search for
Table 3 AM-Trie searches for false code
The search efficiency of AM-Trie is not very high, and sometimes even need recall, this problem will be solved in " compression of AM-Trie number and acceleration ".
AM-Trie tree is supported incremental update, its increase or to delete the operation of certain prefix rule very simple.The interpolation operation of AM-Trie tree was introduced in 5.3.2 " interpolation of AM-Trie and establishment " part as the basic operation of AM-Trie.
It is also very simple to delete a prefix rule in AM-Trie, navigates to this regular node by search operation earlier, and deletion pRule pointer gets final product from this node then, as Fig. 7.
Be the false code of deletion of node below.
The false code of AM-Trie deletion of node sees Table 4.
int?delete(struct?TrieNode? *Root, Rule rule) // be input as root node root of AMTrie tree and the current operation pointer of regular rule step 1 current=root that will delete; Step 2 is called search (root, rule) the node step 3 at search rule place is pointed to the node (current → pRule is made as NULL) that the deletion of rule node pointer → current step 4 is found, and returns;
Table 4 AM-Trie deletion of node false code
In search one joint of AM-Trie tree, mention, after searching a certain leaf node, if the rule that does not comprise direct correspondence of this node will continue to search for its prefix node so.This certainly will cause the decline of search speed.We find after scrutinizing, and after rule list was determined, the pairing longest-prefix that comprises rule of any prefix had also just been determined.Therefore, we can be pretreated the time just the pairing longest-prefix regular allocation of each node to node.So, just must find rule when searching leaf node, and needn't search its prefix forward again.Simultaneously, half node that only comprises prefix of the left side of AM-Trie tree can not be accessed in search certainly, therefore can delete, and takies with regard to the memory space that has reduced half like this.The compression algorithm flow chart of AM-Trie tree is seen Fig. 8.
AM-Trie memory space after the compression has only original half, the height that searching times equals to set under the worst case.
The compression algorithm false code of AM-Trie tree sees Table 5:
Compress(struct?TrieNode *Root) // be input as root node root step 1 for of AM-Trie (when anterior layer=1; When anterior layer<=AMTrie height; Work as anterior layer ++) // from top to bottom to each layer operation step 2 for (this node layer number of i=; I>0; I--) // i node of regular step 5 if that i node of the operating procedure of turning left from the right side 3 if do not have its longest prefix node of rule=linear search of i node of regular step 4 to obtain have child node step 6 with the rule of i node copy to it number one byte point (*); Step 7 discharges [0~2 s-1] space of node; //s is the bit wide of this one deck
The compression false code of table 5 AM-Trie
In the message classification device of reality, the distribution of lengths of prefix may be very inhomogeneous.Idea the most superficial is exactly to choose the big prefix length of probability of occurrence as segmentation place as far as possible, can reduce the expense of memory space like this.
The invention is characterized in:
It is to be the described sorting technique that realizes on Intel IXP 2400 network processing units at Intel Company's product, contains following steps successively:
Step 1: initialization
The code of following each functional module is set in described IXP 2400 in the following manner:
The data of AM-Trie tree are located among described IXP 2400 SRAM;
The creation module of AM-Trie tree is located among IXP 2400 xScale, promptly in the core control equipment;
The realization module that comprises node interpolation and deletion of AM-Trie tree is located among the xScale of described IXP 2400;
Compression and the accelerating module of AM-Trie tree are located among the xScale of described IXP 2400;
4 MicroEngine that the search module of AM-Trie tree is located at described IXP 2400 are in the micro engine;
2 MicroEngine that the reception of packet and sending module are located at described IXP 2400 are in the micro engine;
In described packet, utilized redundancy to represent the prefix of random length, promptly for the long string in k position, represent the prefix of all k Bit Strings with the string of k+1 bit.
Step 2: all set up an AM-Trie tree for each dimension in the d dimension message, contain following steps successively:
Step 2-1:,, renumber with the table of classification rules rearrangement according to the priority of the regular bar number of setting, rule;
The establishment of step 2-2:AM-Trie tree: the rule list that obtains according to step 2-1, select the big prefix length of occurrence probability as segmentation place, prefix in the rule list is classified, the hop count that obtains according to classification is the number of plies that AM-Trie sets, again according to the prefix number of each layer correspondence, obtain the node number in each layer, i.e. nodal point number; Successively arrange from short to long according to the length of prefix again, obtain the leaf node of root node and each layer;
Step 2-3: each node has two pointers, and pRule and pNext point to the rule of each node correspondence in the AM-Trie tree and the original position of next node respectively.Then, be the ABV algorithm according to the position vector algorithm of amassing wealth by heavy taxation, with the binary number of a n position as bit vector, when message satisfies k (0<k<when n+1) bar is regular, with k position 1, otherwise put 0, the formation position vector (ABV) of amassing wealth by heavy taxation, and it is left in the corresponding node go;
The compression of step 2-4:AM-Trie tree: to each layer, from right to left, the pairing longest-prefix regular allocation of each node to node.
Step 3: d the AM-Trie tree that obtains d dimension classification chart correspondence according to step 2;
Step 4: utilize the AM-Trie tree to carry out message classification: after a message arrives, search for concurrently, the ABV value of the d that a matches node is done the logical operation, obtain final search result ABV vector from this d AM-Trie tree.Ruo Qidi k place value is 1, represents that then it meets k bar rule.
Because we can't directly obtain large-scale actual firewall configuration (for safety factor, these are generally underground), but the BGP table can embody the route situation of network to a great extent, and this also is the reference frame of firewall rule.Our data come from Merit Network Routing Assets Database ( Http:// www.radb.net) the statistics of 59351 bgp list items.
Fig. 9 is the distribution map of prefix length.
When regular bar number was 4000, on the Enp2611 experimental bench, using the The simulation experiment result of IXP2400 processor was 2571Mbps.Because Bao Changwei 64 bytes are so per second is handled 5*10 approximately 6Individual bag.
Description of drawings:
Fig. 1: Intel IXP 2400 network processing unit structure charts
Fig. 2: AM-Trie overall flow figure
Fig. 3: the structure chart of each node of AM-Trie
Fig. 4: AM-Trie adds flow chart
Fig. 5: the flow chart of creating AM-Trie
Fig. 6: AM-Trie search routine figure
Fig. 7: AM-Trie deletion of node flow chart
Fig. 8: AM-Trie compression process figure
Fig. 9: prefix distribution map
Figure 10: the detail flowchart of the method for the invention
Figure 11: AM-Trie gives an example: a: the AM-Trie tree of source IP table; The AM-Trie tree of b: purpose IP table.
Specific implementation:
The hardware of the present invention on Intel IXP 2400 is realized seeing the following form 6:
Functional module Code position
The data of AM-Trie tree Among IXP 2400 SRAM
The establishment of AM-Trie Among IXP 2400 XScale
The renewal of AM-Trie (node adds and deletion) Among IXP 2400 XScale
The compression of AM-Trie and acceleration Among IXP 2400 XScale
The search of AM-Trie 4 Micro Engine of IXP 2400
The reception of packet, transmission 2 Micro Engine of IXP 2400
The hardware of table 6 algorithm on IXP 2400 is realized
In order to support the multi-dimension message classification, we combine the thought of AM-Trie and ABV algorithm.The advantage of ABV algorithm is that its extensibility is good, and algorithm can executed in parallel.
Message classification problem for a d dimension, AM-Trie will set up an AM-Trie tree to each dimension of sorting field in conjunction with the multidimensional sorting algorithm of ABV, and what each leaf node of AM-Trie tree was stored is the bit vector and the bit vector of amassing wealth by heavy taxation of utilizing the ABV algorithm computation to come out.What the AM-Trie of each sorting field can walk abreast independently searches, and going out behind the result separately gathers a bit vector that searches, and carries out the AND operation and obtains a final bit vector.Draw the final result of all fields of coupling at last according to this bit vector.
The advantage of AM-Trie multidimensional classification is that algorithm can executed in parallel, has good expandability again simultaneously, can support the classifying rules storehouse of super large, and regular number is many more, and the advantage of algorithm is obvious more.The cost of bringing is no longer to support incremental update.Because ABV algorithm itself is not supported incremental update (adding a then whole BV of rule all will change), therefore this multidimensional sorting algorithm is not supported incremental update yet, the rule base renewal frequency of most classification application will be far smaller than the frequency that classification is carried out, the number of times ratio of searching and upgrading is approximately 107, so this algorithm still can adapt to most of demands of applications.
Illustrate below:
Be provided with 8 rules of two dimension classification, priority from 1 to 8 reduces gradually, sets three layers of Am-Trie (source ip/ purpose ip) branches, and length is 16,8 respectively, 8bits.
Rule numbers Priority Source IP Purpose IP
?1 ?1 ?10.1.1.1 ?11.1.1.1
?2 ?2 ?10.1.2.2 ?11.1.1. *
?3 ?3 ?10.1.3.3 ?11.1. *. *
?4 ?4 ?10.1.1. * ?11.1.2.2
?5 ?5 ?10.1.2. * ?11.1.2. *
?6 ?6 ?10.1.2. * ?11.1.3. *
?7 ?7 ?10.1.3. * ?11.1.2. *
?8 ?8 ?10.1.4. * ?11.1.1. *
According to the prefix of source IP from long to short, be worth ascending order, after the regulation rule, again rule renumberd, just become:
New numbering Former numbering Priority Source IP Purpose IP
1 ?4 ?4 ?10.1.1. * 11.1.2.2
2 ?5 ?5 ?10.1.2. * 11.1.2. *
3 ?6 ?6 ?10.1.2. * 11.1.3. *
4 ?7 ?7 ?10.1.3. * 11.1.2. *
5 ?8 ?8 ?10.1.4. * 11.1.1. *
6 ?1 ?1 ?10.1.1.1 11.1.1.1
7 ?2 ?2 ?10.1.2.2 11.1.1. *
8 ?3 ?3 ?10.1.3.3 11.1. *. *
The AM-Trie of source IP and purpose IP is respectively: (wherein stain is represented node, square frame the inside is BV value---the computational methods of BV value are: because regular one have 8, so with one eight number, when meeting territory of n bar rule, with this position 1, otherwise put 0), see Figure 11.
If come a source of packets IP=10.1.2.2, purpose IP=11.1.2.2 then finds BV value=01000110 of the node of coupling from the Am-Trie of source IP tree, find BV value=10001011 of the node of coupling during the Am-Trie in purpose IP territory sets.Step-by-step with afterwards (step-by-step and implication be, have only the n position both to meet the rule in IP territory, source, meet the rule in purpose IP territory again, just show coupling n bar rule), the result is 00000010, promptly mates adjustment order second rule afterwards, just the 5th of former numbering the rule.

Claims (1)

1, the high-speed multi-dimension message sorting technique of processor Network Based is characterized in that, it is to be the described sorting technique that realizes on Intel IXP 2400 network processing units at Intel Company's product, contains following steps successively:
Step 1: initialization
The code of following each functional module is set in described IXP 2400 in the following manner:
The data of AM-Trie tree are located among described IXP 2400 SRAM;
The creation module of AM Trie tree is located among IXP 2400 xScale, promptly in the core control equipment;
The realization module that comprises node interpolation and deletion of AM-Trie tree is located among the xScale of described IXP 2400;
Compression and the accelerating module of AM-Trie tree are located among the xScale of described IXP 2400;
4 MicroEngine that the search module of AM-Trie tree is located at described IXP 2400 are in the micro engine;
2 MicroEngine that the reception of packet and sending module are located at described IXP 2400 are in the micro engine;
In described packet, utilized redundancy to represent the prefix of random length, promptly for the long string in k position, represent the prefix of all k Bit Strings with the string of k+1 bit;
Step 2: all set up an AM-Trie tree for each dimension in the d dimension message, contain following steps successively:
Step 2-1:,, renumber with the table of classification rules rearrangement according to the priority of the regular bar number of setting, rule;
The establishment of step 2-2:AM-Trie tree: the rule list that obtains according to step 2-1, select the big prefix length of occurrence probability as segmentation place, prefix in the rule list is classified, the hop count that obtains according to classification is the number of plies that AM-Trie sets, again according to the prefix number of each layer correspondence, obtain the node number in each layer, i.e. nodal point number; Successively arrange from short to long according to the length of prefix again, obtain the leaf node of root node and each layer;
Step 2-3: each node has two pointers, and pRule and pNext point to the rule of each node correspondence in the AM-Trie tree and the original position of next node respectively; Then, be the ABV algorithm according to the position vector algorithm of amassing wealth by heavy taxation, with the binary number of a n position as bit vector, when message satisfies k (0<k<when n+1) bar is regular, with k position 1, otherwise put 0, the formation position vector (ABV) of amassing wealth by heavy taxation, and it is left in the corresponding node go;
The compression of step 2-4:AM-Trie tree: to each layer, from right to left, the pairing longest-prefix regular allocation of each node to node;
Step 3: d the AM-Trie tree that obtains d dimension classification chart correspondence according to step 2;
Step 4: utilize the AM-Trie tree to carry out message classification: after a message arrives, search for concurrently, the ABV value of the d that a matches node is done the logical operation, obtain final search result ABV vector from this d AM-Trie tree; Ruo Qidi k place value is 1, represents that then it meets k bar rule.
CNB2005100118540A 2005-06-03 2005-06-03 High-speed multi-dimension message classifying algorithm design and realizing based on network processor Expired - Fee Related CN100413285C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005100118540A CN100413285C (en) 2005-06-03 2005-06-03 High-speed multi-dimension message classifying algorithm design and realizing based on network processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005100118540A CN100413285C (en) 2005-06-03 2005-06-03 High-speed multi-dimension message classifying algorithm design and realizing based on network processor

Publications (2)

Publication Number Publication Date
CN1688140A true CN1688140A (en) 2005-10-26
CN100413285C CN100413285C (en) 2008-08-20

Family

ID=35306180

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100118540A Expired - Fee Related CN100413285C (en) 2005-06-03 2005-06-03 High-speed multi-dimension message classifying algorithm design and realizing based on network processor

Country Status (1)

Country Link
CN (1) CN100413285C (en)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100425039C (en) * 2006-04-06 2008-10-08 中国科学院计算技术研究所 Method and apparatus for marking aggregation-type 2-D message classification and searching thereof
WO2009070994A1 (en) * 2007-11-30 2009-06-11 Hangzhou H3C Technologies Co., Ltd. A method and device for matching message rule
CN1964325B (en) * 2006-11-24 2010-08-18 中兴通讯股份有限公司 A method for quickly carrying out equivalence partition in packet classification
WO2011012023A1 (en) * 2009-07-31 2011-02-03 中兴通讯股份有限公司 Method and system for managing output port queue of network processor
CN101478551B (en) * 2009-01-19 2011-12-28 清华大学 Multi-domain network packet classification method based on multi-core processor
CN102546399A (en) * 2011-12-16 2012-07-04 广东电网公司茂名供电局 Intelligent transformer substation process level message linear processing framework and intelligent transformer substation process level message linear processing method
CN104348729A (en) * 2014-10-11 2015-02-11 北京中创腾锐技术有限公司 Internet streaming classification method combining software and hardware
CN104486308A (en) * 2014-12-04 2015-04-01 南京邮电大学 Design method for high-speed multi-dimension message classification
WO2016049802A1 (en) * 2014-09-29 2016-04-07 Hewlett-Packard Development Company, L.P. Adaptive split and compression
CN102281196B (en) * 2011-08-11 2017-10-10 中兴通讯股份有限公司 Decision tree generation method and equipment, based on decision tree packet classification method and equipment
CN109413016A (en) * 2018-04-28 2019-03-01 武汉思普崚技术有限公司 A kind of rule-based message detecting method and device
CN114143807A (en) * 2021-10-27 2022-03-04 中盈优创资讯科技有限公司 Method and device for evaluating integrity rate of route registration
CN114827030A (en) * 2022-03-26 2022-07-29 西安电子科技大学 Flow classification device based on folded SRAM and table entry compression method

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1195361C (en) * 2002-09-29 2005-03-30 清华大学 Method for implementing dynamic partial buffer share based on network processor platform
CN1300992C (en) * 2003-12-30 2007-02-14 华为技术有限公司 Method of realizing multitransmission

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100425039C (en) * 2006-04-06 2008-10-08 中国科学院计算技术研究所 Method and apparatus for marking aggregation-type 2-D message classification and searching thereof
CN1964325B (en) * 2006-11-24 2010-08-18 中兴通讯股份有限公司 A method for quickly carrying out equivalence partition in packet classification
WO2009070994A1 (en) * 2007-11-30 2009-06-11 Hangzhou H3C Technologies Co., Ltd. A method and device for matching message rule
CN101478551B (en) * 2009-01-19 2011-12-28 清华大学 Multi-domain network packet classification method based on multi-core processor
WO2011012023A1 (en) * 2009-07-31 2011-02-03 中兴通讯股份有限公司 Method and system for managing output port queue of network processor
CN102281196B (en) * 2011-08-11 2017-10-10 中兴通讯股份有限公司 Decision tree generation method and equipment, based on decision tree packet classification method and equipment
CN102546399A (en) * 2011-12-16 2012-07-04 广东电网公司茂名供电局 Intelligent transformer substation process level message linear processing framework and intelligent transformer substation process level message linear processing method
CN102546399B (en) * 2011-12-16 2014-09-17 广东电网公司茂名供电局 Intelligent transformer substation process level message linear processing framework and intelligent transformer substation process level message linear processing method
WO2016049802A1 (en) * 2014-09-29 2016-04-07 Hewlett-Packard Development Company, L.P. Adaptive split and compression
CN104348729B (en) * 2014-10-11 2018-08-21 北京中创腾锐技术有限公司 A kind of Internet streaming sorting technique of software and hardware combining
CN104348729A (en) * 2014-10-11 2015-02-11 北京中创腾锐技术有限公司 Internet streaming classification method combining software and hardware
CN104486308A (en) * 2014-12-04 2015-04-01 南京邮电大学 Design method for high-speed multi-dimension message classification
CN109413016A (en) * 2018-04-28 2019-03-01 武汉思普崚技术有限公司 A kind of rule-based message detecting method and device
CN114143807A (en) * 2021-10-27 2022-03-04 中盈优创资讯科技有限公司 Method and device for evaluating integrity rate of route registration
CN114143807B (en) * 2021-10-27 2023-08-08 中盈优创资讯科技有限公司 Route registration integrity rate evaluation method and device
CN114827030A (en) * 2022-03-26 2022-07-29 西安电子科技大学 Flow classification device based on folded SRAM and table entry compression method

Also Published As

Publication number Publication date
CN100413285C (en) 2008-08-20

Similar Documents

Publication Publication Date Title
CN1688140A (en) High-speed multi-dimension message classifying algorithm design and realizing based on network processor
Jiang et al. Large-scale wire-speed packet classification on FPGAs
US7418505B2 (en) IP address lookup using either a hashing table or multiple hash functions
CN101345707B (en) Method and apparatus for implementing IPv6 packet classification
CN1784678A (en) System and method for efficiently searching a forwarding database that is split into a bounded number of sub-databases having a bounded size
CN103107945B (en) A kind of system and method for fast finding IPV6 route
CN1543150A (en) Packet classification apparatus and method using field level tries
Le et al. Memory-efficient and scalable virtual routers using FPGA
Pao et al. A multi-pipeline architecture for high-speed packet classification
Le et al. Scalable high throughput and power efficient ip-lookup on fpga
CN1815997A (en) Group classifying method based on regular collection division for use in internet
CN1529454A (en) Parallel route searching method and system for eliminating longest prefix match search
Hsieh et al. A classified multisuffix trie for IP lookup and update
CN1719769A (en) Method for classifying received data pocket in network apparatus
CN1477494A (en) Data packet recursive flow sorting method
Yim et al. Efficient binary search for IP address lookup
CN1191520C (en) TCAM high speed updating method supporting route compress
Kekely et al. Packet classification with limited memory resources
Chang et al. LayeredTrees: Most specific prefix-based pipelined design for on-chip IP address lookups
Zhou et al. Large-scale packet classification on FPGA
Veeramani et al. Efficient IP lookup using hybrid trie-based partitioning of TCAM-based open flow switches
Chang et al. Dynamic multiway segment tree for IP lookups and the fast pipelined search engine
Erdem et al. Clustered hierarchical search structure for large-scale packet classification on FPGA
Erdem Pipelined hierarchical architecture for high performance packet classification
CN1728676A (en) Device for searching route

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080820

Termination date: 20160603