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
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
./udp_control -hs -p 1250 192.168.101.4 184.108.40.206 220.127.116.11
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
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.
- Run automake.
- Run autoconf.
- Run make
- Allow nodes to use different ports.
- Increase maximum length of path.