Title: An Encoding Scheme for TCAMBased Packet Classification
1An Encoding Scheme forTCAM-Based Packet
Classification
Authors Derek Pao, Yiu Keung Li, and Peng
Zhou Publisher ICACT 2006 (The International
Conference on Advanced Communication Technology)
Present Shih-Chin Chang Date Tuesday,
November 24, 2009
Department of Computer Science and Information
Engineering National Cheng Kung University,
Taiwan
2Outline
- Introduction
- Prefix Inclusion Coding Scheme
- Performance Evaluation
- TCAM Space Requirements
- Incremental Updating
3Introduction
4Introduction (cont.)
5Outline
- Introduction
- Prefix Inclusion Coding Scheme
- Performance Evaluation
- TCAM Space Requirements
- Incremental Updating
6Prefix Inclusion Coding Scheme
- Let p and q be two distinct address prefixes
where the length of p is shorter than or equal to
the length of q. - Prefixed p and q are either disjoint, or q is
enclosed by p (i.e. q is a subrange of p). - Let Cp and Cq be the codewords assigned to p and
q, respectively. The codeword assignment
satisfies the following 3 requirements - A valid codeword must have a non-zero value.
- The inclusion property is preserved. Cq is
enclosed by Cp iff q is enclosed by p. - If q is enclosed by p, then Cq must have a
non-zero suffix extension from Cp.
7Prefix Inclusion Coding Scheme (cont.)
8Prefix Inclusion Coding Scheme (cont.)
9Prefix Inclusion Coding Scheme (cont.)
- Given a sorted list of n prefixes, a tree
(i-tree) that represents the inclusion prefixes
can be constructed in O(hn) time where h is the
depth of the tree. - Depth of the inclusion tree depends on the
maximum nesting level prefixes. It has been found
that the maximum nesting level of prefixes in
real-life classifiers is about 6. 19 - The minimum codeword length is equal to ?2 of the
code space occupied by the root. For example, the
codeword length is 5 bits. - The overall computation complexity of PIC is
O(n?n).
19 D. E. Taylor and J. S. Turner, ClassBench
A Packet Classification Benchmark, IEEE INFOCOM
2005,
10Prefix Inclusion Coding Scheme (cont.)
- In PIC, the address translation is equivalent to
finding the longest matching prefix in the
codeword table. - In the codeword table, a dont care bit in a
codeword is substituted by a zero. - For example, the 8-bit input address is 1110 0111
? the best matching prefix is J 11100 ? return
10100 - The codeword lookup can be implement using TCAM.
11Prefix Inclusion Coding Scheme (cont.)
- In the PIC encoding scheme, if 2 port ranges are
partially overlapping, one of the 2 ranges will
be decomposed. - Using a hybrid encoding method that combines PIC
with P2C may be avoiding port range decomposition.
12Prefix Inclusion Coding Scheme (cont.)
- In the hybrid method, partially overlapped ranges
are grouped into a composite range. - Within the composite range, B and C are encoded
using P2C style II, i.e. B is assigned a code
value of 1x, and C is assigned a code value of
x1. - If there is a range R that spans the two basic
ranges 1-1023 and 1024-65535, then it is not
recommended to use the hybrid method to encode
the three ranges. It would be more effective to
decompose R into two subranges. - Since the port number only has 16 bits, the
codeword translation can be implemented using
direct table lookup with a 64K-entry array. - In real-life classifiers, the protocol field can
be represented by a 3-bit or 4-bit codeword.
13Outline
- Introduction
- Prefix Inclusion Coding Scheme
- Performance Evaluation
- TCAM Space Requirements
- Incremental Updating
14Performance Evaluation
- The rule set generator developed by Taylor. 19
- There are 3 types of classifiers, namely, the
access control list (ACL), firewall (FW) and IP
chain (IPC).
19 D. E. Taylor and J. S. Turner, ClassBench
A Packet Classification Benchmark, IEEE INFOCOM
2005,
15Performance Evaluation (cont.)
16TCAM Space Requirements
4
4 / 1
2
3
1
17Incremental Updating
- Code space management in PIC is conceptually
similar to the classical blocks packing problem,
where a given number of variable-sized objects
are to be packed into fixed-size boxes. - To facilitate dynamic insertions, up to 4 times
the required code spaces are allocated to
internal nodes of the i-tree. - By doing so, the code length of the field can be
increased by 2 bits. - When a new node y is added to the i-tree, the
minimum code space required by nodes along the
path from the root to y is recomputed.