Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Defined Networking Nick McKeown Stanford University.

Similar presentations


Presentation on theme: "Software Defined Networking Nick McKeown Stanford University."— Presentation transcript:

1 Software Defined Networking Nick McKeown Stanford University

2 (part 1)

3 Why I love my job I work with people much smarter than me. I get to work on intellectually interesting ideas. … that might positively change the practice. Then, we try to actually change the practice.

4 Whatever it takes Prove a theorem Write a paper Build a demo Talk to lots of industry people Write a standard Give lots of talks Write a blog Start a company Build an open source tool …

5 Choosing research projects Pick a problem that is intellectually interesting. And improves the practice. And industry doesn’t like (yet).

6 Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Control Ethane Martin Casado et al [Sigcomm ‘07] Policy “Laptops can’t accept incoming connections” “A can’t talk to B” “Laptops can’t accept incoming connections” “A can’t talk to B” Network Control Plane

7 Microsoft: “Come on in….” Cisco: “It will never work…” Raw nerve. We must be onto something.

8 Checklist Intellectually interesting. And improves the practice. And industry doesn’t like (yet).

9 Corollary: You can’t give stuff away Example 1: Order of magnitude faster router (1997) – Tried to give Tiny-Tera away for free. – Industry wasn’t ready. – Started Abrizio. Example 2: Network Memory (2001) – Tried to give it away for free, to save $500M per year. – Industry wasn’t ready. – Started Nemo. Example 3: Ethane (2007) – Tried to give it away for free; early stages of SDN. – Industry wasn’t ready. – Started Nicira.

10 I put everything in public domain Industry – Invests huge amounts to develop and sell products. – Patents protect ideas, giving the confidence to invest. University research – Serves society at large. – Stay ahead by running fast, not by protecting. – Makes it easier to work with industry. – If it’s good research, industry doesn’t see it yet. Everything in public domain since 1999.

11 (part 2)

12 If you are in any doubt about whether OpenFlow/SDN will be deployed in the WAN Urs Hölzle (Google), ONS 2012

13 Software Defined Networks Martin Casado

14 What is SDN? (when we clear away all the hype)

15 SDN is the separation of the control plane from the forwarding plane.

16 Software Defined Network (SDN) Global Network Map Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Network OS Control Program Control Program Control Program Abstract Forwarding Model (e.g. OpenFlow)

17 The Technical Benefits (1) Well-defined control abstraction – Control plane can run on modern servers – Can adopt software engineering best-practices – Easier to add new control programs – …or customize locally – Solve distributed systems problem once, rather than for every protocol

18 Specialized Hardware Specialized Hardware OS OSPF Dijkstra Network Map Network Map 95% 5% OSPF Dijkstra OSPF Dijkstra

19 The Technical Benefits (2) Well-defined forwarding abstraction – e.g. OpenFlow – Vendor-agnostic interface to forwarding plane – Simpler, lower-cost, lower-power hardware

20 MatchAction FAction(F) GAction(G) HAction(H) H H H’ Action Primitives 1.“Forward to ports 4 & 5” 2.“Push header Y after bit 12” 3.“Pop header bits 8-12” 4.“Decrement bits 13-18” 5.“Drop packet” 6.… Match-Action Forwarding Abstraction “Plumbing primitives”

21 MatchAction F1F1 Action(F) G1G1 Action(G) H1H1 Action(H) Multiple Table Match-Action MatchAction FnFn Action(F) GnGn Action(G) HnHn Action(H) HnHn HnHn H1H1 H1H1 H’

22 OpenFlow Philosophy Long-term, forwarding looking Match: Very general, not protocol specific. Action: Small instruction set, not protocol specific. – Make it easy to add new headers and actions. – Any network (packet, circuit, radio). Short-term, backward looking Match: include well-known header fields. Action: necessary set for existing protocols. – Support existing protocols on existing switch chips.

23 Match Table Match Table Action Match Table Match Table Action HEADER DATA Recombine In Out Data H H H H H H Output Queues New switch chips emerging

24 The Technical Benefits (3) Well-defined forwarding behavior – The forwarding tables capture the entire forwarding behavior. – Control plane writes the forwarding state. – Therefore, we can verify its correctness.

25 Software Defined Network (SDN) Global Network Map Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Control Program Control Program Control Program firewall.c … if( TCP_port == SMTP) dropPacket(); … firewall.c … if( TCP_port == SMTP) dropPacket(); … MatchAction FAction(F) GAction(G) HAction(H) MatchAction AAction(A) GAction(G) DAction(D) MatchAction AAction(A) BAction(B) CAction(C) MatchAction XAction(X) YAction(Y) ZAction(Z) MatchAction AAction(A) GAction(G) HAction(H) Network OS

26 Software Defined Network (SDN) Global Network Map Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Control Program Control Program Control Program MatchAction FAction(F) GAction(G) HAction(H) MatchAction AAction(A) GAction(G) DAction(D) MatchAction AAction(A) BAction(B) CAction(C) MatchAction XAction(X) YAction(Y) ZAction(Z) MatchAction AAction(A) GAction(G) HAction(H) Network OS firewall.c … if( TCP_port == SMTP) dropPacket(); … firewall.c … if( TCP_port == SMTP) dropPacket(); …

27 Software Defined Network (SDN) Global Network Map Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Control Program Control Program Control Program MatchAction FAction(F) GAction(G) HAction(H) MatchAction AAction(A) GAction(G) DAction(D) MatchAction AAction(A) BAction(B) CAction(C) MatchAction XAction(X) YAction(Y) ZAction(Z) MatchAction AAction(A) GAction(G) HAction(H) Network OS “A can talk to B” “Guests can’t reach PatientRecords” “No loops” “A can talk to B” “Guests can’t reach PatientRecords” “No loops” Policy Forwarding Behavior Forwarding Behavior

28 Networks notoriously hard to debug Today, even simple questions hard to answer: – Can host A talk to host B? – What are all the packet headers from A that can reach B? – Are there any loops in the network? – Is Group X provably isolated from Group Y? – What happens if I remove a line in the config file? 28

29 Header Space Analysis L Header Data …1 Header Data

30 Header Space Analysis 1 2

31 The set of packets from A that can reach B

32 All packets from A that can reach B

33 Header Space Analysis [Kazemian NSDI ‘12] Consequences – Abstract forwarding model; protocol independent – Finds all packets from A that can reach B – Find loops, regardless of protocol or layer – Can prove that two groups are isolated Can verify if network adheres to policy

34 HSA as a “foundation” HSA enables many tools and methods – Independent static checking – In-line in-controller invariance checking – Dynamic testing: Automatic test packet generation – Dynamic testing: Automatic performance monitoring Analogy to Boolean algebra for logic design

35 SDN: Business Consequences

36 The Business Consequences 1.Vertical integration will finally be replaced by a more competitive industry with a level playing field. 2.Large growth in software industry for networking. Faster innovation. 3.Hardware switches will focus on capacity, fan-out and power. (Think Intel for networking). 4.Multi $Bn tools industry will emerge.

37 Corollary The customer and end-user will be better served – Networks will be cheaper. – Networks will be faster. – Networks will be (much) more reliable. – Networks will improve faster. – Networks will be in service of the owner, the operator, the customer and the application rather than just the high-margin vendor. SDN is in the best interest of society at large. To resist is to be protectionist and self-serving.

38 Vertically integrated Closed, proprietary Slow innovation Small industry Specialized Operating System Specialized Operating System Specialized Hardware Specialized Hardware App Specialized Applications Specialized Applications Horizontal Open interfaces Rapid innovation Huge industry Microprocessor Open Interface Linux Mac OS Mac OS Windows (OS) Windows (OS) or Open Interface

39 Vertically integrated Closed, proprietary Slow innovation App Horizontal Open interfaces Rapid innovation Control Plane Control Plane Control Plane Control Plane Control Plane Control Plane or Open Interface Specialized Control Plane Specialized Control Plane Specialized Hardware Specialized Hardware Specialized Features Specialized Features Merchant Switching Chips Merchant Switching Chips Open Interface

40 Tens of millions of lines of code. Closed, proprietary, outdated. Specialized Control Plane Specialized Control Plane Specialized Hardware Specialized Hardware Specialized Features Specialized Features Hundreds of protocols 6,500 RFCs Billions of gates. Power hungry and bloated.

41 Ram in even more lines of code… “My box now has an OpenFlow interface too!” What SDN isn’t

42 (part 3)

43 What’s new? 1.Separation of control from forwarding. 2.Programmatic control of forwarding by writing entries into tables. Transport networks have done this for decades!

44 Natural Evolution: Converged Control Data Center MPLS Global Network Map Control Program Control Program Control Program Network OS Transport Network Transport Network Direct Control of Hardware, or Virtual transport network Direct Control of Hardware, or Virtual transport network Control New ONF Working Group: Optical Transport

45 Match-Action Forwarding Abstraction Packet flow Circuit/channel Packet flow Circuit/channel OpenFlow MatchAction FAction(F) GAction(G) MatchAction FAction(F) GAction(G) MatchAction FAction(F) GAction(G)

46 Dynamic Circuit Switching Packet Network Packet Network Packet Network Packet Network Transport Network Transport Network Transport Network Transport Network UNI

47 Why it was supposed to happen Technology: High capacity optical crossconnects. Aggregation: High capacity packet networks. Cost: Circuit switches cost less; use less power. Standard: GMPLS.

48 Why GMPLS failed 1.Router vendors prevented it. 2.GMPLS standard much too complicated.

49 49 EMS Proprietary Interface Vendor Islands Packet NetworkTransport Network UNI We Didn’t Make it Easy! IP/MPLS Control Plane OSPF-TE, RSVP-TE + many more IP/MPLS Control Plane OSPF-TE, RSVP-TE + many more GMPLS Control Plane OSPF-TE, RSVP-TE GMPLS Control Plane OSPF-TE, RSVP-TE

50 50 EMS Proprietary Interface Vendor Islands Packet NetworkTransport Network UNI IP/MPLS Control Plane OSPF-TE, RSVP-TE + many more IP/MPLS Control Plane OSPF-TE, RSVP-TE + many more GMPLS Control Plane OSPF-TE, RSVP-TE GMPLS Control Plane OSPF-TE, RSVP-TE Quagga Linux OSP F RSVP 50k 175k GMPLS

51 Good Architecture Simplifies Packet Network Packet Network Packet Network Packet Network Global Network Map AggregationDynamic Bandwidth Recovery Network OS Transport Network Transport Network 4.7k NOX Linux 68k Quagga Linux OSP F RSVP 50k 175k GMPLS 3% as much code!

52 Conclusions SDN is here to stay: It introduces the right abstractions into network control. It will sweep away protectionist practices, and level the playing field. It will enable converged control of packet and transport networks. I don’t recommend sitting on the sidelines.

53 Specialized Control Plane Specialized Control Plane Specialized Hardware Specialized Hardware Specialized Features Specialized Features Apps

54 Specialized Control Plane Specialized Control Plane Specialized Hardware Specialized Hardware Apps Network OS Simpler Hardware Simpler Hardware


Download ppt "Software Defined Networking Nick McKeown Stanford University."

Similar presentations


Ads by Google