Packet Classification using Hierarchical Intelligent Cuttings

1 / 25

# Packet Classification using Hierarchical Intelligent Cuttings - PowerPoint PPT Presentation

Packet Classification using Hierarchical Intelligent Cuttings. Pankaj Gupta and Nick McKeown Stanford University {pankaj, nickm}@stanford.edu. Hot Interconnects VII August 18, 1999. Outline . Introduction and Motivation Overview of the proposed algorithm Details of the algorithm

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about 'Packet Classification using Hierarchical Intelligent Cuttings' - andren

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

### Packet Classificationusing Hierarchical Intelligent Cuttings

Pankaj Gupta and Nick McKeown

Stanford University

{pankaj, nickm}@stanford.edu

Hot Interconnects VII

August 18, 1999

Outline
• Introduction and Motivation
• Overview of the proposed algorithm
• Details of the algorithm
• Implementation Results
• Conclusions

Packet Classification using Hierarchical Intelligent Cuttings

Forwarding Engine

Packet Classification

Classifier (Policy Database)

Predicate

Action

----

----

----

----

----

----

Packet Classification

Action

Incoming Packet

Multi-field Packet Classification

Given a classifier with N rules, find the action associated with the highest priority rule matching an incoming packet.

Example: A packet (152.168.3.32, 152.163.171.71, …, TCP) would have action A2 applied to it.

Performance Metrics of a Classification Algorithm
• Data structure storage requirements
• Packet classification time
• Preprocessing time
• Incremental Update time
Bounds from Computational Geometry

Point Location among N non-overlapping regions in k dimensions takes

either

O(log N) time with O(Nk) space,

or

O(logk-1N) time with O(N) space

Observations
• No single good solution for all cases.
• But real classifiers have structure.
• Perhaps an algorithm can exploit this structure.
• A heuristic hybrid scheme ….
Proposed Algorithm: Basic Idea

{R1, R2, R3, …, Rn}

Decision Tree

{R1, R3,R4}

{R1, R2,R5}

{R8, Rn}

Binth: BinThreshold = Maximum Subset Size = 3

P

(0-31,0-255)

Geometric View

255

R1

R7

R3

R2

128

R4

R6

R5

0

0

128

255

With each internal node v, associate:

• A rectangle, or a box B(v)
• A set of rules, CollidingRuleSet, R(v)
• A HiCutC(v) = (dimension d, #partitions of B(v) across d)
HiCuts

255

R1

R7

R3

Y

R2

128

R4

R6

R5

0

X

0

128

255

HiCuts

255

R3

Y

R2

128

R4

R5

0

X

64

128

Packet P(65, 130)

HiCut Decision Tree for binth = 2

(256 * 256, X, 4)

(64*256, Y, 2)

R1

R2

R2

R2

R6

R7

R4

R2

R5

R6

Heuristics to exploit classifier structure
• Picking a suitable dimension to hicut across.
• Minimize the maximum number of rules into any one partition, OR
• Maximize the entropy of the distribution of rules across the partition, OR
• Maximise the different number of specifications in one dimension
• Picking the suitable number of partitions (HiCuts) to be made.
• Affects the space consumed and the classification time. Tuned by a parameter, spfac.
Tunable Parameters
• Binth, the maximum size of the set of rules at each leaf
• Spfac, a parameter which guides the partitioning process to choose the number of partitions
• 40 access-lists taken from real ISP and enterprise networks
• Four dimensions: (Src IP, Dst IP, L4 protocol, L4 destination port)
• 100-1733 rules

Crossproducting

Number of Memory Accesses

Number of Rules (log scale)

Binth = 8, spfac = 4

Size of the data structure

Space in KiloBytes (log scale)

Number of Rules (log scale)

Binth = 8 ; spfac = 4

Comparison with Crossproducting

Space in MegaBytes (log scale)

Number of Rules (log scale)

Binth = 8 ; spfac = 4

Preprocessing Time

Time in seconds (log scale)

Number of Rules (log scale)

Binth = 8, spfac = 4, 333MHz P-II running Linux

Incremental Update Time

Time in seconds (log scale)

Number of Rules (log scale)

Binth = 8, spfac = 4 , 333MHz P-II running Linux

Conclusions
• Exploiting the structure of classifiers is important for a good solution.
• The proposed HiCut packet classification scheme seems to be of practical use.
In the paper...
• Explanation of the heuristics used in building the HiCut decision tree.
• Detailed implementation results.
• Effect of the parameters binth and spfac on the depth and space characteristics.
• Available at:

http://www-cs-students.stanford.edu/~pankaj/research.html

• Email: pankaj@stanford.edu