August
1999 QUESTION 4 Total Marks: 20 Marks |
Click here to access other
questions
SUGGESTED SOLUTIONS |
(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.
|