LCS: a Linux-based Content Switch

In this paper we present the design of a Linux-based content switch, propose a pre-allocate server scheme improving the TCP delay binding, discuss the lessons learnt from the implementation of the content switch, and suggest system components/modules for high speed content switch processing. A content switch routes packets based on their headers in the upper layer protocols and the payload content. We discuss the processing overhead and the content switch rule design. Our content switch can be configured as the front end dispatcher of web server cluster and as a firewall. By implementing the http header extraction and xml tag extraction, the content switch can load balancing the requests based on the file extension or the text pattern in the url, and routes big purchase requests in XML to faster servers in e-commerce systems. The rules and their content switch rule matching algorithm are implemented as a module and hence can be replaced without restarting the system. With additional SMTP header extraction, it can be configured as a spam mail filter or virus detection/removal system.

[1]  Matt Ganis,et al.  SOCKS Protocol Version 5 , 1996, RFC.

[2]  Venkatachary Srinivasan,et al.  Packet classification using tuple space search , 1999, SIGCOMM '99.

[3]  Rajkumar Buyya,et al.  High Performance Cluster Computing: Architectures and Systems , 1999 .

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

[5]  Debanjan Saha,et al.  Design, implementation and performance of a content-based switch , 2000, Proceedings IEEE INFOCOM 2000. Conference on Computer Communications. Nineteenth Annual Joint Conference of the IEEE Computer and Communications Societies (Cat. No.00CH37064).

[6]  Anja Feldmann,et al.  Tradeoffs for packet classification , 2000, Proceedings IEEE INFOCOM 2000. Conference on Computer Communications. Nineteenth Annual Joint Conference of the IEEE Computer and Communications Societies (Cat. No.00CH37064).

[7]  沈中林,et al.  利用集群技术构建Linux Virtual Server , 2000 .