Homework 4

Due Wednesday 10/26 @ 11:59pm

Question 1: Stop-and-Wait

Host A is transmitting packets of size p bytes to host B over an unreliable link with capacity b Mbps using the Stop-and-Wait protocol. Host A typically receives an ACK from host B approximately r ms after a transmission, so timeout value is set to 1.5r ms.

  1. What throughput is achieved when no packets or ACKs are lost, and all ACKs are received exactly r ms after transmission begins (expressed as a function of b, r and p)? Your answer should be in Mbps.
  2. If each byte of the packet is corrupted with probability q while transiting the unreliable link, what is the probability that the entire packet arrives uncorrupted at host B (as a function of p and q)?
  3. What throughput is achieved when packets are corrupted with the probability computed in part 2 and host B does not acknowledge corrupted packets? Assume that acknowledgments are never corrupted.
  4. Suppose you are interested in purchasing a forward channel (to transmit packets) which corrupts packets with probability qf and a back channel (to transmit acknowledgments) which corrupts ACKs with probability qa. If your budget constrains you to purchase a pair of channels such that qf + qa = 0.25, what values of qf and qa should you choose, or are all choices equivalent?

Question 2: Sliding Window

Questions from Kurose-Ross 7th edition Ch 3. Pages 294-295

  1. P22. GBN protocol with sender window size 4 and a sequence number range of 1024...
  2. P23. GBN and SR protocols...
  3. P26. Enormous file...
  4. P27. TCP

Question 3: TCP

Suppose you are interested in monitoring a TCP flow from host A to host B by installing a network monitor at router C which sees both the data packets and the ACKs of the flow. For each packet that goes by, your monitor logs 1) the time, 2) whether the packet was data, ACK, SYN or FIN, and 3) the sequence numbers of packets in the forward direction and the Acknowledgment fields of packets in the reverse direction (ACKs). We call this time-ordered information a TCP event stream

  1. Consider this partial event stream viewed by a network monitor:
    TimeType of Packet Sequence Number / ACK
    21 Data 36000
    22 Data 37000
    25 ACK 37000
    26 ACK 38000
    30 Data 38000
    31 Data 39000
    33 Data 41000
    40 ACK 39000
    41 ACK 39000
    70 Data 38000

    1. Of the data packets witnessed at time 30-33, which arrived at B and which did not?
    2. Give the simplest explanation for the transmission we see at time 70.

  2. Now consider another TCP flow between A and B observed by C. Assume that the one-way latency between A and B is 40 ms, and that C is 30 ms away from A and 10 ms away from B. Also assume that the time to put bits on the wire is negligible. Now consider a TCP flow in which the three-way handshake is initiated by A, and in which A has 3KB of data to send to B. Assume that the ISN chosen by A is 8999 and that A sends 1KB payloads. During this transfer, the second data packet is lost somewhere between A and C, and is retransmitted after a 200ms timeout. Provide the TCP event stream that C witnesses for this transfer. [Hint: Start with a regular timeline diagram, and then translate to event stream table format.]
  3. Assuming actual round-trip time fluctuations are small, how could you estimate the RTT of a monitored connection using an event stream from the middle of the network (and without any other information)? Be as specific as you can about which data packets and ACKs in a stream you will use.

What to Submit

Submit your username-hw04.doc or username-hw04.pdf or username-hw04.txt file with the the answers to these questions on Moodle

Grading Criteria

Refer to the grading criteria file: hw04.criteria.

Academic Honesty and Collaboration

Cooperation is recommended in understanding programming concepts and system features. But the actual solution of the assignments including all programming must be your individual work. For example, copying without attribution any part of someone else's program is plagiarism, even if you have modified the code. The University takes acts of cheating and plagiarism very seriously.