ScholarGate
Avustaja

Software-Defined Networking

Software-defined networking separates the network's control plane from its data plane, moving route and policy decisions to a logically centralized, programmable controller that configures the forwarding behavior of simple switches through an open interface.

Etsi aihe työkalulla PaperMindTulossaFind papers & topics
Tools & resources
Lataa diat
Learn & explore
VideoTulossa

Definition

Software-defined networking is a network architecture in which the control plane is decoupled from the data plane and made logically centralized and programmable, so that a controller installs forwarding rules into otherwise simple packet-forwarding devices.

Scope

This topic covers the SDN paradigm: the separation of a logically centralized control plane from distributed forwarding devices, the match-action abstraction by which switches forward packets according to controller-installed flow rules, the southbound interface (notably OpenFlow) between controller and switches, and the northbound interface by which applications program network behavior. It treats SDN's benefits for programmability and traffic engineering and its challenges of scalability and resilience. It excludes the traditional distributed routing protocols it contrasts with.

Core questions

  • How does SDN separate the control plane from the data plane, and why?
  • What is the match-action (flow-table) abstraction used by SDN switches?
  • What role do the southbound (e.g. OpenFlow) and northbound interfaces play?
  • What benefits does centralized, programmable control offer for traffic engineering and innovation?
  • What are the scalability, latency, and resilience challenges of a centralized control plane?

Key concepts

  • control plane and data plane separation
  • logically centralized controller
  • match-action (flow tables)
  • OpenFlow (southbound interface)
  • northbound APIs
  • network programmability
  • traffic engineering
  • controller scalability and resilience

Key theories

Control-data plane separation
SDN factors network functionality into a programmable, logically centralized controller that decides forwarding behavior and simple switches that merely execute installed rules, replacing the per-device distributed control of traditional networks.
Match-action forwarding and OpenFlow
SDN switches forward packets by matching header fields against flow-table entries and applying associated actions; the OpenFlow protocol standardized how a controller programs these tables across vendors, enabling vendor-neutral programmability.
Programmable networks lineage
SDN is the culmination of a long line of work on making networks programmable and on separating control from forwarding, drawing on active networking, control-plane separation efforts, and centralized network operating systems.

Clinical relevance

SDN reshaped how large networks are built and operated: cloud providers and data centers use centralized control for fine-grained traffic engineering, isolation between tenants, and rapid deployment of new network functions, and wide-area backbones use it to optimize utilization. Programmability also accelerated network research and innovation by letting operators define behavior in software rather than waiting for new hardware.

History

Software-defined networking grew out of earlier programmable- and active-networking research and efforts to separate the control plane from forwarding. The 2008 OpenFlow proposal gave a practical, deployable interface for controlling switch flow tables, catalyzing rapid adoption in research and then in large-scale data-center and wide-area networks, as recounted in later intellectual histories of the field.

Debates

Centralized control versus distributed robustness
Centralizing the control plane simplifies global optimization and programmability but raises concerns about a single point of failure, controller scalability, and the latency of consulting the controller; practical SDN designs replicate and distribute controllers to recover robustness.

Key figures

  • Nick McKeown
  • Scott Shenker
  • Jennifer Rexford
  • Nick Feamster

Related topics

Seminal works

  • mckeown2008
  • feamster2014
  • kurose2021

Frequently asked questions

What problem does SDN solve?
Traditional networks bundle control and forwarding into each device and configure them individually, which makes network-wide policy and innovation slow and error-prone. SDN centralizes control logic in software with a global view, so operators can program consistent, network-wide behavior and deploy new functionality far more quickly.
Is the SDN controller a single point of failure?
Logically the control plane is centralized, but in practice it is implemented as a distributed, replicated set of controllers for fault tolerance and scale. The control plane is 'logically centralized' rather than physically a single machine, so the network can keep operating if individual controllers fail.

Methods for this concept

Related concepts