Getting Started

Embed Size (px)

DESCRIPTION

Getting Started. (1) Copy to your hard disk from a USB Key or DVD: Copy needed files ( VirtualBox , terminal, possibly an X server) for your platform (Win/Mac/Linux ) Copy Java 6 and Eclipse for your platform, if you want to use Java Copy VM image: OpenFlowTutorial-101311.zip - PowerPoint PPT Presentation

Text of Getting Started

Slide 1

Getting Started(1) Copy to your hard disk from a USB Key or DVD:Copy needed files (VirtualBox, terminal, possibly an X server) for your platform (Win/Mac/Linux)Copy Java 6 and Eclipse for your platform, if you want to use JavaCopy VM image: OpenFlowTutorial-101311.zipPass on the DVD or USB key to someone else!

(2) Unzip OpenFlowTutorial-101311.zip

(3) Point browser to instructions:http://www.openflow.org/wk/index.php/OpenFlow_Tutorial(note the underscore)

You should NOT need to download any large files spare the WiFi!

1OpenFlow Hands-on Tutorial

part of the the Open Networking SummitLi Ka Shing CenterStanford UniversityOct 17, 2011

Brandon HellerStanford University

with help from all the people listed on the next few pages2This tutorial wouldnt be possible without:OpenFlow ExpertsGlen GibbNicholas BastinAli Al-ShabibiTatsuya YabeMasayoshi KobayashiYiannis YiakoumisAli YahyaTe-Yuan HuangBob LantzDavid Erickson3This tutorial wouldnt be possible without:Deployment Forum SpeakersSubhasree Mandal (Google)Johan van Reijendam (Stanford) David Erickson (Stanford)Videographer:Yiannis Yiakoumis4This tutorial wouldnt be possible without:Past slides from:Nick McKeownRob SherwoodGuru ParulkarSrini SeetharamanYiannis YiakoumisGuido AppenzellerMasa Kobayashi, + others5Welcome6Getting Started(1) Copy to your hard disk from a USB Key or DVD:Copy needed files (VirtualBox, terminal, possibly an X server) for your platform (Win/Mac/Linux)Copy Java 6 and Eclipse for your platform, if you want to use JavaCopy VM image: OpenFlowTutorial-101311.zipPass on the DVD or USB key to someone else!

(2) Unzip OpenFlowTutorial-101311.zip

(3) Point browser to instructions:http://www.openflow.org/wk/index.php/OpenFlow_Tutorial(note the underscore)

You should NOT need to download any large files spare the WiFi!

7AgendaTimeDescription9:30-10:45Introduction: Motivation, History, Interface11:00-12:00What can you do with OpenFlow and SDN?1:30-2:30SDN Building Blocks2:45-4:00SDN Deployment Panel and Wrap-upfeel free to:ask any kind of OpenFlow question during the hands-ontake breaks at any point during the hands-onwork during the 15-minute breaks, or lunch8Goals of this TutorialBy the end, everyone should know:what OpenFlow ishow its used and how you can use itwhere its goinghow OpenFlow relates to Software-Defined Networking (SDN)Present a useful mix of hands-on and lecture-based contentHave fun9What: protocol, 9Why OpenFlow?10Million of linesof source code5400 RFCsBarrier to entryBillions of gatesBloatedPower HungryMany complex functions baked into the infrastructureOSPF, BGP, multicast, differentiated services,Traffic Engineering, NAT, firewalls, MPLS, redundant layers,

An industry with a mainframe-mentality, reluctant to change

The Ossified Network

Specialized Packet Forwarding HardwareOperatingSystemFeature

FeatureRouting, management, mobility management, access control, VPNs, 1111Research StagnationLots of deployed innovation in other areasOS: filesystems, schedulers, virtualizationDS: DHTs, CDNs, MapReduceCompilers: JITs, vectorization Networks are largely the same as years agoEthernet, IP, WiFiRate of change of the network seems slower in comparisonNeed better tools and abstractions to demonstrate and deploy

12In these other areas, you can real systems on top of high-quality, open platforms, and you dont need to reinvent the wheel

12Closed Systems (Vendor Hardware)Stuck with interfaces (CLI, SNMP, etc)Hard to meaningfully collaborateVendors starting to open up, but not usefully

13Open SystemsPerformance FidelityScaleReal User Traffic?ComplexityOpenSimulationmediummediumnomediumyesEmulationmediumlownomediumyesSoftware SwitchespoorlowyesmediumyesNetFPGAhighlowyeshighyesNetwork ProcessorshighmediumyeshighyesVendor Switcheshighhighyeslownogap in the tool spacenone have all the desired attributes!14

Ethane, a precursor to OpenFlowCentralized, reactive, per-flow controlControllerFlow Switch

Host AHost B

Flow SwitchFlow SwitchFlow Switch

See Ethane SIGCOMM 2007 paper for details15OpenFlow: a pragmatic compromise+ Speed, scale, fidelity of vendor hardware+ Flexibility and control of software and simulationVendors dont need to expose implementationLeverages hardware inside most switches today (ACL tables)16Its hard to add a feature to a networkIts not just that we lack access to line-rate forwarding that we can controlFully distributed algorithms are hard, especially when defined at the protocol levelYour protocol must implement its own mechanismsMust work on constrained and heterogeneous resourcesThis is where Software-Defined Networking comes in. More to come later today.

17How does OpenFlow work?18

Ethernet Switch

19Data Path (Hardware)Control PathControl Path (Software)20Data Path (Hardware)Control PathOpenFlowOpenFlow ControllerOpenFlow Protocol (SSL/TCP)21

Controller

PCHardwareLayerSoftwareLayerFlow TableMACsrcMACdstIPSrcIPDstTCPsportTCPdportActionOpenFlow Client**5.6.7.8***port 1port 4port 3port 2port 11.2.3.45.6.7.8OpenFlow Example

22OpenFlow Basics Flow Table EntriesSwitchPortMACsrcMACdstEthtypeVLANIDIPSrcIPDstIPProtL4sportL4dportRuleActionStatsForward packet to zero or more portsEncapsulate and forward to controllerSend to normal processing pipelineModify FieldsAny extensions you add!+ mask what fields to matchPacket + byte counters23VLANpcpIPToSNow Ill describe the API that tries to meet these goals.23ExamplesSwitching*SwitchPortMACsrcMACdstEthtypeVLANIDIPSrcIPDstIPProtTCPsportTCPdportAction*00:1f:..*******port6Flow Switchingport3SwitchPortMACsrcMACdstEthtypeVLANIDIPSrcIPDstIPProtTCPsportTCPdportAction00:20..00:1f..0800vlan11.2.3.45.6.7.841726480port6Firewall*SwitchPortMACsrcMACdstEthtypeVLANIDIPSrcIPDstIPProtTCPsportTCPdportAction********22drop24ExamplesRouting*SwitchPortMACsrcMACdstEthtypeVLANIDIPSrcIPDstIPProtTCPsportTCPdportAction*****5.6.7.8***port6VLAN Switching*SwitchPortMACsrcMACdstEthtypeVLANIDIPSrcIPDstIPProtTCPsportTCPdportAction**vlan1*****port6, port7,port900:1f..25Centralized vs Distributed ControlAnything in this spectrum is possible with OpenFlowCentralized ControlOpenFlow Switch

OpenFlow Switch

OpenFlow Switch

ControllerDistributed ControlOpenFlow Switch

OpenFlow Switch

OpenFlow Switch

ControllerController

Controller

26Flow Routing vs. AggregationAnything in this spectrum is possible with OpenFlowFlow-Based

Every flow is individually set up by controllerExact-match flow entriesFlow table contains one entry per flowGood for fine grain control, e.g. campus networks Aggregated

One flow entry covers large groups of flowsWildcard flow entriesFlow table contains one entry per category of flowsGood for large number of flows, e.g. backbone27Reactive vs. Proactive (pre-populated)Anything in this spectrum is possible with OpenFlowReactive

First packet of flow triggers controller to insert flow entriesEfficient use of flow tableEvery flow incurs small additional flow setup timeIf control connection lost, switch has limited utilityProactive

Controller pre-populates flow table in switchZero additional flow setup timeLoss of control connection does not disrupt trafficEssentially requires aggregated (wildcard) rules28What you cannot do with OpenFlow v1.0Non-flow-based (per-packet) networkingex. Per-packet next-hop selection (in wireless mesh)yes, this is a fundamental limitationBUT OpenFlow can provide the plumbing to connect these systemsUse all tables on switch chipsyes, a major limitation (cross-product issue)BUT OF version 1.1 exposes these, providing a way around the cross-product state explosion29What can cannot do with OpenFlow v1.0New forwarding primitivesBUT provides a nice way to integrate them through extensionsNew packet formats/field definitions BUT a generalized OpenFlow (2.0) is on the horizonOptical CircuitsBUT efforts underway to apply OpenFlow model to circuitsLow-setup-time individual flowsBUT can push down flows proactively to avoid delaysWhere its goingOF v1.1: released March 1multiple tables: leverage additional tablestags and tunnelsmultipath forwarding OF v1.2+extensible matchgeneralized matching and actions: an instruction set for networking31Questions to think aboutHow do I provide control connectivity?What are the flow setup times in OpenFlow networks?How can one take down an OpenFlow network? How can I perform topology discovery over OpenFlow-enabled switches?What happens when you have a non-OpenFlow switch in between?How scalable can an OpenFlow network be? How does one scale deployments?32[Hands-on Tutorial]Overview33TutorialFlow34

Stuff youll useNOXBeaconReference Controller/SwitchOpen vSwitchMininet

iperftcpdumpWireshark35Tutorial SetupControllerport6633

c0OpenFlow Switchs1dpctl(user space process)h410.0.0.4h310.0.0.3h210.0.0.2virtual hostsOpenFlow Tutorial3hosts-1switchtopologyloopback(127.0.0.1:6633)loopback(127.0.0.1:6634)s1-eth0s1-eth1s1-eth2h1-eth0h3-eth0h4-eth036Hands-on Tutorial

Next presentation starts at 11:00:What can you do with OpenFlow / SDN?

Instructions still at:www.openflow.org/wk/index.php/OpenFlow_Tutorial

37What can you do with OpenFlow/SDN?38What is Software-Defined Networking (SDN)?39Specialized Packet Forwarding HardwareAppAppAppSpecialized Packet Forwarding HardwareAppAppAppSpecialized Packet Forwarding HardwareAppAppAppSpecialized Packet Forwarding HardwareAppAppAppSpecialized Packet Forwarding HardwareOperatingSystemOperatingSystemOperatingSystemOperatingSystemOperatingSystemAppAppApp40Status QuoClosed Boxes, Fully Distributed ProtocolsClosedThe next 3 slides are a set of animation to show how we enable innovation:- Infrastructure is closed to innovation and only driven by vendors. Consumers have