Configuration | |
Four11 Server and Network Setup | |
Starting the Network | |
Description of Use | |
Packages Index | |
Contact Info |
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.
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 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
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
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.
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
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