07 Dec 2015

The road to SDN: an intellectual history of programmable networks

http://dl.acm.org/citation.cfm?id=2602219

routers and switches run complex, distributed control software that is typically closed and proprietary. the software implements network protocols that undergo many years of standardization and interoperatability testing. network administrators typically configure individual network devices using configuration interfaces that vary across vendors — … Although some network-management tools offer a central vantage point for configuring the network, these systems still operate at the level of individual protocols, mechanisms, and configuration interfaces. This mode of operation has slowed innovation, increased complexity, and inflated both the capital and operational costs of running a network.

SDN has two defining characteristics
  1. separates the control plane (which decides how to handle the traffic) from the data plane (which forwards traffic according to decisions that the control plane makes).
  2. an SDN consolidates the control plane, so that a single software control program controls multiple dataplane elements.

    SDN resembles past research on active networking, which articulated a vision for programmable networks, albeit with an emphasis on programmable dataplanes. SDN also relates to previous work on separating the control and data planes in computer networks.

SDN control plane exercises direct control over the state in the network’s data-plane elements via a well-defined Application Programming Interface (API).

the application “pulls” and the technology “pushes” of the day.

2. The Road to SDN

Making computer networks more programmable enables innovation in network management and lowers the barrier to deploying new services.

2.1 Active Networking

some networking researchers pursued an alternative approach of opening up network control, roughly based on the analogy of the relative ease of re-programming a stand-alone PC …

a programming interface (or network API) that exposed resources (e.g., processing, storage, and packet queues) on individual network nodes

anathema to many in the Internet community who advocated that simplicity in the network core was critical to Internet success.

the “use pulls” for active networking … [15,74] are remarkably similar to the examples used to motivate SDN today

data-plane programmability has continued to develop in parallel with control-plane efforts [5, 21]

2.2 Separating Control and Data Planes

distributed state management
controller … replication

many network operators and researchers viewed separating the control and the data planes as an inherently bad ideas, as initially there was no clear articulation of how these networks would continue to operate correctly if a controller failed.

the conceptually simple model of the routers achieving distributed consensus, where they all (eventually) have a common view of network state (e.g., through flooding). in logically centralized control, each router has only a purely local view of the outcome of the route-selection process.

2.3 OpenFlow and Network OSes

a tension between the vision of fully programmable networks and pragmatism that would enable real world deployment. OpenFlow struck a balance between these two goals

the initial OpenFlow protocol standardized a data-plane model and a control-plane API by building on technology that switches already supported.

the vision of a network operating system
in contrast to … active networks that proposed a node operating system, … OpenFlow led to … networks operating system
three layers (Onix local post): a data plane, a state management layer, control logic (that performs operation depending on its view of network state)

4. Conclusion

Ultimately, the work on OpenFlow and network operating systems struck the right balance between vision and pragmatism

reference