Software Defined Networking Architecture, Security and Energy Efficiency: A Survey <s> B. Features of SDN <s> Network virtualization has long been a goal of of the network research community. With it, multiple isolated logical networks each with potentially different addressing and forwarding mechanisms can share the same physical infrastructure. Typically this is achieved by taking advantage of the flexibility of software (e.g. [20, 23]) or by duplicating components in (often specialized) hardware[19]. In this paper we present a new approach to switch virtualization in which the same hardware forwarding plane can be shared among multiple logical networks, each with distinct forwarding logic. We use this switch-level virtualization to build a research platform which allows multiple network experiments to run side-by-side with production traffic while still providing isolation and hardware forwarding speeds. We also show that this approach is compatible with commodity switching chipsets and does not require the use of programmable hardware such as FPGAs or network processors. We build and deploy this virtualization platform on our own production network and demonstrate its use in practice by running five experiments simultaneously within a campus network. Further, we quantify the overhead of our approach and evaluate the completeness of the isolation between virtual slices. <s> BIB001 </s> Software Defined Networking Architecture, Security and Energy Efficiency: A Survey <s> B. Features of SDN <s> The virtualization of mobile devices such as smartphones, tablets, netbooks, and MIDs offers significant potential in addressing the mobile manageability, security, cost, compliance, application development and deployment challenges that exist in the enterprise today. Advances in mobile processor performance, memory and storage capacities have led to the availability of many of the virtualization techniques that have previously been applied in the desktop and server domains. Leveraging these opportunities, VMware's Mobile Virtualization Platform (MVP) makes use of system virtualization to deliver an end-to-end solution for facilitating employee-owned mobile phones in the enterprise. In this paper we describe the use case behind MVP, and provide an overview of the hypervisor's design and implementation. We present a novel system architecture for mobile virtualization and describe key aspects of both core and platform virtualization on mobile devices <s> BIB002 </s> Software Defined Networking Architecture, Security and Energy Efficiency: A Survey <s> B. Features of SDN <s> Configuration changes are a common source of instability in networks, leading to broken connectivity, forwarding loops, and access control violations. Even when the initial and final states of the network are correct, the update process often steps through intermediate states with incorrect behaviors. These problems have been recognized in the context of specific protocols, leading to a number of point solutions. However, a piecemeal attack on this fundamental problem, while pragmatic in the short term, is unlikely to lead to significant long-term progress. Software-Defined Networking (SDN) provides an exciting opportunity to do better. Because SDN is a clean-slate platform, we can build general, reusable abstractions for network updates that come with strong semantic guarantees. We believe SDN desperately needs such abstractions to make programs simpler to design, more reliable, and easier to validate using automated tools. Moreover, we believe these abstractions should be provided by a runtime system, shielding the programmer from these concerns. We propose two simple, canonical, and effective update abstractions, and present implementation mechanisms. We also show how to integrate them with a network programming language, and discuss potential applications to program verification. <s> BIB003 </s> Software Defined Networking Architecture, Security and Energy Efficiency: A Survey <s> B. Features of SDN <s> Network Virtualization (NV) is one of the most promising technique to enable innovation in today's network. A recent approach toward NV has been proposed through FlowVisor, whose aim is to leverage on the specific features of an OpenFlow-controlled network to share the same hardware forwarding plane among multiple logical networks. However, FlowVisor lacks some features to enable a full implementation of a NV architecture: the virtual topologies that can be established are restricted to subsets of the physical topology and it has no way for two slices to share flowspace and simultaneously prevent them from interfering with each other's traffic. In this work, an innovative system called ADVisor (ADvanced FlowVisor) which enhances FlowVisor while overcoming its major constraints is presented and a set of experimental results discussed to demonstrate its capability to provide an effective support toward a Network Virtualization architecture. <s> BIB004 </s> Software Defined Networking Architecture, Security and Energy Efficiency: A Survey <s> B. Features of SDN <s> The correct operation of many networks depends on keeping certain kinds of traffic isolated from others, but achieving isolation in networks today is far from straightforward. To achieve isolation, programmers typically resort to low-level mechanisms such as Virtual LANs, or they interpose complicated hypervisors into the control plane. This paper presents a better alternative: an abstraction that supports programming isolated slices of the network. The semantics of slices ensures that the processing of packets on a slice is independent of all other slices. We define our slice abstraction precisely, develop algorithms for compiling slices, and illustrate their use on examples. In addition, we describe a prototype implementation and a tool for automatically verifying formal isolation properties. <s> BIB005 </s> Software Defined Networking Architecture, Security and Energy Efficiency: A Survey <s> B. Features of SDN <s> We present AutoSlice, a virtualization layer that automates the deployment and operation of software-defined network (SDN) slices on top of shared network infrastructures. AutoSlice enables substrate providers to resell their SDN to multiple tenants while minimizing operator intervention. At the same time, tenants are given the means to lease programmable network slices enabling the deployment of arbitrary services based on SDN principles. We outline the control plane architecture of AutoSlice and discuss the most challenging aspects of the forwarding plane design with emphasis on scalability. <s> BIB006 </s> Software Defined Networking Architecture, Security and Energy Efficiency: A Survey <s> B. Features of SDN <s> Software Defined Networking (SDN) is considered as a promising method to re-construct the architecture of Internet. At present, the programs of network protocols are mixed together in SDN controller. However, in the production network, an isolated network environment with private resources is needed for each network protocol running on the same SDN controller. It is therefore necessary to design a practical virtualization cloud platform on the SDN network operating system (NOS). In this paper, we introduce a virtualization cloud platform for SDN production network. A prototype is implemented and two cases are performed to show the feasibility and the effectiveness of our proposed framework. <s> BIB007 </s> Software Defined Networking Architecture, Security and Energy Efficiency: A Survey <s> B. Features of SDN <s> Managing a network requires support for multiple concurrent tasks, from routing and traffic monitoring, to access control and server load balancing. Software-Defined Networking (SDN) allows applications to realize these tasks directly, by installing packet-processing rules on switches. However, today's SDN platforms provide limited support for creating modular applications. This paper introduces new abstractions for building applications out of multiple, independent modules that jointly manage network traffic. First, we define composition operators and a library of policies for forwarding and querying traffic. Our parallel composition operator allows multiple policies to operate on the same set of packets, while a novel sequential composition operator allows one policy to process packets after another. Second, we enable each policy to operate on an abstract topology that implicitly constrains what the module can see and do. Finally, we define a new abstract packet model that allows programmers to extend packets with virtual fields that may be used to associate packets with high-level meta-data. We realize these abstractions in Pyretic, an imperative, domain-specific language embedded in Python. <s> BIB008 </s> Software Defined Networking Architecture, Security and Energy Efficiency: A Survey <s> B. Features of SDN <s> Software Defined Networking (SDN) concepts are seen as suitable enablers for network virtualization, especially in the Data Center Network domain. However, also carrier network operators can benefit from network virtualization, since it allows new business models, promising economical benefits through sharing the cost of network infrastructure in e.g. multi-tenancy or service-isolation scenarios. Such use-cases pose additional requirements on virtualization schemes, including strict performance and information isolation, transparency of the virtualization system, high availability, as well as low CAPEX and OPEX demands. In order to fulfill these requirements, we previously proposed a flexible virtualization scheme for OpenFlow. In this paper we discuss the implementation of the proposed scheme and point out relevant lessons learned during the process, leading to architectural and technological updates. We then evaluate the system in terms of data path performance: the impact on forwarding latency is negligible, while the impact on network throughput is depending on the type of traffic and the choice of encapsulation technology. In summary, the overhead can be kept small and would not significantly affect a production network. Thus, we conclude that the minor performance degradations are outweighed by the benefits of the virtualization system. <s> BIB009 </s> Software Defined Networking Architecture, Security and Energy Efficiency: A Survey <s> B. Features of SDN <s> Network virtualization gives each "tenant" in a data center its own network topology and control over its traffic flow. Software-defined networking offers a standard interface between controller applications and switch-forwarding tables, and is thus a natural platform for network virtualization. Yet, supporting numerous tenants with different topologies and controller applications raises scalability challenges. The FlowN architecture gives each tenant the illusion of its own address space, topology, and controller, and leverages database technology to efficiently store and manipulate mappings between virtual networks and physical switches. <s> BIB010 </s> Software Defined Networking Architecture, Security and Energy Efficiency: A Survey <s> B. Features of SDN <s> Managing today’s computer networks is a complex and error-prone task. These networks consist of a wide variety of devices, from routers and switches, to firewalls, network-address translators, load balancers, and intrusion-detection systems. Network administrators must express policies through tedious box-by-box configuration, while grappling with a multitude of protocols and baroque, vendor-specific interfaces. In contrast, Software-Defined Networking (SDN) is redefining the way we manage networks. In SDN, a controller application uses a standard, open messaging interface like OpenFlow [1], to specify how network elements or switches should handle incoming packets. Programmers develop their own new controller applications on top of a controller platform which provides a programming API built on top of OpenFlow. Separating the controller platform and applications from the network elements allows anyone—not just the equipment vendors—to program new network control software. In just a few years, SDN has enabled a wealth of innovation, including prominent commercial successes like Nicira’s network virtualization platform and Google’s wide-area traffic-engineering system. Most of the major switch vendors support the OpenFlow API, and many large information-technology companies are involved in SDN consortia like the Open Networking Foundation and the Open Daylight initiative. SDN is creating exciting new opportunities for networksavvy software developers and software-savvy network practitioners alike. But how should programmers write these controller applications? The first generation of SDN controller platforms offer programmers a low-level API closely resembling the interface to the switches. This forces programmers to program in “assembly language,” by manipulating bit patterns in packets and carefully managing the shared rule-table space. In the Frenetic project [2], we are designing simple, reusable, high-level abstractions for programming SDNs, and efficient runtime systems that automatically generate the low-level rules on switches [3, 4, 5, 6, 7]. Our abstractions cover the main facets of managing Figure 1: Software Defined Network (SDN) <s> BIB011 </s> Software Defined Networking Architecture, Security and Energy Efficiency: A Survey <s> B. Features of SDN <s> Software-defined network (SDN) has become one of the most important architectures for the management of largescale complex networks, which may require repolicing or reconfigurations from time to time. SDN achieves easy repolicing by decoupling the control plane from data plane. Thus, the network routers/switches just simply forward packets by following the flow table rules set by the control plane. Currently, OpenFlow is the most popular SDN protocol/standard and has a set of design specifications. Although SDN/OpenFlow is a relatively new area, it has attracted much attention from both academia and industry. In this paper, we will conduct a comprehensive survey of the important topics in SDN/OpenFlow implementation, including the basic concept, applications, language abstraction, controller, virtualization, quality of service, security, and its integration with wireless and optical networks. We will compare the pros and cons of different schemes and discuss the future research trends in this exciting area. This survey can help both industry and academia R&D people to understand the latest progress of SDN/OpenFlow designs. <s> BIB012 </s> Software Defined Networking Architecture, Security and Energy Efficiency: A Survey <s> B. Features of SDN <s> Software defined networking (SDN) represents a new approach in which the decision-making process of the network is moved from distributed network devices to a logically centralized controller, implemented as software running on commodity servers. This enables more automation and optimization of the network and, when combined with software defined compute and software defined storage, forms one of the three pillars of IBM's software defined environment (SDE). This paper provides an overview of SDN, focusing on several technologies gaining attention and the benefits they provide for cloud-computing providers and end-users. These technologies include (i) logically centralized SDN controllers to manage virtual and physical networks, (ii) new abstractions for virtual networks and network virtualization, and (iii) new routing algorithms that eliminate limitations of traditional Ethernet routing and allow newer network topologies. Additionally, we present IBM's vision for SDN, describing how these technologies work together to virtualize the underlying physical network infrastructure and automate resource provisioning. The vision includes automated provisioning of multi-tier applications, application performance monitoring, and the enabling of dynamic adaptation of network resources to application workloads. Finally, we explore the implications of SDN on network topologies, quality of service, and middleboxes (e.g., network appliances). <s> BIB013 </s> Software Defined Networking Architecture, Security and Energy Efficiency: A Survey <s> B. Features of SDN <s> Since wireless network virtualization enables abstraction and sharing of infrastructure and radio spectrum resources, the overall expenses of wireless network deployment and operation can be reduced significantly. Moreover, wireless network virtualization can provide easier migration to newer products or technologies by isolating part of the network. Despite the potential vision of wireless network virtualization, several significant research challenges remain to be addressed before widespread deployment of wireless network virtualization, including isolation, control signaling, resource discovery and allocation, mobility management, network management and operation, and security as well as non-technical issues such as governance regulations, etc. In this paper, we provide a brief survey on some of the works that have already been done to achieve wireless network virtualization, and discuss some research issues and challenges. We identify several important aspects of wireless network virtualization: overview, motivations, framework, performance metrics, enabling technologies, and challenges. Finally, we explore some broader perspectives in realizing wireless network virtualization. <s> BIB014 </s> Software Defined Networking Architecture, Security and Energy Efficiency: A Survey <s> B. Features of SDN <s> Network Virtualization (NV) and Software-Defined Networking (SDN) are both expected to increase the flexibility and programmability of today's communication networks. Combining both approaches may even be a further step towards increasing the efficiency of network resource utilization. Multiple solutions for virtualizing SDN networks have already been proposed, however, they are either implemented in software or they require special network hardware. We propose HyperFlex, an SDN hypervisor architecture that relies on the decomposition of the hypervisor into functions that are essential for virtualizing SDN networks. The hypervisor functions can be flexibly executed in software or hosted on SDN network elements. Furthermore, existing hypervisor solutions focus on data-plane virtualization mechanisms and neglect the virtualization of the control-plane of SDN networks. HyperFlex provides control-plane virtualization by adding a control-plane isolation function, either in software or on network elements. The isolation function ensures that the resources of the control-plane are shared correctly between each virtual SDN network while it also protects the hypervisor resources from resource exhaustion. <s> BIB015
SDN helps to achieve high performance and flexibility compared to the conventional networks. SDN offers a centralized control of entire network through a controller which manages and automates the functions in all networking elements such as switches, routers and firewalls using programs. This feature helps to immediately respond to the changing traffic patterns and dynamically adjust the flows to enhance the overall network performance, better security and energy efficiency. Another feature of SDN is openness for innovation− open source platform which helps to improve further exploration, innovation and development of the network. Traditional networks are vendor specific and cannot be modified. Note that the openness of SDN does not affect the performance of the network  . Abstraction through layers is one of the best features enabled in SDN to reduce the burden on the programmer where different layers are interfaced through APIs BIB005 , BIB003 . Due to this feature, the application layer has no direct interaction with physical components of the controller. Abstraction tools like Frentic BIB005 and pyretic BIB008 are among the most commonly used ones. Virtualization through SDN enables the sharing of physical infrastructures among multiple users and adaptibility in the networks BIB012 , BIB014 . A typical virtualization architecture is shown in Fig. 3 . The virtualization can be storage based, network based or server based BIB014 . Vmware, Microsoft, Hyper-v, Citrix, Xen server, RHEL are among the most popular companies for providing network virtualization platform BIB012 ,  . Implementation of virtualization aims at creating a suitable environment for all SDN clients to coexist in a single platform without interfering with each other. The Networking Virtualization Proxy (NVP) by VMware BIB002 and SDNVE by IBM BIB013 are network virtualization platforms that are used in current SDN. The NVP specializes in reducing the programming complexity by providing high level abstraction whereas SDN is capable of handling large number of virtual machines BIB013 . Some of the commonly used virtualization techniques are discussed below. FlowVisor (FV) has proposed as a switch virtualization scheme that establishes communication between virtual layer and data plane BIB001 . Switches in system are embedded with a FlowVisor (FV) slicer and FV classifier BIB001 . Furthermore, each FV slicer is managed by a Fig. 3 . A typical architecture for server, network, storage virtualization. different controller BIB001 . ADvanced Flowvisor (ADvisor) was developed to overcome the limitations of FlowVisor and provide proper isolation among the clients BIB004 . AutoSlice has been proposed in BIB006 to tackle the issue of scalability and constraints associated with flow. Carrier Grade Virtualization has been proposed in BIB009 to include translation agents in all networking elements present in infrastructure layer. This agents facilitate the direct communication between physical layer and clients' controller without involving hypervisors. Virtualization Cloud Platform (VCP) architecture in SDN relies greatly on Network Operating System (NOS) to provide isolation and proper utilization of network resources BIB007 . FlowN has been proposed in BIB010 for enabling the flexibility in NOX controller. It is a container based virtualization supporting multiple clients on a single platform BIB011 . HyperFlex has been proposed as a control plane virtualization scheme in SDN which mainly focuses on achieving privacy, flexibility and scalability BIB015 .