Chad R. Meiners and Alex X Liu and Eric Torng
April, 2009
Packet classification is the core mechanism that enables many networking services such as packet filtering and traffic accounting. Using Ternary Content Addressable Memories (TCAMs) to perform high-speed packet classification has become the \emph{de facto} standard in industry because TCAMs can facilitate constant time classification by comparing a packet with all rules of ternary encoding in parallel. Despite their high speed, TCAMs have limitations of small capacity, large power consumption, and relatively slow access times. The well-known range expansion problem in converting range rules to ternary rules significantly exacerbates these TCAM limitations. While we can expect some gain in TCAM performance from improved hardware, the demands on TCAM performance as measured by the number of rules in packet classifiers increase far more rapidly due to the explosive growth of Internet services and threats. One reason TCAM-based packet classifiers are so large is the multiplicative effect inherent in representing $d$-dimen\-sional classifiers in TCAMs. Although several TCAM optimization techniques have been proposed, they cannot fully address the multiplicative effect because they still produce five-dimensional classifiers. To address the multiplicative effect, we abandon the traditional TCAM classification paradi\-gm that performs a single five-dimensional lookup on a single five-dimensional classifier stored in a large TCAM. Instead, we propose the TCAM SPliT architecture, where a five dimensional classifier is split into two low dimensional classifiers, each of which is stored on its own small TCAM. Accordingly, a five-dimensional lookup is split into two low dimensional, pipelined lookups with one lookup on each chip. TCAM SPliT is the first scheme that fundamentally addresses the multiplicative effect in TCAM-based packet classification by decomposing a high dimensional classifier into two low dimensional classifiers. TCAM SPliT significantly improves TCAM-based packet classification in the three aspects of space, power, and throughput. On real-world classifiers, for space, TCAM SPliT reduces space requirement by an average of $92\%$; for power, TCAM SPliT reduces power consumption by an average of $37.9\%$; for throughput, TCAM SPliT improves classification throughput by an average of $63.3\%$. Assuming the average compression ratio of 8\% applies to large classifiers, we extrapolate that TCAM SPliT can reduce power consumption by more than a factor of 5 and increase throughput by more than a factor of 2.5 when applied to a classifier whose direct expansion requires a 36Mb TCAM, which is the largest TCAM chip available.
You are granted permission for the non-commercial reproduction, distribution, display, and performance of this technical report in any format.