Open Source Network: Software-Defined Networking

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.