4/8/2014 Software-Defined Networking Prasad Calyam, Ph.D. Spring 2014 VIMAN Lab Cloud Computing Research http://people.cs.missouri.edu/~calyamp • Cloud Resource Allocation – Computer and network virtualization models, algorithms, tools • Cloud Monitoring – Software-defined measurements and performance diagnosis • Cloud Testbeds for Apps, Marketplaces – e.g., Manufacturing/Healthcare/Education • Cloud Security – Cyber attacks, Authentication, Authorization, Policy 2 1 4/8/2014 Discussion Topics • Traditional Networking versus Software-Defined Networking – – – – – Overlay Networking Network Function Virtualization OpenFlow Protocol for SDN SDN Programming for Applications SDN Experiments on Real Cloud Platforms 3 Discussion Topics • Traditional Networking versus Software-Defined Networking – – – – – Overlay Networking Network Function Virtualization OpenFlow Protocol for SDN SDN Programming for Applications SDN Experiments on Real Cloud Platforms 4 2 4/8/2014 Cloud Applications Science and Technical Applications Business Applications Consumer/Social Applications 5 App Marketplaces 6 3 4/8/2014 Evolution of Big Data 2 . c2 a 4G a 3 a2 Experimental Theoretical Thousand years ago Last few hundred years Description of natural phenomena Computational Last few decades Newton’s laws, Simulation of Maxwell’s equations… complex phenomena Analytical Today and the Future Unify theory, experiment and computation with large multidisciplinary Big Data Using data exploration and data mining (from instruments, sensors, humans…) 7 End-to-End Overlay Networks Big Data handling requires overlay networking, especially for satisfying realtime application requirements! 8 4 4/8/2014 GENI: Infrastructure for Overlay Experimentation GENI provides compute resources that can be connected in experimenter specified topologies. (Funded by NSF for Future Internet Experiments) GENI: Infrastructure for Experimentation GENI provides compute resources that can be connected in experimenter specified Layer 2 topologies. 5 4/8/2014 Inter aggregate connectivity How are these links formed? Experiments live in isolated “slices” Unified Resource Broker (URB) Distributed Control: Network Provisioning Issues Centralized Control: Inherent Benefits How can we centrally create intelligent overlay network infrastructures? 12 6 4/8/2014 Distributed/Centralized Switch Control Architecture • Distributed Control • Centralized Control 13 Discussion Topics • Traditional Networking versus Software-Defined Networking – – – – – Overlay Networking Network Function Virtualization OpenFlow Protocol for SDN SDN Programming for Applications SDN Experiments on Real Cloud Platforms 14 7 4/8/2014 Network Virtualization • Virtualizes a physical network interfaces as a virtual network interface; user flows are treated as ‘virtual tenant’ flows – This layer sits in between Layer 2 and Layer 3 (i.e., Layer 2.5) and uses encapsulation (i.e., Mac-in-UDP) for Layer 2 elasticity and IP address localization • Enables VM migration, virtual tenancy – across multiple Layer 2 domains! – Typical protocols: OpenFlow, Overlay Transport Virtualization (OTV), VXLAN Controller 15 Network Function Virtualization Source: Nicira/VMware • vSwitch and Stateless Transport Protocol (STT) allow running a custom network protocol over a network built for a different protocol • Open vSwitch is a virtual switch used as the network stitching component in the hypervisor – – – STT enables transporting Ethernet data inside IP packets Maintains logical state of VM’s network connection across physical hosts when VM is migrated Managed and monitored by OpenFlow, NetFlow and others See - http://openvswitch.org/ 16 8 4/8/2014 SDN Related Work Related Work Features NEC ProgrammableFlow Matching of packet flows based on the IP addresses, MAC addresses and the port numbers Cisco Overlay Transport Virtualization (OTV) MAC-in-IP, Multi-point Tunneling using IP Multicast VMware Virtual Extensible LAN (VXLAN) MAC-in-UDP, 24-bit LAN segment identifier Virtual Private LAN Service (VPLS) Multi-point to multi-point communication over IP/MPLS networks 17 Discussion Topics • Traditional Networking versus Software-Defined Networking – – – – – Overlay Networking Network Function Virtualization OpenFlow Protocol for SDN SDN Programming for Applications SDN Experiments on Real Cloud Platforms 18 9 4/8/2014 Software-Defined Networking with OpenFlow Traditional Network OpenFlow Network 19 Flow Table Management OpenFlow Protocol Interactions More overview details at http://archive.openflow.org/documen ts/openflow-wp-latest.pdf Forwarding Rule 20 10 4/8/2014 OpenFlow is an API • Controller has to populate forwarding table of the switch – Controls how packets are forwarded through a network path – In a table miss, switch asks the Controller • • • Controller reserves “flow space” in a Slice – Installs flow entries either ‘proactively’ or ‘reactively’ in switches – Once flow is setup, subsequent traffic does not go through the controller Controller is responsible for all traffic, not just your application! – Should handle: ARPs, DHCP, etc. Implementable on Commercial off-the-shelf (COTS) hardware – Make deployed networks programmable; Not just configurable 21 Virtual Data Center Example Unified Resource Broker Measurement Engine Measurement Plane Packet Capture Active Measurement Service Engine Connection Active Broker Directory System Provisioning Congestion Detection Routing Engine Marker Packet Packet/Flow Handler Inspector Resource Optimization OpenFlow Controller Control Plane Data Center Load Balancing Control Plane Secure Channel Virtual Desktop Fault Detection Secure Channel OpenFlow Switches OpenFlow Switch Flow tables Group Tables Thin-clients Thin-client RDP/PCoIP Client User Applications Data Plane Security Token RDP/PCoIP Server File System Hypervisor 22 11 4/8/2014 Debugging OpenFlow Networks is Hard! • Mininet – Before actual deployment, test your OpenFlow Controller in the Mininet network emulation tool with ‘virtual switches & hosts’ • OVS (Open vSwitch) virtual switch software or a “soft switch” is used in Mininet – Does not require the initial network co-ordination for Controller setup, and also does not require console access to switches – Requires an OpenFlow Controller Application Framework • Floodlight, POX, OpenDaylight, Beacon, Trema, … – http://yuba.stanford.edu/~casado/of-sw.html – http://groups.geni.net/geni/wiki/OpenFlow/Controllers – Wireshark helps with debugging control flows of your OpenFlow Controller application 23 OpenFlow Controller Flavors 24 12 4/8/2014 Floodlight Controller REST API 25 Wireshark for Debugging your OpenFlow Controller! OpenFlow Protocol packet analysis Virtual Ethernet ports for each switch 26 13 4/8/2014 Discussion Topics • Traditional Networking versus Software-Defined Networking – – – – – Overlay Networking Network Function Virtualization OpenFlow Protocol for SDN SDN Programming for Applications SDN Experiments on Real Cloud Platforms 27 GENI/SDN Lab Steps Mininet Installation Floodlight OpenFlow Controller installation QoS Configuration in Controller Application QoS Experimentation using Iperf Tool Lab Experiment #1 (QoS Control through Network-Edge Rate Limiting) Steps Overview Floodlight OpenFlow Controller installation Load Balancer Configuration in Controller Application Load Balancing Experimentation using Ping Tool Lab Experiment #2 (Load Balancer for Scalable Handling of Traffic Flows) Steps Overview • • Lab Experiment – QoS Configuration and Load Balancing using Software Defined Networking/OpenFlow Purpose of the Lab – Install and configure Mininet SDN emulator with 2 traffic engineering experiment applications to understand how to program ‘flow spaces’ within networks to: (i) comply with enterprise network capacity provisioning policies, and (ii) balance the utilization of network resources – Use Iperf and Ping Tools to verify your SDN functionality 28 14 4/8/2014 SDN/GENI Lab Experiment #1 • • Use the OpenvSwitch commands to set the network policies Setup 3 queues (Q0, Q1 and Q2) on every switch and configure network-edge bandwidth capacity using the ‘ovs-vsctl’ commands – Q0 – default queue – Q1 – queue 1 rate limiting bandwidth to 50 Mbps – Q2 – queue 2 rate limiting bandwidth to 40 Mbps 29 SDN/GENI Lab Experiment #2 • Use a Load Balancing experiment topology with pools of end-hosts and load balancers • Extend the ‘Load Balancing’ module in your Floodlight Controller – Test load balancing functionality with Ping requests from end-hosts – Scale the load balancer to handle more Ping requests by adding two new hosts to the load balancer pool – Examine the response patterns from end-host Ping responses 30 15 4/8/2014 In-class Exercise • What emerging technologies can you think that SDN will enable in the next “Hype Cycle(s)”? – – – – – – – – Location-aware Apps Virtual Assistants; Virtual Worlds Social Analytics based Mobile Services Augmented Reality Desktop-as-a-Service Simulation-as-a-Service Remote Elder-care ….others See US Ignite – http://us-ignite.org/next-gen-applications that is fostering creation of next-generation Internet applications that provide transformative public benefit 31 Discussion Topics • Traditional Networking versus Software-Defined Networking – – – – – Overlay Networking Network Function Virtualization OpenFlow Protocol for SDN SDN Programming for Applications SDN Experiments on Real Cloud Platforms 32 16 4/8/2014 Science DMZ Use Case with OpenFlow IP Network Science Science Application Application Web Application Direct Connect Network Campus Network Campus Access Network Gatekeeper Proxy Middleware Instrument Site on Campus Science Application Public Cloud Extended VLAN Overlay Campus Access Network Normal Application Software-Defined Network Science Application Remote Collaborator 33 Science DMZ Flow Orchestration with OpenFlow Performance Engineer Gatekeeper Proxy Middleware Service Engine Routing Engine Measurement Engine 1. Define application end-points 2. Provision policy-directed flow rules and monitoring objectives Authenticated Researcher OpenFlow Controller 3. Install HTC flow Legend: Data Flow Control Flow 3. Install HTC flow 3. Install measurement flow 4. Authorized HTC flow Campus-A Edge Non-IP Network Campus-B Edge 4. Authorized measurement flow Extended VLAN Overlay Imaging Microscope Image Processing Cluster 4. Non-Science DMZ flow Campus-A Firewall IP Network Campus-B Firewall 34 17 4/8/2014 Virtual Desktop Clouds (DaaS) “Brain of the Cloud” 35 Example DaaS Use Cases (a) Virtual classroom lab involving faculty and students (b) Computationally intensive interactive applications for biomedical community (e.g., remote volume visualization) (c) Simulation-as-a-Service requiring HPC resources for advanced manufacturing (d) ElderCare-as-a-Service requiring proactive medical intervention for health care (e) Virtual desktops for underserved communities 36 18 4/8/2014 VIMAN Lab’s “VDC-Analyst” Leveraging OpenFlow for Resource Placement of Virtual Desktop Cloud Applications VD Provisioning and Placement GENI Slice Testbed for VDC Hosting • VDC-Analyst → GENI • Design & Development → Validation and design tuning • Large-scale simulations → Cloud deployment experiments 37 VDC-Analyst Features Resource allocation of thin-clients to data centers ‘Run Simulation’ (Offline) ‘Run Experiment’ (In GENI) Net-utility per experiment run 38 19 4/8/2014 VDC-Analyst Use Cases • Research – Plug-in new provisioning and placement schemes – Study cloud dynamics to see how they affect net-utility • Education – Explore server-side adaptation • E.g., write a macro script to reduce user interaction round-trips for control actions during network health bottlenecks – Explore client-side adaptation • E.g., select thin-client encodings that delivers best QoE for different user groups – knowledge worker vs. designer/artist – Explore network-side adaptation • E.g., ?? 39 Problem Scope • To use OpenFlow for dynamic resource placement of VD applications via an URB – Provisioning of non-IP VD application traffic flows between thinclient sites and data centers – Path selection and load-balancing of VD flows to improve performance of interactive applications and video playback – Leveraging in-band instrumentation and measurement to gather performance intelligence on cross traffic impact affecting VD – Automated management and centralized network control 40 20 4/8/2014 Marker Packet Header Format 41 Flow Setup Sequence Diagram Virtual Desktop OpenFlow Switch OpenFlow Controller 1 Join OpenFlow network 2 Install flow rules for marker packets 3 Smart Thin-client Send marker packet to request virtual desktop 4 Recognize and punt the marker packet 5 Parse marker packet and install client/server flows Access virtual desktop applications 6 42 21 4/8/2014 VDC-Analyst Experiment w/o Load-Balancing 43 VDC-Analyst Experiment w/ Load-Balancing 44 22 4/8/2014 VDC-Analyst OpenFlow Demonstration Route setup Step-1 Cross-traffic Impact Step-2 Step-3 Client In Port Out Port ATLANTA PG46 20 52 51 ATLANTA PG47 20 52 52 SUNNW PG48 50 52 SUNNW PG49 50 52 OpenFlow Switch Client In Port Out Port OpenFlow Switch Client In Port Out Port ATLA PG46 20 52 SUNNW PG48 50 51 ATLA PG47 20 52 SUNNW PG49 ATLANTA Video runs smooth, GUI applications are responsive PG46 50 52 ATLANTA PG47 52 52 ATLANTA PG46 20 52 ATLANTA PG47 20 52 Video freezes, disconnects, GUI applications are not responsive OpenFlow Switch Load-balancing Improvement Video runs smooth, GUI applications are responsive 45 VDC-Analyst OpenFlow Demonstration Step-1 Route setup Step-2 Bandwidth Consumed (Mbytes/s) 20 20 15 15 10 5 0 Application 15.36 10 4.6 0 Cross-traffic Impact Cross-Traffic Video runs smooth, GUI applications are responsive 5 0 Step-3 20 Application 14.8 15 10 5 0.21 Load-balancing Improvement 4.45 0 Cross-Traffic Video freezes, disconnects, GUI applications are not responsive Application Cross-Traffic Video runs smooth, GUI applications are responsive 46 23 4/8/2014 Simulation-as-a-Service 47 ElderCare-as-a-Service 48 24 4/8/2014 Further Reading • • • GENI – http://www.geni.net Open Networking Foundation - https://www.opennetworking.org Select papers network and server adaptation for scientific applications on virtual desktops: – P. Calyam, S. Rajagopalan, S. Seetharam, A. Selvadhurai, K. Salah, R. Ramnath, “VDC-Analyst: Design and Verification of Virtual Desktop Cloud Resource Allocations”, Elsevier Computer Networks Journal (COMNET), 2014. – P. Calyam, S. Rajagopalan, A. Selvadhurai, S. Mohan, A. Venkataraman, A. Berryman, R. Ramnath, “Leveraging OpenFlow for Resource Placement of Virtual Desktop Cloud Applications”, IFIP/IEEE International Symposium on Integrated Network Management (IM), 2013. 49 25
© Copyright 2024 ExpyDoc