Upload
lora-rich
View
216
Download
0
Embed Size (px)
Citation preview
ClassBench: A Packet Classification Benchmark
David E. Taylor, Jonathan S. TurnerWashington University in Saint Louis
Presented by Jian-Meng Yang
Background
Packet classification is an enabling technology A classifier example (5 tuples)
[Figure from Professor Jonathan Chao’s book]
Background A packet classifier must compare hea
der fields of every incoming packet To accelerate search time or reduce st
orage requirements No standard performance evaluation
tools ClassBench is presented !
ClassBench A suite of tools for benchmarking
packet classification algorithms and devices.
Consists of three tools: Filter Set Analyzer Filter Set Generator Trace Generator
ClassBench Architecture
General approach Construct a set of
benchmark parameter files
Generate a synthetic filter set
Generate a sequence of packet headers
Analysis of Seed Filter Sets
Understanding Filter Composition We can view a filter as having two
major components: An address prefix pair An application specification
Address prefix pair Identifies the communicating subnets by
specifying a source address prefix and a destination address prefix.
Analysis of Seed Filter Sets Application Specification
Identifies a specific application session by specifying the transport protocol, source port number, and destination port number.
Address prefix pair The speed and efficiency of several
longest prefix matching and packet classification algorithms depend upon
The number of unique prefix lengths The distribution of filters across those
unique values.
Analysis of Seed Filter Sets The number of unique prefix lengths
acl: access control list
fw: firewall
ipc: IP chain
Analysis of Seed Filter Sets The distribution of filters across those unique v
alues Real filter sets have unique prefix pair distributions t
hat reflect the types of filters contained in the filter set.
acl5:
Analysis of Seed Filter Sets 2 Distributions to facilitate construction
of synthetic filter sets that accurately model seed filter sets:
Branching Probability Distribution For each level in the tree, we compute the probabi
lity that a node has one child or two children. Skew Distribution
For nodes with TWO children, we compute skew, which is a relative measure of the “weights” of the left and right subtrees of the node.
Weight: The number of filters specifying prefixes in the subtree
Analysis of Seed Filter Sets Skew Distribution
L
heavy be the subtree with the largest weight light be the subtree with equal or less weight
The Black nodes denote a prefix specified by a single filter.
The subtrees denotedby triangles with associated weight.
( )1 Light
Heavy
WeightSkew
Weight
Analysis of Seed Filter Sets
Branching Probability
Distribution
Skew Distribution
Analysis of Seed Filter Sets Application Specification
3 useful characteristics Protocol:
Analysis of Seed Filter Sets Port Ranges
WC, wildcard HI, ephemeral user port range [1024 : 65535] LO, well-known system port range [0 : 1023] AR, arbitrary range EM, exact match
Port Pair Class The structure of source and destination port
range pairs is a key point of interest for both modeling real filter sets and designing efficient search algorithms.
Parameter Files
Given a seed filter set, the Filter Set Analyzer generates a parameter file.
Parameter files contain Statistics and probability distributions th
at allow the Filter Set Generator to produce a synthetic filter set.
Parameter Files
Parameter files includes Protocol specifications and the
distribution of filters over those values.
Port Pair Class Matrix Prefix pair length
Synthetic Filter Set Generator
High-level input parameters size: Target size for the synthetic filter
set. smoothing: Controls the number of new address aggregates. Scope: The measure of the number of possible packet headers covered by
the filter.
Trace Generator
Benchmarking a particular packet classification algorithm or device
We must exercise the algorithm or device using a sequence of synthetic packet headers.
Comment
It provides the network research scientists a good tool for evaluating their packet classifier performance.
No information about how to get or generate the Seed filter set.
How about the exceptions?