Handout # 4: Scaling Controllers in SDN - HyperFlow

Slides:



Advertisements
Similar presentations
Express5800/ft series servers Product Information Fault-Tolerant General Purpose Servers.
Advertisements

Presented By : Vibhuti Dhiman
Database Architectures and the Web
SDN Controller Challenges
DOT – Distributed OpenFlow Testbed
Distributed System Structures Network Operating Systems –provide an environment where users can access remote resources through remote login or file transfer.
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Emery Berger University of Massachusetts Amherst Operating Systems CMPSCI 377 Lecture.
INTRODUCTION Frequent and resource-exhaustive events, such as flow arrivals and network-wide statistics collection events, stress the control plane and.
Oracle Data Guard Ensuring Disaster Recovery for Enterprise Data
SDN and Openflow.
Scalable Network Virtualization in Software-Defined Networks
Scalable and Crash-Tolerant Load Balancing based on Switch Migration
Chapter 19: Network Management Business Data Communications, 4e.
SANE: A Protection Architecture for Enterprise Networks Offense by: Amit Mondal Bert Gonzalez.
Business Continuity and DR, A Practical Implementation Mich Talebzadeh, Consultant, Deutsche Bank
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
EEC-681/781 Distributed Computing Systems Lecture 3 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
A Routing Control Platform for Managing IP Networks Jennifer Rexford Princeton University
Hands-On Microsoft Windows Server 2003 Administration Chapter 3 Administering Active Directory.
Semester 4 - Chapter 3 – WAN Design Routers within WANs are connection points of a network. Routers determine the most appropriate route or path through.
1 Logically Centralized? State Distribution Trade-offs in Software Defined Networks Written By Dan Levin, Andreas Wundsam, Brandon Heller, Nikhil Handigol,
Microsoft Load Balancing and Clustering. Outline Introduction Load balancing Clustering.
We will be covering VLANs this week. In addition we will do a practical involving setting up a router and how to create a VLAN.
VLAN Trunking Protocol (VTP) W.lilakiatsakun. VLAN Management Challenge (1) It is not difficult to add new VLAN for a small network.
OpenFlow-Based Server Load Balancing GoneWild Author : Richard Wang, Dana Butnariu, Jennifer Rexford Publisher : Hot-ICE'11 Proceedings of the 11th USENIX.
Professor Yashar Ganjali Department of Computer Science University of Toronto
Chapter 7: Using Windows Servers to Share Information.
VLAN Trunking Protocol (VTP)
An Introduction to Software Architecture
CH2 System models.
Student Name: Tze-Jie Tan 陳斯傑 Advisor: Ying-Dar Lin Date: 24/09/2014
Lec4: TCP/IP, Network management model, Agent architectures
Professor Yashar Ganjali Department of Computer Science University of Toronto Some slides courtesy.
On Controller Performance in Software-Defined Networks
Architectures of distributed systems Fundamental Models
MODULE I NETWORKING CONCEPTS.
11 WORKING WITH PRINTERS Chapter 10. Chapter 10: WORKING WITH PRINTERS2 THE WINDOWS SERVER 2003 PRINTER MODEL  Locally attached printers Printers that.
Aaron Gember, Theophilus Benson, Aditya Akella University of Wisconsin-Madison.
INTRUSION DETECTION SYSYTEM. CONTENT Basically this presentation contains, What is TripWire? How does TripWire work? Where is TripWire used? Tripwire.
SDN Management Layer DESIGN REQUIREMENTS AND FUTURE DIRECTION NO OF SLIDES : 26 1.
Handout # 3: Introduction to Computer Networks
AMQP, Message Broker Babu Ram Dawadi. overview Why MOM architecture? Messaging broker like RabbitMQ in brief RabbitMQ AMQP – What is it ?
On Scalability of Software-Defined Networking
CSci8211: SDN Controller Design 1 Overview of SDN Controller Design  SDN Re-cap  SDN Controller Design: Case Studies  NOX Next Week:  ONIX  ONOS 
Coping with Link Failures in Centralized Control Plane Architecture Maulik Desai, Thyagarajan Nandagopal.
Logically Centralized? State Distribution Trade-offs in Software Defined Networks.
2.2 Interfacing Computers MR JOSEPH TAN CHOO KEE TUESDAY 1330 TO 1530
Programming Assignment 2 Zilong Ye. Traditional router Control plane and data plane embed in a blackbox designed by the vendor high-seed switching fabric.
Cofax Scalability Document Version Scaling Cofax in General The scalability of Cofax is directly related to the system software, hardware and network.
Exploration 3 Chapter 4. What is VTP? VTP allows a network manager to configure a switch so that it will propagate VLAN configurations to other switches.
BUILD SECURE PRODUCTS AND SERVICES
SDN challenges Deployment challenges
Gijeong Kim ,Junho Kim ,Sungwon Lee Kyunghee University
3.1 Types of Servers.
University of Maryland College Park
Hydra: Leveraging Functional Slicing for Efficient Distributed SDN Controllers Yiyang Chang, Ashkan Rezaei, Balajee Vamanan, Jahangir Hasan, Sanjay Rao.
Semester 4 - Chapter 3 – WAN Design
IEEE 802 OmniRAN Study Group: SDN Use Case
NOX: Towards an Operating System for Networks
Scalability of Software Defined Network
3.1 Types of Servers.
Overview of SDN Controller Design
#01 Client/Server Computing
Chapter 16: Distributed System Structures
An example design for an Amadeus APIv2 Web Server Application
Enabling Innovation Inside the Network
Cloud Web Filtering Platform
An Introduction to Software Architecture
#01 Client/Server Computing
Presentation transcript:

Handout # 4: Scaling Controllers in SDN - HyperFlow CSC 2229 – Software-Defined Networking Handout # 4: Scaling Controllers in SDN - HyperFlow Professor Yashar Ganjali Department of Computer Science University of Toronto yganjali@cs.toronto.edu http://www.cs.toronto.edu/~yganjali Joint work with Amin Tootoonchian.

University of Toronto – Fall 2014 Announcements Final project guidelines and schedule posted on class website. Groups of 2-3 students Email the class mailing list if you are looking for a teammate. Project proposal 2 pages Due: Oct. 3rd (5PM) In class presentations Booked for 3 weeks. Email me if you want to be next. CSC 2229 - Software-Defined Networking University of Toronto – Fall 2014

Software Defined Network (SDN) Control Program A Control Program B Network OS Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding CSC 2229 - Software-Defined Networking University of Toronto – Fall 2014

University of Toronto – Fall 2014 Network OS Network OS: distributed system that creates a consistent, up-to-date network view Runs on servers (controllers) in the network Control program: operates on view of network Input: global network view (graph/database) Output: configuration of each network device CSC 2229 - Software-Defined Networking University of Toronto – Fall 2014

Scalability in Control Plane OpenFlow suffers from scalability problems Network growth  More traffic; and Higher CPU load for controller Geographic distribution  Increased setup latencies Trivial solution: deploy multiple controllers! CSC 2229 - Software-Defined Networking University of Toronto – Fall 2014

Simplicity vs. Scalability Trade-off between Simplicity Scalability OpenFlow has chosen simplicity Network control logic is centralized Question: Can we have the best of both worlds? Idea: distributed the control plane but keep the network control logic centralized. CSC 2229 - Software-Defined Networking University of Toronto – Fall 2014

Why Not Direct Synchronization? Requires significant modifications to controller apps. The synchronization procedure must handle state conflicts. Synchronization traffic grows with the number of apps. CSC 2229 - Software-Defined Networking University of Toronto – Fall 2014

HyperFlow Our approach: Synchronize state among controllers Push all state to all controllers Make each controller think it is the only controller Synchronize state among controllers With minor modifications to applications Key idea: capture controller events which affect controller state Controller events: e.g., OpenFlow messages (Packet_in_event, …) Observation: the number of such events is very small Replay these events on all other controllers Improved scalability, preserved simplicity. CSC 2229 - Software-Defined Networking University of Toronto – Fall 2014

University of Toronto – Fall 2014 HyperFlow Design HyperFlow has two major components: Controller component: An event logger, player, and OpenFlow command proxy. Implemented as a C++ NOX application. Event propagation system: A publish/subscribe system. Switches are connected to nearby controllers Upon controller failure: Switches are reconfigured to connect to another controller CSC 2229 - Software-Defined Networking University of Toronto – Fall 2014

HyperFlow Architecture Event Propagation System Logger, Player, and Command Proxy CSC 2229 - Software-Defined Networking University of Toronto – Fall 2014

HyperFlow Controller Component Event logger captures & serializes some control events. Only captures events which alter the controller state. Serializes and publishes the events to the pub/sub. Event player de-serializes & replays captured events. As if they occurred locally. If we need to modify a switch remotely Command proxy sends commands to appropriate switches. Sends the replies back to the original sender. CSC 2229 - Software-Defined Networking University of Toronto – Fall 2014

Event Propagation System The pub/sub system has a network-wide scope. It has three channel types: Control channel: controllers advertise themselves there. Data channel: events of general interest published here. Direct messaging channels: send commands and replies to a specific controller. Implemented using WheelFS, because: WheelFS facilitates rapid prototyping. WheelFS is resilient against network partitioning. CSC 2229 - Software-Defined Networking University of Toronto – Fall 2014

Are Controllers in Sync? Question: How rapidly can network changes occur in HyperFlow? Yet guarantee a bounded inconsistency window. The bottleneck could be either: The control bandwidth. The publish/subscribe system. The publish/subscribe system localizes the HyperFlow sync traffic. The control bandwidth problem could be alleviated. How many events can HyperFlow exchange with the publish/subscribe system per sec? CSC 2229 - Software-Defined Networking University of Toronto – Fall 2014

How Often Can the Network Change? Benchmarked WheelFS: The number of 3KB-sized files HyperFlow can serialize & publish: 233 such events/sec  not a concern The number of 3KB-sized files HyperFlow can read & deserialize: 987 such events/sec (multiple publishers) However, HyperFlow can handle far larger number of events. During spikes inconsistency window is not bounded. Switch, host, link changes Typically 10s of events/sec for thousands of hosts Number of network changes on average must be < 1000 events/sec. CSC 2229 - Software-Defined Networking University of Toronto – Fall 2014

University of Toronto – Fall 2014 Detour: OpenBoot Controllers fail or are disrupted Updating or patching controller, installing new applications, and bugs Controller failure can cause disruptions in network operation Reconstruction of state, and convergence takes time OpenBoot: zero-downtime control plane service Based on the same idea of HyperFlow Log controller events Plus, check-pointing In case of failure Replay all events to recover state CSC 2229 - Software-Defined Networking University of Toronto – Fall 2014

University of Toronto – Fall 2014 Summary HyperFlow enables deploying multiple controllers. Keeps network control logic centralized. Yet, provides control plane scalability. It synchronizes network-wide view among controllers. By capturing, propagating & playing a few ctrl events. It guarantees bounded window of inconsistency: If network changes occur at a rate < 1000 event/sec. It is resilient to network partitioning. It enables interconnection of OpenFlow islands. CSC 2229 - Software-Defined Networking University of Toronto – Fall 2014