Software-Defined Networking
Software-Defined Networking separates decisions about network behavior from the devices that forward traffic. Software controllers program that behavior through defined interfaces, giving applications and operators a network-wide control point.
itNetworking | OpenSkills.info
Course pathWalk it in order
Look it upDip in anytime
Go furtherLeaves this page
Intro
Software-Defined Networking
Software-Defined Networking, or SDN, separates network control from packet forwarding. The forwarding plane still moves, drops, or changes packets. A software control plane decides what that forwarding behavior should be.
The key change is the interface between those responsibilities. Software can initialize, inspect, and change network behavior through defined interfaces. That makes network behavior programmable without requiring every decision to live inside each forwarding device.
The mental model
Think in planes.
- The application plane holds applications and services that request network behavior.
- The control plane decides how packets should be forwarded.
- The management plane monitors, configures, and maintains network devices.
- The forwarding plane, also called the data plane, handles packets according to installed instructions.
- The operational plane exposes device state such as ports and resources.
Continue the course
This section is part of the paid course.
See pricing to subscribe, or log in if you already have access.
Where this skill leads
Relevant careers
See how this topic contributes to broader role-level skill maps.
Sources
- https://www.rfc-editor.org/rfc/rfc7426.html
Supports
- SDN as dynamic network programmability through interfaces
- Separation between controller and controlled entities
- Application, control, management, operational, and forwarding planes
- DAL, CAL, MAL, NSAL, and plane interfaces
- Forwarding, topology, path-selection, failover, monitoring, and configuration responsibilities
- OpenFlow, ForCES, NETCONF with YANG, PCEP, and other SDN model views
- Physical or virtual resources and local or remote plane placement
- Distributed-state and security considerations in SDN design
- https://opennetworking.org/sdn-definition/
Supports
- Physical separation of network control from forwarding
- Direct programmability and infrastructure abstraction
- Logically centralized controllers with a network-wide view
- Dynamic programmatic configuration and open-standards implementations
- https://www.opennetworking.org/wp-content/uploads/2014/10/openflow-switch-v1.5.1.pdf
Supports
- OpenFlow logical-switch components and controller channels
- Flow tables, flow entries, priority matching, instructions, actions, counters, and timeouts
- Pipeline processing and configured table-miss behavior
- Controller-to-switch message and connection model
- https://github.com/sindresorhus/awesome
Supports
- The Awesome catalog identifies Software-Defined Networking as a networking list
- https://github.com/sdnds-tw/awesome-sdn
Supports
- The Software-Defined Networking list includes Mininet, Open vSwitch, OpenDaylight, and P4
- The list organizes SDN network operating systems, switches, protocols, controllers, emulators, languages, libraries, and testing tools
- https://mininet.org/overview/
Supports
- Mininet creates virtual hosts, switches, controllers, and links
- Mininet supports SDN learning, prototyping, testing, and debugging on one machine
- Mininet switches support OpenFlow and its hosts run standard Linux network software
- https://mininet.org/walkthrough/
Supports
- The walkthrough covers topology creation, connectivity testing, the command line, switches, and controllers
- https://docs.openvswitch.org/en/stable/intro/what-is-ovs/
Supports
- Open vSwitch is a production multilayer software switch
- It exposes forwarding functions to programmatic extension and control
- It supports virtualized server environments and standard management interfaces
- https://opendaylight.org/
Supports
- OpenDaylight is an open-source SDN controller platform
- It supports programmatic network control and device management through standard protocols
- https://docs.opendaylight.org/en/latest/
Supports
- OpenDaylight documentation covers controller services, plugins, models, and operational use
- https://p4.org/specifications/
Supports
- The P4 project publishes specifications for the P4 language, P4Runtime, target architectures, and telemetry
