In Software Defined Networks (SDNs), flows usually request to be processed by a service chain (an ordered set of virtualized network services). SDN-enabled networks manage the routing and processing of flows by a large number of associated finer-granularity rules. These rules are maintained by switches in their local hardware such as Ternary Content Addressable Memories (TCAMs), which support high-speed parallel lookup on wildcard patterns. However, the capacity of hardware switches is limited to thousands because of their high requirements for cost and power. In order to avoid much slower matching by using software switches or even packet loss, we can group flows so that all matching rules can be placed in hardware switches. In such a grouping, all flows in each group match only one rule and will be forwarded to the same routing path, instead of each flow matching one rule. This will result in a longer delay because of processing by the longer newly-grouped service chain. In this paper, we efficiently group flows to minimize the total cost while satisfying the capacity constraint of the forwarding tables in hardware switches. We first prove the submodularity of our objective function and propose a corresponding performance-guaranteed solution. Additionally, we design an efficient heuristic solution based on the classic k-means algorithm. Furthermore, we include discussions on dynamic network situations (insertion, deletion, and update of flows) and an alternative objective. We also conduct real experiments on our testbed to indicate the practicality of our motivation. Extensive simulations are conducted to evaluate the performance of our proposed algorithms.
|Number of pages
|IEEE Transactions on Network Science and Engineering
|Published - Jan 1 2021
All Science Journal Classification (ASJC) codes
- Control and Systems Engineering
- Computer Science Applications
- Computer Networks and Communications