ppt - No Slide Title

Shared by: leader6
Categories
Tags
-
Stats
views:
2
posted:
7/10/2012
language:
English
pages:
28
Document Sample
scope of work template
							Packet Classification for Core Routers:
   Is there an alternative to CAMs?


                        Paper by:
     Florin Baboescu, Sumeet Singh, George Varghese



                     Presentation by:
                   Edward W. Spitznagel


                                              Edward W. Spitznagel
                       10 July 2012       1   Applied Research Laboratory
Outline
• Introduction
• Packet Classification Problem
• Extended Grid-of-Tries (EGT)
  –   Grid-of-Tries
  –   Extending Grid-of-Tries into EGT
  –   Path Compression
  –   Results
• Summary


                                           Edward W. Spitznagel
                        10 July 2012   2   Applied Research Laboratory
Packet Classification Problem
• Suppose you are a firewall, or QoS router, or network monitor ...
• You are given a list of rules (filters) to determine how to process
  incoming packets, based on the packet header fields
         Source    Destination   Source     Destination
Filter                                                        Protocol      Cost       Action
         Address    Address       Port         Port
  a       11*         01*         2-4             0-15         TCP           2         fwd 7
  b       01*         0010        3-15            3-15         UDP           10         fwd 2
  c       0101         *           3               *             *           5          deny
  d       1101        101*         *               *           ICMP          7          fwd 5


• Goal: when a packet arrives, find the least-cost rule that matches the
  packet’s header fields


                                                                         Edward W. Spitznagel
                                   10 July 2012           3              Applied Research Laboratory
Packet Classification Problem
• Example: packet arrives with header (0101, 0010, 3, 5, UDP)
      – classification result: filter c
      – filter b also matches, but, c has lower cost
          Source     Destination   Source      Destination
Filter                                                           Protocol      Cost       Action
          Address     Address       Port          Port
  a         11*         01*          2-4             0-15         TCP           2         fwd 7
  b         01*         0010        3-15             3-15         UDP           10         fwd 2
  c        0101           *           3               *             *           5          deny
  d        1101         101*          *               *           ICMP          7          fwd 5


• Easy when we have only a few rules; very hard with 100,000 rules
  and packets arriving at 40 Gb/s

                                                                            Edward W. Spitznagel
                                      10 July 2012           4              Applied Research Laboratory
Packet Classification - Metrics

• Metrics for evaluating classification algorithms:
  – Time complexity of classifying a packet
      often   expressed as the number of memory accesses required
  – Storage requirements of data structures
  – Number of fields that can be handled




                                                   Edward W. Spitznagel
                            10 July 2012   5       Applied Research Laboratory
Packet Classification in Core Routers
• Many core routers have “fairly large” (e.g. 2000
  rule) databases
  – Expected to grow; in fact, may be limited by current
    technology
• Classification in core routers must be done quickly
  – Emerging core routers operate at 40Gb/s. With 40-
    byte packets, that means one packet every 8 nsec
• Thus the general belief that brute-force hardware
  (TCAMs) will be necessary to support packet
  classification in core routers
                                             Edward W. Spitznagel
                        10 July 2012   6    Applied Research Laboratory
Packet Classification - TCAM disadvantages
• Ternary CAMs (TCAM) have disadvantages
   – Density Scaling: 10-12 transistors per bit of TCAM
     (vs. 4-6 transistors per bit of SRAM)
   – Power Scaling: due to performing all comparisons in
     parallel.
   – Time Scaling: 5-10 nsec for a TCAM operation
   – Extra Chips: requires TCAM chip(s) and bridge ASIC
   – Rule Multiplication for ranges: arbitrary ranges are
     represented by sets of prefixes; very inefficient.
• Thus, we consider an algorithmic solution...

                                           Edward W. Spitznagel
                       10 July 2012   7    Applied Research Laboratory
Packet Classification trends
• Packet classification in 2D: several good methods
  – Grid of Tries, Area-based QuadTrees, FIS-trees, Tuple-
    space search, range trees and fractional cascading
• Classification in k dimensions, where k>2, is hard
  – O(logK-1 N) time and linear space, or O(log N) time and
    O(NK) space, for N filters in K dimensions
• Modern algorithms: use heuristics to exploit the
  structure and properties that real-world filter
  databases tend to have.
  – Example: RFC and HiCuts algorithms

                                             Edward W. Spitznagel
                        10 July 2012   8    Applied Research Laboratory
Extended Grid of Tries (EGT)
• Observation: Core router tables studied have a low
  maximum filter depth in the 2D space defined by
  <Source IP Address, Destination IP Address>
                                           0xFFFF
      inthis case, “low” means                                                c
                                                                    b




                                             Dest.Address
       20 or less
                                                                d

      i.e.no point in this 2D plot                                        a
       of filters is covered by more
       than 20 filters                               0
                                                            0                         0xFFFF
                                                                Source Address
                                                                    Edward W. Spitznagel
                            10 July 2012            9               Applied Research Laboratory
Extended Grid of Tries (EGT)
• The Basic Idea:
  – Use an existing 2D scheme to classify with respect to
    Source IP and Dest. IP
  – Then, do linear search over a
    small list of possible matches
    (at most 20, but typically
    around 5)

• EGT: use Grid-of-Tries
  as the 2D scheme

                                             Edward W. Spitznagel
                       10 July 2012   10    Applied Research Laboratory
Grid of Tries - Intuition
• Imagine a search trie containing Dest. Address prefixes
• Now add a Source Address trie under each Dest. prefix
   – Filters are stored in these tries, perhaps multiple times




                                                       Edward W. Spitznagel
                             10 July 2012    11        Applied Research Laboratory
Grid of Tries - Intuition
• Reduce storage by storing each filter only once
  – But we now need to backtrack to ancestors’ source
    tries during a search...




                                           Edward W. Spitznagel
                       10 July 2012   12   Applied Research Laboratory
Grid of Tries
• Use switch pointers to improve search efficiency
  – allows us to jump to the next source trie among
    ancestors, instead of backtracking




                                             Edward W. Spitznagel
                       10 July 2012   13    Applied Research Laboratory
Extended Grid of Tries
• EGT uses jump pointers instead of switch pointers
   – EGT requires the 2D search to return all filters matching in
     those dimensions
   – Thus, some of the nodes skipped by a switch pointer cannot be
     skipped in an EGT search
• So, search complexity is a bit higher than in ordinary
  Grid-of-Tries
   – worst case search takes W+(H+1)*W = (H+2)*W time, where
     W=time to find best prefix in a single trie, and H=max trie
     height (H=32 for IPv4)
   – but, the authors expect typically it takes L*W with L being a
     small value (reflecting the low maximum prefix containment
     seen in most filter databases)
                                                    Edward W. Spitznagel
                           10 July 2012   14       Applied Research Laboratory
EGT with Path Compression (EGT-PC)
• EGT-PC adds Path Compression whereby single
  branching paths are removed
  – Improves search time and storage requirements, particularly for
    small filter sets




                                                   Edward W. Spitznagel
                           10 July 2012   15       Applied Research Laboratory
EGT-PC: Results
• Storage requirements: impressively low (almost as low as TCAM!)
   – since we store each filter only once




                 Storage, in terms of number of 32-bit words

• Classification time is good, but not as impressive
   – also a result of storing each filter once: we therefore may need to traverse
     multiple Source tries




                 Memory accesses, in terms of 32-bit word accesses

                                                                      Edward W. Spitznagel
                                    10 July 2012          16          Applied Research Laboratory
EGT-PC: Results
• Memory usage by component:




• Storage for list is proportional
  to number of filters
• Storage for trie is roughly
  proportional to number of filters
• Path compression reduces storage by a factor of 3, roughly

                                             Edward W. Spitznagel
                        10 July 2012   17    Applied Research Laboratory
EGT-PC: Results with larger databases
• Larger databases are generated using smaller ones as a core
   – randomly generated prefixes for Source Address and Destination Address,
     using the prefix length distributions from the original databases
   – Other fields are randomly derived from the distributions in the original
     databases
• Memory Accesses: still not bad, even for large databases




• Storage Requirements: still appear to be linear




                                                             Edward W. Spitznagel
                                10 July 2012     18         Applied Research Laboratory
EGT-PC: Remarks
• May only work well with core routers
• Lookups:
   – faster than HiCuts; not as fast or as deterministic as RFC.
   – can easily be characterized by maximum 2D filter depth
• Storage requirements: quite good
   – using Grid-of-Tries for the 2D scheme is a wise choice (storage efficiency)
• Very nice to have results comparing several different algorithms
  (unlike nearly all previous papers)
• It is possible to apply the basic EGT idea, but with a different 2D
  scheme
   – Tuple Space, FIS-trees, RFC in 2D, and perhaps Area-based QuadTrees
   – The trick is that the 2D scheme must be modified to return all filters matching
     those 2 dimensions (rather than just the least-cost filter matching those 2
     dimensions)
                                                                   Edward W. Spitznagel
                                  10 July 2012      19         Applied Research Laboratory
Comparison of different algorithms

 Best                                                                Worst
                                  Lookup Speed
 TCAM        EGT-PC    HiCuts-1   EGT                                  Linear
                                                                       Search
    RFC          HiCuts-4




  Best                         Storage Requirements                    Worst
   Linear      HiCuts-1     EGT    HiCuts-4
   Search                                                               RFC
      TCAM            EGT-PC




                                                       Edward W. Spitznagel
                                   10 July 2012   20   Applied Research Laboratory
Summary
• Packet Classification: Given packet P and list of filters
  F, find least cost filter in F that matches P
   – Important metrics: Lookup time, data structure size
• Extended Grid of Tries
   – Core routers have a low maximum filter depth in the 2D
     space defined by <Src. Addr, Dest. Addr>
   – Thus, we can perform a 2D search via Grid of Tries, and
     then
      and   we can add path compression to the trie
   – Lookup time is fairly good; storage requirements are
     very good.
                                                       Edward W. Spitznagel
                             10 July 2012   21         Applied Research Laboratory
Thanks -- Questions?




                                   Edward W. Spitznagel
               10 July 2012   22   Applied Research Laboratory
Backup slides to follow...




                                     Edward W. Spitznagel
                 10 July 2012   23   Applied Research Laboratory
Geometric Representation
• Filters with K fields can
  be represented
  geometrically in K
  dimensions                                                            c             c       c        c
                                                               6                 b
• Example:




                                                 Source Port
 Filter Source Address   Source Port                           4

  a         xxx             2-3                                         a
                                                               2
  b          010            0-7
  c         xx1              7                                 0
                                                                   0         2         4       6
                                                                            Source Address


                                                                                     Edward W. Spitznagel
                                  10 July 2012                     24                Applied Research Laboratory
Ternary CAMs

• Most popular practical approach to high-performance
  packet classification
• Hardware compares query word (packet header) to all
  stored words (filters) in parallel
   – each bit of a stored word can be 0, 1, or X (don’t care)
• Very fast, but not without drawbacks:
   – High power consumption limits scalability
   – inefficient representation of ranges




                                                      Edward W. Spitznagel
                             10 July 2012   25        Applied Research Laboratory
Ternary CAM - Example
         Src. Addr. Dest. Addr.
 Packet:   1110       0110                   Query:         11100110

                                                     TCAM
          Source    Destination            Address          Contents
 Filter
          Address    Address
                                                 0          11xxxxxx
   a       11xx        xxxx                                                     Match!
                                                            11100110
                                                 1          0xxx01xx
   b       0xxx        01xx                                                     Doesn’t Match
                                                            11100110
                                                 2          xxxx0110
   c       xxxx        0110                                                     Match!
                                                            11100110


                                                      (Now perform priority
                                                       resolution...)
                                                                       Edward W. Spitznagel
                                  10 July 2012         26              Applied Research Laboratory
Range Matching in TCAMs

  Filter   Source Port   Destination Port
    F         1-4              3-5

                                                                       6




                                                    Destination Port
                                                                       4
                                                                                     F
• Convert ranges into
  sets of prefixes
   – 1-4 becomes 001, 01*, and 100                                     2

   – 3-5 becomes 011 and 10*
                                                                       0
                                                                           0     2        4     6
                                                                                Source Port


                                                                                         Edward W. Spitznagel
                                     10 July 2012                          27        Applied Research Laboratory
Range Matching in TCAMs
  Filter   Source Port   Destination Port
    a         001             10*
    b         01*             10*
    c         100             10*
                                                                       6




                                                    Destination Port
    d         001             011
                                                                                a       b        c
    e         01*             011                                      4
    f         100             011                                               d       e        f
                                                                       2
 • With two 16-bit range fields,
   a single rule could require up
                                                                       0
   to 900 TCAM entries!                                                    0        2        4       6
 • Typical case: entire filter set                                              Source Port
   expands by a factor of 2 to 6

                                                                                            Edward W. Spitznagel
                                     10 July 2012                          28           Applied Research Laboratory

						
Related docs
Other docs by leader6
高中英语阅读理解解题技巧
Views: 1  |  Downloads: 0
BENEDICTS ON THE LIGHTER OMELETS
Views: 0  |  Downloads: 0
FRIDAY_ JULY 17 SATURDAY_ JULY 18
Views: 10  |  Downloads: 0
EXHAUST SYSTEM AND INTAKE MANIFOLD
Views: 11  |  Downloads: 0
VoIP Service Reference
Views: 0  |  Downloads: 0
Shotlist Footage_english
Views: 4  |  Downloads: 0
GENERICA
Views: 1  |  Downloads: 0
Being Healthy [
Views: 0  |  Downloads: 0