The Skype model should be loaded first. The second one should be
The measurement server is called MeasurementServer and it is developed in Java.
To use it do:
cd <directory of the MeasurementServer>/src
java fr.inria.acqua.ACQUAServer
The server will now wait for requests from the Client (deployed on Windows).
Important:
The ACQUA measurement process identifies each experiment with an ID that is not synchronized between client and server (this is ID is progressive and equal to 1 in the beginning).
It is the necessary to activate BOTH client and server at the same time!
(If the client is closed also the server needs to be closed in order to run another experiment).
To update the configuration use sudo ifup <network interface> (e.g. eth0).
Note: the use of sudo ifdown <network interface> could be necessary if the interface is already up.
Important: the graphical connection manager seems to have conflicts while configuring manually the network configuration - it is recommended to disable it and proceed with the command line interface.
In case of problems (e.g.: network icon disappearing in the status bar) use sudo service network-manager restart.
The demonstration mode of the ACQUA prototype uses DummyNet to simulate network conditions between two hosts.
DummyNet is supported by most modern OS (FreeBSD, OSX, Linux, Windows).
Note: Linux kernels above version 3.2 are not well supported (in our setup we used Ubuntu 12.04 to avoid such issues).
The following instructions are relative only to the Linux version.
DummyNet is used to manipulate the network conditions.
To use DummyNet a couple of pipes has been defined, to set them up is necessary to run the script: sudo ./ipwf-start.sh
This will define two network pipes that will collect all incoming (pipe 10) and outgoing
(pipe 11) traffic from the current host.
A static web page makes AJAX requests to a CGI server in order to manipulate the network
traffic easily. This web page can be deployed on any host (be aware that DummyNet could
reduce or deny completely the interaction with this remote controller by shaping the
network traffic).
/etc/apache2/sites-available/default contains the configuration of the Web Server (static web pages and CGI).
By default the CGI directory /usr/lib/cgi-bin/ contains the CGI files served. It is then necessary to put here all the cgi scripts in order to configure through the web interface DummyNet.
Web pages are served from the directory /var/www/. The web interface (index.html) should be placed here (and should be available here).
1. Open the Network and Sharing Center
2. Click on Change Adapter Settings (sidebar)
3. Right-click on the network device with the connection to be shared (connected to Internet)
4. Select Properties
5. Go on the Sharing tab
6. enable all
7. press on Settings
8. enable all required protocols (e.g.: HTTP, HTTPS, Skype UDP, Skype TCP, ...)
9. define exceptions for ACQUA too:
a. UDP traffic (default 192.168.137.176:9050, 192.168.137.176:9051)
b. TCP traffic (default 192.168.137.176:9050, 192.168.137.176:9051)
10. Set firewall exceptions to enable ICMP (ping)
a. press Start
b. look for Run
c. execute firewall.cpl (alternatively look for Windows Firewall with Advanced Security)
d. click on inbound rules
e. add new rule (right-click or sidebar)
f. define a custom rule (accept everything with protocol ICMPv4)
Notes:
ICS will force you to use DHCP with address 192.168.137.1 for the gateway.
The first address assigned by the DHCP to a client is usually 192.168.137.(171-176).
Windows ICS will configure also a DNS server, it is needed to set this one as DNS server on the Linux machine.
1. sudo gedit /etc/resolv.conf
2. add "nameserver 192.168.137.1" (the IP of the network interface sharing the connection)
3. if this configuration does not hold (is overwritten) put this line in the end of the file "nohook resolv.conf"
4. if still not working add Firewall rules / ICS setting to allow DNS traffic on Windows
!IMPORTANT: this has to be done every time the PC is turned on (the configuration is overwritten)
#TODO how to make it stable? (see resolvconf)
Static IP configuration is not supported while using Windows’ ICS.
Linux
static ip should be configured in:
/etc/network/interfaces
This file contains the configuration of each network interface in use.