Computing 205/406/IT8: Tutorial #02

Tutorial #2

  1. What are the characteristics of a reliable stream service as implemented in TCP?

  2. The TCP protocol is commonly used in the context of a client-server model of communication. Describe briefly what is meant by this term. In particular, what characterises a server process? How does a client process use the facilities provided by a server?

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

  4. 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?

  5. The complexity of the TCP connection mechanism 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.

  6. 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.

  7. The following gives the 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?

Practical exercises:


This tutorial is also available in PostScript format.
Phil Scott