The DPIaaS Controller Prototype

Slides:



Advertisements
Similar presentations
Towards Software Defined Cellular Networks
Advertisements

SDN Controller Challenges
Practical and Incremental Convergence between SDN and Middleboxes 1 Zafar Qazi, Cheng-Chun Tu, Luis Chiang Vyas Sekar Rui Miao Minlan Yu.
SIMPLE-fying Middlebox Policy Enforcement Using SDN
SDN Applications Jennifer Rexford Princeton University.
VCRIB: Virtual Cloud Rule Information Base Masoud Moshref, Minlan Yu, Abhishek Sharma, Ramesh Govindan HotCloud 2012.
CloudWatcher: Network Security Monitoring Using OpenFlow in Dynamic Cloud Networks or: How to Provide Security Monitoring as a Service in Clouds? Seungwon.
Slick: A control plane for middleboxes Bilal Anwer, Theophilus Benson, Dave Levin, Nick Feamster, Jennifer Rexford Supported by DARPA through the U.S.
MCTS Guide to Microsoft Windows Server 2008 Network Infrastructure Configuration Chapter 6 Managing and Administering DNS in Windows Server 2008.
SDN and Openflow.
Network Innovation using OpenFlow: A Survey
Scalable Flow-Based Networking with DIFANE 1 Minlan Yu Princeton University Joint work with Mike Freedman, Jennifer Rexford and Jia Wang.
Traffic Management - OpenFlow Switch on the NetFPGA platform Chun-Jen Chung( ) SriramGopinath( )
A Scalable, Commodity Data Center Network Architecture.
SIMPLE-fying Middlebox Policy Enforcement Using SDN Zafar Ayyub Qazi Cheng-Chun Tu Luis Chiang Vyas Sekar Rui Miao Minlan Yu.
Cellular Core Network Architecture
OpenFlow-Based Server Load Balancing GoneWild Author : Richard Wang, Dana Butnariu, Jennifer Rexford Publisher : Hot-ICE'11 Proceedings of the 11th USENIX.
Software-Defined Networks Jennifer Rexford Princeton University.
A Cloud is a type of parallel and distributed system consisting of a collection of inter- connected and virtualized computers that are dynamically provisioned.
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.
VeriFlow: Verifying Network-Wide Invariants in Real Time
Traffic Management - OpenFlow Switch on the NetFPGA platform Chun-Jen Chung( ) Sriram Gopinath( )
SDN based Network Security Monitoring in Dynamic Cloud Networks Xiuzhen CHEN School of Information Security Engineering Shanghai Jiao Tong University,
SDN Dev Group, Week 3 Aaron GemberAditya Akella University of Wisconsin-Madison 1 Floodlight Controller; Application Wishlist.
A Virtual Honeypot Framework Author: Niels Provos Published in: CITI Report 03-1 Presenter: Tao Li.
Central Control over Distributed Routing fibbing.net SIGCOMM Stefano Vissicchio 18th August 2015 UCLouvain Joint work with O. Tilmans (UCLouvain), L. Vanbever.
1 © 2003, Cisco Systems, Inc. All rights reserved. CCNA 3 v3.0 Module 9 Virtual Trunking Protocol.
Aaron Gember, Theophilus Benson, Aditya Akella University of Wisconsin-Madison.
SDN Management Layer DESIGN REQUIREMENTS AND FUTURE DIRECTION NO OF SLIDES : 26 1.
CellSDN: Software-Defined Cellular Core networks Xin Jin Princeton University Joint work with Li Erran Li, Laurent Vanbever, and Jennifer Rexford.
SOFTWARE DEFINED NETWORKING/OPENFLOW: A PATH TO PROGRAMMABLE NETWORKS April 23, 2012 © Brocade Communications Systems, Inc.
SIMPLE-fying Middlebox Policy Enforcement Using SDN
FlowTags: Enforcing Network-Wide Policies in the Presence of Dynamic Middlebox Actions Author: Seyed Kaveh Fayazbakhsh, Vyas Sekar, Minlan Yu and Jeffrey.
SIMPLE-fying Middlebox Policy Enforcement Using SDN Zafar Ayyub Qazi, Cheng-Chun Tu, Luis Chiang Vyas Sekar, Rui Miao, Minlan Yu Presenter : ChoongHee.
LAN Switching Virtual LANs. Virtual LAN Concepts A LAN includes all devices in the same broadcast domain. A broadcast domain includes the set of all LAN-connected.
Cofax Scalability Document Version Scaling Cofax in General The scalability of Cofax is directly related to the system software, hardware and network.
Atrium Router Project Proposal Subhas Mondal, Manoj Nair, Subhash Singh.
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.
Ethernet Packet Filtering - Part1 Øyvind Holmeide Jean-Frédéric Gauvin 05/06/2014 by.
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.
Ready-to-Deploy Service Function Chaining for Mobile Networks
Xin Li, Chen Qian University of Kentucky
SDN challenges Deployment challenges
Yotam Harchol The Hebrew University of Jerusalem
Multi Node Label Routing – A layer 2.5 routing protocol
Yotam Harchol The Hebrew University of Jerusalem
Heitor Moraes, Marcos Vieira, Italo Cunha, Dorgival Guedes
Programming Assignment
Martin Casado, Nate Foster, and Arjun Guha CACM, October 2014
Hydra: Leveraging Functional Slicing for Efficient Distributed SDN Controllers Yiyang Chang, Ashkan Rezaei, Balajee Vamanan, Jahangir Hasan, Sanjay Rao.
Toward Super High-Level SDN Programming
ETHANE: TAKING CONTROL OF THE ENTERPRISE
Network Load Balancing Functionality
NOX: Towards an Operating System for Networks
Yotam Harchol The Hebrew University of Jerusalem
Overview of SDN Controller Design
of Dynamic NFV-Policies
Chapter 5: Inter-VLAN Routing
Northbound API Dan Shmidt | January 2017
SDN Based IoT-Cloud Comm.
2018/12/10 Energy Efficient SDN Commodity Switch based Practical Flow Forwarding Method Author: Amer AlGhadhban and Basem Shihada Publisher: 2016 IEEE/IFIP.
Programmable Networks
SAMANVITHA RAMAYANAM 18TH FEBRUARY 2010 CPE 691
Yotam Harchol The Hebrew University of Jerusalem
OpenSec:Policy-Based Security Using Software-Defined Networking
Using Service Function Chaining for In-Network Computation
Elmo Muhammad Shahbaz Lalith Suresh, Jennifer Rexford, Nick Feamster,
Presentation transcript:

The DPIaaS Controller Prototype DPI as a Service –Deepness lab This research was supported by the European Research Council under the European Union’s Seventh Framework Programme (FP7/2007-2013)/ERC Grant agreement no259085. 

Overview DPI as a Service – Reminder The DPIaaS Controller prototype Traffic Steering Application (TSA) Evaluation Discussion

DPI as a Service Conext 2014

Middleboxes Policy Chains DPI SDN technology allows easy deployment of service chains within the network that consist of several such middleboxes. In this example three of the middleboxes perform DPI. Still: <read bullets> Each MB implements its own DPI engine (higher MB costs, reduced features) Each packet is scanned multiple times causing waste of computation resources DPI Engine is considered a system bottleneck in many of todays MBs (30%-80%)

Our Solution: DPI as a Service Our solution is to use a single DPI engine that provides service to all network functions. By doing so we gain: <read bullets>

The Advantages The idea of having a centralized DPI service instead of multiple instances of it at each Middlebox Rich Functionality – Invest once for all MB Reduced Costs – Cheaper MB HW/SW Improved performance Scan each packet once aggregate MatchRules Innovation – Lower entry barriers

System Overview S2 S1 S4 S3 TS AV1 DPI1 DPI2 AV2 IDS2 IDS1 L7 FW1 Register Rules Add Patterns Update Policy Chain DPI Controller Traffic Steering SDN Controller TS AV1 DPI1 hello DPI2 S2 S1 S4 hello We introduce a new application on top of the controller: the DPI Controller. Upon startup, each middlebox registers its rules at the DPI Controller, which in turn, distributes the patterns that are extracted from these rules to one or more DPI Services in the network. It also instructs the traffic steering app to steer each packet first through the appropriate DPI Service and only then through the middleboxes of the service chain that require DPI. A packet that reaches the DPI Service is scanned. The scan results are added to the packet itself, using some tag or an additional header in case of a wide range of possible pattern matches. Then it is forwarded to the different middleboxes, where the last one in chain removes the results from the packet. S3 AV2 hello IDS2 IDS1 L7 FW1

The DPIaaS Controller Prototype

The Project goals Design and implement DPIaaS controller prototype Design and implement a simple TSA Deploy a functioning DPIaaS network Test the systems in complex networks Evaluate performance and compare to the article

Architecture Overview

The TSA (Traffic Steering Application) based on the “SIMPLE-fying Middlebox Policy Enforcement Using SDN” (SIGCOMM 2013): Network Composition Middlebox Load-balancing Support Packet Modifications Resource constraints Switch TCAM capacity

Simple TSA Network Composition Support Packet Modifications Middlebox Load-balancing Support Packet Modifications Resource constraints Switch TCAM capacity

TSA - implementation Some technical issues Each policy has a unique OpenFlow Match and hosts (IP) chain Using vlan-id tags TSA make no changes the packets Should only affect policy chain traversal

TSA Configuration

TSA pseudo Code 1 2 2 1 3 3 1 2 3 4 hello Id:2 Id:1 hello hello hello ->2 ID=1 | ->3 ID=2 ->3 ID=NONE hello 1 Id:1 hello Id:2 hello hello 2 2 3 1 3 ->2 ID=2 | ->1 Id = 1 RT | ->2 ID=NONE ->1 1 2 hello GenerateRules(PolicyChain) ChainHosts = findHosts(PolicyChain.hosts) Switches = getAllSwitches() vlanTag = firstVlan For (host,nextHost) in ChainHosts: If nextHost <> NULL: // handle packets from host to host flow = generateFlowFromHost(host, nextHost, vlanTag+1, PRIORITY+2) result[getSwitch(Host)].add(flow) For switch in switches: // route to next host If host is FirstHost: flows = generateRouteToFirstHost(host,switch,vlanTag,PRIORITY) Result[switch].add(flows) flow = generateRouteToHost(host,switch,vlanTag, PRIORITY+1) Result[switch].add(Flow) vlanTag++ Id = 1 ->2 Id = 2 RT | ->4 ID=NONE ->1 3 4

TSA pseudo Code – Loop problem ->2 ID=2 | ->3 ID=3 ->3 ->1,ID=1 ->2 | RT 1 2 2 3 1 3 ->2 ID=3 | ->1 Id = 2 RT | ->2 -> 3 ID = 1 |->1 1 2 Id = 2 ->2 Id = 3 RT | ->4 ->3 ID=4|->1 ID = 1 ->1 GenerateRules(PolicyChain) ChainHosts = findHosts(PolicyChain.hosts) Switches = getAllSwitches() vlanTag = firstVlan For (host,nextHost) in ChainHosts: If nextHost <> NULL: // handle packets from host to host flow = generateFlowFromHost(host, nextHost, vlanTag+1, PRIORITY+2) result[getSwitch(Host)].add(flow) For switch in switches: // route to next host If host is FirstHost: flows = generateRouteToFirstHost(host,switch,vlanTag,PRIORITY) Result[switch].add(flows) flow = generateRouteToHost(host,switch,vlanTag, PRIORITY+1) Result[switch].add(Flow) vlanTag++ 3 4

The DPI Controller Server for middleboxes and instances Global Match-Rules set of all the middleboxes Managing available instances Negotiating with TSA Reacting to changes

DPI Controller Strategies Rules dividing strategies Balanced Policy-chain across instances Instances placement strategy The assigned instance in the beginning of each chain

Evaluation

Two types of evaluation Functional evaluation – using Mininet Performance evaluation – using virtual machines and real OF switch

Additional Tools Mocks Wrappers DPIaaS mininet creation script Necessary in order to evaluate Correctness and Performance Mocks Wrappers DPIaaS mininet creation script Wrappers Wrap the deepness IDS and service executables with DPI Protocol capabilities Middlebox mock Implementing the DPI Protocol Can load match-rules from file Can add and remove rules using interactive console Loop packets back to network Instance mock register and deregister to controller Print incoming messages (Match-rules) Setting up a DPI network using Mininet Supporting FatTree topology Script steps: Running the mininet network with the desired topology Ping all host pairs to create connectivity Connecting DPI controller Host to SDN controller Running middleboxes and instances in the desired hosts Possibly loading initial MatchRules Can automatically start sniffing on the network parts

Functional evaluation Testing the DPIaaS correctness in a large Fat-Tree network

Functional evaluation 2 1 4 6 8 3 5 7 We will set up a large network that uses DPI as a Service Starting Using 3 middleboxes and 1 dpi instance We will test the network by sniffing and send different packets We will add an instance a see the network change automatically We will play with the TSA We will add new middlebox to the network and to the policy chain Add some rules We will change a policy class

Performance evaluation Deploy and Test the system in a real environment, using a real OF Switch Comparing Full system performance to the Paper’s preliminary results

Evaluation setup

Testing scenario HTTP Top site from Alexa

Results Paper’s results Full-system results

Results Paper’s results Full-system results

Further Investigation Virtualization related Drops Divide and conquer experiments Using only physical servers Not using network The libpcap issue ניסויים נוספים הרצה על המכונות הפיזיות הרצה ללא רשת

Conclusion and Future work We have a functioning system, now what Verify the results ODL impressions DPI controller – implement better strategies TSA – improve TCAM utilization Load-balancing ODL – מורכב מאוד אבל מספק הרבה שירותים חלוקה יעילה יותר של החוקים והמכונות מאפשר לעשות scaling לInstaces