Due: Tuesday, April 29, 2014, 8:10 am (start of the class)

Problems:

  1. (10 points) As you may have seen in the media, a serious vulnerability (Heartbleed Bug) has been discovered recently in the OpenSSL library used by many networked applications. Write a short technical description of the vulnerability. What mistake was made by the developers and how it could be exploited?
  2. (10 points) A TCP connection has reached a steady state and transmits data at a constant rate. List as many factors as you can that determine the transmission rate reached by the connection? Include the application and the operating system on both ends of the connection in your consideration.
  3. (40 points) Take a look at the trace from the previous assignment cs725-s14-a3.pcap (CloudShark: https://www.cloudshark.org/captures/c3b3edaf6bdd) and work on the following problems:

    • Draw a space-time diagram of the TCP session. Include the content of Sequence #, Acknowledgment #, Window fields and the session management flags (SYN, ACK, etc.) for each of the packets.
    • What are the starting sequence numbers? What is the total number of bytes transferred at the application layer in each direction?
    • Closing of the connection is not shown in the trace. Assuming that the client decides to close the connection, show the content of the packets that will be exchanged in the process (give Sequence and Acknowledgment numbers and the session management flags). You can assume that a symmetric release is performed.
    • Is there a packet retransmission captured in the trace?

Program:

  1. (40 points) Come up with a simple program/script that measures throughput (number of useful bytes downloaded divided by the time it took) of a file retrieved using HTTP. Test it on files fileSequence0.ts - fileSequence6.ts in http://www.cs.unh.edu/~cs725/a4/. If you are curious what those are, open http://www.cs.unh.edu/~cs725/a4/play.m3u8 in your favorite media player or on your phone (http://www.bigbuckbunny.org/ has the complete movie). You are not allowed to use curl or wget commands.

Submission instructions:

Follow the standard assignment submission instructions.