Homework 3

CS640, Fall 2014

Due: Friday, December 12, 2014 at 11:59pm

Put all answers in a single PDF, and submit the PDF to the Homework 3 dropbox on Learn @ UW. You should do the homework on your own, not in a group.


None at this time.

1) Radio Resource Control

Consider the Radio Resource Control (RRC) state machine shown below.

Assume a mobile device wants to transmit a total of 750KB of data.

  1. How many Joules (J) of energy are consumed in 90s if a device wants to transmit 250KB of data at time 0s, 30s, and 60s?
  2. How many Joules (J) of energy are consumed in 90s if a device wants to transmit 600KB of data at time 0s and 150KB of data at time 45s?

2)  TCP Behavior

The picture below shows the evolution of the congestion window of a regular TCP flow across time. The circled spots on the graph are “time instances of interest”. Answer the questions below.

  1. What purpose does TCP’s slow start phase serve? Identify all time intervals when the TCP flow is undergoing slow start.
  2. Say the size of the congestion window at time B is 60 packets. What is the value of the “ssthresh” variable of the TCP flow at time E?
  3. Are there situations (in the picture above) where fast retransmit is unable to help the TCP flow avoid a time-out? Why does this happen?
  4. The above TCP flow is running across a path with a total capacity of 8Mbps. The one-way delay of the path is 20ms. The TCP flow sends 1000B packets and there is no other cross traffic. Say the size of the congestion window at E and F are 40 and 50 packets respectively (just before loss occurred). What is the average sending rate in Mbps of the TCP flow for the E-F time interval? Assume that the flow is using the default congestion control parameters of current TCP implementations. Assume that there are no receiver-side buffer limitations.

3) Quality of Service

  1. What are two important differences between the integrated services and differentiated services architectures?
  2. Differentiated services relies on the Differentiated Services Code Point (DSCP) field in the IP header to specify the desired quality of service for a packet. What problem can arise when a packet traverses multiple autonomous systems (i.e., multiple networks run by different administrators)?

4)  Congestion Control and Resource Allocation

Alice and Bob are the only users in a network. Alice and Bob wish to share the network’s total capacity using a TCP-style, reliable, congestion controlled transport protocol. Assume that their congestion control algorithms and parameters are identical. The total capacity of the network is 40 units.

The figure below is an incomplete “phase plot”. As we saw in class, such plots can be used to track how the relative capacity allocations of Alice and Bob evolve for a given choice of congestion control algorithm. Assume that linear congestion control algorithm is used. That is,

For increase: W -> AI + BIW, and

For decrease: W -> AD + BDW
I ≥ 0, BI ≥ 1 and AD ≤ 0, BD ≤1

  1. Say the current capacity allocations are Alice=20, Bob=10 units, respectively. Assume that both users employ Purely-Multiplicative Increase, Purely-Additive Decrease (MIAD) based congestion control. Will Alice and Bob receive a fair share of the network resources eventually? Will Alice end up with more, or less, than twice Bob’s share? Use the phase plot to explain your answer.
  2. What linear congestion control algorithm does the current TCP implementation use? What are the default increase and decrease parameters? If Alice and Bob stuck with the current TCP implementation, what average allocations will they achieve in the long term?
  3. TCP’s current congestion control implementation (i.e. the algorithm and its parameters) could lead to highly inefficient use of network resources in two situations: (a) when the available network capacity is on the order of several Gbps; and (b) when TCP is being run across a satellite link. Explain why. Can you outline a simple fix to this problem (without affecting fairness)?