← Back to Patent Explorer
US7953082B2 Active / In Force US ⏱️ 1.6 years remaining

Method and system for packet classification with reduced memory space and enhanced access speed

Assignee: National Taiwan University
•
Filing: 2008-06-27
•
Granted: 2011-05-31
•
Expires: 2028-06-27
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and system for packet classification is proposed for applications such as firewalls, intrusion detection, policy-based routing, and network service differentiations, within network systems such as Internet or intranet/extranet systems. The proposed method and system is characterized by the use of protocol-oriented rule rearrangement, the probable bit vector (PBV) based on the aggregated bit vectors (ABV) and folded bit vectors (FBV), an ABV-FBV index table dataset whose data structure is based on a featured split full-tree schema, and a DCBV (Don't-Care Bit Vector) dataset for packet classification. The combination of these features allows the packet classification to be implemented with a reduced amount of memory and access time during operation.

Inventors

  • 👤 Sheng-Hsun Cho
  • 👤 Sheng-De Wang

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-24 12:07
CPC Classifications
H; H04; H04L; H04L47/00; H04L47/10; H04L47/24; H04L47/2425; H04L47/2433; H04L47/2441; H04L63/00; H04L63/02; H04L63/0227; H04L63/0236; H04L69/00; H04L69/22

Claims Analysis

Total Claims: 22
Claim 1
Independent Claim 479 words
A packet classification method applicable to a packet classification system for packet classification on a networking device having an embedded memory unit and associated with a user-predefined original rule database at least having a source IP address field, a destination IP address field, a source port field, a destination port field, and a protocol field, the packet classification system having a preprocessing unit and a packet processing unit, the preprocessing unit including a rule rearrangement module and a classification lookup data building module, the packet processing unit including a protocol range retrieving module, an ABV-FBV lookup module, a probable bit vector generating module and a rule search module, the packet classification method comprising: a preprocessing stage and a packet processing stage; wherein the preprocessing stage includes: utilizing the rule rearrangement module to perform a protocol-oriented rule rearrangement process on the user-predefined original rule database based on user-preset values in the protocol field of the user-predefined original rule database, wherein the user-predefined original rule database is rearranged in such a manner that a DON'T-CARE protocol value is rearranged to a topmost position and all protocol-specific values are arranged in an ascending order following the DON'T-CARE protocol value; utilizing the classification lookup data building module to build a classification lookup database file which at least includes an ABV-FBV index table dataset and a protocol range dataset based on the rearranged rule database, the ABV-FBV index table dataset having a split full-tree schema; and storing the classification lookup database file into the embedded memory unit of the networking device; and wherein the packet processing stage is performed in response to an incoming packet to the networking device during active operation of the networking device, and which includes: utilizing the protocol range retrieving module to check the protocol of the incoming packet and use the protocol value of the incoming packet as an index to retrieve a corresponding packet-specific protocol range from the protocol range dataset prestored in the embedded memory unit of the networking device; utilizing the ABV-FBV lookup module to check a source IP address and destination IP address of the incoming packet and use the source IP address and destination IP address as indexes to retrieve corresponding sets of aggregated bit vectors and folded bit vectors from the ABV-FBV index table dataset prestored in the embedded memory unit of the networking device; utilizing the probable bit vector generating module to generate a probable bit vector based on each retrieved pair of aggregated bit vector and folded bit vector from the ABV-FBV index table dataset; and utilizing the rule search module to perform a search through the probable bit vector within a don't-care protocol range and the packet-specific protocol range to find every rule in the user-predefined original rule database that is matched to the incoming packet, and then return a higher-prioritized rule as the end result of the packet classification.
Claim 2
Dependent Claim 479 words
A packet classification method applicable to a packet classification system for packet classification on a networking device having an embedded memory unit and associated with a user-predefined original rule database at least having a source IP address field, a destination IP address field, a source port field, a destination port field, and a protocol field, the packet classification system having a preprocessing unit and a packet processing unit, the preprocessing unit including a rule rearrangement module and a classification lookup data building module, the packet processing unit including a protocol range retrieving module, an ABV-FBV lookup module, a probable bit vector generating module and a rule search module, the packet classification method comprising: a preprocessing stage and a packet processing stage; wherein the preprocessing stage includes: utilizing the rule rearrangement module to perform a protocol-oriented rule rearrangement process on the user-predefined original rule database based on user-preset values in the protocol field of the user-predefined original rule database, wherein the user-predefined original rule database is rearranged in such a manner that a DON'T-CARE protocol value is rearranged to a topmost position and all protocol-specific values are arranged in an ascending order following the DON'T-CARE protocol value; utilizing the classification lookup data building module to build a classification lookup database file which at least includes an ABV-FBV index table dataset and a protocol range dataset based on the rearranged rule database, the ABV-FBV index table dataset having a split full-tree schema; and storing the classification lookup database file into the embedded memory unit of the networking device; and wherein the packet processing stage is performed in response to an incoming packet to the networking device during active operation of the networking device, and which includes: utilizing the protocol range retrieving module to check the protocol of the incoming packet and use the protocol value of the incoming packet as an index to retrieve a corresponding packet-specific protocol range from the protocol range dataset prestored in the embedded memory unit of the networking device; utilizing the ABV-FBV lookup module to check a source IP address and destination IP address of the incoming packet and use the source IP address and destination IP address as indexes to retrieve corresponding sets of aggregated bit vectors and folded bit vectors from the ABV-FBV index table dataset prestored in the embedded memory unit of the networking device; utilizing the probable bit vector generating module to generate a probable bit vector based on each retrieved pair of aggregated bit vector and folded bit vector from the ABV-FBV index table dataset; and utilizing the rule search module to perform a search through the probable bit vector within a don't-care protocol range and the packet-specific protocol range to find every rule in the user-predefined original rule database that is matched to the incoming packet, and then return a higher-prioritized rule as the end result of the packet classification.
Claim 3
Dependent Claim 22 words
The packet classification method of claim 1 , wherein the network system is a TCP/IP (Transmission Control Protocol/Internet Protocol) compliant network system.
Claim 4
Dependent Claim 15 words
The packet classification method of claim 1 , wherein the networking device is a server.
Claim 5
Dependent Claim 14 words
The packet classification method of claim 1 wherein the networking device is a firewall.
Claim 6
Dependent Claim 15 words
The packet classification method of claim 1 , wherein the networking device is a router.
Claim 7
Dependent Claim 40 words
The packet classification method of claim 1 , wherein the classification lookup database file further includes a DCBV (Don't-Care Bit Vector) dataset which stores a set of don't-care bit vectors that define a number of don't-care positions in packet classification.
Claim 8
Dependent Claim 31 words
The packet classification method of claim 1 , wherein, if the same protocol value corresponds to two or more rules, the two or more rules are arranged based on priority settings.
Claim 9
Dependent Claim 33 words
The packet classification method of claim 7 , wherein the priority settings indicate that a rule with a higher priority is arranged to a topper position than another rule with a lower priority.
Claim 10
Dependent Claim 26 words
The packet classification method of claim 1 , wherein a first bit of each protocol range of consecutive 1's is stored in the original rule database.
Claim 11
Dependent Claim 37 words
The packet classification method of claim 1 , wherein, for each rule in the original rule database, four bit vectors are created for the source IP address, destination IP address, source port, and destination port fields, respectively.
Claim 12
Dependent Claim 40 words
The packet classification method of claim 10 , wherein, if a certain field in a certain rule is don't-care, the corresponding bit in the bit vector associated with the certain rule is set to 1, and otherwise set to 0.
Claim 13
Dependent Claim 46 words
The packet classification method of claim 10 , wherein the four bit vectors are combined to form a Don't-Care Bit Vector (DCBV), and all the DCBVs are combined to form a DCBV dataset, in which bit values indicate which fields in the certain rule are don't-care.
Claim 14
Dependent Claim 434 words
A packet classification system for integration to a networking device having an embedded memory unit and associated with a user-predefined original rule database at least having a source IP address field, a destination IP address field, a source port field, a destination port field, and a protocol field; the packet classification system comprising: a preprocessing unit and a packet processing unit, wherein the preprocessing unit includes: a rule rearrangement module, which is capable of performing a protocol-oriented rule rearrangement process on the user-predefined original rule database based on user-preset values in the protocol field of the user-predefined original rule database, wherein the user-predefined original rule database is rearranged in such a manner that a DON'T-CARE protocol value is rearranged to a topmost position and all protocol-specific values are arranged in an ascending order following the DON'T-CARE protocol value; a classification lookup data building module, which is capable of building a classification lookup database file which at least includes an ABV-FBV index table dataset and a protocol range dataset based on the rearranged rule database, the ABV-FBV index table dataset having a split full-tree schema; and a storage module, which is capable of storing the classification lookup database file into the embedded memory unit of the networking device; and wherein the packet processing unit is activated to operate in response to an incoming packet to the networking device, and which includes: a protocol range retrieving module, which is capable of checking the protocol of the incoming packet and using a protocol value of the incoming packet as an index to retrieve a corresponding packet-specific protocol range from the protocol range dataset prestored in the embedded memory unit of the networking device; an ABV-FBV lookup module, which is capable of checking a source IP address and destination IP address of the incoming packet and using the source IP address and destination IP address as indexes to retrieve corresponding sets of aggregated bit vectors and folded bit vectors from the ABV-FBV index table dataset prestored in the embedded memory unit of the networking device; a probable bit vector generating module, which is capable of generating a probable bit vector (PBV) based on each retrieved pair of aggregated bit vector and folded bit vector from the ABV-FBV index table dataset; and a rule search module, which is capable of performing a search through the probable bit vector within the don't-care protocol range and the packet-specific protocol range to find every rule in the user-predefined original rule database that is matched to the incoming packet, and then returning a higher-prioritized rule as the end result of the packet classification.
Claim 15
Dependent Claim 434 words
A packet classification system for integration to a networking device having an embedded memory unit and associated with a user-predefined original rule database at least having a source IP address field, a destination IP address field, a source port field, a destination port field, and a protocol field; the packet classification system comprising: a preprocessing unit and a packet processing unit, wherein the preprocessing unit includes: a rule rearrangement module, which is capable of performing a protocol-oriented rule rearrangement process on the user-predefined original rule database based on user-preset values in the protocol field of the user-predefined original rule database, wherein the user-predefined original rule database is rearranged in such a manner that a DON'T-CARE protocol value is rearranged to a topmost position and all protocol-specific values are arranged in an ascending order following the DON'T-CARE protocol value; a classification lookup data building module, which is capable of building a classification lookup database file which at least includes an ABV-FBV index table dataset and a protocol range dataset based on the rearranged rule database, the ABV-FBV index table dataset having a split full-tree schema; and a storage module, which is capable of storing the classification lookup database file into the embedded memory unit of the networking device; and wherein the packet processing unit is activated to operate in response to an incoming packet to the networking device, and which includes: a protocol range retrieving module, which is capable of checking the protocol of the incoming packet and using a protocol value of the incoming packet as an index to retrieve a corresponding packet-specific protocol range from the protocol range dataset prestored in the embedded memory unit of the networking device; an ABV-FBV lookup module, which is capable of checking a source IP address and destination IP address of the incoming packet and using the source IP address and destination IP address as indexes to retrieve corresponding sets of aggregated bit vectors and folded bit vectors from the ABV-FBV index table dataset prestored in the embedded memory unit of the networking device; a probable bit vector generating module, which is capable of generating a probable bit vector (PBV) based on each retrieved pair of aggregated bit vector and folded bit vector from the ABV-FBV index table dataset; and a rule search module, which is capable of performing a search through the probable bit vector within the don't-care protocol range and the packet-specific protocol range to find every rule in the user-predefined original rule database that is matched to the incoming packet, and then returning a higher-prioritized rule as the end result of the packet classification.
Claim 16
Dependent Claim 26 words
The packet classification system of claim 13 , wherein a first bit of each protocol range of consecutive 1's is stored in the original rule database.
Claim 17
Dependent Claim 37 words
The packet classification system of claim 13 , wherein, for each rule in the original rule database, four bit vectors are created for the source IP address, destination IP address, source port, and destination port fields, respectively.
Claim 18
Dependent Claim 40 words
The packet classification system of claim 15 , wherein, if a certain field in a certain rule is don't-care, the corresponding bit in the bit vector associated with the certain rule is set to 1, and otherwise set to 0.
Claim 19
Dependent Claim 46 words
The packet classification system of claim 15 , wherein the four bit vectors are combined to form a Don't-Care Bit Vector (DCBV), and all the DCBVs are combined to form a DCBV dataset, in which bit values indicate which fields in the certain rule are don't-care.
Claim 20
Dependent Claim 40 words
The packet classification system of claim 13 , wherein the classification lookup database file further includes a DCBV (Don't-Care Bit Vector) dataset which stores a set of don't-care bit vectors that define a number of don't-care positions in packet classification.
Claim 21
Dependent Claim 31 words
The packet classification system of claim 13 , wherein, if the same protocol value corresponds to two or more rules, the two or more rules are arranged based on priority settings.
Claim 22
Dependent Claim 33 words
The packet classification system of claim 19 , wherein the priority settings indicate that a rule with a higher priority is arranged to a topper position than another rule with a lower priority.

References Cited (Backward Citations)

US7508825B2 Cited
US7525958B2 Cited
US7586851B2 Cited
US7619983B2 Cited
US7697518B1 Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2014-05-30 2014-11-29 2015-05-31 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2018-05-30 2018-11-29 2019-05-31 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2022-05-30 2022-11-29 2023-05-31 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag