TechKnowSurge
VideoSecurityFree

Software Defined Networking (SDN)

Software-defined networking (SDN) virtualizes network management by introducing a centralized control layer that abstracts configuration away from individual devices. This allows administrators to define high-level network behavior once, with the underlying infrastructure handling implementation automatically.

Complete this video to capture a CTF flag worth 1 point.

About this video

Software-defined networking (SDN) is an approach to network architecture that introduces a centralized software control plane, decoupling the management of network behavior from the physical hardware. In a traditional multi-tier network, each switch or router must be configured individually, meaning that a single policy change — such as adding an access control list — requires the same configuration to be applied manually across multiple devices. This distributed management model increases administrative overhead and raises the risk of inconsistencies, since any deviation between devices can create security gaps or operational failures that require an audit process to detect. SDN addresses this by installing software agents on network devices that respond to a central controller. Administrators define the desired network behavior at a high level, and the controller, working in coordination with the software on each device, determines how that behavior should be implemented across the infrastructure. This makes policy enforcement more uniform and significantly reduces hands-on configuration time. It also enables more efficient use of physical connections — where spanning tree protocol would disable redundant links to prevent Layer 2 loops, an SDN-managed network can dynamically route traffic across all available paths, improving both throughput and resilience. These same principles apply at the wide-area network level through SD-WAN. When multiple WAN links connect distributed locations, those links often vary in speed, latency, and stability. SD-WAN software overlays the physical connections and continuously adapts traffic routing based on real-time link performance, optimizing for the characteristics that matter most to the application or policy in use. The result is a network that is more responsive, more efficiently utilized, and easier to manage at scale than one built on traditional static routing and switching configurations.

What you'll learn

What's covered

Software-Defined Networking

Key terms

Software-defined Network
SDN
A network architecture that decouples the control plane from the data plane, enabling centralized, programmable network management through software controllers rather than individual device configuration. SDN allows network behavior to be dynamically adjusted through software, simplifying management and enabling rapid provisioning.
Spanning Tree Protocol
STP
A network protocol that prevents loops in Ethernet networks by creating a loop-free logical topology.
Access Control List
ACL
A set of rules that defines which users or systems are granted or denied access to a resource.
Wide Area Network
WAN
A network that spans a large geographic area, connecting multiple local area networks.
Software-Defined WAN
SD-WAN
A virtualized approach to managing wide area network connections using software-defined networking principles.
Virtual LAN
VLAN
A logical grouping of network devices that behave as if they are on the same network regardless of physical location.

Topics

Software Defined Networking Network Virtualization Network Management Spanning Tree Protocol Access Control Lists Networking

Transcript

Another tool that we have to segment out our networks, or at least manage all of those segmentations, is software-defined networking.

What software-defined networking is

What is software-defined networking? Well, it's adding a software abstraction layer to the network management, to the overall network. Well, what the heck does that mean? Essentially, what I like to think about it as is virtualizing network management.

Let's take a look at a typical network. This is a three-tier network, and we want to incorporate things to make sure that they're highly available, that it's performing well, and that there's security and manageability. So what we have here is we've got layer 3 switches, two of them at the core and two at the distribution layer, and then we have access switches down here. And ultimately what we're creating is this robust network that can really scale well and so on and so forth. But the problem with this is that we're managing quite a bit of equipment by doing this. We have to jump onto this layer 3 switch to be able to set up management of it, and then this one as well, and this one as well. So we're going and visiting each one of these to configure and set up and be able to control and do anything on these. So if we wanted to set up maybe, let's say, an access list, we'd have to set it up on this one and this one. We'd have to set it up on twice as much — or maybe even four times as much, depending on these access lists and how we want them configured.

Software-defined networking adds an extra layer to this. So now what we're doing is on these devices, we're installing extra software that does a lot of the control over these devices. And now when we're setting up things, we're not visiting each one of these switches, each one of these layer 3 switches and these access switches. We're not visiting all of that to do our management. In fact, it's a lot less hands-on when it comes to software-defined networking.

Now what we have is we have a controller software that manages all the big picture stuff. And so all we need to do is go in and manage the big picture stuff, and then dynamically all of this software figures out what it needs to do to manage the whole network. This makes it much easier from a management standpoint, because now we go to a controlling unit right here, and when we control it or type things in, it will control the different units here. And essentially what we're doing is we're entering in exactly what we want the behavior to be, and then this controlling software, along with the software that's installed on all of these machines, can then figure out exactly what the implementation should look like on these individual levels. So we can figure things out at a much higher level and then have it implemented at this lower level here.

One thing we may even do is we might just say, well, we're just going to have a single device here that just is an SDN device. We distribute that everywhere, and then we will program those and then they'll figure out where is it that we need to route things, where do we need to switch things, and it will assign the proper way of configuring all of this. So it really helps from a management perspective.

Example: access control lists

Let's use an example that we're implementing an ACL, and we would put this ACL on maybe this layer 3 switch, but we need to put it on two switches because it could fail over to this one. And so what ends up happening is that we end up going and configuring these ACLs on multiple switches. And what I've found is when you have multiple locations for something, something is going to get off. You need some sort of audit process. Well, not if you're doing SDN — although it always helps to have audit processes; I'm not saying it does away with the need for that. But what happens from a device-to-device perspective is we just configure that ACL on this device right here, and it automatically knows what devices it's going to need to put those ACLs on. So that way, we have a level of control that is going to be uniform across our network.

Example: spanning tree protocol

Let's use a different example here. We have a bunch of layer 2 switches here, and maybe they're running spanning tree protocol. Now the way spanning tree protocol is set up is you can't have a loop, and so spanning tree protocol eliminates the chances of there being a loop. It elects a root bridge, and then it makes a connection from the root bridge to all of these switches and says, okay, how can I get to that switch, and then it will turn off all of the extra connections. Well, look at this: I've just shut down six connections here that we normally could be communicating on. But if I didn't switch those off, then we would have this loop, and loops will cause a problem on a layer 2 network. So we can't have that. So it's got to be switched off.

Well, let's instead implement software-defined networking. When we implement software-defined networking, these networks can figure out what is the best way for this communication to happen and just utilize all of these links to do that. It makes it much more efficient, because now what we can do is we can utilize a lot of links here rather than just being stuck with a few of the links that spanning tree protocol would leave us. So by implementing software-defined networking, it really just dynamically figures things out for us.

SD-WAN

This happens also from a WAN perspective. So if we have a bunch of layer 3 devices that are spread across here, we can see there's a network of communication that happens here. But all of these different links here are set up differently. Some of them are slow, some of them are fast, some of them are unstable, some of them have jitter to them. So they all have their different characteristics. Well, if we have a software-defined network, we would just physically connect all of these up together the way they need to be connected up together, but then we would install this extra software on top. And what this extra software — we call it an abstraction — will do is be able to better create this network. So it's much more tuned towards performance and much more dynamic, and can really adapt well. So this is software-defined WAN, or SD-WAN.

About TechKnowSurge

TechKnowSurge builds IT and cybersecurity professionals through hands-on, concept-first training built around real understanding — not memorization. Free interactive tools, structured programs, and 25+ years of real-world experience, all in one place.

Explore free tools and programs →