This Article 
 Bibliographic References 
 Add to: 
A 2-Level TCAM Architecture for Ranges
December 2006 (vol. 55 no. 12)
pp. 1614-1629
As the demand for high-quality Internet increases, emerging network applications are spurring the need for faster, feature-rich, and cost-effective routers. Multifield packet classification in routers has been a computation-intensive data path function for software implementation. Therefore, solutions for packet classification based on hardware design, such as Ternary Content Addressable Memory (TCAM), are necessary to sustain gigabit line processing rate. Traditionally, TCAMs have been designed for storing prefixes. However, multifield packet classification usually involves two fields of arbitrary ranges that are TCP/IP layer 4 source and destination ports. Storing ranges in TCAMs relies on decomposing each individual range into multiple prefixes, which leads to range-to-prefix blowout. To reduce the total number of prefixes needed to represent all ranges, this paper proposes a 2-level TCAM architecture and two range-to-prefix conversion schemes. In the first proposed scheme, designed for disjoint ranges, the maximum number of entries needed in TCAM is 2m-1 for m disjoint ranges. In the second proposed scheme, designed for contiguous ranges, only m TCAM entries are needed. In a general case of n arbitrary ranges, all ranges can first be converted into disjoint ranges or contiguous ranges and then the proposed algorithms can be applied. As a result, only 4n-3 TCAM entries are needed for the disjoint ranges and only 2n+1 TCAM entries are needed for contiguous ranges. This paper also proposes insertion and deletion algorithms to accommodate incremental changes to the range sets. The experiments made show that the proposed range-to-prefix conversion schemes perform better than the existing schemes in terms of the number of required TCAM entries and execution time for range update operations.

[1] A. Feldmann and S. Muthukrishnan, “Tradeoffs for Packet Classification,” Proc. IEEE INFOCOM, Mar. 2000.
[2] P. Gupta and N. McKeown, “Algorithms for Packet Classification,” IEEE Network, vol. 15, no. 2, pp. 324-334, 2001.
[3] T. Woo, “A Modular Approach to Packet Classification: Algorithms and Results,” Proc. IEEE INFOCOM, 2000.
[4] F. Baboescu and G. Varghese, “Scalable Packet Classification,” Proc. ACM SIGCOMM, Aug. 2001.
[5] A.L. Buchsbaum, G.S. Fowler, B. Krishnamurthy, K.-P. Vo, and J. Wang, “Fast Prefix Matching of Bounded Strings,” ACM J. Experimental Algorithmics, vol. 8, Jan. 2003.
[6] S.H. Huang, L.E. Lee, and M.L. Huang, “A Special Purpose Content Addressable Memory for Network Packet Classifier,” Proc. 2004 Symp. Digital Life and Internet Technologies, 2004.
[7] E. Spitznagel, D. Taylor, and J. Turner, “Packet Classification Using Extended TCAMs,” Proc. IEEE Int'l Conf. Network Protocols (ICNP), 2003.
[8] D. Shah and P. Gupta, “Fast Updates on Ternary-CAMs for Packet Lookups and Classification,” Proc. Hot-Interconnects VIII, Aug. 2000, also in IEEE Micro, vol. 21, no. 1, pp. 36-47, Jan./Feb. 2002.
[9] M. de Berg, M. van Kreveld, M. Overmars, and O. Schwarzkopf, Computational Geometry: Algorithms and Applications, second ed. Springer-Verlag, 2000.
[10] F. Zane, G. Narlikar, and A. Basu, “CoolCAMs: Power-Efficient TCAMs for Forwarding Engines,” Proc. IEEE INFOCOM, Mar. 2003.
[11] Y.-K. Chang, “Power-Efficient TCAM Partitioning for IP Lookups with Incremental Updates,” Lecture Notes in Computer Science, vol. 3391, pp. 531-540, Jan. 2005.
[12] D.E. Taylor and J.S. Turner, “ClassBench: A Packet Classification Benchmark,” Proc. IEEE INFOCOM, 2005.
[13] R. Panigrahy and S. Sharma, “Sorting and Searching Using Ternary CAMs,” IEEE Micro, vol. 23, no. 1, pp. 44-53, Jan./Feb. 2003.
[14] N. Mohan and M. Sachdev, “Low Power Dual Matchline Ternary Content Addressable Memory,” Proc. IEEE Symp. Circuits and Systems, pp. 633-636, May 2004.
[15] T. Lakshman and D. Stiliadis, “High-Speed Policy-Based Packet Forwarding Using Efficient Multi-Dimensional Range Matching,” Proc. ACM SIGCOMM, 1998.
[16] N. Yazdani and P.S. Min, “Fast and Scalable Schemes for the IP Address Lookup Problem,” Proc. IEEE High Performance Switching and Routing, 2000.
[17] Z. Wang, H. Che, M. Kumar, and S.K. Das, “CoPTUA: Consistent Policy Table Update Algorithm for TCAM without Locking,” IEEE Trans. Computers, vol. 53, no. 12, pp. 1602-1614, Dec. 2004.
[18] M. Adiletta, M.R. Bluth, D. Bernstein, G. Wolrich, and H. Wilkinson, “The Next Generation of Intel IXP Network Processors,” Intel Technology J., vol. 6, no. 3, pp 6-18, 2002.
[19] V.C. Ravikumar, R.N. Mahapatra, and L.N. Bhuyan, “EaseCAM: An Energy and Storage Efficient TCAM-Based Router Architecture for IP Lookup,” IEEE Trans. Computers, pp. 521-533, May 2005.

Index Terms:
TCAM, ranges, disjoint ranges, contiguous ranges.
Yeim-Kuan Chang, "A 2-Level TCAM Architecture for Ranges," IEEE Transactions on Computers, vol. 55, no. 12, pp. 1614-1629, Dec. 2006, doi:10.1109/TC.2006.189
Usage of this product signifies your acceptance of the Terms of Use.