Transcription
Open Source Network:Software-Defined Networking (SDN)and OpenFlowInsop Song, EricssonLinuxCon North America, Aug. 2012, San Diego CA
Objectives Overview of OpenFlow Overview of Software Defined Networking(SDN)
Disclaimer This presentation represents the view of theauthor and does not necessarily represent theview of Ericsson OpenFlow is an invention from networkresearchers Stanford and UCB
Overview of network equipment Network equipment– Layer 2 Ethernet switches, IP esForwarding H/W: ASICs/FPGAs or Merchant silicon chips
Data plane Hardware packet forwarding path––––––Line rate forward packets output portsAdding tags, Modifying packetsDrop packetsForward packets to CPUCollect traffic statisticsProgrammed by control plane or manual configuration (management)Packet outPacket outPackets inL2 table (MAC Vlan)L3 table (IP)Switch/RouterACL, QoS
Control plane Control plane––––Handling protocol packets at CPUTrack topology changesHandles protocol and routesUpdates hardware L2/L3 forwarding tables & ACLCPUProtocol S/W1. Packet forward to CPUControlPackets in2. Table configASICs/FPGAs or Merchant silicon chips
Network configuration Distributed dynamic routing running onheterogeneous environment Protocol based distributed state management– STP, OSPF, BGPfeature Manual configurationOSForwarding h/w– Policies, SLA, erRouter
Network equipment Mastering complexity – No well defined API for control packet handling– No generalized API for data path state– Tight vertical integration– Complicated and lack of abstraction– Distributed state management is hard– Lack of global and consistent view of network,hard to manage overall network
SolutionsGeneralized API Generalize data plane– Flexible flow table management– Decouple data and controlplanes– API for handling control packetsFlow tableFlow tableSimple packet forwarding hardware Decouple distributed modelfrom physical topologyController(s)– Take out the control logic fromthe network ardwarePacketforwardinghardware
OpenFlow Started from academia asa way to testexperimental protocol ona real network Identify flexible commonset of functions for flowtableOpenFlow NetworkControllerOpenFlow protocolSSL/TCPFlow table Provides open protocol toprogram flow tablethrough secure channelFlow tableSimple packet forwarding hardware
OpenFlow Logically centralized controller Generalized data plane API using Flow tableControl program 1“If header a, send toport 10”“if header b, modifyheader with c, and send toport 11”“if header ?, then sendto controller”Control program 2Network nghardware
OpenFlow Flow table(s)MatchActionStatuscounterPop/Push tagsDecrement TTLSet fieldsApply QoSForward packetsPortDstMacSrcMacEthtypeVlanSrc IPDst IPTCP srcportTCP dstport
OpenFlow Example of Flow tableSrc MACDst MACSrc IPDst IPTCP sport ActionCount*10:1f:*****Port 2100***1.2.3.4**Port 3200****22drop30000:20:.00:1f:.1.2.3.4 5.6.7.81234Port4400******Controller 500
OpenFlow SpecificationVersionSummary1.0Initial version1.1Multi-table pipeline processing, MPLS, QinQ1.2IPv6, Extensible Match (OXM) and additional extensibility1.3QoS and PBB additions
Decouple Data and Control planes Easier to implement new ideas– Remove dependencies between vendor SDK Easier to test and maintain software– Centralized programming and more abstraction Easier interoperability between vendors– Using standard API (programing flow and receivingcontrol packets) More powerful computing for control logicnetwork management– Network control could be off-loaded to servers
Software-Defined Networking Traditional network Closed box, closed API Distributed protocol SDN Open standard API Logically centralizedFeatureWell-definedAPIFeatureNetwork OSOpenFlowfeatureOSForwarding h/wfeaturefeatureOSForwarding h/wOSForwarding inghardware
Centralized controller Less system overhead on the network node– Minimize protocol packets for distributed protocol Network topology– Easier to have consistent global view of thenetwork Management– Easier to mange programmable network
SDN Use cases Data center– SDN facilitates network virtualization– Google, Dell, Yahoo, Facefook, Amazon Campus– Enable IT to apply consistent policies in wired andwireless network– Stanford and many other universities Cloud– Allows flexible network allocation
Academia and industry Close collaboration between university andindustry Open Networking Foundation (ONF)– Standard body by 70 (growing) Many companies participating– From large companies to startups– From chip vendors to service integrators– Google, Cisco, HP, NEC, Ericsson, IBM, Juniper– VMWare (Nicira), Big switch, and more
OpenFlow switches Current OpenFlow supporting switches– Growing , so check with your vendors– Juniper, HP, NEC, NetGear, Ciena, Pronto Many companies are prototyping OpenFlowswitches Google made their own OpenFlow switches
OpenFlow network controllersLangLicenseOriginal authornoteOpenFlowreferenceCOpenFlow LicenseStanford/NiciraReference designNOXC GPLNiciraNox classic C /PythonPOXPythonGPLhttp://www.noxrepo.orgNox Python versionBeaconJavaGPLStanfordRun time modular, webUIFloodlightJavaApacheBig switchEasy to build and set upTremaRuby, CGPLNECIncluding emulator, testframeworkRouteFlowCApacheCPqD, BrazilOpenFlow with Quaggastack
How to experiment Mininet– Allows to create hundreds of nodes on a single PC– OpenFlow tutorial is based on Mininet
Open source Open vSwitch– Software switch supports OpenFlow– Upstream from 3.3 kernel Various network controller are open source Open API Openness is one of the key reasons forSDN/OpenFlow success
Questions? Scalability– Is it scalable? Reliability– High availability Security– Security risk on the centralized controller(s) Interoperability– Co-existing with existing equipment andneighboring domain
Summary OpenFlow– Enabling generalized open API for configuring flowtable– Clean separation between data and forwardingplanes SDN– Allowing us to define the right abstractions– Network virtualization– Very successful so far, more real changes to come.– The future of networking?
References:1.The Future of Networking, and the Past of Protocols : ScottShenker2. An attempt to motivate and clarify SDN : Scott Shenker3. Making SDNs Work - Nick McKeown4. Origins and Evolution of OpenFlow/SDN - Martin Casado5. OpenFlow @ Google - Urs Hoelzle, Google6. Opening Up Your Network to Cloud Innovation with SDN: GuidoAppenzeller7. Software Defined Networking is an Architecture Not a Protocol ,David Meyer, Cisco8. SDN and OpenFlow A Tutorial9. OpenFlow Switch Specification 1.310. Software-Defined Networking: The New Norm for Networks: ONFWhite Paper
Thank you Question?
4. Origins and Evolution of OpenFlow/SDN -Martin Casado 5. OpenFlow @ Google -UrsHoelzle, Google 6. Opening Up Your Network to Cloud Innovation with SDN : Guido Appenzeller 7. Software Defined Networking is an Architecture Not a Protocol , David Meyer, Cisco 8. SDN and OpenFlow A Tutorial 9. OpenFlow Switch Specification 1.3 10.