Fulvio Risso, Politecnico di Torino – June 13th, 2012
Parental Control on OpenFlow
Status report 2012-06-13
Fulvio Risso, Politecnico di Torino
http://fulvio.frisso.net
1/#pagine
Fulvio Risso, Politecnico di Torino – June 13th, 2012
Intro
•Bla bla bla
2/#pagine
Fulvio Risso, Politecnico di Torino – June 13th, 2012
General Architecture of the System
3/#pagine
Fulvio Risso, Politecnico di Torino – June 13th, 2012
Structure of the database
The 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
1
admin
admin
2
user_1
user_1
3
user_2
user_2
Ip_add
Cntr_port
Web_port
192.168.1.4
9004
10004
_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.)
4/#pagine
Fulvio Risso, Politecnico di Torino – June 13th, 2012
•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
5/#pagine
Fulvio Risso, Politecnico di Torino – June 13th, 2012
General architecture of the edge node
6/#pagine
Fulvio Risso, Politecnico di Torino – June 13th, 2012
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
7/#pagine
Fulvio Risso, Politecnico di Torino – June 13th, 2012
Flowvisor
8/#pagine
Fulvio Risso, Politecnico di Torino – June 13th, 2012
Recognizing users: the Captive Portal
•Login Flow
Submits username e
password
Checks user e pwd into
users table
Not Correct
Correct
Sets ‘ip_addr’, ‘port’ and
‘web_port’ into the
users table
Msg: ‘Login successful’
Starts user’s
controller
Msg: ‘The username or password is incorrect ’
9/#pagine
Fulvio Risso, Politecnico di Torino – June 13th, 2012
•Create New Account
Exists
Submits username e
password
Checks if the username
already exists
Not exists
Msg: ‘New account created’
Adds a new username
and pwd into the users
table
Msg: ‘The username already exist’
10/#pagine
Fulvio Risso, Politecnico di Torino – June 13th, 2012
•Managing application: you can..
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
..create an
application flow
Removes the
application
from the user
repository
and deletes
the relative
row from the
apps table
_insert(/remove)
into(/from) the
run_apps table
..start/stop
applications into the row
containing the
the flow
application name
and the
application user;
_Start(/stop) the
application within
the controller
..disinstall an
installed
application
..install a new custom
application with a brief
description
Uploads new file into the user repository and adds
a new row into the apps table
11/#pagine
Fulvio Risso, Politecnico di Torino – June 13th, 2012
In-band vs Out-of-band control
12/#pagine
Fulvio Risso, Politecnico di Torino – June 13th, 2012
Current Status
13/#pagine
Fulvio Risso, Politecnico di Torino – June 13th, 2012
Next steps
14/#pagine
Fulvio Risso, Politecnico di Torino – June 13th, 2012
The next hardware architecture
15/#pagine
Fulvio Risso, Politecnico di Torino – June 13th, 2012
Questions?
16/#pagine
Scarica

Presentazione standard di PowerPoint