← Back to CoursesNetworking: Advanced

Neuroanatomy Explorer

Drag to rotate · scroll to zoom · click regions to explore

View
Loading 3D model…

Click a region
to explore it

Memory Deck

Flip each card and rate whether you knew it. Your score is saved.

Term
Definition

Deck complete — score saved.

Match the Pairs

Match each term to its definition. Finish the board to earn your score.

All matched — score saved.

Concept Constellation

Every key idea in this course, mapped as an explorable 3D constellation. Drag to rotate, scroll to zoom, click a node.

Click a node to read its definition.

Software-Defined Networking and Programmable Data Planes

Manual: General · Subject: Networking

Explore centralized control, network programmability, and high-performance packet processing.

Re-architecting the Control Plane

SDN motivation

Software-defined networking separates control logic from forwarding hardware to enable centralized policy, automation, and faster innovation. Programmable data planes extend this idea by allowing packet-processing behavior to be customized at line rate.

Traditional networking versus SDN

Traditional

  • Distributed control embedded in devices
  • Configuration often vendor-specific
  • Automation can be difficult at scale

SDN

  • Logically centralized control
  • Policy expressed in software
  • Simplifies global optimization and orchestration

Important SDN concepts

Controller
System that computes and installs forwarding rules
Southbound interface
Mechanism used to program switches and devices
Northbound interface
Application-facing API for network policy
Flow table
Set of match-action rules in a switch
Telemetry
Measurement stream used for control and debugging

Programmable data planes

High-speed packet processing frameworks enable custom parsing, filtering, telemetry, and forwarding. The challenge is to preserve line-rate performance while maintaining safety, verifiability, and isolation among concurrent services.

What is the principal benefit of a logically centralized SDN controller?

Why is programmability in the data plane difficult to implement safely?

Designing an SDN system

  1. 1

    Define the desired network policy.

  2. 2

    Decide what logic runs in the controller versus the device.

  3. 3

    Specify the APIs and telemetry needed.

  4. 4

    Plan failure handling and consistency guarantees.

  5. 5

    Test correctness, scale, and operational observability.

ℹ️

Operational insight

A controller is only useful if its view of the network is timely and accurate; stale state can produce poor or unsafe decisions.

What does a flow table typically contain?