CSci8211: SDN Controller Design 1 Overview of SDN Controller Design  SDN Re-cap  SDN Controller Design: Case Studies  NOX Next Week:  ONIX  ONOS 

Slides:



Advertisements
Similar presentations
Resonance: Dynamic Access Control in Enterprise Networks Ankur Nayak, Alex Reimers, Nick Feamster, Russ Clark School of Computer Science Georgia Institute.
Advertisements

SDN Controller Challenges
An Overview of Software-Defined Network Presenter: Xitao Wen.
SDN and Openflow.
Scalable Network Virtualization in Software-Defined Networks
CS 104 Introduction to Computer Science and Graphics Problems Operating Systems (4) File Management & Input/Out Systems 10/14/2008 Yang Song (Prepared.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 1: Introduction to Windows Server 2003.
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
An Overview of Software-Defined Network
Handout # 4: Scaling Controllers in SDN - HyperFlow
Windows 2000 Remote Access. Remote Access Overview With Windows 2000 remote access, remote access clients connect to remote access servers and are transparently.
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 Operating System Organization.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Jennifer Rexford Princeton University MW 11:00am-12:20pm SDN Software Stack COS 597E: Software Defined Networking.
Database Management Systems (DBMS)
Understanding Active Directory
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 1: Introduction to Windows Server 2003.
An Overview of Software-Defined Network Presenter: Xitao Wen.
Lecture slides prepared for “Business Data Communications”, 7/e, by William Stallings and Tom Case, Chapter 8 “TCP/IP”.
Hands-On Microsoft Windows Server 2008 Chapter 8 Managing Windows Server 2008 Network Services.
Lecture 12 Today’s topics –CPU basics Registers ALU Control Unit –The bus –Clocks –Input/output subsystem 1.
Software-Defined Networks Jennifer Rexford Princeton University.
VeriFlow: Verifying Network-Wide Invariants in Real Time
Higher-Level Abstractions for Software-Defined Networks Jennifer Rexford Princeton University.
The Data Grid: Towards an Architecture for the Distributed Management and Analysis of Large Scientific Dataset Caitlin Minteer & Kelly Clynes.
INFSO-RI Enabling Grids for E-sciencE Logging and Bookkeeping and Job Provenance Services Ludek Matyska (CESNET) on behalf of the.
1 Introduction to Microsoft Windows 2000 Windows 2000 Overview Windows 2000 Architecture Overview Windows 2000 Directory Services Overview Logging On to.
Lecture # 3 & 4 Chapter # 2 Database System Concepts and Architecture Muhammad Emran Database Systems 1.
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 3: Operating-System Structures System Components Operating System Services.
The Replica Location Service The Globus Project™ And The DataGrid Project Copyright (c) 2002 University of Chicago and The University of Southern California.
Chapter 2 Database System Concepts and Architecture Dr. Bernard Chen Ph.D. University of Central Arkansas.
SDN AND OPENFLOW SPECIFICATION SPEAKER: HSUAN-LING WENG DATE: 2014/11/18.
INTRODUCTION TO DBS Database: a collection of data describing the activities of one or more related organizations DBMS: software designed to assist in.
Aaron Gember, Theophilus Benson, Aditya Akella University of Wisconsin-Madison.
SDN and Openflow. Motivation Since the invention of the Internet, we find many innovative ways to use the Internet – Google, Facebook, Cloud computing,
SDN Management Layer DESIGN REQUIREMENTS AND FUTURE DIRECTION NO OF SLIDES : 26 1.
Networking Material taken mainly from HowStuffWorks.com.
Natasha Gude, Teemu Koponen, Justin Pettit, Ben Pfaff, Martín Casado, Nick McKeown, Scott Shenker SIGCOMM CCR, 2008 Presented by Ye Tian for Course CS05112.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Improving Network Management with Software Defined Network Group 5 : z Xuling Wu z Haipeng Jiang z Sichen Wu z Aparna Sanil.
AMQP, Message Broker Babu Ram Dawadi. overview Why MOM architecture? Messaging broker like RabbitMQ in brief RabbitMQ AMQP – What is it ?
Aneka Cloud ApplicationPlatform. Introduction Aneka consists of a scalable cloud middleware that can be deployed on top of heterogeneous computing resources.
Introduction to Active Directory
CSci8211: SDN Controller Design: ONOS 1 NOS Case Study: ONOS Open Network OS by ON.LAB  Prototype 1 focus on implementing a global network view goals:
2) Database System Concepts and Architecture. Slide 2- 2 Outline Data Models and Their Categories Schemas, Instances, and States Three-Schema Architecture.
Software-defined network(SDN)
Software Defined Networking and OpenFlow Geddings Barrineau Ryan Izard.
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Atrium Router Project Proposal Subhas Mondal, Manoj Nair, Subhash Singh.
SDN controllers App Network elements has two components: OpenFlow client, forwarding hardware with flow tables. The SDN controller must implement the network.
Programming SDN 1 Problems with programming with POX.
Instructor Materials Chapter 7: Network Evolution
SDN challenges Deployment challenges
SDN controller scalability issue
15-744: Computer Networking
ETHANE: TAKING CONTROL OF THE ENTERPRISE
NOX: Towards an Operating System for Networks
Overview of SDN Controller Design
Computer System Overview
CS 31006: Computer Networks – The Routers
Software Defined Networking (SDN)
Operating Systems : Overview
Chapter 2: Operating-System Structures
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Chapter 2: Operating-System Structures
Presentation transcript:

CSci8211: SDN Controller Design 1 Overview of SDN Controller Design  SDN Re-cap  SDN Controller Design: Case Studies  NOX Next Week:  ONIX  ONOS  Scalability and other design issues of SDN controllers This Thursday: Overview of Mininet and OVS -- by Hesham Mekky

CSci8211: SDN Controller Design 2 SDN Recap  General forwarding model (data plane abstraction)  Currently based on Openflow (flow-level) forwarding model prioritized rules [header: counters, actions]: match  actions  assume forwarding elements provide (standardized) APIs install and manipulate forwarding tables, perform match and actions, & collect stats, etc.  Logically centralized control plane (a “network OS”)  serve as a “network operating system” provide distributed state management, map control logic to data plane actions, etc.  provide a “global network view” to (high-level) “control apps” enable “higher-level” abstractions to hide “lower-level” details  Control apps operate on higher-level abstractions  control apps focus on “control logic” using network OS APIs Hopefully, much easier to write, verify and maintain!

CSci8211: SDN Controller Design 3 SDN Controller Design How to design a Network Operating System?  What features or “abstractions” should be provided by this “Network Operating System”?  In particular, what should be the “global network view” & “programmatic interfaces” provided to control apps?  or what “low-level” details should be handled by Network OS?  And what is the granularity of control allowed to “apps”? Analogies (& possible differences?):  computer OS and (high-level) programming models  computer architecture: instruction sets, CPU, memory, disks, I/O devices,...  (high-level) programming language constructs: statements, data types, functions, …  OS: (virtual) memory, processes, I/O and drivers, system calls, …  (distributed) file systems (or databases or data stores)  files, directories & permissions, transactions, relations & schemas; vs. disks, ….

CSci8211: SDN Controller Design 4 SDN Controller Design Questions Some Key Questions & Issues:  How to obtain global (network-wide) information?  How to perform distributed state management?  time scales of state change dynamics? consistency issues?  What are the configurations? Abstractions & APIs?  How to implement such a Network OS?  And will it really work? E.g., response time & other performance issues?  How to program control apps? E.g., a SDN programming language?  Will it scale?  Not only in terms of network size, but also # flows, control apps, etc.?  What about reliability & security issues?  … (e.g., inter-operability, evolvability) Are there some fundamental design principles we can adopt & apply?

CSci8211: SDN Controller Design 5 NOX Case Study 1 st open-source network OS implemented in C++ by Stanford  Components:  NOX controller on PC server  network view (database)  control app processes  Network View:  switch-level topology  locations of users, hosts, middle- boxes & other network elements  services offered (e.g., web, NFS)  bindings between names & addresses  but NOT current state of network traffic  Control granularity  flow-level (as opposed to packet-level, or network-prefix level)  control exerted on flow initiation: e.g., 1 st packet of a flow (following packets treated same)

CSci8211: SDN Controller Design 6 Time Scales & Control Granularity  “Events” & control granularity  Packet arrivals: millions of arrivals per sec (on a 10G link)  Flow initiations: one or more orders less than packet arrivals (notion of “flows” is more “persistent” than Netflow)  Changes in the “network views”: order of 10s of events per second for a network of thousands of hosts  Scaling? network view vs. per-flow vs. per-packet states?  Time scales (in conventional networks)

CSci8211: SDN Controller Design 7 Programmatic Interface  Event-based:  Events: flow arrives, users come/go, links up/down, etc Some events are directly generated by Openflow switches, e.g., switch join/leave, packet received, switch stats received Others by other services/applications: e.g., user authenticated  NOX applications use a set of event handlers to register for execution when a particular event happens  Event handlers are executed in the order of their priority specified during handler registration (but how to determine priority?)  Network View and Namespaces  NOX includes a “base” applications to construct network view and maintain a high-level namespace used by other applications e.g., various “name-address” bindings  Applications can be written in a “topology-independent” manner, then “compiled” against network view to produce low-level “look-up” functions to be enforced per-packet  Also include “high-level” services (“system libraries”)

CSci8211: SDN Controller Design 8 Example I: User-Based VLAN Tagging

CSci8211: SDN Controller Design 9 Example II: Simple Scan Detection

CSci8211: SDN Controller Design 10 Onix Case Study 1 st commercial network OS implemented in Nicira  Components:  managed physical infrastructure  connectivity infrastructure  Onix  Control logic implemented by management applications  Design Goals  Generality  Scalability  Reliability  Simplicity  Control plane performance

CSci8211: SDN Controller Design 11 Onix Design  Network Information Base (NIB)  A copy of network state tracked by Onix and stored in a data structure called NIB (similar to RIB in routers)  NIB: a collection of network entities, each identified by a flat 128-bit identifiers, and holds a set of key-value pairs  network entities are “base data structure ” from which all types are derived: Onix supports (strong) typed entities!  Typed entities: predefined attributes and methods  Onix API:  data model that represents the network infrastructure  with each network elements corresponding to one or more data objects  control logic: read the current state associated with the data objects; alter the network state by operating on these objects; and register for notifications of state changes to these objects

CSci8211: SDN Controller Design 12 Typed Entity Examples

CSci8211: SDN Controller Design 13 Onix NIB API

CSci8211: SDN Controller Design 14 Onix Scaling & Reliability  Reliability: handle four types of failures  network element & link failures  Onix (instance) failures  connectivity infrastructure failures  While Onix handles replication & distribution of NIB data, it relies application-specific logic to both detect & provide conflict resolution of network state as it is exchanged among multiple Onix instances  Scaling: Onix supports three strategies to improve scaling  Partitioning  Aggregation  Consistency & Durability

CSci8211: SDN Controller Design 15 Distributing the NIB  Two guiding observations in design of state distribution mechanisms:  Applications have differing requirements on scalability, frequency of updates on shared space, and durability  Distinct applications often have different requirements for consistency of the network state they manage  App designers responsible for explicitly determining mechanisms; write their own import/export modules to transfer data into/out of NIB  State distribution between Onix instances  two types of data stores: i) transactional persistent database or ii) one-hop eventually consistent, memory-only DHT (similar to Dynamo)  Network Element State Management  does not dictate switch mgmt protocol-> NIB: primary interface to apps  Consistency and Coordination  requires apps to declare what data to be imported/exported  does not require strong consistency