Fulvio Risso, Politecnico di Torino – June 13th, 2012 1/#pagine Parental Control on OpenFlow...

16
Fulvio Risso, Politecnico di Torino – June 13th, 2012 1/#pagine Parental Control on OpenFlow Status report 2012-06-13 Fulvio Risso, Politecnico di Torino http://fulvio.frisso.net

Transcript of Fulvio Risso, Politecnico di Torino – June 13th, 2012 1/#pagine Parental Control on OpenFlow...

Page 1: Fulvio Risso, Politecnico di Torino – June 13th, 2012 1/#pagine Parental Control on OpenFlow Status report 2012-06-13 Fulvio Risso, Politecnico di Torino.

Fulvio Risso, Politecnico di Torino – June 13th, 2012

1/#pagine

Parental Control on OpenFlowStatus report 2012-06-13

Fulvio Risso, Politecnico di Torinohttp://fulvio.frisso.net

Page 2: Fulvio Risso, Politecnico di Torino – June 13th, 2012 1/#pagine Parental Control on OpenFlow Status report 2012-06-13 Fulvio Risso, Politecnico di Torino.

Fulvio Risso, Politecnico di Torino – June 13th, 2012

2/#pagine

Intro

•Bla bla bla

Page 3: Fulvio Risso, Politecnico di Torino – June 13th, 2012 1/#pagine Parental Control on OpenFlow Status report 2012-06-13 Fulvio Risso, Politecnico di Torino.

Fulvio Risso, Politecnico di Torino – June 13th, 2012

3/#pagine

General Architecture of the System

Page 4: Fulvio Risso, Politecnico di Torino – June 13th, 2012 1/#pagine Parental Control on OpenFlow Status report 2012-06-13 Fulvio Risso, Politecnico di Torino.

Fulvio Risso, Politecnico di Torino – June 13th, 2012

4/#pagine

Structure of the databaseThe Database Management System used to manage the user and the application data is the world's most popular open source database named mySql.

The DBMS consists of three mainly tables: users, apps and run_apps .

An example of a users table :

Id Username Pwd Ip_add Cntr_port Web_port

1 admin admin

2 user_1 user_1 192.168.1.4 9004 10004

3 user_2 user_2

_Id: user ID unique for each user_username: username unique for each user_pwd: user’s password_Ip_addr: user’s ip address_cntrl_port: controller’s port _web_port: web server’s port associated with the user used to manage the user’s

applications through web(install,start,stop,remove,etc.)

Page 5: Fulvio Risso, Politecnico di Torino – June 13th, 2012 1/#pagine Parental Control on OpenFlow Status report 2012-06-13 Fulvio Risso, Politecnico di Torino.

Fulvio Risso, Politecnico di Torino – June 13th, 2012

5/#pagine

•An example of a apps table :

Name Description Owner

app1 Network monitor admin

app2 Parental controll user_1

app3 Firewall user_2

_ name: the application’s name_ description: a brief description of application_ owner: application owner

•An example of a run_apps table :

Name User

app1 user_1

app2 user_1

app3 user_2

app1 user_2

_ name: running application’s name_ user: application user

Page 6: Fulvio Risso, Politecnico di Torino – June 13th, 2012 1/#pagine Parental Control on OpenFlow Status report 2012-06-13 Fulvio Risso, Politecnico di Torino.

Fulvio Risso, Politecnico di Torino – June 13th, 2012

6/#pagine

General architecture of the edge node

Page 7: Fulvio Risso, Politecnico di Torino – June 13th, 2012 1/#pagine Parental Control on OpenFlow Status report 2012-06-13 Fulvio Risso, Politecnico di Torino.

Fulvio Risso, Politecnico di Torino – June 13th, 2012

7/#pagine

Software architecture of the edge node

•Java vs JavaScript vs C++– Beacon and Floodlight, NodeFlow, NOX

•Some numbers– Throughput

•Our user controllers are derived from Beacon

Page 8: Fulvio Risso, Politecnico di Torino – June 13th, 2012 1/#pagine Parental Control on OpenFlow Status report 2012-06-13 Fulvio Risso, Politecnico di Torino.

Fulvio Risso, Politecnico di Torino – June 13th, 2012

8/#pagine

Flowvisor

Page 9: Fulvio Risso, Politecnico di Torino – June 13th, 2012 1/#pagine Parental Control on OpenFlow Status report 2012-06-13 Fulvio Risso, Politecnico di Torino.

Fulvio Risso, Politecnico di Torino – June 13th, 2012

9/#pagine

Recognizing users: the Captive Portal

•Login FlowSubmits username e password

Checks user e pwd into users table

Correct

Sets ‘ip_addr’, ‘port’ and ‘web_port’ into the

users table

Starts user’s controller

Msg: ‘Login successful’

Not Correct

Msg: ‘The username or password is incorrect ’

Page 10: Fulvio Risso, Politecnico di Torino – June 13th, 2012 1/#pagine Parental Control on OpenFlow Status report 2012-06-13 Fulvio Risso, Politecnico di Torino.

Fulvio Risso, Politecnico di Torino – June 13th, 2012

10/#pagine

•Create New Account

Submits username e password

Not exists

Adds a new username and pwd into the users

table

Msg: ‘New account created’

ExistsChecks if the username

already exists

Msg: ‘The username already exist’

Page 11: Fulvio Risso, Politecnico di Torino – June 13th, 2012 1/#pagine Parental Control on OpenFlow Status report 2012-06-13 Fulvio Risso, Politecnico di Torino.

Fulvio Risso, Politecnico di Torino – June 13th, 2012

11/#pagine

•Managing application: you can..

..install a new custom application with a brief

description

Uploads new file into the user repository and addsa new row into the apps table

..disinstall an installed application

Removes the application from the user repository and deletes the relative row from the apps table

..create an application flow

Moves the selected application row from the Available application grid to the Application started or ready to start grid through a drag and drop operation

..start/stop applications into

the flow

_insert(/remove)into(/from) the run_apps table the row containing the application name and the application user;_Start(/stop) the application within the controller

Page 12: Fulvio Risso, Politecnico di Torino – June 13th, 2012 1/#pagine Parental Control on OpenFlow Status report 2012-06-13 Fulvio Risso, Politecnico di Torino.

Fulvio Risso, Politecnico di Torino – June 13th, 2012

12/#pagine

In-band vs Out-of-band control

Page 13: Fulvio Risso, Politecnico di Torino – June 13th, 2012 1/#pagine Parental Control on OpenFlow Status report 2012-06-13 Fulvio Risso, Politecnico di Torino.

Fulvio Risso, Politecnico di Torino – June 13th, 2012

13/#pagine

Current Status

Page 14: Fulvio Risso, Politecnico di Torino – June 13th, 2012 1/#pagine Parental Control on OpenFlow Status report 2012-06-13 Fulvio Risso, Politecnico di Torino.

Fulvio Risso, Politecnico di Torino – June 13th, 2012

14/#pagine

Next steps

Page 15: Fulvio Risso, Politecnico di Torino – June 13th, 2012 1/#pagine Parental Control on OpenFlow Status report 2012-06-13 Fulvio Risso, Politecnico di Torino.

Fulvio Risso, Politecnico di Torino – June 13th, 2012

15/#pagine

The next hardware architecture

Page 16: Fulvio Risso, Politecnico di Torino – June 13th, 2012 1/#pagine Parental Control on OpenFlow Status report 2012-06-13 Fulvio Risso, Politecnico di Torino.

Fulvio Risso, Politecnico di Torino – June 13th, 2012

16/#pagine

Questions?