LearnViz CompSci
Home / Learn / Computer Networks / Software-Defined Networking

Advanced Topic 44 of 50 Computer Networks

Software-Defined Networking

Separating control logic from forwarding hardware.

How it works

Software-defined networking separates the control plane, which decides where traffic goes, from the data plane, which forwards packets, and centralizes control in software. A controller has a global view of the network and programs switches through an interface such as OpenFlow or P4, installing flow rules. This allows automation, programmable policies and rapid changes without configuring each device by hand.

Step-by-step walkthrough

  1. The control plane is centralized in a controller.
  2. Applications describe policies.
  3. The controller pushes forwarding rules to switches.
  4. Switches only forward packets by those rules.
  5. Changing the network is now a software update.

Where it is used

Data-center fabrics, cloud virtual networks, wide-area traffic engineering such as Google's B4 and campus automation use SDN. Network functions can run as software.

Common pitfall

The controller can be a single point of failure or bottleneck, so it needs clustering and careful design. Security of the control channel is critical. Scalability of flow tables limits some designs. Debugging requires visibility into both the intent and the installed rules, and skills shift toward software engineering and APIs.

Where it fits in the course

Software-Defined Networking is topic 44 of 50 in Computer Networks, rated Advanced. It follows WebSockets. The next topic is Network Virtualization.

Practice and explore

How to study this topic

  1. Read the explanation above and restate the definition in your own words.
  2. Open the interactive lesson and answer its mini quiz.
  3. Read the common pitfall, then write a short example that avoids it.
  4. Check your understanding in the Computer Networks quiz, and revisit the topic if you miss a question.

Frequently asked questions

What is Software-Defined Networking?
Separating control logic from forwarding hardware. It belongs to Computer Networks and is an advanced-level topic.
Where do people use Software-Defined Networking?
Data-center fabrics, cloud virtual networks, wide-area traffic engineering such as Google's B4 and campus automation use SDN.
What is the most common mistake with Software-Defined Networking?
The controller can be a single point of failure or bottleneck, so it needs clustering and careful design.
What should I learn before this topic?
Start with WebSockets, the topic just before it in Computer Networks.
How can I practice it?
Answer the mini quiz in the interactive lesson, then take the Computer Networks quiz.
Is Software-Defined Networking hard to learn?
It is an Advanced topic. Expect to read the explanation more than once and to connect it with earlier topics. Working through a small example by hand helps most.
How long does it take to learn Software-Defined Networking?
Most learners can read the explanation and finish the interactive lesson in under an hour. Fluency comes from applying the idea, so plan a few short practice sessions with the quiz.
Which topics are related to Software-Defined Networking?
WebSockets, Network Virtualization, QUIC and HTTP/3 are closely connected. The full list is in the related topics section of this page.
What should I study after Software-Defined Networking?
Continue with Network Virtualization, the next topic in Computer Networks.

Related topics