CS 457 - Fall 2012

Homework 1

Date due: Sept 22, 2013 at midnight

Submission tag: HW1 (use this tag in the subject line of your email to the TA)
  • Problem 1 (20pts):
    Calculate the total time required to transfer a 2000 KB file in the following cases, assuming an RTT of 110 ms, a packet size of 1KB data, and an initial 2 x RTT of "handshaking" before data is sent.
    1. The bandwidth is 2 Mbps, and data packets can be sent continuously.
      1. What is the transmit time per packet?
      2. How many packets do we need to send?
      3. What is the transmit time for all of the packets?
      4. What is the total time?

    2. The bandwidth is 2 Mbps, but after we finish sending each data packet we must wait one RTT before sent the next.
      1. How many packets do we need to send?
      2. How many RTTs must we wait?
      3. What is the total time?

    3. The bandwidth is "infinite", meaning that we take transmit time to be zero, and up to 20 packets can be sent per RTT.
      1. How many packets do we need send?
      2. How many RTTs must we wait for? (Hint: what is special about the last 20 packets?)
      3. What is the total time?

    4. The bandwidth is infinite, and during the first RTT we can send one packet (21-1), during the second RTT we can send two packets (22-1), during third we can send four (23-1), and so on.
      1. How many packets do we need send?
      2. How many iterations must we go through to send all the packets?
      3. How many RTTs must we wait for? (Hint: what is special about the last 20 packets?)
      4. What is the total time?


  • Problem 2 (20pts):
    Suppose that a certain communications protocol involves a per-packet overhead of 100 bytes for headers and framing. We send 1 million bytes of data using this protocol; however, one data byte is corrupted and the entire packet containing it is thus lost. Give the total number of overhead + loss bytes for packet data sizes of 1,000 , 5,000 , 10,000, and 20,000. Which size is optimal?


  • Problem 3 (20pts):
    Consider a simple protocol for transferring files over a link, After some initial negotiation, 'A' sends data packets of size 1 KB to 'B'; B then replies with an acknowledgement A always waits for each ACK before sending the next data packet; this is known as stop-and-wait. Packets that are overdue are presumed lost and are retransmitted.
    1. In the absence if any packet losses or duplication, explain why it is not necessary to include any "sequence number" data in the packet headers.
    2. Suppose that the link can lose occasional packets, but that packets do not always arrive in the order sent. Is a 2-bit sequence number (that is, N mod 4) enough for A and B to detect and resend any lost packets? Is a 1-bit sequence number enough?
    3. Now suppose that the link can deliver out of order, and that sometimes a packet can be delivered as much as 1 minute after subsequent packets. How does this change the sequence number requirements?


  • Problem 4 (10pts):
    Explain in your own words the term "hourglass design", and how does it relate to the design of IP.

  • Problem 5 (10pts):
    Explain in your own words the term "statistical multiplexing".

  • Problem 6 (20pts): Read the Linux manual page for traceroute. You don't need to understand all the options, but make sure you understand what it does. Visit the traceroute tools at www.traceroute.org and trace the path from three sites to www.colostate.edu. Pick places geographically as follows: one on the east coast, one on the west coast and one as close as possible to CSU (but different city). Look at the results of each run. Try to classify hops as local, access and backbone (where local means within an institution, access means between ISPs and backbone means within a Tier 1 provider). You may use both hop latency and the DNS name to make your determination. Justify your answer. Turn in results for all three paths.

Note: All homework assignments are individual assignments. Please do your own work.