Enabling Policy-Consistent Rule Caching in Dynamic Network Environments
The emerging Software-Defined Networking (SDN) enables network innovation and provides network operators more control to the network operations and functions. Its key idea is to decouple the network’s control plane from the data plane and let a logically centralized controller make the flow forwarding decision. To simplify the management of SDN, a single big switch abstraction has been recently proposed to model the physical network so that network application programmers can simply compose rules over the big switch, which are then automatically mapped into flow entries of physical switches. The big switch abstraction greatly simplifies the development of SDN applications by allowing the programmers to manage the network without knowing the network details. However, existing research on the big switch abstraction seeks to proactively mapping all the rules in the physical switches all at once, which has a few limitations. First, mapping all the rules into physical switches may overflow the stringent flow table space on physical switches since the entire rule set of the big switch can be intrinsically large. Second, as network state changes occur frequently, mapping all the flow entries into physical switches can introduce high overhead in updates.
In this project, we will design BigMaC, a network-wide reactive rule mapping and caching system, to enhance the current big switch abstraction. The core idea of BigMaC is
to map the rules of the big switch abstraction into flow entries and cache them on physical switches on demand, i.e., only when corresponding flows arrive at the network. With reactive
caching, BigMaC is able to increase flow table usage efficiency and enable fast reaction to network state changes.
We are currently investigating the following research issues. (1) Policy-consistent reactive rule mapping and caching. Such policy-consistency means the behavior of the physical network with the cached flow entries should strictly adhere to the higher level policies defined in the big switch abstraction. (2) Automatic adaptation to network state changes. To adapt to network state changes due to link/node failures or link congestion, BigMaC should automatically update rule mapping and caching to maintain policy consistency and to simplify the management of deployed applications. When responding to network state changes, BigMaC should take link capacity and flow table space into consideration and jointly optimize the usage of both resources. (3) Prototyping and evaluation. We will evaluate the performance of BigMaC in two phases. First, an Mininet-based emulation will be used to verify the functionalities and correctness of BigMaC. Then, a testbed with commodity Openflow switches and servers will be built and used to evaluate its performance.
Publications
- B. Yan, Y. Xu, H. Xing, K. Xi, and H. J. Chao, “CAB: a reactive wildcard rule caching system for software-defined networks,” In Proceedings of the third workshop on Hot topics in software defined networking, Chicago, Aug. 2014.