Traditional architecture is not suited to meet the requirements of the today's’ business and end users. Open Network Foundation developed a transforming network, Software Defined Network architecture in which data planes and control channels are decoupled. This paper is an attempt to discuss to requirements, applicability and processes of SDN in today’s context. Decoupling processes along with the abstraction of network infrastructure from underlying applications are the main point of study in this report. SDN enables programs to be automated, network controlled, highly scalable and dynamic towards network changes. The report throws light on SDN architecture and its component. It also discusses applicability of Mininet to create more robust programs.
Network virtualization and software defined networking have been hot topics from last few years. However, IT organization are confused over these topics because of a lot of similarities between the two. The traditional approach was to have dedicated network functionality in all the appliances like a router, application delivery, and switch. These dedicated appliances used to implement the functionality through dedicated hardware like ASIC i.e. Application Specific Integrated Circuit. These ASICs were slow to perform any task and were controlled by appliance providers. Their configuration was done individually, and the task performed by them were very error prone and time-consuming (Abolhasan, Lipman, Ni, &Hagelstein, 2015). To increase the efficiencies of these machines, concept of virtual servers was evaluated. The virtual machine is placed among the servers and works in seconds. But, complexity increases with layers, and it again slows down the system. It will take weeks to reconfigure network and to support VM movement. Over the years, reliance on software-based networks increased. It is common now to increase the use of software to provide more agility to the system. All the software based data structures are virtual and are delivered as services. These databases are automatically controlled by data center applications. SDN development supports replication, dynamic movement of data and services and virtual allocation of resources. It is more scalable and easily deployable technology.
Software Defined Network is a new technology of networking where network control is programmable directly and can be decoupled from forwarding. This immigration control bounds tightly single network devices into accessible devices and enables underlying infrastructure to be used for network services and applications. It treats the network as a virtual or logical entity. SDN is more cost effective, dynamic, adaptable and manageable which make it ideal for large bandwidth, dynamic applications. This network architecture enables network control to be directly programmable by decoupling forwarding functions and network control. Open network foundation defines the SDN as an abstracting tool for controlling forwarding. It lets administration automatically adjust the network traffic flow to fulfill dynamic needs. Software-based network controllers have centralized intelligence which maintains the global appearance of the network for applications and logical or single switches (Cao, He, Li, Wang, & Lang, 2015). SDN is configured programmatically which lets manager optimize, manage and secure the resources over the network by using automated and dynamic SDN programs. Network managers can write these programs themselves as they are not dependent on proprietary software. SDN simplifies operations and network designs when implemented using open standards because SDN controllers provide the instructions instead of vendor specific protocols and devices.
These are the component of the SDN which are continuously evolved and updated by ONF.
SDN Application Layer: These are programs which directly, programmatically and explicitly communicate desired behaviour of network and its requirements to SDN controller through NBIs. Additionally, they might consume abstract network view for decision-making purpose related to the internal or external network. SDN application has one application logic and many drivers. They can expose themselves into another network control and offer higher NBI levels by using NBI agents (Drutskoy, Keller, & Rexford, 2013).
SDN Controller: It is a centralized logical entity who is in charge of translation of requirements from SDN application layer and communicates them to SDN data paths. It provides abstract network via to the SDN applications which involve events and statistics. SDN controller has many NBI agents, control logics, and CDPI drivers.
SDN Data Path: It is a logical network device which depicts uncontended control and visibility over its forwarding and data capabilities. A logical representation of data path may incorporate few or all physical resources of substrates. SDN data path has a CDPI agent and few engines who forwards traffic and some traffic handling functions. These functions and engines include forwarding among internal and external traffic handling functions of the data path. One or many data paths can be there in a single network. These are termed as a single unit. A single data path can also be used across many physical networks. This definition neither precludes nor prescribes implementation details like physical or logical mapping, physical resources’ management, slicing or virtualization of the data path, non-SDN units’ interoperability and function processing.
SDN CDPI: This is Control to Data Plane Interface which is a boundary between SDN data path and controller (Gringeri, Bitar, & Xia, 2013). It provides process control of all operations which are forwarding, advertisement of capabilities, reporting of statistics and notifications of events. CDPI is implemented in interoperable, vendor-neutral and the open way which is useful for SDN.
SDN Northbound Interface: these are interfaces among SDN controllers and applications which provides network abstract views and direct network behaviour expressions and requirements. This can occur at any stage of abstraction and any functional set. These interfaces are also operated in interoperable and vendor freeways.
Interface Agents and Drivers: All the interfaces have agent driver pair where agent represent bottom or infrastructure side, and driver represent top or application side.
This figure shows the interconnection among layers and their controlling unit. The management concept encompasses functions to support infrastructures like operations among NE, SDN manager, and controller. Functions like equipment installations, upgrading and maintenance, are included in managerial functions. SDN-specific management allocates policy and resources to specific clients of SDN and SDN applications (Huang, Li, Guo, &Zhuang, 2015). Provisions of necessary information permissions to functional units to communicate is also handled by SDN management. There can be any number of different entities handling management functions which are termed as operation support system. The controlling concept incorporates operations of a server or client which are requested by a client.
SDN infrastructure stipulates functional connection between all software without putting constraints on the location of the systems. Application programming interface i.e. API is tunneled by using a network protocol to assist separation. In the case of co-existence of interfaces, network protocol can be misplaced to expose API. References to protocols or API can be understood to be expected controlled or typical implementations, but these are not mandatory. One example of such interface between SDN controllers and applications northbound interface. It carries the implementation which flows to south through service invocation interface. The boundary between applications and SDN controller is a perspective which is termed as controller application interface to avoid northbound terminology and designate boundaries. A PCE exists which is invisible and is a part of the controller and is used by this. It is exposed to be used as a controller service by external applications and as an application service to be raised by controllers (Jain & Paul, 2013). In the figure, colors are used to distinguish administrative domains. Each color will be for the separate company to clarify the security issues. Colors are matched with domain functionality.
This is an abstract network which represents a network. It can be data or transport network. Network owners are designated by blue color. Rectangle size shows network elements which are only used for drawing ease. Lines connecting NEs are links between them. Open-ended links are data plane points which are suitable for network equipment connections outside the domain of data plane of SDN controller. Two clients use external points indicated as Red and Green in the figure.
Network management introduces SDN principles, architectural relationships, and functions. These principles are summarized here:
Decoupling of data planes and controller: This principle implies separable data planes and controllers. It is required that control must be within data system only. D-CPI between the network element and SDN controller has defined that SDN controller allocates some functionality to NE being aware of its state (Li, Djukic, Stojmenovic, &Luo, 2015). There are fixed criteria to decide what to give and retain in the controller itself.
Logically Centralized Control: Central controller has a larger perspective of controlled resources, and it can help to take better decisions on deploying those resources. Scalability can be improved by centralized control and decoupling by allowing global but restricted views of resources.
Exposure of network’s abstract resources and external applications: Applications can be at any level of granularity or abstraction, attributes are defined at varying latitude. An interface which exposes state and resources can be a controller interface. There is no clear difference between control and application. The Same functionality can be interpreted differently by different stakeholders. Applications can be related to other applications as clients, servers or clients.
The explosion of server virtualization, mobile content and devices and cloud services are the latest trends which drive the network industry to cross check traditional network methodologies. Traditional networks are built on Ethernet switches and are hierarchically arranged in the tree-shaped structure. Traditional networks are not suited for dynamic storage needs and computing needs of the fast changing environment. Key benefits of the system are:
Traffic pattern changes: earlier communication was used to happen between single clients only, today applications access many servers and databases. They create east-west traffic before sending any data to devices of end users. Users request access to applications and corporate data from any device connected anytime anywhere. Enterprise center managers are devising computing model which include public and private cloud and increases traffic across networks or WANs.
Consumerization of IT: users are using personalized devices like tablets, mobile, and notebooks to get access to corporate network. Accommodating these devices while protecting intellectual property and corporate data along with compliance mandates is becoming very difficult for IT.
Cloud services enhancements: Enterprises have incorporated both private and public cloud services. Thy wants quick access IT resources, applications and other infrastructures on demand (Wang, Chen, Xu, Ai, & Shi, 2015). To complex the things, compliance, auditing and security are required to be fulfilled with business consolidations and reorganizations.
Big data requires large bandwidths: Massive data processing and high capacity servers are required to handle large databases which require direct connection between servers. It is fueling extra capacity in data centers and servers.
One of the costs contributing for the network operators is devices. Today’s equipment are monolithic and specialized. Operators need to deploy new services with changing needs of the clients which costs much. Innovation is hindered because of lack of open interface between the devices. This can be avoided by implementing software defined open networking. An operator cannot invest regularly in training, CapEx and hire people to incorporate changes and their implications (Wood, Ramakrishnan, Hwang, Liu, & Zhang, 2015). SDN has provided a continuous progress in the system without replacing the existing system. It does not overload the change requirements. Continuous and regular changes can be easily understood by the operating staff, and it is sufficient to fulfill the demands of the clients from a different perspective.
It saves the cost of replacing the hardware, labor cost of management, application implementation, and ancillary function’s cost. If we compare this with the cost of implementing SDN and its management, eeven small businesses are profiting from this comparison whether they build an internal structure or place new SDN in the cloud. SDN can help to reduce cost up to 95% by implementing the system without replacing existing infrastructure. It also saves on power, cabling, cooling and real estate. Networking is not the only benefit of implementing SDN. Virtual data layout provides levels of agility up and down for the whole business model like product development, customer fulfillment, sales, and marketing, etc. it improves application response time and entails user experiences. Speedy application development is possible by using SDN. A week long process is shortened to few minutes’ activity which makes product development faster leading to million dollar revenue at an accelerated rate.
Openflow’s work is to update entries in forwarding table in switch or router. Therefore, it is neither switching nor routing protocol. Network equipment architecture describes three operation planes which are data planes, management and control.
Management plane manages firmware updates, device management, external and SNMP configuration via CLI. Data planes denotes frame and packet forwarding using the device. Control plane is used to route protocols like OSPF and BGP, switching protocols like TRILL and STP. Control panel uses routing table for building forwarding table which is used by data plane. Forwarding table is delivered by management plane to data plane as a part of operating system. Therefore when Ethernet frame reaches to switch interface, it is forwarded to output port by data plane.
OpenFlow being the new method for flow control in network. Till now, networking was focused only on managing packets and frames with routing protocols, but these single packets are not used by applications for service deliveries. Rather, data is exchanged between client and servers, which is converted to packet streams from source to destination which is commonly termed as flow. Standards for flow rules are defined by OpenFLow to send them to network devices to add them to forwarding table for using in data plane (Zhao et al., 2014). Elements fields such as destination and sources MAC, destination and source IP, TCP, OoS and MPLS are defined in the flow rules. These flow rules are added to already existing forwarding table used in network device. This forwarding table is used by all switches and routers to dispatch packets and frames to their egress ports. Therefore, OpenFLow SDN is neither switching nor routing, it is the concept of forwarding.
Mininet is a network which runs end-hosts, links, switches and routers on Linux kernel. It is useful for virtualization of systems and processes to scale up nodes. Users can test and deploy new network on the new architecture. Mininet was developed to teach and research new technology. Now, it is used to create SDN which consists open flow controller, switches, multiple hosts and Ethernet networks. It’s built in functions supports different types of switches and controllers.
Mininet simulates SDN and runs controller for testing and experimenting. It includes an open switch and OVCS controller by default. Mininet can be run as a root by using pseudo commands to Mininet (Yassine, Rahimi, &Shirmohammadi, 2015). It starts topology and command line is entered. It is chosen by default and involves an OpenFlow switch to connect hosts and controllers. Five topologies are by default there in Mininet e.g. single, tree, minimal, linear and reversal.
Changing trends in IT put tremendous pressure on the network to adapt the changes and serve the demands as per the client requirements. Software Defined Network is a technical solution to provide a dynamic and fast network which transforms the traditional system into better service delivery stage. By decoupling data planes and network controls, SDN extracts infrastructures from the set of applications. It allows the network to be manageable and programmable at the similar scale of computer substructure. SDN enables IT to handle its servers, networks, storage and applications and nurtures network virtualization with common tools and approaches. Open Networking Foundation (ONF) has developed a vivacious system around SDN which spans small and large vendors, software companies, manufacturers, application developers, computer companies and end users. Networking future is dependent on software and innovation pace in computing; SDN puts the potentials flexible, intelligent and dynamic platforms to develop such software. SDN with all its industry momentum and the advantage is going to be a new norm in the network industry.
Abolhasan, M., Lipman, J., Ni, W., & Hagelstein, B. (2015). Software-defined wireless networking: Centralized, distributed, or hybrid? IEEE Network, 29(4), 32–38. doi:10.1109/mnet.2015.7166188
Cao, B., He, F., Li, Y., Wang, C., & Lang, W. (2015). Software defined virtual wireless network: Framework and challenges. IEEE Network, 29(4), 6–12. doi:10.1109/mnet.2015.7166185
Drutskoy, D., Keller, E., & Rexford, J. (2013). Scalable network Virtualization in software-defined networks. IEEE Internet Computing, 17(2), 20–27. doi:10.1109/mic.2012.144
Gringeri, S., Bitar, N., & Xia, T. J. (2013). Extending software defined network principles to include optical transport. IEEE Communications Magazine, 51(3), 32–40. doi:10.1109/mcom.2013.6476863
Huang, H., Li, P., Guo, S., & Zhuang, W. (2015). Software-defined wireless mesh networks: Architecture and traffic orchestration. IEEE Network, 29(4), 24–30. doi:10.1109/mnet.2015.7166187
Jain, R., & Paul, S. (2013). Network virtualization and software defined networking for cloud computing: A survey. IEEE Communications Magazine, 51(11), 24–31. doi:10.1109/mcom.2013.6658648
Li, X., Djukic, P., Stojmenovic, I., & Luo, Z.-Q. (2015). Software-defined carrier wireless networks [Guest Editorial]. IEEE Network, 29(4), 4–5. doi:10.1109/mnet.2015.7166184
Wang, H., Chen, S., Xu, H., Ai, M., & Shi, Y. (2015). SoftNet: A software defined decentralized mobile network architecture toward 5G. IEEE Network, 29(2), 16–22. doi:10.1109/mnet.2015.7064898
Wood, T., Ramakrishnan, K. K., Hwang, J., Liu, G., & Zhang, W. (2015). Toward a software-based network: Integrating software defined networking and network function virtualization. IEEE Network, 29(3), 36–41. doi:10.1109/mnet.2015.7113223
Yassine, A., Rahimi, H., &Shirmohammadi, S. (2015). Software defined network traffic measurement: Current trends and challenges. IEEE Instrumentation & Measurement Magazine, 18(2), 42–50. doi:10.1109/mim.2015.7066685
Zhao, Y., Ji, Y., Zhang, J., Li, H., Xiong, Q., & Qiu, S. (2014). Software defined networking (SDN) controlled all optical switching networks with multi-dimensional switching architecture. Optical Fiber Technology, 20(4), 353–357. doi:10.1016/j.yofte.2014.04.002