1 00:00:00,680 --> 00:00:06,530 Another definition of software defined networking is software defined networking via APIs or application 2 00:00:06,530 --> 00:00:07,880 programming interfaces. 3 00:00:08,180 --> 00:00:15,230 In this vision, rather than being tied to configuring a network device via a command line interface, 4 00:00:15,230 --> 00:00:21,680 which is very restrictive, why don't we have richer programmatic interfaces on networking devices? 5 00:00:21,920 --> 00:00:28,730 An example would be let's use a restful API rather than a basic CLI. 6 00:00:28,880 --> 00:00:35,630 Other protocols like over SDB and net conf could be used to programmatically change the configuration 7 00:00:35,630 --> 00:00:36,980 of a networking device. 8 00:00:37,340 --> 00:00:42,530 Now you may be thinking, well, I'll just use simple network management protocol or S&P. 9 00:00:42,920 --> 00:00:49,370 S&P has some restrictions and doesn't work particularly well when you want to change the configuration 10 00:00:49,370 --> 00:00:50,450 of a device. 11 00:00:50,720 --> 00:00:58,850 Another definition would be using A6, and I've put this as a separate vision of SD and there will be 12 00:00:58,850 --> 00:01:00,800 a separate course on Cisco. 13 00:01:00,800 --> 00:01:03,890 HCI using a protocol called OP Flex. 14 00:01:04,069 --> 00:01:13,280 Cisco purchased a startup called in Semi and they have developed a vision of SG n using hardware or 15 00:01:13,310 --> 00:01:14,090 A6. 16 00:01:14,090 --> 00:01:20,390 So the Cisco solution is very reliant on an ACE ECC implementation and ties in with their Nexus product 17 00:01:20,390 --> 00:01:20,930 line. 18 00:01:21,290 --> 00:01:26,210 Other terms you may come across include cloud automation using OpenStack. 19 00:01:26,510 --> 00:01:32,420 One of the visions with OpenStack is that we should be able to manage all our networking devices, servers 20 00:01:32,420 --> 00:01:35,360 and storage from a single management console. 21 00:01:35,690 --> 00:01:38,420 We'll talk more about OpenStack in a separate course. 22 00:01:38,690 --> 00:01:42,650 What about NFV or network function virtualization? 23 00:01:42,830 --> 00:01:50,750 I'd recommend that you visit the open AVI website for more details about an AVI, but to give you a 24 00:01:50,750 --> 00:01:58,580 very quick overview of NFV is why do you run specific operating systems on specific hardware to provide 25 00:01:58,580 --> 00:01:59,330 a function? 26 00:01:59,510 --> 00:02:05,840 As an example, why do you have a hardware firewall that just provides that function? 27 00:02:06,080 --> 00:02:12,170 In the past, you had servers that had specific functions installed on specific hardware. 28 00:02:12,440 --> 00:02:19,070 As an example, you may have had an exchange server or a database server or a file server. 29 00:02:19,340 --> 00:02:22,430 Every server was running on dedicated hardware. 30 00:02:22,670 --> 00:02:27,770 Then a few years ago, servers got virtualized, so you no longer run. 31 00:02:27,770 --> 00:02:33,950 For instance, some server platforms on hardware, you run them within virtual machines, and typically 32 00:02:33,950 --> 00:02:38,390 you would run many virtual machines on a single hardware device. 33 00:02:38,390 --> 00:02:45,380 And there are many advantages to the virtualization of servers in the same way, why don't we virtualize 34 00:02:45,410 --> 00:02:46,790 networking devices? 35 00:02:46,790 --> 00:02:55,370 So as an example, we might virtualize a Cisco router using the CSR or an HPE router using a VSA or 36 00:02:55,370 --> 00:02:58,970 a switch using OVS or Open V switch. 37 00:02:59,360 --> 00:03:03,740 Many of us have encountered virtual switching in a VMware environment. 38 00:03:03,770 --> 00:03:07,070 VMware have virtual switches running in their hypervisors. 39 00:03:07,070 --> 00:03:13,790 So taking this a step further, why don't we virtualize networking devices rather than having a dedicated 40 00:03:13,790 --> 00:03:15,980 router or a dedicated firewall? 41 00:03:16,010 --> 00:03:23,180 Why don't we just run a VM with that function so we could virtualize a firewall or virtualize a router, 42 00:03:23,240 --> 00:03:25,660 but we could take it a step further. 43 00:03:25,670 --> 00:03:32,540 So as an example, rather than running a Windows operating system, just to give me a specific application 44 00:03:32,540 --> 00:03:39,830 like a web server, why don't we virtualize the operating system as well and run multiple applications 45 00:03:39,830 --> 00:03:47,450 separated from each other as if they're in different VMs or containers is a term that's often used today 46 00:03:47,450 --> 00:03:54,200 and separate the applications from each other, but have multiple applications running on a single server 47 00:03:54,560 --> 00:03:55,250 in the same way. 48 00:03:55,250 --> 00:04:01,910 Why don't we virtualize a function such as VR or PE or a firewall function rather than running a full 49 00:04:01,910 --> 00:04:04,070 blown operating system per function? 50 00:04:04,070 --> 00:04:10,700 Why don't we run one operating system and just instantiate network functions and many of them on a single 51 00:04:10,700 --> 00:04:11,720 operating system? 52 00:04:11,960 --> 00:04:14,960 We'll talk more about NFV in a separate course. 53 00:04:15,770 --> 00:04:19,970 For now, I'm going to introduce open Steen and a bit of open flow. 54 00:04:20,000 --> 00:04:23,990 Have a look at more detailed courses available on Genius three. 55 00:04:25,190 --> 00:04:29,960 I will hopefully be discussing the details of all of these in upcoming courses.