Computer Science 826 Assignment 4 (Due November 25) For this assignment, you may continue to work in two person teams. Please be particularly careful to submit your reports in BOTH latex and ps formats. File nov11.dmp in class/826 contains tcp monitor data collected by me using a monitor which stores records in byte order in the following structure: 22 typedef struct tcpletype 23 { 24 struct timeval tod; 25 unsigned int seq; 26 unsigned int ack; 27 unsigned int saddr; 28 unsigned int daddr; 29 unsigned short sport; 30 unsigned short dport; 31 unsigned short tcp_flags; 32 unsigned short resvd; 33 } TCP_LOG_ENT; 34 Only packets which carry SYN or FIN are captured. Your missions are to (1): Create a data reduction program which will read nov11.dmp and will produce an output file which contains ONE RECORD for each TCP connection for which SYNs and FINs were Tx'ed and Rx'ed. Note that some sessions may be missing SYNs or FINs if their start or end occured outside the interval in which logging was taking place. The output file should look something like this where the session records are sorted by Remote IP address. Sess ID Tx Bytes Rx Bytes Ltncy Length Tx Thpt Rx Thpt Remote IP 750 522 356 0.037 0.674 774.621 528.286 63.175.146.25 746 522 353 0.036 0.657 794.373 537.191 63.175.146.25 829 553 2085 0.046 0.115 4799.928 18097.379 63.240.110.224 828 573 3706 0.046 0.101 5692.203 36815.538 63.240.110.224 827 573 4105 0.046 0.118 4865.831 34859.052 63.240.110.224 826 562 654 0.048 0.115 4902.986 5705.610 63.240.110.224 825 560 869 0.046 0.104 5407.283 8390.945 63.240.110.224 824 578 10945 0.046 0.151 3831.722 72557.441 63.240.110.224 823 560 386 0.046 0.098 5705.205 3932.517 63.240.110.224 822 559 509 0.046 0.098 5716.916 5205.564 63.240.110.224 Where: Sess ID is based upon the order in which the FIRST SYN that was associated with the session was sent or received Tx/Rx Bytes is the total number of bytes that were Tx'd/Rx'd in the session. You may assume that no session Tx'd or Rx'd more than 2^32 bytes. Ltncy is the delay between the SYN's in seconds Length is the length of the session in seconds (time between the first SYN and last FIN). Rx/Tx thpt is (Tx/Rx bytes / Length) Remote IP is the IP address of the remote session partner ------------------------------------------------------------------- Use the data obtained by your program to prepare a report characterizing the network load generated by the web surfer and the performance he obtained. Issues to be addressed should include: 1 - Overall rate at which TCP sessions were created 2 - Overall loads in Tx Bytes/Second and Rx Bytes/Second that the user experienced Now consider remote IP addresses in groups identified by 24 bit prefixes and report upon: 1 - Mean and standard deviations of latencies obtained for each prefix. 2 - Mean and standard deviations of Rx throughput for sessions in which at least 1000 bytes were received.