A Study Of Software Defined Networking With OpenFlow

4m ago
546.55 KB
8 Pages
Last View : 1m ago
Last Download : n/a
Upload by : Braxton Mach

International Journal of Computer Applications (0975 – 8887)Volume 122 – No.5, July 2015A Study of Software Defined Networking with OpenFlowRekha P MDakshayini MJSS Academy of Technical EducationDepartment of Information Science & EngineeringBMS College of EngineeringDepartment of Information Science & EngineeringABSTRACTToday’s data center complexity has been drastically increasedwith the widespread of many dynamic services. However,provisioning heterogeneous services to satisfy user’s demandis a challenging task for the service providers and as well forthe cloud Network administrators. Traditional networkarchitectures were not designed to meet the requirements oftoday’s enterprises and end users. Hence to meet the usersdemand and to address the difference between marketrequirements and network capabilities in data centers theindustry has come up with the Software-Defined Networking(SDN) architecture and its related standards. With SDN, staticnetwork can advance into a wide range of service deliveryplatform capable of responding rapidly to changing business,end user’s demand, and market needs. SDN provides a noveland innovative approach for controlling and managing virtualmachines in data centers. In this paper, we discuss the conceptof SDN, which can be implemented by the OpenFlowprotocol. We discuss the OpenFlow architecture and itscomponents with various OpenFlow versions. Finally wediscuss OpenFlow based SDN implementation, testing andpresent an overview of SDN based applications.KeywordsSoftware DefinedmanagementNetworking,OpenFlow,Network1. INTRODUCTIONData centers consist of layer 2 and layer 3 devices, namelyswitches and routers which carry traffic. With the growth ofthe network, and to meet the growing traffic demands of newapplications many efforts have been taking place inconfiguring these switches and routers. As demand on the datacenter growing rapidly, so is the network growth. However,the network becomes very much difficult with the addition ofhundreds to thousands of devices that must be configured andmanaged. The change in traffic patterns, rise of cloudservices, and growing demand of bandwidth has lead networkadministrators to look for innovative solutions, sincetraditional networking technologies are not suited to thedynamic computing and storage needs of data centers.Applications are distributed across many virtual machines(VM), which exchange traffic flows with each other.Migration of VMs to optimize and rebalance workloadscauses the physical end points of existing flows to change.Therefore an approach is necessary for maintaining growingnetwork easily. Instead of configuring scattered thousands ofdevices, network operators and administrators canprogrammatically configure this simplified networkabstraction. Hence, Software Defined Networking (SDN) anew approach in networking technology, was designed tocreate high level abstractions on top of which hardware andsoftware infrastructure can be built to support new emergingapplications. SDN allows network providers to expand theirnetwork and services with a common approach and tool set.OpenFlow protocol follows SDN approach which givesprogrammable control of flows to network administrators. Ithelps to identify a path that a flow takes from source todestination in spite of the network topology, and utilizes flowbased processing for forwarding packets. The objective of thispaper is to focus on the concept of SDN from the OpenNetworking Foundation (ONF).Several versions of OpenFlowspecification exist with more powerful features. The rest ofthe paper is organized as follows. We discuss how SDNsupports to network innovation by various networkingapplications that were implemented and analyzed in recentyears. These applications are in the areas of networkmanagement and traffic engineering, cloud data center,security, network virtualization. Several surveys of SDN havebeen made this contribution differs from them through ananalysis of architectural design choices for OpenFlow basedSDN networks. Section 2 explains the concept of SDN, andSection 3 gives an overview of the OpenFlow architecture,which is currently the major protocol to control networkelements in SDN. Section 4 we discuss SDN implementationand testing. Section 5 we discuss various SDN applications.Finally, Section 6 concludes this work.2. SOFTWARE DEFINEDNETWORKINGSDN is the network architecture that helps to ease networkcontrol, management, virtualization, multi tenancy and toallow improvement through network programmability.SDNconsists of separate control plane and forwarding data plane.The separation of this forwarding hardware from the controllogic allows easier operation of new protocols, applications,network visualization and management. Instead of enforcingpolicies and running protocols on spread devices, the networkis reduced to simple forwarding hardware and the decisionmaking network controller. The controller manages allswitches, routers, and other network devices as a commonlogical architecture. This logical architecture may be ofdifferent behavior on different vendor equipment and indifferent types of network devices. SDN architectures supporta set of APIs that make it possible to implement commonnetwork services, including routing, multicast, security, accesscontrol, bandwidth management, traffic engineering, qualityof service, processor and storage optimization, energy usage,and all forms of policy management.3. OPEN FLOW ARCHITECTUREOpenFlow is the standard communication interface definedbetween the control layer and forwarding layer of SDNarchitecture. OpenFlow allows direct access to andmanipulation of the forwarding plane of network devices bothphysical and virtual devices such as switches and routers.OpenFlow protocol is defined between SDN controllers andnetwork devices and as well as it specifies the logicalstructure of the network switch functions [1, 2].5

International Journal of Computer Applications (0975 – 8887)Volume 122 – No.5, July 2015The OpenFlow Switch Specification is published by the OpenNetworking Foundation (ONF). ONF is a group of softwareproviders, content delivery networks, and networkingequipment vendors to support software defined networking.The OpenFlow version 1.0 was first developed at StanfordUniversity and was widely implemented. OpenFlow version1.2 was released from ONF after the project from Stanford.Extended functions were released in OpenFlow versions 1.3and 1.4 as depicted in table 1.Table 1. OpenFlow versions and its featuresVersion1.0 [3]Releasedin yearFeaturesDecember2009Provides QoSsupport , singleflow tableThe OpenFlow architecture consists of three components The data plane network is built up by Open FlowswitchesThe control plane consists of OpenFlow controllerA secure control channel connects the switches withthe control plane1.1[4]Provides additionalstatistics fields dueto the changedswitcharchitecture,multiple flowtablesFebruary2011In the following, we discuss internal structure of Open Flowswitches and their interactions with the controller. Figure 1shows the basic structure of the OpenFlow environment. AnSDN controller communicates with OpenFlow switches usingthe OpenFlow protocol running over the Secure SocketsLayer. Every switch connects to other OpenFlow switches andalso to end-user devices.1.2 [5]1.3 [6]December2011June 2012StatisticsMeasuredPertable/flow/port/queue statisticsPertable/flow/port/queue /Group/Action bucketstatisticsExtended protocolsupport for IPv6,multiple flowtables, it can beconfigured tosimultaneouscommunicationwith multiplecontrollersPertable/flow/port/Multiple flowtables, Introducesnew features formonitoring andoperations andmanagementPertable/flow/port/queue /Group/Action bucketstatisticsqueue /Group/Action bucketstatisticsPer-flow meter/meter bandFig 1: OpenFlow Switch Architecture3.1 Open Flow SwitchAn OpenFlow switch is a basic forwarding device thatforwards packets according to its flow table. The OpenFlowswitch consists of three types of tables. The flow table, grouptable and the meter table. In turn, each switch consists of aseries of tables, implemented in hardware or firmware tomanage the flows of packets through the switch. All incomingpackets from a particular flow are matched with the flowtable. The flow table describes the functions that are to beperformed on the packets. There may be one or more flowtables. A Group table does many actions on one or moreflows. Flow table directs a flow to the group table. Flowperformance related actions are done on Meter Table.October20131.4 [7]Multiple flowtables, support forthe Open FlowExtensible MatchGroup /Actionbucket statisticsPer-flow meter /meter bandIn the following section we discuss in detail open switchcomponents.3.1.1 Flow- Table componentsA flow consists of a sequence of packets that matches aspecific entry in a flow table. A combination of flow entrieson multiple switches defines a flow that is bound to a specificpath. Each flow table in the switch contains six entries asshown in table 2.Table 2. Components of Flow Cookies Match Fields: Used to select packets that match thevalues in the fields. Priority: priority order of each table entries.6

International Journal of Computer Applications (0975 – 8887)Volume 122 – No.5, July 2015 Counters: Many counters are defined in the OpenFlow specification namely, number of receivedbytes, packets per port, per flow table, per flowtable entry, number of packets dropped, and periodof a flow. Time outs: Defines the Maximum amount of idletime before a flow is discarded by the switch. Cookie: Data value chosen by the controller to filterflow statistics, flow modification, and flow deletionand is not used when processing packets. Instructions: Is associated with the specific flowentry and is executed if a match entry is found elseif no match found in a flow table, the outcomedepends on configuration of the table-miss flowentry.3.1.2 Match FieldsThe Match Fields component of a table consists of Ingressport, Ethernet source and destination addresses, IPv4 or IPv6protocol number, IPv4 or IPv6 source Address and destinationAddress, TCP source and destination Ports, UDP source anddestination Ports. Open Flow switch must support these matchfields and the optional fields such as physical port, EthernetType, VLAN ID ,VLAN user Priority and Traffic Class.used for scheduling and forwarding the packet. It isused to provide basic QoS support. Group: specifies particular group packet that can beprocessed. Push-Tag/Pop-Tag: Field is applied for virtualnetwork like VLAN or MPLS packet. Set-Field: Is used to modify the values of respectiveheader fields in the packet. Change-TTL: To used to change the values of theIPv4 Time to Live (TTL), IPv6 Hop limit, or MPLSTTL in the packet.3.1.5 Flow-Table PipelineA switch has one or more flow tables. If there is more thanone flow table then the tables are labeled with numbersstarting with 0.When a packet is sent to a table for matching,the input to the table consists of the packet, the identity of theingress port, the associated metadata value, and the associatedaction set.For table 0, the metadata value is blank and the action set isnull. Processing is done as follows: Find the highest-priority matching flow entry. If nomatch on any entry and no table-miss entry, then thepacket is dropped. If there is a match only on table-miss entry, thenthat entry tells one of the below three actions:3.1.3 InstructionsThe instructions component of a table entry consists of a setof instructions with actions and action set that are executed ifthe packet matches the entry.Instructions are of four types: Go-to-Table: The packet is directed to a table along thepipeline using the Go to-Table instruction. Meter instruction: The packet is directed to a specifiedmeter using the meter instruction. The packets modification can be done between twotables and multiple actions can be executed on the packetof the same type when it is matched to a table entry. All the actions can be cleared in the action set orspecified actions can be combined into the current actionset for the packet on this flow.Packet consists of metadata value which is used to carryinformation from one table to the next.3.1.4 Action SetAn action set is related with each packet which describespacket forwarding, packet modification, and group tableprocessing operations. The action set can be modified using aWrite-Action instruction or Clear-Action instruction attachedwith a particular match. The action set is accepted betweenflow tables. When the instruction set of a flow entry does notcontain a Go-to-Table instruction, pipeline processing isstopped and the actions in the action set of the packet areexecuted.The OpenFlow specification includes the following actions: Output: The packets are forwarded to the specifiedport. Set-Queue: Queue ID is put for each packet, thequeue ID determines which queue attached to port is Send packet to controller to define a newflow for this and similar packets, ordecide to drop the packet. Direct packet to another flow table downthe pipeline. Drop the packet.If there is a match on one or more entries, then thematch will be with the highest-priority matchingentry. The following actions are performed: Counter is updated associated with thisentry. Instructions associated with this entry areexecuted. Lastly, the packet may be forwarded toeither to flow table or to the group table,or to meter table, or it could be send to anoutput port.There is no option for forwarding to another flow table fromthe last table in the pipeline. When a packet is finally directedto an output port, the action set is executed and then thepacket is queued for output. Some of OpenFlow switches withdesign type and versions are summarized in table 3.7

International Journal of Computer Applications (0975 – 8887)Volume 122 – No.5, July 2015Table 3: OpenFlow SwitchesSwitchArista [8]DesignTypeHWCiscoHWBrocade [9]HWHP [10]HWIBM[11,12]HWLINC [13]SWNEC [14]HWOpenvSwitch[15]SWPica8 [16]HWSeries andVersions7050 ,7150,75003750OpenFlowversion1.0CES 2000,CER 2000,MLX3500, 3500yl,5400zl, 6200yl,6600IBM 8264,RackSwitchG8264,G8264T-1.0, 1.3PF5240,PF5248Latest versionOVS , 1.3.1P-3290, P3295, P3930,P-3297,P-3922mode. According to fail secure mode flow entries have theirexpire timeouts. In fail standalone mode all packets areprocessed by the switch using the reserved port where it actsas a legacy router or Ethernet switch. At the start up, switchwill operate in fail secure mode or in fail standalone mode,unless successfully connected to the controller. When thecontroller is connected existing flow entries remain sameunless if required the controller has the option of deleting allflow entries. Table 4 provides a list of open source controllerswith its main descriptions.3.3 OpenFlow Channel1.0,,1.3,1.41.0 for OVS1.9 ,1.2 and 1.3for OVS1.101.1 for OVS2.01.4 for OVS2.21.0, 1,1, 1.2,1.3, 1.43.2 OpenFlow ControllersNetwork devices in data center gets instructions and networkrules from the controller. In turn, the controller does switchconfiguration, management, get events from the switch, andsends packets out to the switch. Using the OpenFlow protocolit manages packets, switch flow table entries by adding andremoving flow entries over the secure channel. The Controllercan be configured either in centralized configuration usingsingle controller for managing and configuring all devices orin distributed configuration with a single controller for eachset of switches. The controller operates either in reactivemode or proactive mode [17].In reactive mode, the table does not have any rules. Hencewhen the packets appear at a switch, the switch informs thecontroller about the packet. Then the controller finds the pathfor the packet and set the suitable rules for all switches alongthe path, and lastly the packets of that flow are forwarded totheir destination. In proactive mode, in prior controller installsthe required flow entries in the switches. In this configuration,the controller will have more power on performance than aproactive flow configuration. The controllers are much fasterthan the switches with respect to performance. Due totimeouts like TLS echo request, session timeouts or otherdisconnections switch may lose connection with allcontrollers. The switch must leave at once depending upon theswitch implementation and configuration. The packets andmessages destined to the controllers are dropped in fail secureThe messages are exchanged between OpenFlow switch andOpenFlow controller using the OpenFlow channel. On set up,the switch and controller communicates through a TLSconnection which is situated by default on TCP port 6653.While using TCP, Security actions has to be considered toprevent from attacks, eavesdropping, and controllerimpersonation on the OpenFlow channel. Switchescommunicate with the controller using a user-specifiedtransport port or the default transport port switches at a userconfigured IP address. If the switch is configured with the IPaddress of the controller to connect, the switch initiates astandard TLS or TCP connection to the controller.Authentication between the switch and controller is done byexchanging the certificates signed by a private key. Eachswitch must be configured by user with one certificate forauthenticating the controller. A single controller or severalcontrollers can be connected to the switch. If one controllerconnection fails then it can be replaced by other controllers.For more reliability multiple controllers are connected. Thecontroller manages the switch, enables load balancing and fastrecovery from failure.3.4 OpenFlow ProtocolThe OpenFlow protocol is a key enabler for SDN whichdirects handling of the forwarding plane of network devices.The messages are exchanged between an OpenFlow controllerand an OpenFlow switch using OpenFlow protocol. Thecontroller can delete, add and update actions to the flowentries in the flow table with the OpenFlow protocol. Thethree classes of communication namely, controller-to-switch,asynchronous, and symmetric is supported by OpenFlowprotocol. Asynchronous: This class includes various statusmessages to the controller. The Packet-in message isused by the switch to send a packet to the controllerwhen there is no flow-table match. Controller-to-Switch: The controller sends messages tomanage the logical state of the switch, configurationdetails of flow and group table entries. Packet outmessage is send when a switch forwards packet to thecontroller and then the controller directs the packet to aswitch output port without dropping it. Symmetric: These messages are sent without the helpfrom either the controller or the switch. Hello messagesare sent back and forth when the connection is set upbetween the controllers and switch. The OpenFlowprotocol messages are summarized in table 5, 6 and 7.8

International Journal of Computer Applications (0975 – 8887)Volume 122 – No.5, July 2015Table 4: Controllers in SDNControllerLanguageCreated byOpensourceNOXPython,C NiciraYesOpenFlowversion1.0, 1.3DescriptionPOXPython 2.7NiciraYes1.0BeaconJavaStanford universityYes1.0.1Event based and threaded Crossplatform, Dynamic, and RapidDevelopment [20].MaestroJavaRice universityYes1.0Modular network control applications,multi-thread [21].FloodlightJavaBig SwitchNetworksYes1.0Based on Beacon, core architecture ismodular, open source agent [22].Floodlight-plusJavaBig SwitchNetworksYes1.3New version of floodlight forsupporting OF 1.3 [23].RyuPythonNTT LabsYes1.0, 1.2,1.3, 1.4Component based, supportingcomponents development in otherlanguages, event management andreusable NETCONF library, sFlow/Net flow library [24].Open DaylightJavaLinux FoundationYes1.0 , 1.3Modular, pluggable, and flexiblecontroller platform, supportingmultiple southbound protocols [25].Asynchronous, event-basedprogramming model, component basedframework. NOX-MT is multithreadedwith improving throughput andresponse time [18].Component based framework, targetsLinux, Mac OS, and Window [19].Table 5: Asynchronous MessagesPacket-inTransfer packet to controller, used to configure buffer packetsMessage send from the controllerPacket-outFlow-RemovedReport to the controller about the removal of a flow entry from a flow tablePort-StatusReport to the controller from the switch such as port-status, port configuration orport state changes9

International Journal of Computer Applications (0975 – 8887)Volume 122 – No.5, July 2015Table 6: Controller to Switch MessagesMessageFeaturesDescriptionRequest the identity and capabilitiesof a switch. Switch responds byspecifying its capabilitiesConfigurationSwitch responds with parametersettings Set and query configurationparametersModify-StateTo set switch port properties likeAdd, delete, and modify flow/groupentriesRead-StateTo collect status such as currentconfiguration,statistics,andcapabilities of the switchPacket-outPacket is send to a specified port onthe switch and with a list of actionsto be applied in the order they arespecified, an empty action list dropsthe packetBarrier request/reply messages areused by the controller to ensuremessage dependencies have beenmet or to receive notifications forcompleted operationsBarrierRole-RequestThese messages are used by thecontroller to set the role of its OpenFlow channel or query that role.Useful when the switch connects toseveral controllersAsynchronousConfigurationThese messages are used by thecontroller to set filter on theasynchronous messages that itwishes to receive on its Open Flowchannel, or to query that filter. Thisis mostly useful when the switchconnects to several controllersTable 7: Symmetric MessagesHelloErrorEchoExperimenterUpon connection set up ,hello messageis exchanged between the switch andcontrollerSwitch informs to the controller tonotify to notify the connection problemsand also indicates failure of a requestinitiated by the controllerEcho request/reply messages can besent from either the switch or thecontroller verify the liveness of acontroller-switch connection as wellused to measure its latency orbandwidthMeant for future Open Flow revisions4. IMPLEMENTATION AND TESTINGResearchers can test new services, applications and protocolson an emulation of the expected deployment environmentbefore moving to the actual hardware. Mininet is a softwaretool supports entire OpenFlow v1.0 network can be emulatedon a single computer .It uses Linux kernels along with Pythonlanguage scripts to construct a virtual network of largenumber of host network, Open Flow switches, and controllersin any network topology over a single desktop or laptopstation.EstiNet is simulation as a service which uses thecompany servers to run the simulation or the emulationprojects [27]. Ns-3 supports OpenFlow protocol and itsswitches in simulator environment but the drawback is itcannot readily run a real Open Flow controller such as NOX,POX, or Floodlight. Trema is an OpenFlow framework forintegrated testing and debugging environment. It manages,monitor, and diagnose the entire system with a networkemulator and a diagnostic tool like Trema shark, Wiresharkplug-in [28]. For testing novel applications using OpenFlowtest-beds, experimental environments were developed. Tosupport experimental research in networking GlobalEnvironment for Network Innovations (GENI) supported bythe National Science Foundation were developed. Researcherscan dynamically control and extend the network throughOpenFlow OFELIA test-bed.5. SDN APPLICATIONS5.1 Network ManagementNetwork management in software defined network can bedone from logical flow tables which are in the centralizedlogical controllers and these flow tables can be used indistributed switches. Due to high-level policies in adistributed low-level configuration using CLI mode networkstate is difficult to achieve. Authors solved problems in anevent-driven control framework which is on functionalreactive programming and OpenFlow 1.0.0 [29].Anothercontrol system was proposed that does integrated networkmanagement, control system discovery and fault detection[30]. Security management is another aspect of networkmanagement. The algorithm of information securitymanagement system combined with fuzzy logic and aprototype of intrusion detection system was designed [31].For event-based network control approach, Lithium systemwas developed [32]. For minimal visibility of performanceand control, a programmable measurement platform approachwas Bismarck was introduced [33].5.2 Network VirtualizationNetwork virtualization is one of the important key researchareas of network that allow multiple users to share resourceand infrastructure. A system for managing virtual networksand sharing infrastructure based on layer 2 and OF wereintroduced [35]. For managing and monitoring slicesinfrastructure operations an approach for network isolationbased on Flow Visor and Slice Control and ManagementLayer was presented [36]. To manage and allocate resourceoptimally a test-bed for isolated virtual network with differentQoS to help administrator was presented [37]. Xen hypervisoris used for virtualization with the high performance and tomanage resources [38].5.3 Cloud Data CenterSDN gives better solution for cloud Services and data center.In cloud, users gain the enough resources based onrequirement in real time [39]. The cloud data center wasimplemented using SDN based implementation which is faster10

International Journal of Computer Applications (0975 – 8887)Volume 122 – No.5, July 2015and easier to configure [40]. NetGraph, software architectureto manage SDN based cloud systems were introduced whichprovides a module with a set of API for monitoring anddiagnostics cloud system [41]. Hedera defines dynamic FlowScheduling for Data Center Networks with a central schedulerto balance load based on dynamic flow condition on wholesystem [42]. Cross stratum architecture was proposed for datacenter interconnection designed for Flexi-Grid opticalnetworks. Authors argued that the system has improved end toend responsiveness and optimized resource usage aristanetworks.com/en/products/eos/openflow, last visit: tiron-ces-2000-series/index.page, last switches/HP 3500 and 3500 yl Switch Series/index.aspx, last visit: m.com/systems/networking/software/sdnvelastvisit: productsservices/sdn , last visit:8.8.20145.4. SecurityA system was introduced in which OpenFlow switch on edgeis used to pass only safe traffic defined on flow table torecognize trusty user [44].OpenFlow Random Host Mutationsystem was introduced in which real IP of each host ischanged with the random virtual IP [45]. Multilevel securitysystem was developed that prevents information of specificlevel which gathered by same or lower level host to monitorpacket and check content so filter the packet with securityproblem [46]. The authors suggested architecture with IDScomponent responsible for detecting attacks and recognizingunsecure devises and inform OpenFlow controller [47].One problem of SDN approach is that when network traffic ishigh gathering full data from flow table is not resourceful soauthor suggested solution to optimal real time detectionsystem [48].6. CONCLUSIONIn this study, we discussed the concept of software definednetworks and the open Flow architecture with threecomponents namely, OpenFlow switch, Open Flow controllerand OpenFlow protocols. We discussed switches and theircapabilities, communication between switch and controller.We presented different SDN implementations and testingplatforms. At last we briefed SDN applications in differentareas to improve network management, virtualization, clouddata centers and the works done on security of SDN. Finally,we conclude that SDN promises to change static networksinto flexible, programmable platforms with the intelligence toallocate resources dynamically in data centers and it supportsdynamic, highly automated, and secure cloud environments.[1] Thomas A. Limoncelli. OpenFlow: a radical new idea innetworking.Communication, ACM, 55(8):42–47, g.org[14]foundation.[3] OpenFlow Switch Consortium and Others, “OpenFlowSwitch Specification Version 1.0.0”, 2009.[4] OpenFlow Switch Consortium and Others, “OpenFlowSwitch Specification Version 1.1.0”, doc.cfm?t PFlowPF5240Switch, last visit: 18.10.2014[15] OpenvSwitch, available online: http://openvswitch.org,last visit: 18.10.2014[16] Pica8 open networking, e-open-switches.php,lastvisit: 18.10.2014[17] Evaluation of OpenFlow Controllers Guillermo Romerode Tejada Muntaner, October 15, 2012.[18][19][20]7. REFERENCES[2][13] Y. Cheng, V. Ganti and V. Lubsey, “Open Data CenterAlliance Usage Model: Software-Defined Networkingrev. 2.0”, Open Data Center Alliance, 2014, enflow.stanford.edu/display/Beacon/Home, lastvisit: 18.10.2014.[21] E. Ng, “Maestro: A System for Scalable / eugeneng/papers/TR10-11.pdf,lastvisit: 18.10.2014.[22] Floodlight OpenFlow Controller - Project light.org/floodlight/, last visit:18.10.2014.[5] Open Flow Switch Consortium and Others, “Open FlowSwitch Specification Version 1.2.0”, 2011. Availableonline: https://www.opennetworking.org.[23] Ann

The OpenFlow Switch Specification is published by Tablethe Open Networking Foundation (ONF). ONF is a group of software providers, content delivery networks, and networking equipment vendors to support software defined networking. The OpenFlow version 1.0 was first dev