Yotam Harchol The Hebrew University of Jerusalem

Slides:



Advertisements
Similar presentations
Toward Practical Integration of SDN and Middleboxes
Advertisements

SIMPLE-fying Middlebox Policy Enforcement Using SDN
CloudWatcher: Network Security Monitoring Using OpenFlow in Dynamic Cloud Networks or: How to Provide Security Monitoring as a Service in Clouds? Seungwon.
Composing Software-Defined Networks Princeton*Cornell^ Chris Monsanto*, Joshua Reich* Nate Foster^, Jen Rexford*, David Walker*
Slick: A control plane for middleboxes Bilal Anwer, Theophilus Benson, Dave Levin, Nick Feamster, Jennifer Rexford Supported by DARPA through the U.S.
An Overview of Software-Defined Network Presenter: Xitao Wen.
VeriCon: Towards Verifying Controller Programs in SDNs (PLDI 2014) Thomas Ball, Nikolaj Bjorner, Aaron Gember, Shachar Itzhaky, Aleksandr Karbyshev, Mooly.
Deep Packet Inspection as a Service Yaron Koral† Joint work with Anat Bremler-Barr‡, Yotam Harchol† and David Hay† †The Hebrew University, Israel ‡IDC.
An Overview of Software-Defined Network
An Overview of Software-Defined Network Presenter: Xitao Wen.
Toward Software-Defined Middlebox Networking Aaron Gember, Prathmesh Prabhu, Zainab Ghadiyali, Aditya Akella University of Wisconsin-Madison 1.
Workshop on Software Defined Networks Spring 2014.
Data Center Network Redesign using SDN
Enabling Innovation Inside the Network Jennifer Rexford Princeton University
OpenFlow: Enabling Technology Transfer to Networking Industry Nikhil Handigol Nikhil Handigol Cisco Nerd.
Software-Defined Networks Jennifer Rexford Princeton University.
Deep Packet Inspection as a Service Anat Bremler-Barr IDC Herzliya Joint work with Yotam Harchol, David Hay and Yaron Koral The Hebrew University Appeared.
FUTURE OF NETWORKING SAJAN PAUL JUNIPER NETWORKS.
Enforcing Network-Wide Policies in the Presence of Dynamic Middlebox Actions using FlowTags Seyed K. Fayazbakhsh *, Luis Chiang ¶, Vyas Sekar *, Minlan.
Extending SDN to Handle Dynamic Middlebox Actions via FlowTags (Full version to appear in NSDI’14) Seyed K. Fayazbakhsh, Luis Chiang, Vyas Sekar, Minlan.
Aaron Gember, Theophilus Benson, Aditya Akella University of Wisconsin-Madison.
Extending OVN Forwarding Pipeline Topology-based Service Injection
Improving Network Management with Software Defined Network Group 5 : z Xuling Wu z Haipeng Jiang z Sichen Wu z Aparna Sanil.
NEWS: Network Function Virtualization Enablement within SDN Data Plane.
SDN and Beyond Ghufran Baig Mubashir Adnan Qureshi.
Outline PART 1: THEORY PART 2: HANDS ON
Preliminaries: EE807 Software-defined Networked Computing KyoungSoo Park Department of Electrical Engineering KAIST.
Deep Packet Inspection as a Service Author : Anat Bremler-Barr, Yotam Harchol, David Hay and Yaron Koral Conference: ACM 10th International Conference.
Design and Implementation of a Data Plane for the OpenBox Framework Pavel Lazar March 2016 This research was supported by the European Research Council.
Software Defined Networking BY RAVI NAMBOORI. Overview  Origins of SDN.  What is SDN ?  Original Definition of SDN.  What = Why We need SDN ?  Conclusion.
THE HEBREW UNIVERSITY OF JERUSALEM OpenBox: A Software-Defined Framework for Developing, Deploying, and Managing Network Functions Yotam Harchol The Hebrew.
NFP: Enabling Network Function Parallelism in NFV
InterVLAN Routing 1. InterVLAN Routing 2. Multilayer Switching.
Ready-to-Deploy Service Function Chaining for Mobile Networks
Chapter 4 Network Layer: The Data Plane
Xin Li, Chen Qian University of Kentucky
SDN challenges Deployment challenges
Yotam Harchol The Hebrew University of Jerusalem
David Hay The Hebrew University of Jerusalem
A Survey of Network Function Placement
Multi-layer software defined networking in GÉANT
15-744: Computer Networking
The DPIaaS Controller Prototype
StratusLab Final Periodic Review
StratusLab Final Periodic Review
15-744: Computer Networking
April 28, 2017 SUMIT MAHESHWARI INES UGALDE
Yotam Harchol The Hebrew University of Jerusalem
of Dynamic NFV-Policies
Software Defined Networking (SDN)
Stanford University Software Defined Networks and OpenFlow SDN CIO Summit 2010 Nick McKeown & Guru Parulkar In collaboration with Martin Casado and Scott.
NFP: Enabling Network Function Parallelism in NFV
Chapter 5 Network Layer: The Control Plane
Northbound API Dan Shmidt | January 2017
The Stanford Clean Slate Program
Software Defined Networking (SDN)
Software Defined Networking
Extending MPLS/BGP VPNs to End-Systems
Enabling Innovation Inside the Network
NFP: Enabling Network Function Parallelism in NFV
VNIDS: Towards Elastic Security with Safe and Efficient Virtualization of Network Intrusion Detection Systems Hongda Li1, Hongxin Hu1, Guofei Gu2, Gail-Joon.
Programmable Networks
An Introduction to Software Defined Networking and OpenFlow
Yotam Harchol The Hebrew University of Jerusalem
Lecture 21, Computer Networks (198:552)
OpenSec:Policy-Based Security Using Software-Defined Networking
Chapter 5 Network Layer: The Control Plane
NFV and SD-WAN Multi vendor deployment
An Introduction to Software Defined Networking and OpenFlow
Chapter 4: outline 4.1 Overview of Network layer data plane
Presentation transcript:

OpenBox: A Software-Defined Framework for Developing, Deploying, and Managing Network Functions Yotam Harchol The Hebrew University of Jerusalem Joint work with Anat Bremler-Barr (IDC) and David Hay (HUJI) How to bring software defined networking to network functions and why Separate control/data? To appear in ACM SIGCOMM 2016 A preliminary version of this work was published in ACM SIGCOMM HotMiddleboxes 2015

Software-Defined Networking 40%-60% of the appliances are not switches / routers! [Sherry & Ratnasamy, ‘12] Logically-centralized control: Smart, slow Management Plane: Human time scale Firewalls Intrusion detection Network anti-virus Leakage prevention Caching Load balancing Billing NAT Encoders Gateways SSL termination TCP optimization … SDN Controller API to data plane (e.g., OpenFlow) There is a revolution in the world: SDN Great idea: Nicira, Barefoot We bring SDN to middleboxes We implemented this Control Plane: Distributed algorithms Data Plane: Packet streaming Switches: Dumb, fast Data Plane: Packet streaming and processing

Network Functions Expensive to own and to operate Hard to manage – separate vendors No elastic scaling Complex - dominate overall network performance "Network function" is a general term for all those appliances in the network that are not doing forwarding (not switches/routers)

Software-Defined Solutions Forwarding plane (switches, routers): High cost Limited management No multi-tenancy Limited functionality and limited innovation Complex distributed algorithms Forwarding plane (switches, routers): High cost Limited management No multi-tenancy Limited functionality and limited innovation Complex distributed algorithms Solution: SDN / OpenFlow Network Functions (Middleboxes): Higher cost Limited and separate management Limited provisioning and scalability No multi-tenancy Limited functionality and limited innovation Similar processing steps, no re-use Our solution: OpenBox Network Functions (Middleboxes): Higher cost Limited and separate management Limited provisioning and scalability No multi-tenancy Limited functionality and limited innovation Similar processing steps, no re-use OpenBox Controller SDN Controller NFV only targets cost and provisioning/scalability OBI OBI OBI

Challenges Northbound API / language for specifying NF logic Logically-centralized controller that unifies logic of multiple network functions from multiple tenants Communication protocol between controller and data plane Specification of data plane instances Support for hardware accelerators Dynamically extend the protocol Network Functions Northbound API What is the right decoupling between ctrl and data plane Logically-Centralized Controller Control Plane Southbound Protocol Data Plane Data Plane Instances

OpenBox OpenBox: A new protocol Decouples network function control from their data plane Unifies data plane of multiple network functions Benefits: Easier, unified control Better performance Scalability Flexible deployment Multi-tenancy Innovation OpenBox Applications Northbound API OpenBox Controller Control Plane OpenBox Protocol Data Plane www.openboxproject.org OpenBox Service Instances github.com/OpenBoxProject

A Different View of Network Functions Previous works: Network Function = monolithic closed unit Traffic Steering (e.g., SIMPLE [Sigcomm ‘13]) Placement and Virtualization (e.g., CoMb [NSDI ’12]) NFV orchestration (e.g., OpenStack, OpenMano, Statos, E2 [SOSP ‘15]) State Management (e.g., OpenNF [Sigcomm ‘14]) Runtime Platform (e.g., xOMB [ANCS ‘12], SDM [INFOCOM ‘14]) OpenBox: Network Function = logical application Most processing steps are shared among many types of network functions Some steps can be done once for multiple applications Some of them tried to provide frameworks with similar management goals as ours But their basic building block is a NF We say - it's an application - let's look inside OpenBox Applications OpenBox Controller

What Network Functions Do? Firewall: Read Packets Header Classifier Drop Alert Output Load Balancer: Read Packets Header Classifier Rewrite Header Output Intrusion Prevention System: Read Packets Header Classifier Drop Alert DPI Output

Most network functions do very similar processing steps Observation: Most network functions do very similar processing steps But there is no re-use…

What Network Functions Do? Read Packets Store Packet Restore Packet Caching HTML Normalizer JavaScript Normalizer XML Normalizer Normalization Alert Log Reporting Output Drop Terminals Header Classifier DPI Classification FIFO Queue Front Drop Queue RED Queue Leaky Bucket Queue Management Gzip Decompress Gzip Compress De/compression Talk about NB API Begin Transaction Rollback Transaction Commit Transaction Transactions VLAN Pop VLAN Push Rewrite Header Header Modification

Northbound API Specify processing graph and block configuration NB API Read Packets Header Classifier Drop Alert Output Rewrite Header DPI OpenBox Applications Specify processing graph and block configuration Events, Load information NB API OpenBox Controller WE WANT OpenBox Protocol Control Plane Data Plane OpenBox Service Instances

Logically-Centralized Controller Multiple tenants run multiple applications for multiple policies in the same network No data sharing between applications OpenBox Applications NB API SDN Protocol SDN Switches SDN Controller Network-wide view Automatic scaling, provisioning, placement, and steering OpenBox Controller WE WANT OpenBox Protocol Control Plane Data Plane OpenBox Service Instances

OpenBox Service Instance OpenBox Data Plane Read Packets Store Packet Restore Packet Caching HTML Normalizer JavaScript Normalizer XML Normalizer Normalization Alert Log Reporting Output Drop Terminals Header Classifier DPI Classification OpenBox Service Instance Virtual or Physical FIFO Queue Front Drop Queue RED Queue Leaky Bucket Queue Management Gzip Decompress Gzip Compress De/compression Begin Transaction Rollback Transaction Commit Transaction Transactions Provides data plane services to realize the logic of network functions Controlled by the logically-centralized OpenBox controller VLAN Pop VLAN Push Rewrite Header Header Modification

Distributed Data Plane Alert DPI Header Classifier Rewrite Header Metadata OpenBox Service Instance Hardware (TCAM) E.g., an OpenFlow switch with encapsulation features OpenBox Service Instance Software

Split Processing Graph HW Instance: Read Packets Header Classifier Write Metadata Encapsulate Metadata Output Drop SW Instance: DPI CHANGE GRAPH!! DPI Drop Read Packets Decapsulate Metadata Read Metadata DPI Alert Output

OpenBox Service Instance OpenBox Service Instance Extensible Data Plane Media Encoder OpenBox Controller OpenBox Service Instance Hardware Implementation Supports encapsulation OpenBox Service Instance Software A new software module can be injected from control plane without modifying or re-deploying software in data plane

Scalable & Reliable Data Plane Scalability Provisioning Reliability OpenBox Controller Provision OBI OBI OBI OBI OBI OBI OBI OBI OBI OBI OBI OBI

Performance ≈ Diameter of Graph (# of classifiers) Naïve Graph Merge Firewall: Read Packets Header Classifier Drop Alert Output Concatenated Processing Graph: Header Classifier Drop Alert (IPS) DPI Output Read Packets (Firewall) Intrusion Prevention System: Read Packets Header Classifier Drop Alert DPI Output Performance ≈ Diameter of Graph (# of classifiers)

Shorter Diameter (less classifiers) Graph Merge Algorithm Merged Processing Graph: Alert (Firewall) DPI Alert (Firewall) DPI Read Packets Header Classifier Alert (Firewall) DPI Alert (IPS) Output It may not always be good to merge, controller can determine when it is good Alert (Firewall) Drop Shorter Diameter (less classifiers)

Implementation github.com/OpenBoxProject Java-based Controller App App App App Java-based Controller Northbound API REST client/server Graph Aggregator Network Manager Management API REST REST API Generic wrapper for execution engines (Python) Translation Engine Click-based execution engine (C++) TCP Software OpenBox Service Instance

Performance Improvement VM1 Firewall VM2 IPS Without OpenBox VM1 OBI1: FW+IPS VM2 OBI2: FW+IPS With OpenBox Standalone VM NF Pipeline -35% +86%

Conclusions Network functions are currently a real challenge in large scale networks OpenBox decouples the data plane processing from network function control logic and: Reduces costs Enhances performance Improves scalability Increases reliability Provides multi-tenancy Allows easier innovation OpenBox Applications NB API OpenBox Controller OpenBox Protocol Control Plane Data Plane OpenBox Service Instances

Questions? Thank You!