Fulvio Risso, Politecnico di Torino – Customizing Data Plane Processing in Edge Routers

Customizing Data-Plane Processing in Edge Routers Fulvio Risso, Politecnico di Torino http://fulvio.frisso.net

1/25

Fulvio Risso, Politecnico di Torino – Customizing Data Plane Processing in Edge Routers

My kids

2/25

Fulvio Risso, Politecnico di Torino – Customizing Data Plane Processing in Edge Routers

Francesco creates a Christmas card

3/25

Fulvio Risso, Politecnico di Torino – Customizing Data Plane Processing in Edge Routers

How do my kids connect to the Internet?

Parental control Internet

4/25

Fulvio Risso, Politecnico di Torino – Customizing Data Plane Processing in Edge Routers

A world of personal VMs in motion (1) WiFi vs. 3G

Parental Control Network Service Provider

5/25

Fulvio Risso, Politecnico di Torino – Customizing Data Plane Processing in Edge Routers

A world of personal VMs in motion (2) Only parental control?

VM User1 VM User3

VM User2 VM User4

Network Service Provider

VM User5

6/25

Fulvio Risso, Politecnico di Torino – Customizing Data Plane Processing in Edge Routers

Let’s have a look at the POP of a NSP Edge network router

WAN accelerator CDN web cache

IDS/ Firewall Network Monitor

QoS

Internet

7/25

Fulvio Risso, Politecnico di Torino – Customizing Data Plane Processing in Edge Routers

The edge router we have in mind (1) Private Execution Environment 1 (PEX1)

Private Execution Environment 2 (PEX2)

Web advertis. killer

Parental control

VPN

Personal firewall

WAN accelerator

Vertical slices MAC1 *, * MAC1: goto PEX1 MAC2 *, * MAC2: goto PEX2 Default: goto PEXDefault

QoS

Video streaming optimizer

Lawful interception Network monitor

(non overlapping slices) Network Node Virtualization Framework Switching path (hardware)

Web cache

Management server (user profiles, applications)

Network edge router 8/25

Fulvio Risso, Politecnico di Torino – Customizing Data Plane Processing in Edge Routers

The edge router we have in mind (2) Private Execution Web Environment advertis.

Private Execution VPN Environment

Horizontal slices killer WAN Overlapping rules Parental accelerator control Priorities used to define thePersonal service order QoS

Web advertis. killer

Parental control

VPN

Personal firewall

firewall

Private Execution Environment 3 (PEX3)

Private Execution Environment 4 (PEX4) Private Execution Environment 5 (PEX5)

Network Node Virtualization Framework Switching path (hardware)

WAN accelerator

QoS

Video streaming optimizer Lawful interception Network monitor Web cache

Management server (user profiles, applications)

Network edge router 9/25

Fulvio Risso, Politecnico di Torino – Customizing Data Plane Processing in Edge Routers

The system we have in mind

Network Service Provider

PEX1

...

PEXN PEXN+1

PEXM

Remote Storage Service

Netw. Virtualization Framework

Network traffic

Switching path (hardware)

Network traffic

Remote Execution Environment

Management server User authentication, applications, permissions…

10/25

Fulvio Risso, Politecnico di Torino – Customizing Data Plane Processing in Edge Routers

We propose to

offload

from user terminals

data plane applications that operate on a

developed by

network slice

associated to a given enabling the customization of the

end users

processing

inside the

actor

of the traffic

network edge router.

User 1 User 2 Network Service Provider

User 3 11/25

Fulvio Risso, Politecnico di Torino – Customizing Data Plane Processing in Edge Routers

We propose to

offload

Firewalls, IDS, etc. developed by

from user terminals

data plane applications

end users

that operate on a

Which apps?

Apps market

network slice

Multiple actors, different privileges, traffic hits multiple slides enabling the customization of the

We leave the core unchanged

Device independent, location independent, reduced load on mobile terminals

Java

Network and router virtualization

associated to a given

processing

of the traffic inside the

actor

We tranform data, we do not create paths

network edge router. 12/25

Fulvio Risso, Politecnico di Torino – Customizing Data Plane Processing in Edge Routers

Fog computing

Internet

Our approach is definitely Fog computing, although limited to data plane applications! 13/25

Fulvio Risso, Politecnico di Torino – Customizing Data Plane Processing in Edge Routers

The current edge router PEX User 1

PEX User 2

App3

App5

App2

App4

App1

App1

PEX this node

PEX Default

App6

Default App

Web Node Manager Tomcat on port 80

Flowvisor

Network Hypervisor Controller plane Switching plane SoftSwitch Network gateway Host 1 User 1

Host 2 User 2

ARP  * : send to all ports *  ARP : send to all ports DHCP  *: send to all ports *  DHCP: send to all ports mcast, bcast: send to all ports Default : send to Controller

14/25

Fulvio Risso, Politecnico di Torino – Customizing Data Plane Processing in Edge Routers

General architecture of the prototype Motherboard Mini-ITX, 4 GbE ports (Intel) + 1 GbE (on mainboard) WiFi USB Dongle CPU i5-3450S RAM 4 GB DDR3

Management server (DB + apps on disk)

Flowvisor

User Apps in VMs

Network gateway

OpenvSwitch

Internet L2 network

15/25

Fulvio Risso, Politecnico di Torino – Customizing Data Plane Processing in Edge Routers

Managing user applications

Create the custom application flow Install/Uninstall applications Users can install their own application by simply uploading their file. Application that are under the ownership of the selected user can also be uninstalled. Applications are stored in the management server and downloaded in the network node when a new user is recognized.

Applications can be selected from the list of available apps and copied to the list of the installed apps, started/stopped, and stacked in a different calling order.

http://config.pex 16/25

Fulvio Risso, Politecnico di Torino – Customizing Data Plane Processing in Edge Routers

Applications •

TimeLimiter – Allow people to use the Internet in specific time slots and/or no more than X hours/day



GSafe – Enables the “safe search” on Google search engine



DNSFilter – Does not resolve DNS names found in a specific black list



SkypeBlocker – Blocks Skype traffic



NetMon – Basic network statistics (traffic per IP/port, latest TCP sessions, etc.)

17/25

Fulvio Risso, Politecnico di Torino – Customizing Data Plane Processing in Edge Routers

Validation environment Debian 7, 32 bits Vanilla OpenvSwitch Modified FlowVisor

Two user VMs, three applications each • DNSFilter • Gsafe • NetMon

Flowvisor

User VMs FlowVisor OpenvSwitch

Network gateway

L2 network

Two large file transfers (350 Mbps each direction) 18/25

Fulvio Risso, Politecnico di Torino – Customizing Data Plane Processing in Edge Routers

CPU load Core#1

Core#2 Idle 19%

OpenvSwitch 100%

FlowVisor 81%

Core#3

Core#4 OS 2%

Idle 18% VM Host1 VM Host2 41% 41%

Idle 100%

- Two user VMs

- Three applications each (DNSFilter, Gsafe, NetMon) - Two large file transfers between the two hosts (one per direction)

19/25

Fulvio Risso, Politecnico di Torino – Customizing Data Plane Processing in Edge Routers

Memory consumption - Two user VMs - Three applications each (DNSFilter, Gsafe, NetMon)

VM Host1: 165MB

- Two large file transfers between the two hosts (one per direction)

Operating System: 274MB VM Host2: 165MB Tomcat WebServer: 156MB

FlowVisor: 150MB OpenvSwitch: 8MB

VM Router: 60MB VM Default: 46MB

20/25

Fulvio Risso, Politecnico di Torino – Customizing Data Plane Processing in Edge Routers

Starting a new user VM Login request from user

User’s slice is created and mapped to the User’s PEX

User’s PEX is created

User’s PEX and his applications are running

User is authenticated

271 ms

1910 ms

1443 ms

1317 ms

TimeLimiter 5 ms

2 ms

Application downloaded Application installed Application started

4 ms

GSafe 3 ms

6 ms 1 ms DNSFilter 10 ms

184 ms 1 ms SkypeBlocker 9 ms 14 ms 1 ms

21/25

Fulvio Risso, Politecnico di Torino – Customizing Data Plane Processing in Edge Routers

What about OpenFlow? • We use OpenFlow in our prototype – Exploited a lot of existing code (Beacon, FlowVisor, OpenvSwitch) – Although... ather protocols could be used for our purposes • E.g., Web Cache Control Protocol (WCCP)

• We like the OpenFlow idea – Open the network device and program it from the external

• Too limited in the current form

22/25

Fulvio Risso, Politecnico di Torino – Customizing Data Plane Processing in Edge Routers

The OpenFlow abstraction Openflow-based software Probably OK for setting up network paths

Lookup table

Not OK for customizing the data plane processing

Flow 1 go port 2 Flow 2 go port 3 Flow 3 go port 2 ...

23/25

Fulvio Risso, Politecnico di Torino – Customizing Data Plane Processing in Edge Routers

Future work •

Improve memory and CPU consumption in VM



– Does all the traffic has to be sent to the VMs? And to all the apps inside the VM?

– Garbage collector?

– Explicit memory allocation/deallocation?

• •

Capability to exploit possible hardware speedup



Remote storage + Remote execution environment



Define an easy API for “occasional” developers

Scalability over thousands VMs



Improved VM isolation



Code safety (by design?)



Better support for “horizontal” slices

Filtering traffic

– Stream reassembly? – Easy way to access/modify selected fields in the packet?



Support for user mobility ... and much, much more 24/25

Fulvio Risso, Politecnico di Torino – Customizing Data Plane Processing in Edge Routers

Thanks for your attention!

25/25

Customizing Data Plane Processing in Edge Routers

associated to a given actor enabling the customization of the processing of the traffic inside the network edge router. Java. Firewalls, IDS, etc. Which apps? Network and router virtualization. Multiple actors, different privileges, traffic hits multiple slides. We tranform data, we do not create paths. We leave the core unchanged.

4MB Sizes 1 Downloads 143 Views

Recommend Documents

Data Plane Timestamping
Networks: Communications vs. Trains. 3. The TimedSDN Project. Network switch. Railway switch. SDN Controller. Train Control Center ..... T. Mizrahi, Y. Moses, “OneClock to Rule Them All: Using Time in Networked Applications”, IEEE/IFIP Network Op

The Case for Data Plane Timestamping in SDN
Measurement is performed separately for each block. [Coloring] M. Chen, L. Zheng, G. Mirsky, G. Fioccola, and T. Mizrahi, “IP Flow Performance Measurement Framework,” draft-chen-ippm-coloring- based-ipfpm-framework, work in progress, 2016. Using

The Case for Data Plane Timestamping in SDN
for various purposes, such as network telemetry [1], [2],. [3], Time-Sensitive .... to detect network faults, anomalies, and congestion, and to enforce a Service.

The Case for Data Plane Timestamping in SDN
Feb 10, 2016 - Software-Defined Networks (SDN), attaching a timestamp to the header of all packets is a .... Performance measurement and monitoring is of key im- portance in ..... The experiments were performed on a testbed of 50 Linux-.

Customizing Mobile Applications - CiteSeerX
The advantage of Xrdb is that clients accessing a central server do not need a ..... The PARCTAB is a hand held wireless device that communicates with ...

Weighting Techniques in Data Compression - Signal Processing ...
new implementation, both the computational work, and the data structures and ...... we can safely use our CTW algorithm with such deep context trees, and in that ..... The decoder knows that the description is complete when all free slots at the.

Customizing
Periodic invoicing plans are not suitable for telephone bills and credit card settlements as .... documentation for the relevant IMG activity regarding any points you.

Customizing Mobile Applications
by convention, re-read configuration files when they receive the HUP signal; ... The X windowing system provides a server-based resource manager, Xrdb [3], ...

OpenFlow™ Data Plane Abstraction (OF-DPA) -
Dec 4, 2014 - messages are defined so that an OpenFlow 1.3.4 controller can program these features. 6 ... programming approach, in that the controller can optimize hardware resources better than the switch, ...... The Ingress Port Flow Table presents

Fast address lookup for Internet routers
The high and steadily increasing demand for Internet service has lead to a new ver- ... Network links. Line card b. Routing engine. Routing engine. Figure 1 Two ...

OpenFlow™ Data Plane Abstraction (OF-DPA) -
Dec 4, 2014 - 111. 4.2.3. Egress Maintenance Point Flow Table . ...... number of readily available open source controllers that support OpenFlow 1.3 and later, including Ryu. [18] and OpenDaylight [19]. Table 1. ...... instruction to reference the Me

Processing RADS Data
We started our work with pass 28 off Oregon coast and then imple- ... Failure to account for the effects of the at- .... degees offshore is removed from SLA field.

Data Processing I.pdf
Sign in. Loading… Whoops! There was a problem loading more pages. Retrying... Whoops! There was a problem previewing this document. Retrying.

Data Processing II.pdf
Page 1 of 2. Data Processing II 1 of 2 Distributed 11/10/00. SOUTHWEST VERMONT SUPERVISORY UNION. JOB DESCRIPTION. Position: Data Processing II ...

customizing materials management processes in sap ...
Learn How To Apply The Power Of SAP MM With Your Own Business Processes. ... management, and know how SAP MM can be configured to support these.

The role of oxygen functionalities and edge plane sites ...
interesting. Previously, an isotropic carbon fiber was surface-treated by microwave oxygen plasma and the structure of the fiber suffers only limited alterations with a moderate increase in. 1388-2481/$ - see front matter © 2008 Elsevier B.V. All ri

pdf-0973\routine-data-processing-in-earthquake-seismology-with ...
... apps below to open or edit this item. pdf-0973\routine-data-processing-in-earthquake-seismo ... are-by-jens-havskov-lars-ottemoller-from-hardcove.pdf.

Techniques in Processing Data on Hadoop - SAS Support
and techniques for using the power of SAS® to prepare big data for analytics. It focuses on how a SAS user can write code that will run in a Hadoop cluster and take advantage of the massive parallel processing power of Hadoop. WHAT IS HADOOP? Hadoop

Processing Big Data With Hadoop In Azure HDInsight - GitHub
Enter the following command to query the table, and verify that no rows are returned: SELECT * FROM rawlog;. Load the Source Data into the Raw Log Table. 1. In the Hive command line interface, enter the following HiveQL statement to move the log file

Shared Query Processing in Data Streaming Systems
systems that can manage streaming data have gained tremendous ..... an application executes business and presentation logic, where there are fewer ..... systems (see Section 2.3 for a brief survey), only a small part of it involves shared ...... proc

Processing Tree-like Data Structures in Different ...
Processing Tree-like Data Structures in Different Computing Platforms. Valery Sklyarov ... have a long tradition in data processing [4] and for solving problems with high ..... Custom Computing Machines (FCCM), 2008. [7] S.S. Huang, A.

PDF Data Processing in Unix (Computing that works)
PDF Data Processing in Unix (Computing that works) Full Books. Books detail. Title : PDF Data Processing in Unix (Computing q that works) Full Books.