Semester: | Spring 2013 |
Room: | Kng 227 |
Class Time: | Mon/Wed/Fri 2:30pm-3:20pm |
Office Hours: | Monday, 3:30-4:30pm Thursday, 4:30-5:30pm or by appointment |
Professor: | Cynthia Taylor |
email: |
ctaylor AT oberlin edu Please include "cs342" in the subject. |
Office: | King 229 |
Phone: | x58424 |
This homework is continuation of hw5 with addition of pipelining. You can either use your solution of hw5 or the template.
To simulate an unreliable link in a single computer, you still need to run mininet. Like homework 5, run the following command and change the delay, loss and buffer size parameter.
sudo mn --link tc,delay='10ms',loss=5,max_queue_size=10 -xAt a high level, your job is to change the reliable transport protocol implementation in the template so that the following example execution always produces the correct result.
In one terminal (say h2), you run the receiver in the following way, and it produces output as shown below.
./hw5_receiver BASEPORT > RECEIVED_FILE # later on, this happens... File received, exiting.
cat ORIGINAL_FILE | ./hw5_sender 10.0.0.2 BASEPORT Sent 1020544 bytes in 25 seconds: 35 kB/s Estimated RTT: 1029 ms
A few things to pay attention to:
The script runs 10 times for each case and regard it as success if more than 7 throughput are faster than the threshold.
[SUCCESS] buf=2 loss=0% threshold=14 [1]: 1 [throughput(kB/s)= 37.0 32.5 28.3 27.8 42.3 28.2 28.5 27.6 28.8 28.4] mean=30.94 kB/s [SUCCESS] buf=2 loss=5% threshold=2.1 [1]: 1 [throughput(kB/s)= 14.8 13.8 16.7 21.5 9.8 15.2 14.0 7.4 9.4 13.3] mean=13.59 kB/s [SUCCESS] buf=10 loss=0% threshold=80 [1]: 1 [throughput(kB/s)= 151.2 151.1 151.5 151.3 151.1 151.3 151.9 151.1 151.5 151.5] mean=151.35 kB/s [SUCCESS] buf=10 loss=5% threshold=10 [1]: 1 [throughput(kB/s)= 19.0 28.4 38.1 21.7 20.5 17.4 11.3 15.6 27.0 14.8] mean=21.38 kB/s [SUCCESS] buf=100 loss=0% threshold=85 [1]: 1 [throughput(kB/s)= 162.4 162.3 162.3 162.3 162.2 161.3 162.3 162.4 162.3 162.3] mean=162.21 kB/s [SUCCESS] buf=100 loss=5% threshold=10 [1]: 1 [throughput(kB/s)= 31.5 48.8 33.8 19.9 28.4 37.5 32.7 40.0 28.5 46.6] mean=34.77 kB/s Total score: 6
This script is NOT how I will be determining your final grades for this assignment. However, it should give you a good idea of how your program is performing.