Objective: The purpose of this exercise is to collect data to evaluate the suitability of the TeamTrak point protocol and message protocol for file transfer applications.   As we discussed in class and have seen firsthand in the last exercise, mobile ad hoc networks are inherently unreliable using the existing architecture and protocols.   We would like to know whether a "reliable" network application can be built on top of TeamTrak and, if not, what would need to be modified or redesigned to do so.   File transfer is a good test application because it's conceptually simple but quite challenging to get right in this environment since every packet needs to arrive at its destination and packets need to be reassembled in order.   Of course, UDP transmissions give us no guarantees of either. In this exercise, we will attempt to transfer a file to all connected nodes using a very simple prototype file transfer mechanism.
Task: Form a small ad hoc network in different configurations and run the experiment already built in to the specially modified version of TeamTrak available here.   We will use this version of the application for this exercise only.   Also, make sure you have downloaded a copy of the campus map (the file ttplaces.txt).
From the data collected in this exercise, we would like to understand several things:Test Procedure:   The class will split into two groups. One group will go outside east of DeBartolo and form a single file chain of TeamTrak nodes (similar to the bucket brigade we did on the last exercise, but there's no need to try to stretch it as far as possible).   The other group will go to the far end of the quad west of DeBartolo (that should be sufficiently apart not to interfere).   Each group will do the following:
What happens during the experiment is each node will attempt to transfer the file ttplaces.txt to every node in the routing table with the exception of stale entries.   The protocol is similar to that of Trivial FTP, in which one packet at a time is transmitted and the next is not sent until the previous one is acknowledged.   In this particular implementation, packets can be retransmitted after a timeout period, and the transfer fails after a designated number of unsuccessful retries for any one packet.   Once all packets have been sent to all nodes and either acknowledged or timed out, the experiment concludes.
Please Note:   In this exercise we will be mainly collecting data for later analysis and discussion.   We will probably not see anything significant or even determine if the test was a success or failure right away, as the real story is captured in the logs.   I will present the results of this experiment some time after spring break.
What To Turn In:   To receive credit for this exercise, place the file ttlog.txt in the course dropbox no later than the start of class on Friday, 9 March.