The SDN control plane

In Software-Defined Networking (SDN), forwarding decisions can use many packet header fields (from the link, network, and transport layers).

Because forwarding decisions can be based on arbitrary packet-header fields rather than only destination addresses, these forwarding devices are often referred to as SDN switches or packet switches rather than routers.

Characteristics of an SDN architecture

Characteristic Description

Flow-based forwarding

  • SDN switches can forward packets based on multiple header fields
  • in contrast, router-based forwarding primarily uses the destination IP address for forwarding decisions

Separation of data plane and control plane

  • data plane: consists of switches that forward packets according to "match plus action" rules
  • control plane: consists of software and servers that create and manage those flow-table rules

Software-based network control

  • the SDN control plane is implemented in software
  • this software runs on servers that are separate from the switches

Programmable network

  • network behavior can be changed through software rather than by manually configuring individual devices

SDN control plane

Components of the SDN control plane:

Component Description Image

Network-control applications

  • implement network policies and control logic
  • use the APIs provided by the SDN controller to specify and control the data plane in the network devices
Components of the SDN control plane

SDN controller (or network operating system)

  • maintains accurate network state information (links, switches, hosts, etc.)
  • provides this information to network-control applications
  • allows applications to monitor, configure, and control network devices

The SDN control plane is responsible for "the network's intelligence":

The switches execute the forwarding and packet-processing actions specified by those rules.

SDN controller

The SDN controller can be organized into three layers:

Layer Details Image

Northbound interface (APIs ans abstractions for network control apps)

  • exposes APIs to SDN network-control applications
  • allows applications to query network state and specify policies or desired behavior
  • supports event notifications when network state changes
SDN controller layers

Control plane core (network-wide distributed state management)

  • maintains a logically centralized view of network state
  • includes the network state database / topology service
  • tracks hosts, links, switches, topology, statistics, and other information needed for control decisions

Southbound interface (communication to/from controlled devices)

  • communication between the SDN controller and forwarding devices
  • uses protocols such as OpenFlow, SNMP, NETCONF, gNMI, or P4Runtime
  • devices report events and state information to the controller
  • enables the controller to maintain an up-to-date view of the network

SDN controllers such as OpenDaylight and ONOS are logically centralized on purpose. They look like one central controller but are actually distributed across several machines, which makes them more scalable and reliable for network devices and control applications.

SDN vs. traditional per-router control

In SDN:

SDN enables greater flexibility and vendor independence:

OpenFlow

The OpenFlow protocol is a southbound interface in Software-Defined Networking (SDN):

Important messages used by the controller to configure and control the SDN-controlled switch:

Important messages used by the switch to report events or send packets to the controller:

Google has used SDN principles in its global infrastructure, including its private backbone network known as B4, which connects data centers worldwide. Early versions were influenced by OpenFlow concepts, although modern implementations extend beyond pure OpenFlow.

Previous Inter-AS routing (BGP) All ⏎ Next ICMP

A Kemar Joint