Due: Wednesday, September 20, 2017, 2:10 pm (start of the class)


  1. (15 points) Chapter 1, Homework Problems and Questions - R16 and R22.
  2. (15 points) Chapter 1, Problems P6 and P7.
  3. (15 points) Chapter 1, Problem P18.
  4. (15 points) Chapter 1, Problem P33.

Programming assignment:

  1. (40 points) The goal of this part of the assignment is to come with a tool to analyze simple network performance data and to use the tools to study the results of two experiment.
  2. Task

    Files cs725-f17-a1-ping-n.txt and cs725-f17-a1-ping-p.txt contain the output of executing the ping command. Each file captures the outcome of 1,000 pings between two systems connected over a network. Come up with a method to read and analyze the observations captured in the files and answer the following questions. Except for the final part, give separate answers for each of the experiments:

    1. What was the minimum, maximum, mean, and median latency of the pings that succeeded? Ignore pings that failed in the calculation. What was the standard deviation of latency?
    2. What was the packet loss rate?
    3. What was the average and maximum length of the period when packets were not delivered? Note that in the experiments here, the pings were sent at the rate of five per second, instead of the default of one per second.
    4. Come up with a graph that visualizes the distribution of the ping latencies. There are several ways to do this, there is no specific one that I am looking for. The goal is to find a method to display the data in a way that is clear and easy to understand.
    5. As best as you can, describe the most significant network behavior difference between the two experiments. The two scenarios were set up to be very similar except for one aspect.
    6. Extra credit: Is there periodicity in the network latency? See if you can use some basic statistical methods to answer this question.

    Your can use any tools, programming language, platform, or development environment. As with most assignments in this course, I strongly recommend that you look for a tool, programing/scripting language that is best suitable for the task and learn just enough of it to get things done, rather than trying to solve it in the language that you are most comfortable. My own solution is purely in Python (including graph generation, it is about half a page long) but there are many other tools that you can use.


    Write a report (included as a final part of your single-file submission) that outlines the approach you took. There are two parts to the report. In the first one you will describe how the how you obtained the results. If any, include the source code, there is no separate code submission requirement. The second part of the report consists of your answers to the questions above.

Submission instructions:

Upload your submission as a single PDF file using Canvas (mycourses.unh.edu). More details can be found in the standard assignment submission instructions.

© 2017 Radim Bartos.