Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Tecnologie e Protocolli per Internet 1 Prof. Stefano Salsano e-mail: [email protected] AA2012/13 – Blocco 5 v1 1 Software Defined Networks and OpenFlow 2 Acknowledgements • Next slides are taken from • An Experimenter’s Guide to OpenFlow - GENI Engineering Workshop June 2010 - Rob Sherwood (with help from many others) • Packet and Circuit Convergence with OpenFlow - Guru Parulkar [email protected] with Saurav Das (Stanford), Nick McKeown (Stanford), Preeti Singh (Ciena), Dan Getachew (Ciena), Lyndon Ong (Ciena) 3 Current Internet Closed to Innovations in the Infrastructure Closed App App App Operating System App Specialized Packet Forwarding Hardware App App App App Operating System Specialized Packet Forwarding Hardware App Operating System App Specialized Packet Forwarding Hardware App App Operating System App App App Specialized Packet Forwarding Hardware Operating System Specialized Packet Forwarding Hardware 4 “Software Defined Networking” approach to open it App App App Network Operating System App App App Operating System App Specialized Packet Forwarding Hardware App App App App Operating System Specialized Packet Forwarding Hardware App Operating System App Specialized Packet Forwarding Hardware App App Operating System App App Specialized Packet Forwarding Hardware App Operating System Specialized Packet Forwarding Hardware The “Software-defined Network” 2. At least one good operating system Extensible, possibly open-source 3. Well-defined open API App App App Network Operating System 1. Open interface to hardware Simple Packet Forwarding Hardware Simple Packet Forwarding Hardware Simple Packet Forwarding Hardware Simple Packet Forwarding Hardware Simple Packet Forwarding Hardware Isolated “slices” App Many operating systems, or Many versions App App Network Operating System 1 App App Network Operating System 2 App App Network Operating System 3 App Network Operating System 4 Open interface to hardware Virtualization or “Slicing” Layer Open interface to hardware Simple Packet Forwarding Hardware Simple Packet Forwarding Hardware Simple Packet Forwarding Hardware Simple Packet Forwarding Hardware Simple Packet Forwarding Hardware Open Systems Performanc e Fidelity Scale Real User Traffic? Complexity Open Simulation medium medium no medium yes Emulation medium low no medium yes Software Switches poor low yes medium yes NetFPGA high low yes high yes Network Processors high medium yes high yes Vendor Switches high high yes low no gap in the tool space none have all the desired attributes! We lost our way Routing, management, mobility management, access control, VPNs, … App App App Million of lines of source code Operating System 500M gates 10Gbytes RAM Specialized Packet Forwarding Hardware 5400 RFCs Bloated Power 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” 9 OpenFlow: Enable Innovations “within” the Infrastructure PC Net Services OpenFlow Switch sw hw Secure Channel Flow Table API Controller • Add/delete flow entries • Encapsulated packets • Controller discovery 10 Sliced and Virtualized OpenFlow Infrastructure Control Plane API Research Team A Controller C Research Team B Controller C Production Net Controller C Control Plane API OpenFlow Protocol FLOWVISOR OpenFlow Protocol Isolated Network Slices Physical Infrastructure Packet&Circuit Switches: wired, wireless, optical media 11 What is OpenFlow? Short Story: OpenFlow is an API • Control how packets are forwarded • Implementable on COTS hardware • Make deployed networks programmable – not just configurable • Makes innovation easier • Goal (experimenter’s perspective): – No more special purpose test-beds – Validate your experiments on deployed hardware with real traffic at full line speed 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) How Does OpenFlow Work? Ethernet Switch Control Control Path Path (Software) Data Path (Hardware) OpenFlow Controller OpenFlow Protocol (SSL/TCP) Control Path OpenFlow Data Path (Hardware) OpenFlow Flow Table Abstraction Controller PC Software Layer OpenFlow Firmware Flow Table MAC src MAC dst IP Src IP Dst TCP sport TCP dport Action * * * 5.6.7.8 * * port 1 Hardware Layer port 2 port 1 port 3 port 4 5.6.7.8 1.2.3.4 OpenFlow Basics Flow Table Entries Rule Action Stats Packet + byte counters 1. Forward packet to port(s) 2. Encapsulate and forward to controller 3. Drop packet 4. Send to normal processing pipeline 5. Modify Fields Switch Port VLAN ID MAC src MAC dst + mask what fields to match Eth type IP Src IP Dst IP Prot TCP sport TCP dport Examples Switching Switch MAC Port src * * MAC dst Eth type 00:1f:.. * VLAN ID IP Src IP Dst IP Prot TCP sport TCP dport Action * * * * * * port6 VLAN ID IP Src IP Dst IP Prot TCP sport TCP dport Action 80 port6 Flow Switching Switch MAC Port src MAC dst Eth type port3 00:20.. 00:1f.. 0800 vlan1 1.2.3.4 5.6.7.8 MAC dst Eth type VLAN ID IP Src IP Dst IP Prot TCP sport * * * * * * * 22 drop 4 17264 Firewall Switch MAC Port src * * TCP Forward dport Examples Routing Switch MAC Port src * * MAC dst Eth type VLAN ID IP Src IP Dst IP Prot TCP sport TCP dport Action * * * * 5.6.7.8 * * * port6 MAC dst Eth type VLAN ID IP Src IP Dst IP Prot TCP sport TCP dport Action * port6, port7, port9 VLAN Switching Switch MAC Port src * * 00:1f.. * vlan1 * * * * OpenFlow Usage Dedicated OpenFlow Network Controller Aaron’s code OpenFlow Rule Action Switch PC Statistics OpenFlow Protocol OpenFlow Action Switch Rule OpenFlowSwitch.org Statistics OpenFlow Action Switch Rule Statistics