Tutorial #10

  1. What are the characteristics of the service provided by TCP to application processes? Give three important aspects.

  2. Explain briefly how TCP ensures reliable data transmission whilst using the unreliable IP service to deliver segments.

  3. The TCP segment header contains both a sequence number and an acknowledgement number. Discuss the significance of this.

  4. Lost TCP acknowledgements do not necessarily force retransmissions. Explain why.

  5. It is (usually) possible, by examining the contents of the two "port" fields of a TCP segment to discover whether this particular segment came from a server process or a client. How?

  6. What is UDP? In the lecture, some examples of where UDP is used were discussed -- in particular, one of the most appropriate uses of UDP occurs in multi-player (networked) games. Why is it likely to be particularly useful in this application?

  7. The TCP disconection mechanism (not described in the lecture) is particularly complex. This complexity is due, in part, to what is sometimes referred to as the "Red Army - Blue Army" problem. Discuss this problem in the tutorial session, and explain why TCP takes the approach it does. NB: part of the problem is that TCP must not (under any circumstances) lose application data.

  8. When a segment (or its corresponding acknowledgement) is lost, the sender will time out and resend. Participate in a discussion in the tutorial about how long the sender should wait before resending.

  9. The following packet dump shows the complete contents of a TCP segment, obtained using a network analyser. The values are given in hexadecimal.
        09 6c 00 19 45 6d 70 01 3c 32 28 7d 50 18 10 00
        a6 bd 00 00 45 48 4c 4f 20 72 65 64 67 75 6d 2e
        62 65 6e 64 69 67 6f 2e 6c 61 74 72 6f 62 65 2e
        65 64 75 2e 61 75 0d 0a
    What are the source and destination port numbers, the sequence and acknowledgement numbers and the contents of the data area? Did this segment probably originate from a client or a server process?
    Note that if you are unfamiliar with hexadecimal notation you may safely skip this question.

  10. What do we mean by the term "in-flight" in relation to the transmission of TCP segments? What is the advantage of having multiple segments "in-flight" at a time?

  11. (Research) The initial sequence numbers selected at TCP connection establishment are required to be random - ie, unpredictable. Why is this important? The answer is complex, and you're not expected to understand it!

  12. (Research) It's clear that TCP can handle dropped segments. What's not so obvious is that TCP itself forces the network to drop them! What aspects of TCP contribute to this?

La Trobe Uni Logo

Copyright 2004 by Philip Scott, La Trobe University.
Valid HTML 3.2!