Download presentation
Presentation is loading. Please wait.
Published byCynthia Gilbert Modified over 9 years ago
1
Data Link Layer - 2 Dr. Sanjay P. Ahuja, Ph.D. Fidelity National Financial Distinguished Professor of CIS School of Computing, UNF
2
Flow Control Flow Control is a technique to ensure that the sender does not overwhelm the receiver. Flow control in the absence of errors. We assume that: No frames are lost and none arrive with errors. Frames arrive in the order they were sent. The simplest flow control is Stop-and-Wait flow control. 1. A sender sends a frame. 2. After reception, receiver indicates its willingness to accept another frame by sending an ACK. 3. Sender must wait until it receives an ACK before sending the next frame. 4. Receiver can thus stop the flow of data by simply withholding the ACK. This works fine when the message is sent in large frames, else it can be very inefficient. Sender Receiver Buffer
3
Flow Control Large blocks of data are broken into smaller blocks of data and sent in many frames because: The longer the transmission, the greater the chance of error On a shared media, it is desirable not to allow one station to occupy the line for very long Buffer size of the receiver may be limited
4
Stop and Wait Protocol Analysis –The Effect of Propagation Delay and Transmission Rate Consider a point-to-point link using Stop and Wait scheme.
5
Stop and Wait Protocol Analysis –The Effect of Propagation Delay and Transmission Rate Consider two extreme examples: 1. Satellite link with t prop = 270 mseconds. Assume data rate = 56 kbps and a 4000 bit frame is to be sent. t frame = 4000 / 56000 = 0.071 seconds = 71 mseconds a = 270 / 71 = 3.8 Efficiency or utilization = 1 / (1 + 2 * (3.8)) = 0.12 or 12% 2. LAN with data rate = 1 Mbps, frame size = 500 bits, distance of link = 1 km. Given, v = 2 * 10 8 m/sec t frame = 500 / 10 6 = 5 / 10 4 = 5 * 10 -4 t prop = d / v = 1000 / 2 * 10 8 = 1 / 2 * 10 5 = 0.5 * 10 -5 = 5 * 10 -6 a = t prop / t frame = 5 * 10 -6 / 5 * 10 -4 = 0.01 Efficiency or utilization = 1 / (1 + 2 * (0.01)) = 1 / 1.02 = 0.98 or 98% Here, t prop < t frame by a factor of 100, so the first bit of frame has already reached end of link while the frame is still being transmitted and so utilization approaches 100%.
6
Stop and Wait Protocol Analysis –The Effect of Propagation Delay and Transmission Rate Conclusions with regards to the line utilization of the Stop and Wait Protocol: 1. The combination of long transmit time (propagation delay), high data rate (R), and short frame length (L) is disastrous in terms of line efficiency. 2. This protocol provides adequate line utilization in some cases but for other cases, another protocol, namely, the Sliding Window Protocol is used.
7
Sliding Window Protocol Say two stations A, B are connected via a full duplex link. B allocates buffer space for n frames instead of just one. So A can send n frames without waiting for an ACK. Each frame has a sequence # to keep track of frames which have been received. B acknowledges a frame by sending an ACK that includes the sequence # of the next frame expected. This ACK also implicitly indicates that B is prepared to receive the next n frames beginning with the number specified. This scheme can also acknowledge multiple frames. E.g. B receives frames 2,3, and 4 but withholds ACK till it receives frame 4. Then it sends ACK with sequence #5 thereby acknowledging frames 2,3,4. A maintains a list of sequence #s it is allowed to send and B maintains a list of sequence #s it is prepared to receive. Each of these lists can be thought as a window of frames. This protocol is called sliding window protocol.
8
Sliding Window Protocol The sequence # occupies a field in a frame. If sequence # field is k-bits wide, then sequence # can be between 0 to 2 k -1. If field = 3 bits then sequence #s can range from 0 – 7. The next frame # is again 0 (mod 2 k ). S EQ#DATA….
10
Sliding Window Protocol
11
This mechanism provides flow control since the receiver must only be able to accommodate at most n frames beyond the one it has last acknowledged. The receiver can also completely cut off the sender by sending a Receive Not Ready (RNR) message. E.g. RNR5 means it has received all frames up to #4 but is unable to accept any more. Later the receiver can send a normal ACK to reopen the window. A window size of 7 is used for most applications. A window size of 127 is used for some satellite links.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.