NOX: towards an operating system for networks

N Gude, T Koponen, J Pettit, B Pfaff, M Casado… - ACM SIGCOMM …, 2008 - dl.acm.org
ACM SIGCOMM computer communication review, 2008dl.acm.org
As anyone who has operated a large network can attest, enterprise networks are difficult to
manage. That they have remained so despite significant commercial and academic efforts
suggests the need for a different network management paradigm. Here we turn to operating
systems as an instructive example in taming management complexity. In the early days of
computing, programs were written in machine languages that had no common abstractions
for the underlying physical resources. This made programs hard to write, port, reason about …
As anyone who has operated a large network can attest, enterprise networks are difficult to manage. That they have remained so despite significant commercial and academic efforts suggests the need for a different network management paradigm. Here we turn to operating systems as an instructive example in taming management complexity. In the early days of computing, programs were written in machine languages that had no common abstractions for the underlying physical resources. This made programs hard to write, port, reason about, and debug. Modern operating systems facilitate program development by providing controlled access to high-level abstractions for resources (eg, memory, storage, communication) and information (eg, files, directories). These abstractions enable programs to carry out complicated tasks safely and efficiently on a wide variety of computing hardware.
In contrast, networks are managed through low-level configuration of individual components. Moreover, these configurations often depend on the underlying network; for example, blocking a user’s access with an ACL entry requires knowing the user’s current IP address. More complicated tasks require more extensive network knowledge; forcing guest users’ port 80 traffic to traverse an HTTP proxy requires knowing the current network topology and the location of each guest. In this way, an enterprise network resembles a computer without an operating system, with network-dependent component configuration playing the role of hardware-dependent machine-language programming. What we clearly need is an “operating system” for networks, one that provides a uniform and centralized programmatic
ACM Digital Library
Showing the best result for this search. See all results