Get a quick start guide to software-defined networking and OpenFlow.
(mesmerizing music) - [Instructor] This is one of multiple videos discussing SDN, network programmability, network automation, overlays, and related technologies. This is also one of multiple videos discussing various terms and definitions you'll encounter with those technologies. Let's start off with what is SDN or software-defined networking.
This has become one of the most confusing topics in recent years. What is SDN? Is it network automation? Is it network programmability? Is it virtual switching? Is it an overlay? Is it open flow? Is it bare-metal switching? Is it software-defined WANs? Is it a controller? What is software-defined networking? The first thing that you as a technical person need to remember when discussing SDN is that every vendor seems to have a different definition.
Here's a presentation from Big Switch, one of the original start-ups in the SDN space. They talk about the evolution of network provisioning and how the difference between network provisioning in 1996 versus 2013 is that we've moved from Telnet to SSH. In other words, networking hasn't changed much in many years. Perhaps SDN is network automation which is the term that Cisco tend to use these days.
Software-defined networking, according to Cisco, is network programmability and network automation. One of the original definitions comes from the Open Networking Foundation. On their website, they defined what SDN is and they say that SDN is the physical separation of the network control plane from the forwarding plane and where a control plane controls several devices. This is one of the original and most famous versions of SDN and has either caused a lot of frustration and a lot of anger or has been seen as visionary depending on your view point.
In this architecture, we have the application layer, control layer, and infrastructure layer. Infrastructure layer would be switches. Control layer would be a controller such as an openFlow controller. Examples including ODL or OpenDaylight, (mumbles) and ONOS. And we have applications that use a north-bound interface to talk to a controller. But that is one definition of SDN. OpenFlow is not SDN. OpenFlow is a protocol used on what's called the south-bound interface between a controller and switches.
So OpenFlow is a protocol that is used in some implementations of SDN, but not others. Cisco as an example are talking about other south-bound protocols including NETCONF, BGP-LS, SNMP and even the CLI. Companies such as VMware have a product called VMware NSX which is an overlay SDN implementation or a network virtualization implementation.
The idea here is that we have a virtual network overlaid across a physical network. A virtual network can be spun up and created very quickly and doesn't have all the issues that we have in traditional networking when network configuration changes and deployments take a long time. Others will define SDN as SD-WAN or software-defined WAN. Where we make a better use of Internet links. So rather than sending all traffic across an MPLS network, we send some traffic across the Internet but do that intelligently from perhaps a centralized controller.
Others will talk about bare-metal switching and how you can run Linux on switches today. Some people will say that switches from companies such as Facebook which are open switches running open operating systems or bare-metal switches running Linux are examples of software-defined networking. Others will say that richer APIs, such as REST APIs, and the use of protocols such as NETCONF or software-defined networking.
The important takeaway here is that there are many definitions of SDN, and in some circles the industry is already starting to move away from SDN and concentrate more on network programmability and network automation. Some people say that the discussion about SDN is over. SDN is being deployed in many companies such as Google. So SDN is already here. I'm gonna explore multiple SDN definitions and protocols in these series of videos.
Note: This course uses GNS3 for all demonstrations.
- What is SND?
- What is OpenFlow?
- White-box switching
- OpenFlow vSwitch (OVS)
- SDN and OpenFlow examples
- SDN tools: OpenDaylight, Wireshark, and more