• DocumentCode
    905377
  • Title

    Deep packet inspection using parallel bloom filters

  • Author

    Dharmapurikar, Sarang ; Krishnamurthy, Praveen ; Sproull, Todd S. ; Lockwood, John W.

  • Author_Institution
    Washington Univ., St. Louis, MO, USA
  • Volume
    24
  • Issue
    1
  • fYear
    2004
  • Firstpage
    52
  • Lastpage
    61
  • Abstract
    There is a class of packet processing applications that inspect packets deeper than the protocol headers to analyze content. For instance, network security applications must drop packets containing certain malicious Internet worms or computer viruses carried in a packet payload. Content forwarding applications look at the hypertext transport protocol headers and distribute the requests among the servers for load balancing. Packet inspection applications, when deployed at router ports, must operate at wire speeds. With networking speeds doubling every year, it is becoming increasingly difficult for software-based packet monitors to keep up with the line rates. We describe a hardware-based technique using Bloom filters, which can detect strings in streaming data without degrading network throughput. A Bloom filter is a data structure that stores a set of signatures compactly by computing multiple hash functions on each member of the set. This technique queries a database of strings to check for the membership of a particular string. The answer to this query can be false positive but never a false negative. An important property of this data structure is that the computation time involved in performing the query is independent of the number of strings in the database provided the memory used by the data structure scales linearly with the number of strings stored in it. Furthermore, the amount of storage required by the Bloom filter for each string is independent of its length.
  • Keywords
    computer networks; cryptography; data structures; message authentication; string matching; deep packet inspection; hash functions; network security applications; packet processing applications; parallel Bloom filter data structure; software-based packet monitors; Application software; Computer security; Computer worms; Data structures; Databases; IP networks; Information filtering; Information filters; Inspection; Protocols;
  • fLanguage
    English
  • Journal_Title
    Micro, IEEE
  • Publisher
    ieee
  • ISSN
    0272-1732
  • Type

    jour

  • DOI
    10.1109/MM.2004.1268997
  • Filename
    1268997