SDN has changed the way we design and implement services on modern networks. In this video, you’ll get an overview of SDN and how you can use distributed switching to virtualize your network.
<< Previous Video: Circuit Switching and Packet Switching Next: Binary Math >>
Software defined networking or SDN is a relatively new way to think about building and managing today’s networks. With SDN, we’ve taken a traditional device and we’ve broken it up into smaller pieces. For example, let’s look at a switch. The main function of a switch is to be able to forward frames from one interface to another based on the destination Mac address.
But we also have configurations that are required. We need to log into the switch, and we as the network administrators, need to be able to administer the switch. This is where we start to break out the different pieces of a software defined network. You have a control plane that’s responsible for the administration and the ongoing servicing of that particular device, and then you have a data plane that’s responsible for transferring or forwarding data from one point to another.
One of the key features of an SDN is that it’s directly programmable. This data plane is completely separate from the control plane, so you can make configuration changes or look at log information, and that’s a completely separate process than the ongoing operation of the data plan. SDN’s are also agile. That means that we can make changes on the fly at any time.
If an application flow suddenly got busier in one part of the network than the other, the network can automatically and dynamically change itself to provide more capacity where it’s needed. Another property of an SDN is that it’s managed from one central console. You don’t have to log in to multiple places to be able to manage your network. We call this type of management a single pane of glass, because you can sit-in front of a single screen and be able to control the entire network.
Another useful property of an SDN is that it can be orchestrated. This means that you can programmatically configure how things occur on the network, and often this can be done automatically. For example, an SDN may be constantly monitoring part of the network, and if the network becomes congested or needs more resources, those resources can be deployed automatically.
And another key property of an SDN is that its vendor neutral. You don’t have to have 100% of any particular vendor’s products, and generally a lot of the standards associated with the control of this SDN are publicly available as an open standard. A lot of this SDN functionality is enabled, because we virtualized a huge portion of our infrastructure. We have servers and routers and firewalls and switches that are now in a virtual world, which allows us a lot of control over what we can do with those devices.
Lets look at this particular network where we have the physical world that has a physical switch, and of course, we have servers that we’ve built to host these virtualized environments. In the virtual world on top of those servers, each one of these may have a web server, a database server, and a test server along with hundreds of other servers that may be running in that virtual world.
Some of the challenges we have with supporting a network in this type of environment is that we may want to separate out these particular devices into their own VLANs. For example, the test server should probably always be on a separate VLAN from the production web server and database server. We also have the challenge that any of these virtual devices may move anywhere else in the network at any time, because we may need more capacity or perhaps we need less capacity on the network.
And when that happens, we need to make sure that the IP addressing, the firewalls, and all of the other components associated with the infrastructure will move and properly allow access along with that server. One of the ways that we’re able to do that is to provide distributed switching. This virtualizes the networking so that we’re able to group together individual services into their own VLAN regardless of where the actual virtual machine happens to live.
This also means that if one web server moves from one virtualization platform to another, our networking configuration doesn’t change at all, and there’s no impact to any type of communication or connectivity, because this all runs in this distributed switching environment. So if we look at our original diagram, which has our virtualization platforms in the physical world along with our physical switch, we’ve got our virtual servers that are running on each of these virtualization platforms. And then on top of that, we’ve layered a distributed switch, which is grouping together the different resources into their own individual VLANs.