Dynamically Updatable Ternary Segmented Aging Bloom Filter for OpenFlow-Compliant Low-Power Packet Processing

OpenFlow, the main protocol for software-defined networking, requires large-sized rule tables and frequent updating. For fast packet processing, rule tables are often implemented with ternary content-addressable memory (TCAM) in the OpenFlow. To deal with TCAM power problems, many network applications employ bloom filters (BFs) to reduce the redundant operations of table-lookup and for low power consumption. However, applying traditional BFs to an OpenFlow switch leads to problems, such as unsupported dynamic update, large space overhead, and the rule-set expansion of ternary data. In this paper, we propose a dynamically updatable ternary segmented aging bloom filter (TSA-BF). The TSA-BF consists of two parts: a segmented aging BF algorithm (SA-BF) and a ternary prefix-tagging encoder (TPE). First, in the SA-BF, we develop an automatic update scheme using the mechanisms of content-aging and buffer-segmenting. The SA-BF ages and deletes its contents automatically, thus eliminating the costly communication overhead and enabling dynamic updating. It also achieves space efficiency by the developed partial-deletion mechanism. Second, in the TPE, we encode ternary prefix-rules into uniquely decodable binary code words. The TPE prevents the rule-set expansion of ternary-data in the OpenFlow environment. Simulation results show that the SA-BF alone can save 37% of space overhead, compared with state-of-the-art techniques. In an environment with the ternary prefix-rules, the TSA-BF can save another 93% of space overhead, compared with the best-performance scheme. Hence, the proposed TSA-BF is highly suited to the requirements of emerging high-performance TCAM-based packet processing in the OpenFlow, which considers dynamic update and power efficiency.

[1]  John W. Lockwood,et al.  Deep packet inspection using parallel bloom filters , 2004, IEEE Micro.

[2]  Luke M. Leslie,et al.  Idempotent distributed counters using a forgetful bloom filter , 2015, 2015 International Conference on Cloud and Autonomic Computing.

[3]  Otto Carlos Muniz Bandeira Duarte,et al.  Capacity and Robustness Tradeoffs in Bloom Filters for Distributed Applications , 2012, IEEE Transactions on Parallel and Distributed Systems.

[4]  Keith Kirkpatrick,et al.  Software-defined networking , 2013, CACM.

[5]  Vince Fuller,et al.  Classless Inter-domain Routing (CIDR): The Internet Address Assignment and Aggregation Plan , 2006, RFC.

[6]  Roberto Grossi,et al.  IP Address Lookup Made Fast and Simple , 1999, ESA.

[7]  Mukesh K. Mohania,et al.  Time-decaying Bloom Filters for data streams with skewed distributions , 2005, 15th International Workshop on Research Issues in Data Engineering: Stream Data Mining and Applications (RIDE-SDMA'05).

[8]  Qi Li,et al.  Guarantee IP lookup performance with FIB explosion , 2015, SIGCOMM 2015.

[9]  Gaogang Xie,et al.  A Shifting Bloom Filter Framework for Set Queries , 2015, Proc. VLDB Endow..

[10]  Achyut Sakadasariya,et al.  Software defined network: Future of networking , 2018, 2018 2nd International Conference on Inventive Systems and Control (ICISC).

[11]  Kang Li,et al.  Approximate caches for packet classification , 2004, IEEE INFOCOM 2004.

[12]  MyungKeun Yoon,et al.  Aging Bloom Filter with Two Active Buffers for Dynamic Sets , 2010, IEEE Transactions on Knowledge and Data Engineering.

[13]  Fan Deng,et al.  Approximately detecting duplicates for streaming data using stable bloom filters , 2006, SIGMOD Conference.

[14]  Hyesook Lim,et al.  On Adding Bloom Filters to Longest Prefix Matching Algorithms , 2014, IEEE Transactions on Computers.

[15]  Qi Hao,et al.  A Survey on Software-Defined Network and OpenFlow: From Concept to Implementation , 2014, IEEE Communications Surveys & Tutorials.

[16]  Viktor K. Prasanna,et al.  Towards Green Routers: Depth-Bounded Multi-Pipeline Architecture for Power-Efficient IP Lookup , 2008, 2008 IEEE International Performance, Computing and Communications Conference.

[17]  David E. Taylor Survey and taxonomy of packet classification techniques , 2005, CSUR.

[18]  Min Sik Kim,et al.  A Hybrid Approach to CAM-Based Longest Prefix Matching for IP Route Lookup , 2010, 2010 IEEE Global Telecommunications Conference GLOBECOM 2010.

[19]  An-Yeu Wu,et al.  Dynamic Reconfigurable Ternary Content Addressable Memory for OpenFlow-Compliant Low-Power Packet Processing , 2016, IEEE Transactions on Circuits and Systems I: Regular Papers.

[20]  Tong Yang,et al.  Difference Bloom Filter: A probabilistic structure for multi-set membership query , 2017, 2017 IEEE International Conference on Communications (ICC).

[21]  Michael Mitzenmacher,et al.  Less Hashing, Same Performance: Building a Better Bloom Filter , 2006, ESA.

[22]  Song Guo,et al.  Green DataPath for TCAM-Based Software-Defined Networks , 2016, IEEE Communications Magazine.

[23]  Subhasis Banerjee,et al.  Tag-In-Tag: Efficient flow table management in SDN switches , 2014, 10th International Conference on Network and Service Management (CNSM) and Workshop.

[24]  Timothy Sherwood,et al.  Modeling TCAM power for next generation network devices , 2006, 2006 IEEE International Symposium on Performance Analysis of Systems and Software.

[25]  Suresh Singh,et al.  Greening of the internet , 2003, SIGCOMM '03.

[26]  Hyesook Lim,et al.  Ternary Bloom Filter Replacing Counting Bloom Filter , 2017, IEEE Communications Letters.

[27]  Viktor K. Prasanna,et al.  High-Performance and Dynamically Updatable Packet Classification Engine on FPGA , 2016, IEEE Transactions on Parallel and Distributed Systems.

[28]  Li Fan,et al.  Summary cache: a scalable wide-area web cache sharing protocol , 2000, TNET.

[29]  Norman P. Jouppi,et al.  CACTI 6.0: A Tool to Model Large Caches , 2009 .

[30]  Sasu Tarkoma,et al.  Theory and Practice of Bloom Filters for Distributed Systems , 2012, IEEE Communications Surveys & Tutorials.

[31]  Fang Hao,et al.  IPv6 Lookups using Distributed and Load Balanced Bloom Filters for 100Gbps Core Router Line Cards , 2009, IEEE INFOCOM 2009.

[32]  Andrei Broder,et al.  Network Applications of Bloom Filters: A Survey , 2004, Internet Math..

[33]  Ashish Goel,et al.  Small subset queries and bloom filters using ternary associative memories, with applications , 2010, SIGMETRICS '10.

[34]  Yong Guan,et al.  Detecting Click Fraud in Pay-Per-Click Streams of Online Advertising Networks , 2008, 2008 The 28th International Conference on Distributed Computing Systems.

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

[36]  Burton H. Bloom,et al.  Space/time trade-offs in hash coding with allowable errors , 1970, CACM.