Improving Network Protocol Uptime During Upgrades Through Component Containerization
A Network Operating Systems (NOS) is a core component of a computer network. They reside on all forms of networking hardware—from switches and routers to wireless access points and firewalls—acting as the control plane for the device. Up to now, the common vendor NOS has been a monolithic system that continues to grow more complex as new functionality is added. The monolithic nature of the Operating System (OS) leads to complexities in upgrading even small components of the system. These design shortcomings result in excessive network protocol downtime during system upgrades. In this work, we propose a new approach to the NOS using modern principles from cloud-native software development. We first expose the upgrade problem through experimentation and derive a formula for expressing lost efficiency in network protocol processing because of NOS upgrades. We later propose a solution that implements the Border Gateway Protocol (BGP) using principals from cloud-native application architectures surrounding microservices, that allows the components of BGP to be upgraded without lost efficiency. In doing so we explore a model method for designing a NOS in which all components are disaggregated and can be upgraded in a more efficient manner while minimizing downtime.