Efficient packet classification using TCAMs

Multi-field packet classification is necessary to support advanced Internet functions, such as network security, quality of service provisioning, traffic policing, virtual private networking, etc. Ternary content addressable memory (TCAM) is currently the dominant solution method used by the industry because of its speed and the simplicity of filter table management. High cost and high power consumption are the two major drawbacks of TCAM-based lookup engines. Adoption of IPv6 with increased address length will further exacerbate the challenges. In this article, we present a filter encoding method, called prefix inclusion coding (PIC) to improve the efficiency of TCAM-based lookup engines. Filters are stored in an encoded format to reduce storage requirement. Codeword assignment in PIC preserves the inclusion relationship among prefixes/ranges. By doing so, a prefix will be represented by a single codeword, and unnecessary filter replication can be avoided. Codeword lookup is equivalent to finding the longest matching prefix in the codeword table. Hence, a pure-TCAM lookup engine can be built without the needs of other semi-custom ASICs in the system. Our method can reduce the TCAM storage requirement by 70% to over 90%. The reduction in TCAM storage requirement also helps to alleviate the high power dissipation problem. The proposed method can be applied to both IPv4 and IPv6.

[1]  George Varghese,et al.  Packet classification for core routers: is there an alternative to CAMs? , 2003, IEEE INFOCOM 2003. Twenty-second Annual Joint Conference of the IEEE Computer and Communications Societies (IEEE Cat. No.03CH37428).

[2]  George Varghese,et al.  Scalable packet classification , 2001, SIGCOMM '01.

[3]  Ali Sheikholeslami,et al.  A ternary content-addressable memory (TCAM) based on 4T static storage and including a current-race sensing scheme , 2003, IEEE J. Solid State Circuits.

[4]  Antonius P. J. Engbersen,et al.  Fast and scalable packet classification , 2003, IEEE J. Sel. Areas Commun..

[5]  Kwan Lawrence Yeung,et al.  Efficient hardware architecture for fast IP address lookup , 2002, Proceedings.Twenty-First Annual Joint Conference of the IEEE Computer and Communications Societies.

[6]  Hung-Hsiang Jonathan Chao,et al.  Next generation routers , 2002, Proc. IEEE.

[7]  Jonathan S. Turner,et al.  Scalable packet classification using distributed crossproducing of field labels , 2005, Proceedings IEEE 24th Annual Joint Conference of the IEEE Computer and Communications Societies..

[8]  Jan van Lunteren Searching very large routing tables in wide embedded memory , 2001, GLOBECOM.

[9]  Huan Liu,et al.  Efficient mapping of range classifier into ternary-CAM , 2002, Proceedings 10th Symposium on High Performance Interconnects.

[10]  Nick McKeown,et al.  Packet classification on multiple fields , 1999, SIGCOMM '99.

[11]  Derek Pao,et al.  Efficient hardware architecture for fast IP address lookup , 2003 .

[12]  Arun K. Somani,et al.  High-speed IP routing with binary decision diagrams based hardware address lookup engine , 2003, IEEE J. Sel. Areas Commun..

[13]  George Varghese,et al.  Packet classification using multidimensional cutting , 2003, SIGCOMM '03.

[14]  Nick McKeown,et al.  Classifying Packets with Hierarchical Intelligent Cuttings , 2000, IEEE Micro.

[15]  Pankaj Gupta,et al.  Packet Classification using Hierarchical Intelligent Cuttings , 1999 .

[16]  Ramakrishna Kotla,et al.  A high-performance architecture and BDD-based synthesis methodology for packet classification , 2003, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[17]  Jonathan S. Turner,et al.  Packet classification using extended TCAMs , 2003, 11th IEEE International Conference on Network Protocols, 2003. Proceedings..

[18]  Jonathan S. Turner,et al.  ClassBench: A Packet Classification Benchmark , 2005, IEEE/ACM Transactions on Networking.

[19]  Nick McKeown,et al.  Algorithms for packet classification , 2001, IEEE Netw..

[20]  Mohan Kumar,et al.  CoPTUA: Consistent Policy Table Update Algorithm for TCAM without locking , 2004, IEEE Transactions on Computers.