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