August 1999
AN215 : ADVANCED NETWORKING

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) What is flow control and why is it needed in data communications. [2]
The sending and receiving machines may not be operating at the same speed, hence some sort of control is needed to regulate the flow between them to avoid the receiving machine being swamped by (and loosing some) data from the sending machine.

 

(b) How does the stop and wait protocol work? [4]
The sender transmits one frame and waits foe an acknowledgement. Once the receiver receives a frame, assuming error free transmission, it will send back an acknowledgement to the sender. Upon receiving an acknowledgement, transmitter transmits the next frame. If the received frame contains errors, it will not be acknowledged.

 

(c) Another flow control protocol is known as the sliding window protocol. How does this scheme operate? Explain your answer with the aid of an example and diagrams. [8]
Sender maintains a list of blocks sent but not yet acknowledged. Receiver maintains a list of blocks it can accept. The parameter used is the window size. Sender sends blocks up to window size, and then waits until acknowledgement is received. Then, further blocks can be sent, up to window size.

e.g Sender window size=2 and receiver window size= 1, assuming 4 frames to be sent.

Sender transmits block 0 receiver awaits block 0.

Sender transmits block 1, and now has to wait for acknowledgement before it can transmit again. The receiver gets block 0 and send out ACK(0) and advances it window.

Sender gets ACK(0), sends out block 2. Receiver gets block 1, sends ACK(1) and advances window.

Blocks sent and received normally.

 

(d) Flow control is a function of which layer in the OSI reference model? Describe the other main functions of this layer, and the main service it provides. [6]
The transport layer provides a reliable, connection-oriented service to the session layer. This may be provided over the top of various different networks, with varying quality of service.

Transport functions include error-detection and recovery, breaking into blocks, sequencing, concatenation etc. , expedited data transfer, connection establishment.