How to set up and run an experiment with SEER

Initial Setup

  1. Begin a new experiment and load the ns file that defines the network topology. Simple ns file modifications are required to support loading the SEER backend on each node:
    1. Create an additional unconnected node in the experiment called 'control' to gather and display statistics and act as the interface for the remote GUI client.
    2. Apply the SEER backend tarfile to run the SEER agents on each node in the topology
      tb-set-node-tarfiles $node / /share/seer/seer-fc4-{VERSION}.tgz
      
    3. Run the python script /usr/seer/backend/experiment-setup.py as root on each node at startup. Note that on WINXP-UPDATE nodes, you should not use the sudo command.
      tb-set-node-startcmd $node "sudo python /usr/seer/backend/experiment-setup.py"
      
  2. Install SUN JRE v1.5 or later on your local machine to support the frontend GUI
  3. Download the current version of the GUI from the Download page to your local machine (unzip the file if necessary).

Running the experiment and the SEER software

  1. Swap the experiment in using the DETER web interface.
  2. On Linux/Unix, run the SEER GUI using
    java -jar SEER-GUI.jar
    
  3. On Windows XP you should use the following steps.
    1. Click the start button to bring up the start menu
    2. Click the run menu item to bring up the run dialog box
    3. In the Open text input box, type the following command: (You will need to adjust the file pathname to reflect the location of the Java and SEER working directories on your local system.)
      "C:\Program Files\Java\jre1.5.0_11\bin\java.exe" -jar c:\sschwab\dist\SEER-GUI.jar
      

Configure the experiment

  1. Associate your experiment with the SEER GUI by using Experiment→Attach

picture of GUI attach dialog

  1. The GUI will prompt you for a project and experiment string [put image here]
  2. As you now require a connection to DETER, the GUI will prompt you for your username and host. Type in your username on DETER followed by '@…' and press OK

login screen cap

  1. It will now prompt for ssh passphrase or password, based on type of authentication technique supported by the local machine. We recommend setting up ssh keys on DETER for more robust connections.
  2. The topology will now be displayed under the Topology Tab.
  3. Various types of cross traffic can be generated using the Control Tab
  4. Traffic on the topology can be observed by click on the black box next to the interface on topology. This will cause a graph to be displayed in the Graph Tab.

Example: A Small DoS Experiment

First, setup a 4 node toplogy, with two attackers, a victim, and a intermediate router. Listed below is the ns file with the SEER support.

set ns [new Simulator]
source tb_compat.tcl

#Create the topology nodes
set proggroup [$ns event-group]
foreach node { V R A1 A2 control } { 
   #Create new node 
   set $node [$ns node]  
   #Define the OS image
   tb-set-node-os $node FC4-STD   
   #Define the hardware 
   tb-set-hardware $node pc3060   

   #Add SEER support to each node
   tb-set-node-tarfiles $node / /share/seer/seer-fc4-20080408.tgz   
   set $node-prog [$node program-agent]  
   #add it to the program agent 
   $proggroup add $node-prog 
}

#Create the topology links 
set linkRV [$ns duplex-link $V $R 100Mb 3ms DropTail]
set linkRA1 [$ns duplex-link $R $A1 50Mb 3ms DropTail]
set linkRA2 [$ns duplex-link $R $A2 50Mb 3ms DropTail]
$ns rtproto Static

#Start the SEER backend on each node 
set setupseq [$ns event-sequence { 
  $proggroup run -command "sudo python /usr/seer/backend/experiment-setup.py" 
}]
$ns at 0 "$setupseq start"

$ns run

Next, swap the experiment in and start the GUI following the instructions listed above.

Attachments