Ruia, Atin (2015-05). Flowcache: A Cache Based Approach for Improving SDN Scalability. Master's Thesis. Thesis uri icon

abstract

  • Software Defined Networking (SDN) is a novel paradigm for designing, developing and managing communication networks. SDN separates the traditional network control and data planes, centralising the control plane activities of the network in software based SDN controllers. This approach enables the network operators to interface with a logically centralized device to operate, configure and manage a large complex network. The SDN concept defines the data plane as a set of abstractions and provides a standardized protocol to interact with these abstractions. Owing to its significant advantages, this concept has gained popularity especially among the data center operators and hardware equipment manufacturers, and is slowly being adopted by the industry. However, the paradigm shift from the traditional networking model to SDN-type architectures poses several major challenges. In an SDN architecture, the routers and switches frequently generate requests to the controller. In particular, a request is generated for every new flow. The controller needs to respond promptly to the requests to ensure correct and efficient operation of the network. Even a moderately sized network with dynamic flows will place a high volume of demand on the controller. Increased controller pressure results in increased response times, leading to higher latencies in data-plane to control-plane communication and affecting efficiency of the entire network. This can lead to a scenario where the controller becomes a major bottleneck in the network. Several solutions have been proposed to address this problem using distributed and hierarchical controller designs. In contrast, in this thesis we propose to address this problem from a different perspective. In particular, we leverage the widely used tools in the design of memory architectures, such as caching to improve the efficiency of the SDN architecture. In this work, we first propose to augment an SDN architecture with a flowcache. The flowcache serves as a transparent layer in between the controller and the switch. It acts as a cache to the controller, temporarily storing flows sent across the management link, thus reducing access time for future requests of similar flows. Next, we analyze the properties and uses of flowcache. Finally, we compare different design choices for the flowcache and evaluate the benefits of introducing a flowcache in an SDN architecture.
  • Software Defined Networking (SDN) is a novel paradigm for designing, developing and managing communication networks. SDN separates the traditional network control and data planes, centralising the control plane activities of the network in software based SDN controllers. This approach enables the network operators to interface with a logically centralized device to operate, configure and manage a large complex network. The SDN concept defines the data plane as a set of abstractions and provides a standardized protocol to interact with these abstractions. Owing to its significant advantages, this concept has gained popularity especially among the data center operators and hardware equipment manufacturers, and is slowly being adopted by the industry.

    However, the paradigm shift from the traditional networking model to SDN-type architectures poses several major challenges. In an SDN architecture, the routers and switches frequently generate requests to the controller. In particular, a request is generated for every new flow. The controller needs to respond promptly to the requests to ensure correct and efficient operation of the network. Even a moderately sized network with dynamic flows will place a high volume of demand on the controller. Increased controller pressure results in increased response times, leading to higher latencies in data-plane to control-plane communication and affecting efficiency of the entire network. This can lead to a scenario where the controller becomes a major bottleneck in the network.

    Several solutions have been proposed to address this problem using distributed and hierarchical controller designs. In contrast, in this thesis we propose to address this problem from a different perspective. In particular, we leverage the widely used tools in the design of memory architectures, such as caching to improve the efficiency of the SDN architecture. In this work, we first propose to augment an SDN architecture with a flowcache. The flowcache serves as a transparent layer in between the controller and the switch. It acts as a cache to the controller, temporarily storing flows sent across the management link, thus reducing access time for future requests of similar flows. Next, we analyze the properties and uses of flowcache. Finally, we compare different design choices for the flowcache and evaluate the benefits of introducing a flowcache in an SDN architecture.

publication date

  • May 2015