A Flow Table with Two-Stage Timeout Mechanism for SDN Switches.

Xianfeng Li,Yan Huang
DOI: https://doi.org/10.1109/HPCC/SmartCity/DSS.2019.00248
2019-01-01
Abstract:In Software-Defined Network (SDN), OpenFlow implements fine-grained network policy by installing rules in the switch flow table. Limited by memory capacity, inactive flows have to be evicted from the flow table to make room for newer flows. Currently, OpenFlow uses the fixed timeout mechanism to manage the flow table. This may result in poor utilization of the flow table. In this paper, driven by an in-depth analysis on network traffic characteristics, we propose a novel flow table architecture with two-stage timeout mechanism to better identify and keep useful flow entries. First, each flow rule is installed into the primary table with a timeout calculated by the SDN controller. Each flow rule in the primary table is expected to be hit by a packet within its timeout, and then renew its timeout to receive more packets. Upon violation of this expectation, a timeout will expire, and the flow will be shelved onto the Inactive Flow Queue (IFQ). The IFQ provides a second chance for a flow to be promoted back to the primary table if a packet of this flow arrives before its eviction from the IFQ. With this design, this two-stage flow table keeps retiring the most useless flows. In particular, it enables shortlived flows to be evicted as soon as possible to avoid waste of flow table resources, and enables active flows to be better retained with the help of the IFQ. Experimental results using real network packet traces show 60% higher hit ratio than current OpenFlow with the same overall table size.
What problem does this paper attempt to address?