Presentation is loading. Please wait.

Presentation is loading. Please wait.

Virtualization and OpenFlow Nick McKeown Nick McKeown VISA Workshop, Sigcomm 2009 Supported by NSF, Stanford Clean.

Similar presentations


Presentation on theme: "Virtualization and OpenFlow Nick McKeown Nick McKeown VISA Workshop, Sigcomm 2009 Supported by NSF, Stanford Clean."— Presentation transcript:

1 Virtualization and OpenFlow Nick McKeown nickm@stanford.edu Nick McKeown nickm@stanford.edu VISA Workshop, Sigcomm 2009 Supported by NSF, Stanford Clean Slate Program, Cisco, DoCoMo, DT, Ericsson, NEC, Xilinx

2 In a nutshell A revolution is just starting in networking Driven by cost and control It started in data centers…. and is spreading Trend is towards an open-source, software- defined network The new opportunity to innovate will bring about the need to try new ideas Hence virtualization (or slicing) I’ll outline one way to do it with OpenFlow

3 Why the revolution Cost 500,000 servers Fanout of 50  10,000 switches $10k commercial switch  $100M $1k custom-built switch  $10M Savings in 10 data centers = $900M Control 1.Optimize for features needed 2.Customize for services & apps 3.Quickly improve and innovate Example: New data center

4 Software-defined Network 1. Data Centers Cost and control 2. Network & Cellular operators Bit-pipe avoidance Cost and control Security and mobility 1. Researchers GENI, FIRE, …

5 What form might it take?

6 Computer Application Computer Application OS OS abstracts hardware substrate  Innovation in applications

7 x86 (Computer) x86 (Computer) Windows (OS) Windows (OS) Application Linux Mac OS Mac OS x86 (Computer) x86 (Computer) Windows (OS) Windows (OS) or Application Simple, common, stable, hardware substrate below + Programmability + Competition  Innovation in OS and applications

8 Linux Mac OS Mac OS x86 (Computer) x86 (Computer) Windows (OS) Windows (OS) or Application Windows (OS) Windows (OS) Windows (OS) Windows (OS) Linux Mac OS Mac OS x86 (Computer) x86 (Computer) Windows (OS) Windows (OS) App Linux Mac OS Mac OS Mac OS Mac OS Virtualization App Simple, common, stable, hardware substrate below + Programmability + Strong isolation model + Competition above  Innovation in infrastructure

9 A simple stable common substrate 1. Allows applications to flourish Internet: Stable IPv4 led to the web 2. Allows the infrastructure on top to be defined in software Internet: Routing protocols, management, … 3. Rapid innovation of the infrastructure itself Internet: er...? What’s missing? What is the substrate…?

10 (Statement of the obvious) In networking, despite several attempts… We’ve never agreed upon a clean separation between: 1.A simple common hardware substrate 2.And an open programming environment on top

11 A prediction 1. A clean separation between the substrate and an open programming environment 2. A simple low-cost hardware substrate that generalizes, subsumes and simplifies the current substrate 3. Very few preconceived ideas about how the substrate will be programmed 4. Strong isolation among features But most of all….

12 Open-source will play a large role

13 Owners, operators, administrators, developers, researchers will want to… …improve, update, fix, experiment, share, build-upon, and version their network.

14 Therefore, the software- defined network will allow simple ways to program and version. One way to do this is virtualizing/slicing the network substrate.

15 OpenFlow as a simple, sliceable substrate below

16 Windows (OS) Windows (OS) Windows (OS) Windows (OS) Linux Mac OS Mac OS x86 (Computer) x86 (Computer) Windows (OS) Windows (OS) App Linux Mac OS Mac OS Mac OS Mac OS Virtualization App Simple, common, stable, hardware substrate below + Programmability + Strong isolation model + Competition above  Faster innovation Controller 1 App Controller 2 Controller 2 Virtualization (FlowVisor) App OpenFlow Controller 1 Controller 2 Controller 2 Controller 2 Controller 2

17 New function! Operators, users, 3rd party developers, researchers, … Step 1: Separate intelligence from datapath

18 Step 2: Cache decisions in minimal flow-based datapath “If header = x, send to port 4” Flow Table Flow Table “If header = ?, send to me” “If header = y, overwrite header with z, send to ports 5,6”

19 Packet-switching substrate Payload Ethernet DA, SA, etc Ethernet DA, SA, etc IP DA, SA, etc IP DA, SA, etc TCP DP, SP, etc TCP DP, SP, etc Collection of bits to plumb flows (of different granularities) between end points

20 Properties of a flow-based substrate We need flexible definitions of a flow Unicast, multicast, waypoints, load-balancing Different aggregations We need direct control over flows Flow as an entity we program: To route, to make private, to move, … Exploit the benefits of packet switching It works and is universally deployed It’s efficient (when kept simple)

21 Substrate: “Flowspace” Payload Ethernet DA, SA, etc Ethernet DA, SA, etc IP DA, SA, etc IP DA, SA, etc TCP DP, SP, etc TCP DP, SP, etc Collection of bits to plumb flows (of different granularities) between end points Payload Header User-defined flowspace Header User-defined flowspace “OpenFlow 2.0”

22 Flowspace: Simple example IP SA IP DA Single flow All flows from A A All flows between two subnets

23 Flowspace: Generalization Field 2 Field 1 Single flow Set of flows Field n

24 Properties of Flowspace Backwards compatible Current layers are a special case No end points need to change Easily implemented in hardware e.g. TCAM flow-table in each switch Strong isolation of flows Simple geometric construction Can prove which flows can/cannot communicate

25 Slicing Flowspace

26 Approach 1: Slicing using VLANs Sliced OpenFlow Switch Normal L2/L3 Processing Flow Table A VLANs (Legacy VLANs) Flow Table C VLANs B VLANs Controller C Controller B Controller A Some prototype OpenFlow switches do this…

27 OpenFlow Switch OpenFlow Protocol OpenFlow Protocol FlowVisor Bob’s Controller Alice’s Controller OpenFlow Protocol OpenFlow Protocol Approach 2: FlowVisor Rob Sherwood* (rob.sherwood@stanford.edu) OpenFlow Switch OpenFlow Switch * Deutsche Telekom, “T-Labs”

28 OpenFlow Protocol FlowVisor Broadcast Multicast OpenFlow Protocol http Load-balancer FlowVisor OpenFlow Switch OpenFlow Switch OpenFlow Switch

29 OpenFlow Protocol FlowVisor OpenFlow Switch OpenFlow Switch OpenFlow Switch Network Administrator’s FlowVisor OpenFlow Protocol Production Network Controller Alices’s FlowVisor GENI’s FlowVisor GENI Aggregate Manager Bob’s FlowVisor Learning switch Mobile VMs New BGP WiMax-WiFi Handover Tricast Lossless Handover

30 FlowVisor  A proxy between switch and guest controller  Parses and rewrites OpenFlow messages as they pass  Ensures that one experiment doesn’t affect another  Allows rich virtual network boundaries  By port, by IP, by flow, by time, etc.  Define virtualization rules in software

31 FlowVisor Goals  Transparency  Unmodified guest controllers  Unmodified switches  Strong resource Isolation  Link b/w, switch CPU, etc.  Flow space: who gets this message  Virtualization Policy module  Rich network slicing

32 Slicing Example Demo of FlowVisor on Wednesday

33 Thank You!


Download ppt "Virtualization and OpenFlow Nick McKeown Nick McKeown VISA Workshop, Sigcomm 2009 Supported by NSF, Stanford Clean."

Similar presentations


Ads by Google