Menu

Tree [r3] /
 History

HTTPS access


File Date Author Commit
 AUTHORS 2008-02-15 kristrev [r3] Initial release of code
 COPYING 2008-02-15 kristrev [r3] Initial release of code
 ChangeLog 2008-02-15 kristrev [r3] Initial release of code
 INSTALL 2008-02-15 kristrev [r3] Initial release of code
 Makefile.am 2008-02-15 kristrev [r3] Initial release of code
 Makefile.in 2008-02-15 kristrev [r3] Initial release of code
 NEWS 2008-02-15 kristrev [r3] Initial release of code
 README 2008-02-15 kristrev [r3] Initial release of code
 aclocal.m4 2008-02-15 kristrev [r3] Initial release of code
 configure.in 2008-02-15 kristrev [r3] Initial release of code
 depcomp 2008-02-15 kristrev [r3] Initial release of code
 install-sh 2008-02-15 kristrev [r3] Initial release of code
 missing 2008-02-15 kristrev [r3] Initial release of code
 udp_control.c 2008-02-15 kristrev [r3] Initial release of code
 udp_measure.h 2008-02-15 kristrev [r3] Initial release of code
 udp_node.c 2008-02-15 kristrev [r3] Initial release of code

Read Me

UDP-relay:
-----------

UDP_node and UDP_control together measure and output the delay between
specific nodes. Control acts as a server and tells the first node in
the provided path to measure the time it takes to transfer a UDP
packet through the entire path. The program can do hard-state (between
every pair of nodes), soft-state(between start- and end-node) or both
types of measurements. UDP_control takes the following input
arguments:

p - The TCP-port it will use when connecting to the node(s). Optional,
defaults to 9013.

h - Should do hard-state measure.

s - Soft-state measure. If neither of these are provided, the program
will do nothing.  <list of IPs> - The IP-adresses for the nodes in the
path (assusmes that first is the first and last is the last).

Example on how to start the program (hard- and soft-state, TCP-port
1250): 
./udp_control -hs -p 1250 192.168.101.4 129.240.228.184 129.240.65.197
129.240.65.193 129.240.69.32

UDP_node is the client and must be started on every node before
control is run. If it receives a TCP-connection, it will parse the
list of nodes that is sent and send a predetermined number of
UDP-packets through the path. If it receives a UDP-packet, the packet
is either forwarded to the next node or treated accordingly if the
node is at the end or beginning of the path. UDP_node supports
multiplexing (it can have many active TCP-connections at once and
treat UDP-packets at the same time). The program takes the following
arguments:

t - TCP-port used to listen to connections from the
controller(s). Optional, defaults to 9013.

u - UDP-port used to receive packets on/send packets to. Have to be
the same on every machine in a path. Optional, defaults to 9014.

n - Number of measurments packets to be sent when this node is the
src. Optional, defaults to 10 000.

Example on how to start the program (TCP-port 1250, UDP-port 1251 and
10 000 measure packets):
./udp_node -t 1250 -u 1251 -n 10000

Other thins worth nothing about UDP-node:

- Since the node and controller are two different programs, they can
  be run on the same machine. Remember to use the machines public IP.

- There are some constants in udp_measure.h that might be interesting
to modify, namely ANT_CONN and TIMEOUT_SEC. The first controls how
many connections you can have at one time, while the other how long
select will wait before it times out.

Install:
- Run automake.
- Run autoconf.
- Run./configure
- Run make

TODO:

- Allow nodes to use different ports.
- Increase maximum length of path.
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.