How SDN Works Introduction Of OpenFlow Protocol - Ntut.edu.tw

Transcription

Depart. Electronic EngineeringMobile Intelligent Network LabHow SDN Works –Introduction of OpenFlowProtocolOct. 15, 2020Lab2101

Depart. Electronic EngineeringMobile Intelligent Network LabOutline From Legacy Network to SDN How SDN Works OpenFlow Overview- OpenFlow Switch- OpenFlow Controller- The Controller-Switch Secure ChannelRef:Paul Goransson, Chuck Black, Software Defined Networks: a comprehensive approach, 1st edition,Morgan Kaufmann, 2014COS 597E - Software Defined Networking, Jennifer Rexford, Princeton UniversityCOMS E6998-10 2014 - Software Defined Networking, Li Erran Li, Columbia UniversityLab2102

Depart. Electronic EngineeringMobile Intelligent Network LabSDN History 2004 Research on new management paradigmsRCP, 4D [Princeton, CMU, ]SANE, Ethane [Stanford/Berkeley]2008: Software-Defined NetworkingNOX Network Operating System [Nicira]OpenFlow switch interface [Stanford/Nicira]2011: Open Networking FoundationBoard: Google, Yahoo, Verizon, DeutscheTelekom, Microsoft, Facebook, NTTMembers: Cisco, Juniper, HP, Dell, Broadcom,IBM, Lab210CurrentGoogle is using SDN in its private WAN B4Many commercialized SDN products3

Depart. Electronic EngineeringMobile Intelligent Network LabFrom Legacy Network toSDNLab2104

Depart. Electronic EngineeringMobile Intelligent Network LabMegatrend in the computer dHardwareVertically integratedClosed, proprietarySlow innovationSmall industryOpen InterfaceWindows(OS)or LinuxorMacOSOpen InterfaceMicroprocessorHorizontalOpen interfacesRapid innovationHuge industryLab2105Source: Nick Mckeown, Stanford

Depart. Electronic EngineeringMobile Intelligent Network LabThe same trend in the dHardwareOpen pen InterfaceMerchantSwitching ChipsLab210Vertically integratedClosed, proprietarySlow innovationHorizontalOpen interfaces6Rapid innovation Source: Nick Mckeown, Stanford

Depart. Electronic EngineeringMobile Intelligent Network LabSoftware Defined Networkscontrol plane: distributed algorithmsdata plane: packet processingLab2107

Depart. Electronic EngineeringMobile Intelligent Network LabSoftware Defined Networksdecouple control and data planesLab2108

Depart. Electronic EngineeringMobile Intelligent Network LabSoftware Defined Networksdecouple control and data planesby providing open standard APILab2109

Depart. Electronic EngineeringMobile Intelligent Network Lab(Logically) Centralized ControllerController Platform /Network Operating SystemLab21010

Depart. Electronic EngineeringMobile Intelligent Network LabProtocols ApplicationsController ApplicationController PlatformLab21011

Depart. Electronic EngineeringMobile Intelligent Network LabDefinition of SDNThe separate of control plane from data plane Data Plane:processing and deliveryof packets- Based on state inrouters and endpoints Control Plane:establishing the state inrouters- Routing traffic engineering firewall state, etc. IP TCP Ethernet, etc.- Fast timescales per-packetDetermines how and wherepackets are forwarded-Slow time-scales per control eventLab21012

Depart. Electronic EngineeringMobile Intelligent Network LabAn Opportunity to Rethink How should future networks be- Designed- Managed- Programmed What are the right abstractions- Simple- Powerful- Reusable A specific SDN: configuration, distribution and forwardingabstractionLab21013

Depart. Electronic EngineeringMobile Intelligent Network LabHow SDN WorksLab21014

Depart. Electronic EngineeringMobile Intelligent Network LabSDN Software StackApplicationNetwork OSControllerAPI: OpenFlowSwitchSwitchOpen vSwitch (OVS) /SDN switchLab210Switch15

Depart. Electronic EngineeringMobile Intelligent Network LabEthane: Centralized, reactive, per-flowcontrolLab21016

Depart. Electronic EngineeringMobile Intelligent Network LabOpenFlow: a pragmatic compromise Speed, scale, fidelity of vendor hardware Flexibility and control of software and simulation Vendors don’t need to expose implementation Leverages hardware inside most switches today- Access control list (ACL) tables rules applied to port numbers or IP addressesLab21017

Depart. Electronic EngineeringMobile Intelligent Network LabAreas in ONFLab21018

Depart. Electronic EngineeringMobile Intelligent Network LabMembers in ONF (1/2)Lab21019

Depart. Electronic EngineeringMobile Intelligent Network LabMembers in ONF (2/2)Lab21020

Depart. Electronic EngineeringMobile Intelligent Network LabThree Layers in SDNApplicationNetwork OSControllerNorthboundSouthboundAPI: OpenFlowSwitchSwitchOpen vSwitch (OVS) /SDN switchLab210Switch21

Depart. Electronic EngineeringMobile Intelligent Network LabEthernet SwitchControl Path (Software)Data Path (Hardware)Lab21022

Depart. Electronic EngineeringMobile Intelligent Network LabOpenFlow: the Southbound InterfaceOpenFlow ControllerOpenFlow Protocol (SSL/TCP)SwitchControl Path (OpenFlow Client)Lab210Data Path (Hardware)23

Depart. Electronic EngineeringMobile Intelligent Network LabCentralized vs Distributed ControlBoth models are possible with OpenFlowCentralized ControlControllerOpenFlowSwitchDistributed penFlowSwitch24

Depart. Electronic EngineeringMobile Intelligent Network LabFlow Routing vs. AggregationBoth models are possible with OpenFlowAggregatedFlow-Based Every flow is individuallyset up by controllerExact-match flow entriesFlow table contains oneentry per flowGood for fine graincontrol, e.g. campusnetworks One flow entry coverslarge groups of flowsWildcard flow entriesFlow table contains oneentry per category offlowsGood for large number offlows, e.g. backboneLab21025

Depart. Electronic EngineeringMobile Intelligent Network LabReactive vs. Proactive (pre-populated)Both models are possible with OpenFlowReactiveProactive First packet of flowtriggers controller toinsert flow entriesEfficient use of flowtableEvery flow incurs smalladditional flow setuptimeIf control connectionlost, switch has limitedutility Controller pre-populatesflow table in switchZero additional flow setuptimeLoss of controlconnection does notdisrupt trafficEssentially requiresaggregated (wildcard)rulesLab21026

Depart. Electronic EngineeringMobile Intelligent Network LabOpenFlowOverviewLab21027

Depart. Electronic EngineeringMobile Intelligent Network LabStandardization of OpenFlow The nonprofit Internet organization openflow.orgwas created in 2008.- As a mooring to promote and support OpenFlow.- The physical organization was really just a group ofpeople that met informally at Stanford University.- The first release, OpenFlow1.0.0, appeared on Dec.31, 2009.- Later, OpenFlow 1.1.0 was released on Feb. 28,2011. On March 21, 2011, the Open NetworkFoundation (ONF) was created.Lab210- For the purpose of accelerating the delivery andcommercialization of SDN.28

Depart. Electronic EngineeringMobile Intelligent Network LabOpenFlow Overview OpenFlow defines both the communicationsprotocol between the SDN data plane and the SDN control plane part of the behavior of the data plane OpenFlow does not describe the behavior of thecontroller itself. The OpenFlow behavior specifies- how the device should react in various situations- how it should respond to commands from the controller There is always an OpenFlow controller thatcommunicates to one or more OpenFlow switches.Lab21029

Depart. Electronic EngineeringMobile Intelligent Network LabOpenFlow Switch (1/2) The packet-matching function tries to match the incoming packet (X) with anentry in flow table and then direct the packet to an action box The action box has three fundamentaloptions: (A) Forward the packet out, possiblymodifying certain header fields first (B) Drop the packet (C) Pass the packet to the controllerthrough a OpenFlow PACKET IN (Pkt In)messageLab21030

Depart. Electronic EngineeringMobile Intelligent Network LabOpenFlow Controller The OpenFlow control plane differs from the legacy controlplane in three key ways:- It can program different data plane elements with a common andstandard language, OpenFlow.- It exists on a separate hardware device than the forwarding plane.- The controller can program multiple data plane elements from a singlecontrol plane instance.Lab21031

Depart. Electronic EngineeringMobile Intelligent Network LabThe Controller-Switch Secure Channel(1/3) The communications betweencontroller and switch aresecured by- Transport Layer Security (TLS)based asymmetrical encryption- unencrypted TCP connections The connections may be inband or out-of-band.Lab21032

Depart. Electronic EngineeringMobile Intelligent Network LabThe Controller-Switch Secure Channel(2/3) In-band:- The OpenFlow messages from thecontroller arriving via port K which is part of the OpenFlow dataplane.- These packets will be handled by theOpenFlow packet-matching logic.- The flow tables will have beenconstructed so that this OpenFlowtraffic is forwarded to the LOCAL virtualport results in the messages being passedto the secure channel processLab21033

Depart. Electronic EngineeringMobile Intelligent Network LabThe Controller-Switch Secure Channel(3/3) Out-of-band:- The secure channel connectionenters the switch via port Z not switched by OpenFlow data plane- Some legacy network stack willdeliver the OpenFlow messagesvia the secure channel to thesecure channel process in theswitch- The out-of-band secure channel isrelevant only in the case of anOpenFlow-hybrid switchLab21034

Depart. Electronic EngineeringMobile Intelligent Network LabOpenFlow 1.0Lab21035

Depart. Electronic EngineeringMobile Intelligent Network LabPorts and Port Queues An OpenFlow V.1.0 portcorresponds to a physical port. Sophisticated switches havesupported multiple queues perphysical port for different QoSlevels. OpenFlow 1.0 embraces the QoSconcept and permits a flow to bemapped to an already definedqueue at an output port.Lab21036

Depart. Electronic EngineeringMobile Intelligent Network LabFlow Table A flow table consists of flow entries. A flow entry consists of- header fields used as match criteria to determine whether an incomingpacket matches this entry- counters used to track statistics relative to this flow- actions prescribing what the switch should do for a matched packetLab21037

Depart. Electronic EngineeringMobile Intelligent Network LabPacket Matching (1/3) 12 match fields may be used:- Switch input port,- VLAN ID, VLAN priority,- Ethernet source address, Ethernet destination address, Ethernet frametype- IP source address, IP destination address, IP protocol, IP Type ofService (ToS) bits- TCP/UDP source port, TCP/UDP destination portLab21038

Depart. Electronic EngineeringMobile Intelligent Network LabPacket Matching (2/3) Flow entries are processed in order, and once a match is found,no further match attempts are made against that flow table. OpenFlow 1.0 is silent about which of these 12 match fields arerequired versus those that are optional. The ONF has clarified this confusion by defining three types ofconformance:- Full conformance means that all 12 match fields are supported.- Layer two conformance means that only layer two header fields aresupported.- Layer three conformance means that only layer three header fields aresupported.Lab21039

Depart. Electronic EngineeringMobile Intelligent Network LabPacket Matching (3/3) If no flow entry is matched, it is called table miss.- In this case, the packet is forwarded to the controller. OpenFlow V1.0 was designed as an abstraction of the way thatexisting switching hardware works. In later versions, we will see that the specification outpaces thereality of today’s hardware.Lab21040

Depart. Electronic EngineeringMobile Intelligent Network LabActions and Packet Forwarding (1/4) 5 special virtual ports definedin V.1.0: {LOCAL, ALL,CONTROLLER, IN PORT,TABLE}- LOCAL indicates that the packetneeds to be processed by thelocal OpenFlow control software. LOCAL can be used for in-bandOpenFlow messages.- ALL is used to send a packet outall ports except the input port.Lab21041

Depart. Electronic EngineeringMobile Intelligent Network LabActions and Packet Forwarding (2/4)- CONTROLLER indicates that theswitch should forward this packetto the controller- IN PORT instructs the switch toforward the packet back out of theport on which it arrived.- TABLE only applies to packetsthat the controller sends to theswitch. The packets are then processed bynormal OpenFlow packet processingpipeline.Lab21042

Depart. Electronic EngineeringMobile Intelligent Network LabActions and Packet Forwarding (3/4) In V.1.0, there are two optionalvirtual ports: NORMAL andFLOOD.- A packet forwarded to NORMALport is sent to legacy forwardinglogic in the case of a hybrid switch.- FLOOD instructs the switch to senda copy of the packet along minimumspanning tree, except the input port.Lab21043

Depart. Electronic EngineeringMobile Intelligent Network LabActions and Packet Forwarding (4/4) For a table miss, the virtual port CONTROLLER is used. There are two optional actions in V.1.0: enqueue and modifyfield.- Enqueue specifies a queue to a particular port.- Modify-field informs the switch how to modify certain header fields.The action box has three fundamental options:(A) Forward the packet out, possibly modifyingcertain header fields first(B) Drop the packet(C) Pass the packet to the controller through aOpenFlow PACKET IN (Pkt In) messageLab21044

Depart. Electronic EngineeringMobile Intelligent Network LabMessaging Between Controller andSwitch If the switch knows the IP address of the controller, the switchwill initiate this connection. Each message between controller and switch starts with theOpenFlow header.Lab21045

Depart. Electronic EngineeringMobile Intelligent Network LabOpenFlow Message Types andProtocol SessionLab21046

Depart. Electronic EngineeringMobile Intelligent Network LabInitialization Phase The HELLO messagesare exchangedto determine the highest OpenFlowversion supported by the peers,where the lower of the two is used. The controller uses the FEATURESmessage pair to interrogate theswitch about the supported features. The controller modifies existing flowentries in the switch via theFLOW MOD message.Lab21047

Depart. Electronic EngineeringMobile Intelligent Network LabOperation Phase The PACKET IN message is the waythe switch passes data packets backto the controller for exceptionhandling. The controller uses PACKET OUT tosend data packets to the switch forforwarding out through the dataplane.Lab21048

Depart. Electronic EngineeringMobile Intelligent Network LabMonitoring Phase ECHO messages are used byeither side to ascertain that theconnection is still alive and tomeasure the current latency orbandwidth of the connection. PORT STATUS is used tocommunicate changes in portstatus. Statistics are obtained from theswitch via the STATS message pair.Lab21049

Depart. Electronic EngineeringMobile Intelligent Network LabExample: Controller Programming Flow Tableinput port(1/3) Adding aflow entryAdding a flow for packets entering theswitch on any port, with source IPaddresses 192.168.1.1 and destination IPaddress 209.1.2.1, source TCP port 20,and destination port 20. All other matchfields have been wildcarded. The outportport is specified as P.destinationEthernetaddressoutput portAll Ethernet frames entering theswitch on input port K with adestination Ethernet address of0x000CF15698AD should be outputon output port N.source IPdestination IPLab210output port50

Depart. Electronic EngineeringMobile Intelligent Network LabExample: Controller Programming Flow Table(2/3) Modifying aflow entryAt time tb, the controller sends aFLOW MOD (MODIFY) commandfor flow entry zero. The controllerseeks to modify the correspondingflow entry such that there is a onehour (3600-second) idle time on thatflowLab21051

Depart. Electronic EngineeringMobile Intelligent Network LabExample: Controller Programming Flow Table(3/3) A packet arriving at theswitch through port 2 withsource IPv4 address of192.168.1.1 and destinationIPv4 address of 209.1.2.1. The packet-matching functionscans the flow table startingat flow entry 0 and finds amatch in flow entry F. Flow entry F stipulates that amatching packet should beforwarded out port P.Lab21052

Depart. Electronic EngineeringMobile Intelligent Network LabExample: Switch Forwarding Packet toControllerLab21053

Depart. Electronic EngineeringMobile Intelligent Network LabOpenFlow 1.1 AdditionsLab21054

Depart. Electronic EngineeringMobile Intelligent Network LabOpenFlow V.1.1 OpenFlow 1.1 had little impact other thanas a stepping stone to OpenFlow 1.2. SDN community waited for V.1.2 (the firstversion by ONF) before creatingimplementations. Five major new features-Multiple flow tablesGroupsMPLS and VLAN tag supportVirtual portsController connection failureLab21055

Depart. Electronic EngineeringMobile Intelligent Network LabMultiple Flow Tables In V.1.1, it is possible to defer further packet processing tosubsequent matching in other flow tables. Instruction is introduced to be associated with a flow entry. Flow tables can be chained by GOTO instructions.Lab21056

Depart. Electronic EngineeringMobile Intelligent Network LabMultiple Flow Tables For an incoming packet, an action set is initialized and then modifiedby instructions through the processing pipeline. When the pipeline ends, the actions in the action set are executed inthe following order:1. Copy TTL inward4. Copy TTL outward7. QoS: Apply QoS actions (e.g.set queue)2. Pop5. Decrement TTL8. Group: Apply actions torelevant action buckets if agroup action is specified3. Push6. Set: Apply set field actions9. Output to specified portLab210 If there is neither a group nor output action, the packet is dropped57

Depart. Electronic EngineeringMobile Intelligent Network LabMultiple Flow Tables Note that actions specified by an Apply-Actions instruction areimmediately executed. When a matched flow entry does not specify a GOTO flow table,the processing pipeline completes, and actions in the currentaction set are then executed. In normal cases, the final action is to forward a packet to anoutput port, to the controller, or to a group table. The flexibility of multiple flow tables comes at a price forLab210adapting existing hardware switches58

Depart. Electronic EngineeringMobile Intelligent Network LabExample: Multiple Flow Tables The packet first matches entry 1 inTable 0.- An action “output to port P” is addedto the action set.- The pipeline then jumps to Table Kaccording to the GOTO instruction. The packet matches entry F inTable K.- Since there is no GOTO instructionhere, actions in the action set areexecuted.Lab21059

Depart. Electronic EngineeringMobile Intelligent Network LabGroups Group table consists of groupentries.- Each entry consists of one or moreaction buckets. Refinements on flooding, such asmulticast, can be achieved inV.1.1 by defining groups asspecific sets of ports. One group’s buckets may forwardto other groups, providing thecapability to chain groups togetherLab21060

Depart. Electronic EngineeringMobile Intelligent Network LabGroupsLab21061

Depart. Electronic EngineeringMobile Intelligent Network LabMPLS and VLAN Tag Support Multiprotocol label switching (MPLS) and virtual local areanetworks (VLAN) are supported by adding PUSH and POPactions.- When a PUSH action is executed, a new header (or tag) is inserted infront of the current outermost header.- On the other hand, POP is used to remove the current outermostheader. The matching logic is replaced by V.1.2, and will be discussedlater.Lab21062

Depart. Electronic EngineeringMobile Intelligent Network LabVirtual Ports A V.1.1 switch classifies ports into standard ports and reservedvirtual ports. Standard ports consist of- Physical ports- Switch-defined virtual ports Reserved virtual ports consist of-ALL,CONTROLLER,TABLE,IN PORT,LOCAL (optional),NORMAL (optional)FLOOD (optional)Lab21063

Depart. Electronic EngineeringMobile Intelligent Network LabController Connection Failure Two modes are introduced for loss of connection betweenswitch and controller:- In fail secure mode, the switch continues to operate as a normal V.1.1 switch except that all messagesdestined for the controller are dropped.- In fail standalone mode, the switch additionally ceases its OpenFlow pipeline processing and continues tooperate in its native, underlying switch or router mode.Lab21064

Depart. Electronic EngineeringMobile Intelligent Network LabOpenFlow 1.2 AdditionsLab21065

Depart. Electronic EngineeringMobile Intelligent Network LabOpenFlow V.1.2 Eight major new features1.2.3.4.5.6.7.8.Extensible match supportExtensible set field packet-rewriting supportExtensible context expression in “packet-in”Multiple controller enhancementsExtensible error messages via experimenter error typeIPv6 supportSimplified behavior of flow-mod requestRemoved packet parsing specificationLab21066

Depart. Electronic EngineeringMobile Intelligent Network LabExtensible Match Support A generic and extensible packet-matching capability has beenadded in V.1.2 via the Openflow Extensible Match (OXM)descriptors.- OXM defines a set of type-length-value (TLV) pairs that can describe ordefine virtually any of the header fields.Lab21067

Depart. Electronic EngineeringMobile Intelligent Network LabExtensible Match SupportLab210OXM TLV Layout68

Depart. Electronic EngineeringMobile Intelligent Network LabExtensible Match Support The ability to match on any combination of header fields isprovided within the OPENFLOW BASIC match class. The EXPERIMENTER match class opens up the opportunity formatching on fields in the packet payload- providing a near-limitless horizon for new definitions of flows.Lab21069

Depart. Electronic EngineeringMobile Intelligent Network LabExtensible set field Packet RewritingSupport It is allowed to set the value of any packet header field that maybe used for matching. For EXPERIMENTER match class,- it is possible to modify any packet fields (including the payload) that isnot part of the standard OXM header fields.Lab21070

Depart. Electronic EngineeringMobile Intelligent Network LabExtensible Context Expression inPACKET IN The OXM encoding is also used to extend the PACKET INmessage sent from the switch to the controller.Lab21071

Depart. Electronic EngineeringMobile Intelligent Network LabMultiple Controllers In V.1.2, the switch may be configured to maintain simultaneousconnections to multiple controllers. If a message pertains to multiple controllers, it is duplicated anda copy sent to each controller. Three different roles of controllers: slave, master and equal- In slave mode, the controller may only request data from the switch.- Both master and equal modes allow the controller the full ability toprogram the switch.- Only one controller in master mode is allowed, while other controllersare in slave mode.Lab21072

Depart. Electronic EngineeringMobile Intelligent Network LabOpenFlow 1.3 AdditionsLab21073

Depart. Electronic EngineeringMobile Intelligent Network LabOpenFlow V.1.3 OpenFlow V.1.3 was released on April 13, 2012.- This release was a major milestone, especially for ASIC designers.- It is likely that the real-life chips that support V.1.3 will have to limit thenumber of flow tables to a manageable number. Thirteen major new features1. Refactor capabilitiesnetogiation6. Auxiliary connections11. Cookies inPACKET IN2. More flexible table-misssupport7. MPLS BoS matching12. Duration for stats3. IPv6 extension headerhandling support8. Provider backbonebridging tagging13. On-demand flowcounters4. Per-flow meters9. Rework tag order5. Per-connection event filtering10. Tunnel-ID metadataLab21074

Depart. Electronic EngineeringMobile Intelligent Network LabMore Flexible Table-miss Support A table miss was configurable as one of three options:- dropping,- forwarding to the controller,- and continuing matching in the next table. V.1.3 expands on this limited handling capability via theintroduction of the table-miss flow entry.- The table-miss flow entry is of the lowest priority (zero) and all matchfields are wildcards.- The advantage of this approach is that full semantics of flow entry(including instructions and actions) are applicable for a table miss.- For example, a table-missed packet may be passed to another flowtable by a GOTO instruction for further processing.Lab21075

Depart. Electronic EngineeringMobile Intelligent Network LabPer-Flow Meters Meters are defined on a per-flowbasis and reside in a meter table. V.1.3 instructions may direct packetsto a meter identified by a meter ID. V.1.3 meters are only rate-limitingmeters.multiple meter bands There may be multiple meter bandsattached to a given meter.meter tableLab21076

Depart. Electronic EngineeringMobile Intelligent Network LabPer-Flow Meters When a packet is processed by a meter, at most one band is used. This band is selected based on the highest bandwidth rate band that islower than the current measured bandwidth for that flow. If the current measured rate is lower than all bands, no band is selected,and no action is taken. If a band is selected, the action prescribed by the band type field is taken.Lab21077

Depart. Electronic EngineeringMobile Intelligent Network LabExample: Enforcing QoS via MeterBands The packet from Port 2 matches a flowentry with an instruction which directsthe packet to Meter 3.- If the bandwidth limits are exceeded, thepacket is dropped.- Otherwise, the packet undergo furtherprocessing in the pipeline.Lab21078

Depart. Electronic EngineeringMobile Intelligent Network LabPer Connection Event Filtering In the previous versions, all controllers must receive the samekind and quantity of asynchronous notifications from the switch. V.1.3 introduces a SET ASYNC message that allows thecontroller to specify the sorts of async messages it is willing toreceive from a switch.Lab21079

Depart. Electronic EngineeringMobile Intelligent Network LabAuxiliary Connections As deployment of OpenFlow grows, performanceconsiderations have become increasingly important. V.1.3 allows multiple connections per controller-switch channel. The major advantage is to achieve greater overall throughput,both in control plane and data plane.Lab21080

Depart. Electronic EngineeringMobile Intelligent Network LabCookies in PACKET IN In the case of PACKET IN messages, it issomewhat wasteful to require the switch tomatch over and over for the same flow. V.1.3 allows the switch to pass a cookieV.1.3 flow entrywith the PACKET IN message.- The switch maintains the cookie in a new fieldin the flow entry.- The cookie allows the switch to cache the flowentry pointed to by this cookie, and prevent thefull packet-matching process.Lab21081

Depart. Electronic EngineeringMobile Intelligent Network LabLab21082

Standardization of OpenFlow The nonprofit Internet organization openflow.org was created in 2008. - As a mooring to promote and support OpenFlow. - The physical organization was really just a group of people that met informally at Stanford University. - The first release, OpenFlow1.0.0, appeared on Dec. 31, 2009.