Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction to SDN & OpenFlow Based on Tutorials from: Srini Seetharaman, Deutsche Telekom Innovation Center FloodLight Open Flow Controller, floodlight.openflowhub.org.

Similar presentations


Presentation on theme: "Introduction to SDN & OpenFlow Based on Tutorials from: Srini Seetharaman, Deutsche Telekom Innovation Center FloodLight Open Flow Controller, floodlight.openflowhub.org."— Presentation transcript:

1 Introduction to SDN & OpenFlow Based on Tutorials from: Srini Seetharaman, Deutsche Telekom Innovation Center FloodLight Open Flow Controller, floodlight.openflowhub.org

2 Million of lines of source code 6000+ RFCsBarrier to entry Billions of gates BloatedPower Hungry Many complex functions baked into the infrastructure OSPF, BGP, multicast, differentiated services, Traffic Engineering, NAT, firewalls, MPLS, redundant layers, … An industry with a “mainframe-mentality” The Ossified Network Specialized Packet Forwarding Hardware Operating System Operating System Feature Routing, management, mobility management, access control, VPNs, … 2

3 Specialized Packet Forwarding Hardware App Specialized Packet Forwarding Hardware App Specialized Packet Forwarding Hardware App Specialized Packet Forwarding Hardware App Specialized Packet Forwarding Hardware Operating System Operating System Operating System Operating System Operating System Operating System Operating System Operating System Operating System Operating System App 3 Current Internet Closed to Innovations in the Infrastructure Closed

4 Specialized Packet Forwarding Hardware App Specialized Packet Forwarding Hardware App Specialized Packet Forwarding Hardware App Specialized Packet Forwarding Hardware App Specialized Packet Forwarding Hardware Operating System Operating System Operating System Operating System Operating System Operating System Operating System Operating System Operating System Operating System App Network Operating System App “Software Defined Networking” approach to open it

5 App Simple Packet Forwarding Hardware App Simple Packet Forwarding Hardware Network Operating System 1. Open interface to hardware 3. Well-defined open API 2. At least one good operating system Extensible, possibly open-source The “Software-defined Network”

6 SDN System View Application tier Controller tier Data plane tier Software Defined Networking decouples data, control, and application planes, creating a programmable network

7 OpenFlow and SDN Northbound API Southbound API - OpenFlow

8 How does OpenFlow work? 8

9 Ethernet Switch 9

10 Data Path (Hardware) Control Path Control Path (Software) 10

11 Data Path (Hardware) Control Path OpenFlow OpenFlow Controller OpenFlow Protocol (SSL/TCP) 11

12 Controller PC OpenFlow usage OpenFlow Switch Alice’s code Decision? OpenFlow Protocol Alice’s Rule OpenFlow offloads control intelligence to a remote software

13 Controller PC Hardware Layer Software Layer Flow Table MAC src MAC dst IP Src IP Dst TCP sport TCP dport Action OpenFlow Client **5.6.7.8***port 1 port 4port 3 port 2 port 1 1.2.3.45.6.7.8 OpenFlow Example 13

14 OpenFlow Basics Flow Table Entries Switch Port MAC src MAC dst Eth type VLAN ID IP Src IP Dst IP Prot L4 sport L4 dport RuleActionStats 1.Forward packet to zero or more ports 2.Encapsulate and forward to controller 3.Send to normal processing pipeline 4.Modify Fields 5.Any extensions you add! + mask what fields to match Packet + byte counters 14 VLAN pcp IP ToS

15 OpenFlow: a pragmatic compromise + Speed, scale, fidelity of vendor hardware + Flexibility and control of software and simulation Vendors don’t need to expose implementation Leverages hardware inside most switches today (ACL tables) 15

16 Examples Switching * Switch Port MAC src MAC dst Eth type VLAN ID IP Src IP Dst IP Prot TCP sport TCP dport Action * 00:1f:.. *******port6 Flow Switching port3 Switch Port MAC src MAC dst Eth type VLAN ID IP Src IP Dst IP Prot TCP sport TCP dport Action 00:20..00:1f..0800vlan11.2.3.45.6.7.841726480port6 Firewall * Switch Port MAC src MAC dst Eth type VLAN ID IP Src IP Dst IP Prot TCP sport TCP dport Action ********22drop 16

17 Examples Routing * Switch Port MAC src MAC dst Eth type VLAN ID IP Src IP Dst IP Prot TCP sport TCP dport Action *****5.6.7.8***port6 VLAN Switching * Switch Port MAC src MAC dst Eth type VLAN ID IP Src IP Dst IP Prot TCP sport TCP dport Action ** vlan1 ***** port6, port7, port9 00:1f.. 17

18 Centralized vs Distributed Control Both models are possible with OpenFlow Centralized Control OpenFlow Switch OpenFlow Switch OpenFlow Switch Controller Distributed Control OpenFlow Switch OpenFlow Switch OpenFlow Switch Controller 18

19 Flow Routing vs. Aggregation Both models are possible with OpenFlow Flow-Based Every flow is individually set up by controller Exact-match flow entries Flow table contains one entry per flow Good for fine grain control, e.g. campus networks Aggregated One flow entry covers large groups of flows Wildcard flow entries Flow table contains one entry per category of flows Good for large number of flows, e.g. backbone 19

20 Reactive vs. Proactive (pre-populated) Both models are possible with OpenFlow Reactive First packet of flow triggers controller to insert flow entries Efficient use of flow table Every flow incurs small additional flow setup time If control connection lost, switch has limited utility Proactive Controller pre-populates flow table in switch Zero additional flow setup time Loss of control connection does not disrupt traffic Essentially requires aggregated (wildcard) rules 20

21 OpenFlow Controller to Switch Communication x86 style instruction set Based on Ethernet Switch with: OF software client Hardware flow table Control channel between switch and controller TCP / SSL OpenFlow Client **5.6.7.8***port 1 Non-OF Control Path Non-OF Control Path Action MAC src MAC dst IP Src IP Dst TCP sport TCP dport Flow table

22 OpenFlow Protocol (1) 22 Switch Port MAC src MAC dst Eth type VLAN ID IP Src IP Dst IP Prot L4 sport L4 dport Match FieldsAction(s)Stats 1.Forward packet to zero or more ports 2.Encapsulate and forward to controller 3.Modify Fields 4.Vendor specific extensions + mask what fields to match Packet + byte counters VLAN pcp IP ToS ©2012 – Big Switch Networks Inc.

23 OpenFlow Protocol (2) 23 Switch port MAC src MAC dst Eth type VLAN ID IP SrcIP ProtTCP sport TCP dport Action Switching**00:1f :.. ******Port6 Flow switching Port300:20.. 00:1f.. 0800Vlan11.2.3.45.6.7.8417264Port6 Firewall********22Drop Routing******5.6.7.8**Port6 VLAN switching **00:1f.. *Vlan1****Port6,p ort7, port8 ©2012 – Big Switch Networks Inc.

24 OpenFlow in Action Rule Action Stats Rule Action Stats Rule Action Stats 0101001010

25 Usage examples Alice’s code: – Simple learning switch – Per Flow switching – Network access control/firewall – Static “VLANs” – Her own new routing protocol: unicast, multicast, multipath – Home network manager – Packet processor (in controller) – IPvAlice Stanford demonstrated – VM migration – Server Load balancing – Mobility manager – Power management – Network monitoring and visualization – Network debugging – Network slicing … and much more you can create!

26 OpenFlow Implementations (Switch and Controller) 26

27 Ciena Coredirector NEC IP8800 Current SDN hardware Juniper MX-series HP Procurve 5400 Pronto 3240/3290 WiMax (NEC) PC Engines Netgear 7324 27

28 Commercial Switch Vendors ModelVirtualizeNotes HP Procurve 5400zl or 6600 1 OF instance per VLAN -LACP, VLAN and STP processing before OpenFlow -Wildcard rules or non-IP pkts processed in s/w -Header rewriting in s/w -CPU protects mgmt during loop NEC IP8800 1 OF instance per VLAN -OpenFlow takes precedence -Most actions processed in hardware -MAC header rewriting in h/w Pronto 3240 or 3290 with Pica8 or Indigo firmware 1 OF instance per switch -No legacy protocols (like VLAN and STP) -Most actions processed in hardware -MAC header rewriting in h/w 28

29 Controller Vendors VendorNotes Nicira’s NOX Open-source GPL C++ and Python Researcher friendly Nicira’s ONIX Closed-source Datacenter networks SNAC Open-source GPL Code based on NOX0.4 Enterprise network C++, Python and Javascript Currently used by campuses VendorNotes Stanford’s Beacon Open-source Researcher friendly Java-based BigSwitch controller Closed source Based on Beacon Enterprise network Maestro (from Rice Univ) Open-source Based on Java NEC’s Helios Open-source Written in C 29

30 Virtualizing OpenFlow 30

31 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 layer App Controller 1 App Controller 2 Controller 2 Virtualization or “Slicing” App OpenFlow Controller 1 NOX (Network OS) NOX (Network OS) Controller 2 Controller 2 Network OS Trend Computer IndustryNetwork Industry

32 Simple Packet Forwarding Hardware Network Operating System 1 Open interface to hardware Virtualization or “Slicing” Layer Network Operating System 2 Network Operating System 3 Network Operating System 4 App Many operating systems, or Many versions Open interface to hardware Isolated “slices” Simple Packet Forwarding Hardware 32

33 Switch Based Virtualization Exists for NEC, HP switches but not flexible enough Normal L2/L3 Processing Flow Table Production VLANs Research VLAN 1 Controller Research VLAN 2 Flow Table Controller 33

34 FlowVisor-based Virtualization OpenFlow Switch OpenFlow Protocol OpenFlow Protocol OpenFlow FlowVisor & Policy Control Craig’s Controller Heidi’s Controller Aaron’s Controller OpenFlow Protocol OpenFlow Protocol OpenFlow Switch OpenFlow Switch 34 Topology discovery is per slice

35 OpenFlow Protocol OpenFlow FlowVisor & Policy Control Broadcast Multicast OpenFlow Protocol http Load-balancer FlowVisor-based Virtualization OpenFlow Switch OpenFlow Switch OpenFlow Switch 35 Separation not only by VLANs, but any L1-L4 pattern dl_dst=FFFFFFFFFFFF tp_src=80, or tp_dst=80

36 FlowSpace: Maps Packets to Slices

37 FlowVisor Message Handling OpenFlow Firmware Data Path Alice Controller Bob Controller Cathy Controller FlowVisor OpenFlow Packet Exception Policy Check: Is this rule allowed? Policy Check: Who controls this packet? Full Line Rate Forwarding Rule Packet


Download ppt "Introduction to SDN & OpenFlow Based on Tutorials from: Srini Seetharaman, Deutsche Telekom Innovation Center FloodLight Open Flow Controller, floodlight.openflowhub.org."

Similar presentations


Ads by Google