Data Communications I, Spring 2004

Exercise 4 (18th February 2004)

  1. Answer shortly the following questions. The answers are usually almost directly found from the course book.
    1. What is three-way handshake? Why is it necessary to use three-way handshake in TCP instead of two-way handshake?
    2. What is meant by slow start and fast recovery?
    3. Why, in the TCP congestion control, it is so important to adjust the retransmission timer properly? How is the proper value for the timer is achieved? What happens in the congestion control if the retransmission timer is set to a value too large or a too small?

  2. The operation of sliding window protocols
    Suppose an error burst destroys frame D(n+1), the acknowledgement of the previous frame (D(n)) and also the next acknowlegdement sent. Simulate, in the situation, the operation of
    1. the Go-Back -N protocol,
    2. the selective repeat protocol.
    3. Would, in this situation, the negative acknowledgement NAK be useful for either of these protocols? Could there be any disadvantages when using NAK?
    4. Is it necessary to have a timer in both these protocols?

  3. Restrictions to the TCP performance
    1. In the TCP protocol the MSS (Maximum segment size) is usually 536 bytes, the time-to live for a segment 4 minutes. The sequence number field is 32 bits. TCP gives sequence numbers to bytes and in each segment the sequence mumber is the number of the first byte of the segment. What is the maximum line speed of one TCP line? Hint: Numbers can be reused first when it is sure that the previous segments with the same numbers aren't anymore in the network.
    2. A TCP machine is sending windows of 65 535 bytes over 1-Gbps channel that has a 10-msec one-way delay. What is the maximum throughput achievable? What is the line's efficiency?

  4. Slow start
    1. Why is slow start used? What are the advantages? Can it have disadvantages? If yes, then in what situations?
    2. Consider the effect of using slow start on a line with 100-msec round-trip time and no congestion, so the acknowledgements arrive in time. The receive window is 18 KB and the maximum segment size is 2 KB. The threshold value at first is 30 KB. How long does it take before the first full window can be sent?
    3. After having sent the full reveiver window of segments, the sender does not receive the acknowledgement in time, and the retransmission timer times out. How does the sender now continue to send after that?

  5. An email application is sending a rather large email message containing pictures into the email application of the receiver using TCP protocol. Suppose that there are no errors or other problems in the transmission. Explain what happens in the TCP layer, what TCP segments are sent, in which order and when between the sender and receiver mail systems.

  6. Flooding
    1. Suppose that, in the network below, the node A sends a packet using flooding. Presume also that for a packet to cross a link it takes one time unit for each link and the sending and receiving of packets does not consume any time. How does the sending of packets continue? How many packets in total has been sent after four time units?
    2. What different ways there are to stop the continuous and increasing sending of packets in flooding?
    3. In which kind of situations is flooding useful?