Towards high-performance flow-level packet processing on multi-core network processors

There is a growing interest in designing high-performance network devices to perform packet processing at flow level. Applications such as stateful access control, deep inspection and flow-based load balancing all require efficient flow-level packet processing. In this paper, we present a design of high-performance flow-level packet processing system based on multi-core network processors. Main contribution of this paper includes: a) A high performance flow classification algorithm optimized for network processors; b) An efficient flow state management scheme leveraging memory hierarchy to support large number of concurrent flows; c) Two hardware-optimized order-preserving strategies that preserve internal and external per-flow packet order. Experimental results show that: a) The proposed flow classification algorithm, AggreCuts, outperforms the well-known HiCuts algorithm in terms of classification rate and memory usage; b) The presented SigHash scheme can manage over 10M concurrent flow states on the Intel IXP2850 NP with extremely low collision rate; c) The performance of internal packet order-preserving scheme using SRAM queue-array is about 70% of that of external packet order-preserving scheme realized by ordered-thread execution.

[1]  Yan Luo,et al.  Efficient memory utilization on network processors for deep packet inspection , 2006, 2006 Symposium on Architecture For Networking And Communications Systems.

[2]  E TaylorDavid Survey and taxonomy of packet classification techniques , 2005 .

[3]  Ellen W. Zegura,et al.  Performance of hashing-based schemes for Internet load balancing , 2000, Proceedings IEEE INFOCOM 2000. Conference on Computer Communications. Nineteenth Annual Joint Conference of the IEEE Computer and Communications Societies (Cat. No.00CH37064).

[4]  Yaxuan Qi,et al.  Towards effective packet classification , 2006, Communication, Network, and Information Security.

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

[6]  Bill Carlson Intel Internet Exchange Architecture and Applications: A Practical Guide to Intel's Network Processors , 2003 .

[7]  Jayaram Mudigonda,et al.  Experimental Evaluation of Load Balancers in Packet Processing Systems , 2004 .

[8]  Michael E. Kounavis,et al.  Directions in Packet Classification for Network Processors , 2004 .

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

[10]  Michalis Faloutsos,et al.  BLINC: multilevel traffic classification in the dark , 2005, SIGCOMM '05.

[11]  Mark H. Overmars,et al.  Range Searching and Point Location among Fat Objects , 1996, J. Algorithms.

[12]  Laxmi N. Bhuyan,et al.  SpliceNP: a TCP splicer using a network processor , 2005, ANCS '05.

[13]  Oliver Spatscheck,et al.  Accurate, scalable in-network identification of p2p traffic using application signatures , 2004, WWW '04.

[14]  George Varghese,et al.  Network algorithmics , 2004 .

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

[16]  Antonius P. J. Engbersen,et al.  Dynamic multi-field packet classification , 2002, Global Telecommunications Conference, 2002. GLOBECOM '02. IEEE.

[17]  Sarang Dharmapurikar,et al.  Robust TCP Stream Reassembly in the Presence of Adversaries , 2005, USENIX Security Symposium.

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

[19]  George Varghese,et al.  A pipelined memory architecture for high throughput network processors , 2003, ISCA '03.

[20]  George Varghese,et al.  Detecting evasion attacks at high speeds without reassembly , 2006, SIGCOMM.

[21]  Xinan Tang,et al.  High-performance IPv6 forwarding algorithm for multi-core and multithreaded network processor , 2006, PPoPP '06.

[22]  Xin Zhou,et al.  Towards Optimized Packet Classification Algorithms for Multi-Core Network Processors , 2007, 2007 International Conference on Parallel Processing (ICPP 2007).

[23]  Deepa Srinivasan,et al.  Performance analysis of multi-dimensional packet classification on programmable network processors , 2004, 29th Annual IEEE International Conference on Local Computer Networks.

[24]  Raj Yavatkar,et al.  A highly flexible, distributed multiprocessor architecture for network processing , 2003, Comput. Networks.

[25]  Andrew W. Moore,et al.  Internet traffic classification using bayesian analysis techniques , 2005, SIGMETRICS '05.

[26]  Xinan Tang,et al.  High-performance packet classification algorithm for many-core and multithreaded network processor , 2006, CASES '06.

[27]  Jun Li,et al.  HSM: a fast packet classification algorithm , 2005, 19th International Conference on Advanced Information Networking and Applications (AINA'05) Volume 1 (AINA papers).

[28]  Pawel Gburzynski,et al.  A scalable load balancer for forwarding internet traffic , 2005, 2005 Symposium on Architectures for Networking and Communications Systems (ANCS).