Loading in 2 Seconds...
Loading in 2 Seconds...
Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.
Chapter 11: Flow Control – can occur at layer 2 (data link) and at layer 4 (transport) • You saw the need in the most recent assignment. • Data packets can be damaged, but it’s not only data that can be changed. • If the sequence number is changed how do you know what packet was damaged? • What if the acknowledgment is damaged?
What if a data packet is lost? • What if an acknowledgment is lost? • How many data packets can we acknowledge with one acknowledgment packet? • Book does some calculation of bit rates; you can skip that stuff. We’ll focus on the protocols. • Main thing is that the download speed is a function of not only the raw bit rate, but the flow control protocol used.
Recall the layering of protocols • Frame – layer 2 unit of transmission • Packet – layer 3 unit of transmission • Text uses layer 2 context for flow control, but it does occur at layer 4 (TCP) as well
Byte oriented • Frame interpreted as a sequence of bytes • Each byte means something • Old protocol typical of transferring text files • Flags (e.g. 01111110) delimit start and end of frame
Bit oriented • More typical of streaming, binary files, graphics, etc • Frame interpreted as a bit stream • Start and end of frame marked with a flag=01111110
Again, what if flag is part of the data? • Stuff a bogus 0 after 5 consecutive 1s.
Flow control Flow control refers to a set of procedures used to restrict the amount of data that the sender can send before waiting for acknowledgment.
Acronyms • ARQ – Automatic Repeat reQuest • ACK – acknowledgment • NAK – negative acknowledgment (indicates a problem with a frame – damaged or never arrived)
Figure 11.6 The design of the simplest protocol with no flow or error control • Has similarities to a streaming protocol
Assumes no errors in frames • Assumes frames are not lost • Assumes Acks are not lost
Each frame has a sequence number • Sequence nos range from 0 to 2m-1, where m is the number of bits used to represent the sequence number • If m=3, sequence nos are as follows 0,….7, 0,….7, 0,….7, etc
ARQ: adds simple error control • Distinguish Ack frames from NAK frames • Implement a timer if neither of the above does not arrive in timely fashion
(continued) Algorithm 11.5Sender-site algorithm for Stop-and-Wait ARQ • Option: If a NAK frame arrives, proceed as in the timeout
Algorithm 11.6Receiver-site algorithm for Stop-and-Wait ARQ Protocol • Option: Doan error check and send either an Ack or NAK frame
What if an ack is not lost but just delayed past when the timer expires?