Apparatus and method of classifying packets

  • US 8,165,125 B2
  • Filed: 09/08/2008
  • Issued: 04/24/2012
  • Est. Priority Date: 11/27/2007
  • Status: Active Grant
First Claim
Patent Images

1. An apparatus for classifying packets, comprising:

  • a first unit that analyzes input data packets, extracts pluralities of specific fields from the input data packets using an analyzed result, and outputs the pluralities of extracted specific fields;

    pluralities of second units that compare data of a first portion of the pluralities of extracted specific fields with data in a table, determine whether items that satisfy a predetermined condition exist in the table, and output hit signals and pointers indicating positions of the items that satisfy the predetermined condition when the items that satisfy the predetermined condition exist in the table where the hit signals indicate there are matched items among items constituting the table and the pointers have an effective value; and

    a third unit that compares key data including a second portion of the pluralities of extracted specific fields and the pointers input from the pluralities of second units with rule data in a rule table, determines whether items that satisfy a predetermined condition exist in the rule table, and outputs classes corresponding to the items when the items that satisfy the predetermined condition exist in the rule table,wherein the pluralities of second units comprise;

    a first single field search unit that performs a prefix match search,wherein the first single field search unit comprises;

    a mask table that stores masks used to mask bits of data of a third portion the pluralities of extracted specific fields;

    a content table that stores data that have values or types to be compared with the data of the third portion of the pluralities of extracted specific fields;

    a comparator that reads masks and content data from the mask table and the content table, respectively, and, item by item, masks bits of the data of the third portion of the pluralities of extracted specific fields and bits of the content data using the masks, compares a non-masked portion of the data of the third portion of the pluralities of extracted specific fields with a non-masked portion of the content data and outputs a compared result indicating matching when the non-masked portion of the data of the third portion of the pluralities of extracted specific fields matches the non-masked portion of the content data or a compared result indicating non-matching when the non-masked portion of the data of the third portion of the pluralities of extracted specific fields does not match the non-masked portion of the content data, and, for all items, outputs compared results and positional information on positions where the content data are stored in the content table; and

    a pointer and hit signal generator that generates the hit signals and pointers, when it is determined that there are matched items among items constituting the content table on the basis of the compared results and the positional information;

    a second single field search unit that performs a range match search; and

    a third single field search unit that performs an exact match search.

View all claims
    ×
    ×

    Thank you for your feedback

    ×
    ×