August 1999
NI222 : NETWORKS AND THE INTERNET

QUESTION 4

Total Marks: 20 Marks

Click here to access other questions

SUGGESTED SOLUTIONS
Solutions and allocated marks are indicated in green.
Return to
Question 4

(a) Is TCP a point-to-point protocol, or a broadcast/multicast protocol? Explain your answer. [2]
TCP is a point-to-point. Every TCP connection involves exactly two entities.

 

(b) Suppose an application on host A must establish a TCP connection with an application on host B. What information does the application on host A need to pass to the transport (TCP) layer? [2]
The application must specify the IP address of host B, and also the TCP port address of the application on host B with which it needs to communicate.

 

(c) Explain the sequence of events which take place when the user of a web browser on host A requests a HTML document from a web server on host B. Which host initiates the connection? Which host terminates it?

Your answer should give details of the main events relevant to the transport layer, but need not mention the individual messages sent by the TCP service (see part (d)).

[6]
The browser's http layer will request a transport entity on host A, using some randomly chosen port X to open a connection to port 80 on host B. (Port 80 is the conventional TCP port for a web server, but others may be used ). The transport layer uses network layer services to send a request to host B, where a transport layer connection will be established if the application listening at port 80 is willing to participate. Thereafter, the desired HTML document can be transferred.

The client is always responsible for establishing the TCP connection. Either the client or server can terminate TCP connection. The server will terminate the TCP connection when it has finished transferring data; the client may terminate the connection at any time (e.g. if the web page turns out to be the wrong one).

 

(d) The TCP entities use a three-way handshake with sequence numbers in setting up a connection. Explain the messages which pass between the two entities in a successful set-up. [4]
Th initiating client selects a sequence number x, based on a counter or timer. It sends a message SYN (x) to the remote host (server). The server selects a sequence number of its own y, and responds with the message SYN (y), SCK (x+1). Finally, the client sends ACK (y+1).

 

(e) In TCP connection management, why is out-of-order data not acknowledged? [2]
If data is received out-of-order, the receiver will buffer it till the missing segment is received. Hence out-of-order data is not acknowledged.

 

(f) What does the TCP URGENT flag achieve? Why is it not useful for real-time applications, such as video conferencing? [4]
The URGENT flag indicates that the TCP packet containing it holds some urgent information, at a location given by a pointer in the packet's header. This does not affect the normal flow control, or the network layer's handling of the packer.

The URGENT flag therefore helps a particular piece of data within a connection to be dealt with promptly, but does nothing to help the data arrive quickly or consistently. Therefore it is no help at all for real-time video etc.