Northbound API Dan Shmidt | January 2017

Slides:



Advertisements
Similar presentations
TSpaces Services Suite: Automating the Development and Management of Web Services Presenter: Kevin McCurley IBM Almaden Research Center Contact: Marcus.
Advertisements

Slick: A control plane for middleboxes Bilal Anwer, Theophilus Benson, Dave Levin, Nick Feamster, Jennifer Rexford Supported by DARPA through the U.S.
SDN and Openflow.
Scalable Network Virtualization in Software-Defined Networks
Network Management Overview IACT 918 July 2004 Gene Awyzio SITACS University of Wollongong.
Managing Agent Platforms with the Simple Network Management Protocol Brian Remick Thesis Defense June 26, 2015.
Managing Agent Platforms with SNMP Brian Remick Research Proposal Defense June 27, 2015.
UNIT-V The MVC architecture and Struts Framework.
Emanuele Pasqualucci Extending AppManager Monitoring with the SNMP Toolkit.
Interconnection Protocol Mustafa Kara Term Work.
Introduction to the Enterprise Library. Sounds familiar? Writing a component to encapsulate data access Building a component that allows you to log errors.
WINDOWS SERVICES. Introduction You often need programs that run continuously in the background Examples: – servers –Print spooler You often need.
Configuration Management and Server Administration Mohan Bang Endeca Server.
Zhonghua Qu and Ovidiu Daescu December 24, 2009 University of Texas at Dallas.
Institute of Computer and Communication Network Engineering OFC/NFOEC, 6-10 March 2011, Los Angeles, CA Lessons Learned From Implementing a Path Computation.
Eric Keller, Evan Green Princeton University PRESTO /22/08 Virtualizing the Data Plane Through Source Code Merging.
Module 7: Fundamentals of Administering Windows Server 2008.
Windows 2000 Course Summary Computing Department, Lancaster University, UK.
Computer Emergency Notification System (CENS)
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Tool Integration with Data and Computation Grid GWE - “Grid Wizard Enterprise”
Switch Features Most enterprise-capable switches have a number of features that make the switch attractive for large organizations. The following is a.
SDN Management Layer DESIGN REQUIREMENTS AND FUTURE DIRECTION NO OF SLIDES : 26 1.
JS (Java Servlets). Internet evolution [1] The internet Internet started of as a static content dispersal and delivery mechanism, where files residing.
AMQP, Message Broker Babu Ram Dawadi. overview Why MOM architecture? Messaging broker like RabbitMQ in brief RabbitMQ AMQP – What is it ?
Tool Integration with Data and Computation Grid “Grid Wizard 2”
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
1 Device Controller I/O units typically consist of A mechanical component: the device itself An electronic component: the device controller or adapter.
Troubleshooting Workflow 8 Raymond Cruz, Software Support Engineer.
Software Defined Networking and OpenFlow Geddings Barrineau Ryan Izard.
1 Copyright © 2008, Oracle. All rights reserved. Repository Basics.
Design and Implementation of a Data Plane for the OpenBox Framework Pavel Lazar March 2016 This research was supported by the European Research Council.
THE HEBREW UNIVERSITY OF JERUSALEM OpenBox: A Software-Defined Framework for Developing, Deploying, and Managing Network Functions Yotam Harchol The Hebrew.
SDN controllers App Network elements has two components: OpenFlow client, forwarding hardware with flow tables. The SDN controller must implement the network.
J2EE Platform Overview (Application Architecture)
CompTIA Security+ Study Guide (SY0-401)
Yotam Harchol The Hebrew University of Jerusalem
Yotam Harchol The Hebrew University of Jerusalem
The DPIaaS Controller Prototype
Game Architecture Rabin is a good overview of everything to do with Games A lot of these slides come from the 1st edition CS 4455.
Data Transport for Online & Offline Processing
Building Custom Workflows
Self Healing and Dynamic Construction Framework:
Securing the Network Perimeter with ISA 2004
April 28, 2017 SUMIT MAHESHWARI INES UGALDE
Yotam Harchol The Hebrew University of Jerusalem
The Client/Server Database Environment
The Client/Server Database Environment
CHAPTER 3 Architectures for Distributed Systems
Advanced Integration and Deployment Techniques
SDN Overview for UCAR IT meeting 19-March-2014
Software Defined Networking (SDN)
CompTIA Security+ Study Guide (SY0-401)
Chapter 5 Network Layer: The Control Plane
Software Defined Networking (SDN)
20409A 7: Installing and Configuring System Center 2012 R2 Virtual Machine Manager Module 7 Installing and Configuring System Center 2012 R2 Virtual.
Software Defined Networking
Lecture 1: Multi-tier Architecture Overview
2018/12/10 Energy Efficient SDN Commodity Switch based Practical Flow Forwarding Method Author: Amer AlGhadhban and Basem Shihada Publisher: 2016 IEEE/IFIP.
Cloud computing mechanisms
JINI ICS 243F- Distributed Systems Middleware, Spring 2001
Operating Systems : Overview
Yotam Harchol The Hebrew University of Jerusalem
Operating Systems : Overview
AIMS Equipment & Automation monitoring solution
Chapter 5 Architectural Design.
OpenSec:Policy-Based Security Using Software-Defined Networking
Chapter 5 Network Layer: The Control Plane
Chapter 13: I/O Systems.
ONAP Architecture Principle Review
Presentation transcript:

Northbound API Dan Shmidt | January 2017 OpenBox Controller Northbound API Dan Shmidt | January 2017

Project Goal Design and Implementation of OpenBox’s Northbound API

Agenda Network Function (AKA the Problem) OpenBox (AKA Solution) Zoom-In OpenBox Controller Workflows Architecture Implementation Experimental Results

Network Functions (NF)

What are Network Functions Appliances deployed on a network’s data plane (Physical or Virtual) Usually perform some sort of Packet Processing Examples: Firewall, IDS, IPS, Load Balancer

Typical Firewall (Example)

Typical IPS (Example)

The Downside of NFs Managed Separately Hardware Management Interface Redundant Processing Header inspection Payload pattern matching Unified Control and Data planes

OpenBox

OpenBox Introduction Framework: Hardware, Software, SDK, API Decouple NF control plane from data plane Merge data plane activity for multiple NFs Allow network administrators to experiment with NFs

Merged Firewall + IPS

OpenBox Architecture

OpenBox Components

Northbound API SDK for NF developers that allows NF creation with a small set of generic pieces. Application loading and management API for applications to interact with the data plane

OpenBox Application (OBA) User defined logic that aims to perform packet processing Defined in terms of the Northbound API (SDK) Formally a Tuple: <Priority, Logic, Event Handlers>

OpenBox Controller (OBC) Centralized control of the OpenBox Framework Facing the user (Northbound API) Facing the data plane (Soutbound API)

OpenBox Instance (OBI) A single unit in OpenBox’s data plane Executes the user defined logic Single Requirement: Implement OpenBox protocol Virtual / Physical / Software / Hardware

Southbound API Communication protocol between OBI and OBC Control plane messages e.g: “Set Processing Graph” Data plane messages e.g: “Read Handle” (count of dropped packets)

OpenBox Controller

Responsibilities (South) Manage the Data plane by controlling OBIs Communication layer between Applications and data plane Load Custom modules

Responsibilities (North) Create applications Load applications Query applications Network Overview Expose OpenBox functionality Aggregate applications Isolate applications from one another

Architecture

Challenges Asynchronous System How much of the raw data is exposed to the application Application Isolation

OpenBox Abstraction Layer (OBAL) SDK for application developers Building blocks for every possible NF Header Matching Payload Matching Alerts Hooks for data retrieval

OBAL Implementation

Events Manager Responsible for triggering events Registers application to requested events Holds a hook to access applications when needed

Available Events Mandatory events: Application Started Application Stopped Error Non-Mandatory: Alert Instance Down Instance Up

Read / Write Handles Access to the application configuration and statistics Access to specific processing block of a specific application

Topology Manager The knowledge of how the network is built Topology information is needed across the board Users OBC internal use

Application Registry Entry point for application creators Ability to register new applications to the controller Plugin like behavior

Application Aggregator Merge mutual processing blocks of several applications. Caution to not disrupt application isolation

OBA Topology Manager To Data plane Via Southbound API OBAL Registry Aggregator Handle Clients Event Handlers Events Manager

Workflows

Application Loading How to install a new OpenBox Application Implement logic with OpenBox SDK Supply Topology Information Use ApplicationRegistry to load application

Application Loading OBA Registry Aggregation Event Manager Load Application Aggregate Perform Aggregation Application Loaded Application Started

Read / Write Handles Workflow Once application has started, the administrator would like to query the application from the data plane. How many packets were processed? How many packets were dropped?

Read / Write Handles Workflow OBA Handle Client Southbound API OBI Read Handle Read Handle Read Handle Read Result Read Result

Application Isolation Aggregator keeps a mapping of original block id - > new block id A query for a read handle checks the mapping and queries the new block that actually resides in the data plane

Event / Alert Workflow Application’s way to actively notify about it’s lifetime and about it’s process. Instance Down Packet Dropped Threat Detected

Event/Alert Workflow OBA Event Manager Southbound API OBI Alert Handle Alert handler.Handle

Application Isolation Alert Blocks carry their identifier Application aggregator keeps original blocks -> Application mapping Aggregation takes care of keeping the original identifier on the aggregated graph Alert messages contains the original block identifier

Example (Simple IPS)

Processing Graph

Code Snippets (Create Blocks)

Code Snippets (Connect)

Benefits ~270 lines of code Code is readable and self explanatory Easy Configurable Easily Changeable

Experimental Results

Experimental Environment Hardware (sheldon): Intel Xeon E3-1270 V3 CPU 32GB Ram

How well does the OBC handles messages from the Data plane? Experiment Goal How well does the OBC handles messages from the Data plane? Resource Utilization Latency

Experimental Scenario Controller Single OBI Single Application which sends alerts in a configurable rate (MPM).

Memory Utilization

CPU Utilization

Latency

Futuristic

Future Work Smart / Automatic NF Placement OpenFlow Integration Create NFs with graphical tool Native Northbound API Dashboard Reloading applications while controller is running

Questions ?