Setup And Configuration

Of An Active Network In MAGICIAN


Configuration
Four11 Server and Network Setup
Starting the Network
Description of Use
Packages Index
Contact Info

Configuration

The Host directory contains a sample host and SmartPacket. The Four11 directory contains files for the information server. The Node directory contains the code for the active node. The PerfTools directory contains event management and reporting classes. The Utils directory contains classes that are extended or re-written java.* classes.

Before you use the system, make sure you have an environment variable JAVADIR set to point to the top of your java installation. For example, if your java executables reside in /usr/local/java/bin and the libraries in /usr/local/java/lib then set JAVADIR to /usr/local/java. The enevironment variable is required both for running the system and during compilation.

There is a sample SampleNet.conf file with two active nodes (AN-1 and AH-1). It is important that active nodes (or active hosts) be started on separate physical machines if they are neighbors. This is because if two neighboring nodes are on the same physical machine, they will require to bind to the same UDP port to send and receive to each other and one of them will get a "bind failure" error. In this case, AN-1 and AH-1 are neighbors and hence must be on separate machines.
 

The Four11 Server And Network Setup

Before starting the active nodes, make sure you start the information (Four11) server. The network topology is stored in a configuration file in the magician/Four11 directory. A sample configuration exists in the SampleNet.conf file. A more complex topology is described in the KUNet.conf file. The syntax for describing the topology is:

(net: net-name
   (node: node-name
    IP: IP-address
    ports: ports on which node should be listening
    gateway: ( node which serves as the edge node of the active network)
    nbors: ((neighbor-name interface-address port-no link-bandwidth)
            (     ... next neighbor entry  ....                    )
                          ...
            (     ... last neighbor entry  ...                     ))

    node: ...... next node entry ...
           :
           :
                                                ));
 

At this point of time, you cannot put comments in the configuration file. That feature will be available in the next release. The Four11server has to be started first. The machine on which the server runs and the port on which the Four11 server accepts queries can be modified by changing the values in the file magician/Four11/Four11.conf.  The script start411 is provided for simplicity. Otherwise, you can start the server by cd'ing to the Four11 directory and running "java magician.Four11.Four11 ". The script kill411 stops the Four11 server.
 

Starting The Network

The active nodes are started using scripts written depending on whether the node is a host i.e. if it injects new packets in the network or it behaves as an intermediate node.

If the active node is an intermediate node, run the script startn as "startn AN-1" or "startn ". Note that this name must be included in the names used to describe the topology in the .conf file. To start an active node manually, cd to the Node directory and at the command prompt type:
     java magician.Node.NetworkNode

where network-name is the name you gave to the network in your Four11/network-config-filename>.conf file,
              node-name is the name of this active node that must be present in the configuration file
              trace-filename is the name of some file where you want events to be logged.

If the active node is a host, run the script starth as "starth AH-1". The script assumes you have a directory called Host-AH-1 in which
your custom SmartPacket definitions are available. If you require more active hosts, then create more directories following the same convention i.e. Host-AH-2, Host-newHost etc. Note that this is only necessary if you are going to use the script. If you want to start the active host by hand, then cd to the appropriate Host* directory and simply type the command:
     java ActiveHostTPut -trace

where network-name is the name you gave to the network in your Four11/network-config-filename>.conf file,
              node-name is the name of this active host that must be present in the configuration file
              trace-filename is the name of some file where you want events to be logged.

When the host comes up, it will offer a prompt ("Command>"). At this point
of time only two commands are accepted, "send" and "quit". "quit" terminates the host. "send" accepts two arguments, the name of the class file which contains the SmartPacket code as the first argument and the name of the active node which is to be the destination. After the SmartPacket is sent into the network, the prompt is redisplayed to the user.
 

Description Of Use

There are currently two applications that we have developed to show the functionality of this system. The "SmartPing" application implements a ping operation while the "SmartAckPing" application does the same but uses reliable delivery. The round trip time for SmartAckPing will generally be twice that of SmartPing because of the acknowledgement protocol used by SmartAckPing. Both use the default routing management algorithm implemented in the active network to route the packet to its destination. Each application is invoked by typing "send " at the "Command>" prompt. For example, to send the SmartPing packet, do

Command> send SmartPing AN-1
SmartPingV2: Round trip time = 30 ms

If you want to execute the packet in a loop then the syntax is
     send

So if you want send 10 ping packets one every 1 second, use

Command> send SmartPing 10 1000

The command send can be abbreviated as "s" .
 


Send comments to
Amit B. Kulkarni
kulkarni@crd.ge.com
 

1