Date of Award
Doctor of Philosophy (PhD)
The networking space is undergoing a transformation. Today’s networks (enterprises, data centers, and service providers) are replacing the expensive hardware network appliances (e.g., firewalls, load balancers, security monitors) with software that can run on commodity servers. This movement significantly reduces capital expenditures, as these devices are an important component of today’s networks.
While this general movement shares a similar vision of a dynamic network, existing solutions fall short to adapt in both scale and function to provide true network agility where network services can be instantly deployed, scale in and out on demand, and be resilient to failure. The reason is that these solutions are simply modifying existing network device designs to have the device run in software.
This design decision is the root of this problem. Specifically, that the network functions that make up the network infrastructure (e.g., firewalls, load balancers, and routers) despite their variety, share a common monolithic architecture where the control plane, data plane, and most importantly the state (e.g., information about network flows) are maintained internally in a single appliance. This tight coupling of all of these components within network functions hinders the agility. Thus, leading to complex and expensive solutions to manage and configure these network functions on a larger scale.
This dissertation is centered on overcoming these limitations through the introductions of what we call Stateless Network Functions, or StatelessNF. StatelessNF aims to provide self-managed and configured agile network functions that are resilient to failure and able to scale in and out without intervention from network administrators. Thus, enabling the network to be invisible to the applications that run on top of it.
To achieve this goal, we have fundamentally re-designed the architecture of network devices with the flexibility of software in mind, rather than other software approaches that mimic the hardware architecture in software, and therefore inherits a design that was designed around the limitations of hardware, not the flexibility of software. The key idea with StatelessNF is to decouple the processing of a network device from its state, storing any needed state in a separate data store. In separating the state and the processing, we enable a highly dynamic management of scalable and failure resilient network functions. StatelessNF’s architecture is especially challenging to realize in the context of network processing, where we need to handle millions of packets per second and where there may be one or more reads and writes to the data store for every packet.
In this dissertation, we ask ”Can we redefine and redesign network functions’ architecture from the ground up, without sacrificing performance, to achieve true network agility?”. Overcoming this challenge was one of the main contribution in this dissertation. As we show in this dissertation, we envision StatelessNF being the core of multiple future research projects in the area of software defined networks (SDN) and Network Function Virsualization (NFV). In addition, StatelessNF has broader impacts that include commercialization opportunity. We validated this through our interaction with over 150 companies in cloud infrastructure and data center industries and two companies that agreed to deploy StatelessNF system in their data center environments.
Kablan, Murad, "StatelessNF: a Disaggregated Architecture for Network Functions" (2017). Computer Science Graduate Theses & Dissertations. 143.