In today class, we will do an introduction to Openflow, SDN, and NFV. Openflow is an open standard that enables us to run experimental and innovative protocols in production networks. Openflow is added as a feature to commercial Ethernet switches, routers, and wireless access points. And it provides and standardize the tool to allow us to run experiments without requiring vendors to expose the internal workings of their network devices. Today, Openflow is a standard communication interface defined between the control and a forwarding layer of a Software-Defined-Network (SDN) architecture. It's currently being implemented by many vendors with Openflow enabled switch, now commercially available. Openflow became common in 2010. Its concept was first published in an ACM SIGCOMM 2008 paper, and its version 1.1 was released in early 2011 as a protocol for programming forwarding plane of a network switch or router. Based on it, Open SDN was proposed in 2011. All the views of SDN includes SDN via API model, used by Cisco, which allows developers to manipulate network devices using an extended API. Also, VMware use SDN might overlays. However, for this lesson we refer to only one view: the Open SDN. In late 2012, the concept on Network Function Virtualization, NFV, was defined, which is not our replacement for SDN, but rather both SDN and NFV complement each other. In a classical router or switch, the datapath and the control path occur on the same device. An Openflow switch separates these two functions. The datapath portion still resides on the switch where high level routing decisions are moved to a separate controller, typically a standard server. The Openflow switch and Controller communicates via the Openflow protocol which defines messages. The Openflow protocol is used as a communication path between the infrastructure layer, consisting of routers and switches, and the control layer, which handles centralized intelligence for simplified provisioning, optimized performance and granularity of policy management. There are some general misconceptions: It is important to point out that Openflow is not an SDN and vice versa. There have been other misconceptions such as, if SDN means standard southbound API, centralization of control plane and a separation of control data plane. All of these misconceptions back the question, if Software-Defined Network is a mechanism. Well, SDN is not a mechanism, rather it is a framework to solve a set of problems implying many solutions, while Openflow is an open API that provides a standard interface for programming the data plane switch. Software-Defined Network, SDN, is a new technology that was designed to make a production network more agile and flexible. Production networks are often quite astatic, slow to change and dedicated to single services. With software-defined networking we can create a network that handles many different services in a dynamic fashion, allowing us to consolidate multiple services into one common infrastructure. It does this by using a centralized network control, so separation of control logic that enables automation and the coordination of network services via open programmatic interface which includes the cloud, management and business applications. The main advantages of SDN includes efficiency, by optimizing existing applications, services and infrastructure, scalability and innovation. Now, developers can create and deliver new types of application, and services and new business models. The need of SDN is driven by several factors: visualization, that remove the need to know where network resources are physically located, resource cost, organization and so on. Orchestration, that is the need to control and manage thousands of devices with one command can be achieved. Programmability, the ease of changing network behaviors without horrible upgrades. Dynamic scaling that should be able to change size and quantity. Automation, that requires minimal manual involvement in operation as cushion, such as troubleshooting and resource provisioning. Visibility, that allows resource monitoring on network connectivity. Performance, that is due to traffic engineering, capacity optimization, load balancing and the high utilization. Multi-tenancy, that allows administration access of address, topology, routing, security and service integration of load of balancer, intrusion detection system and firewalls. Network Function Virtualization is a consolidation of different network functions within a virtual server rather than deploying different hardware for different network function. As such, it decouples functions like a firewall or encryption from dedicated hardware and move the function to virtual servers. The term NFV refer to the strategy of virtualizing network function, moving from separate pieces of hardware to software running on virtual servers using standard hardware. There are four major innovations of Network Function Virtualization, which includes standard API between modules. Network functions are implemented in virtual machines. Network function modules that enhance easy programmability and a software implementation of network. We conclude our today lesson by summarizing the relationship between NFV and SDN. For more information, please refer to additional readings.