Upload
erica-mckenzie
View
231
Download
4
Embed Size (px)
Citation preview
Spring 2006 Computer Networks 2
Flow Control
Flow control – controling the sender not to overflow the receiver Buffers – temporary memory where the receiver
stores data sent by the sender before it process them
Buffers can be filled in with data when sender is running on the fast (or lightly loaded
machine) and the reciever is running on a slow (or highly loaded) machine
In case no buffers are available, data can be lost. Therefore protocols need to control the sender not to
overflow the reciever Protocols for flow control can exist at the data-
link layer or the upper layers
Spring 2006 Computer Networks 3
Error Control
Errors can appear due to: Impairments of transmission media Loss of data because of limitted buffer
space Other unpredictable circumastances
It is necessary that the receiver has mechanisms to discover the occurence of errors When the error is detected, the receiver
can ask the sender to retransmit data.
Spring 2006 Computer Networks 4
How to Ask for Retransmission?
Two possibilities When the frame is recieved without errors, the
receiver can send an acknowledgement (ACK) When there are errors in the frame, the receiver can
send a negative acknowledgement (NACK)
ACKs are used in data communication It is easier to detect lost frames when ACKs are used Any time error is detected the data are retransmitted The process is called ARQ (Automated Repeated
reQuest)
Spring 2006 Computer Networks 5
How long to wait for ACK?
When a frame is sent the sender starts a timer The timer is used to detect frame loss or
acknowledgement loss When the timer expires, the sender knows that it
needs to send the frame again
The sender keeps a copy of the frame in its sending buffers
For frame identification sequence number are used Sequence numbers are carried as a part of the
header
Spring 2006 Computer Networks 6
Protocols for Flow and Error Control
Stop-and-Wait A single frame is sent at a time Inefficient with respect to the use of the
available bandwidth
Sliding window Several frames are sent at a time and after
each ACK is received a new frame is sent Effitiency is increased, but complexity is
increased, too
Spring 2006 Computer Networks 7
Stop-and-Wait ARQ
The sending device keeps a copy of the last frame until it receives an acknowledgement for that frame Keeping this copy allows the sender to
retransmit lost or damaged frames
For identification purposes, both data frames and ACKs are numbered alternatively 0 and 1. A data frame is acknowledged by an ACK1
frame, indicating that the receiver has has got the frame 0 and is expecting the frame 1
Spring 2006 Computer Networks 8
Stop-and-wait ARQ (no lost frames or acknowledgements)
Sender Receiver
.
.
.
Tim
e
Data 0
ACK 1
Data 1
ACK 0
Data 0
Spring 2006 Computer Networks 9
Stop-and-wait ARQ (a frame is lost or damaged)
Sender
Timeout
ReceiverT
ime
Data 0
ACK 1
Data 0
.
.
.
Spring 2006 Computer Networks 10
Stop-and-wait ARQ (ACK is lost or damaged)
ReceiverT
ime
Data 0
ACK 1
Data 0
Timeout
.
.
.
Sender
ACK 1
Spring 2006 Computer Networks 11
Performace of Stop-and-Wait Protocol
Good for relatively short links for which the ratio between the transmission and propagation time is very small This includes short links or longer links with low data
rates The limitation is a consequense of the rule to wait for
an acknowledgement before sending another frame
Require one-bit storage for the sequence numbers
Inadequate for longer links and higher data rates
Spring 2006 Computer Networks 12
Improving the Stop-and-wait Protocol
Stop-and-wait is inefficient if one channel is used for frames and the other for acknowledgements.
Piggybacking ACK is attached to the data frame in the oposit
direction, thus using both channels for frames and for ACKs .
Sliding windows A set of frames are sent without the
acknowledgement. The number of frames of this set can be used for the flow control purposes, too.
Spring 2006 Computer Networks 13
Sliding Window
...
Tim
e
...
ReceiverSender
The number of frames sent without acknowledgement is called the window size.
If the window size is w = 2n, than, the number of sequence numbers for the frames is in the range from 0 to 2n-1.
n-bit field is required in the frame to store the sequence number
Spring 2006 Computer Networks 14
Sliding Window (Cont.)
Problems arise when some of the frames are discarded. Two strategies are developed to deal with this problem Go back n strategy
The reciever simply discards all frames after the damaged frame without sending acknowledgement.
Selective repeat strategy The receiver keeps all the frames after the damaged
frame. When sender finaly notice that something is wrong it retransmits the bad frame.
The two strategies are trade-offs between bandwidth and data-link buffer space.
Spring 2006 Computer Networks 15
Go Back n Strategy
Sending window of size n, receiving window of size 1. The sender has to buffer n frames, bandwidth is
wasted.
Spring 2006 Computer Networks 16
Selective Repeat Strategy
Only retransmit the frames that are in error Both sending and receiving window are of
size n
Spring 2006 Computer Networks 17
Visualisation of Data-link Protocols
You can check the animation of stop-and-wait and sliding window protocol using the java applet presented on the following page
http://www.cs.bham.ac.uk/%7Egkt/Teaching/SEM335/dlsim/Simulation.html
Spring 2006 Computer Networks 18
Example Data-link Protocols
Character oriented protocols Kermit, X modem Simple transfer protocols used extensively
for PC to PC communication
Bit oriented protocols HDLC -
Data-link protocols in the Internet (SLIP and PPP)
ATM and Data-link protocols in ATM
Spring 2006 Computer Networks 19
SLIP (Serial Line IP)
Predecessor to PPP (not an Internet standard)
Very simple, but has some serious problems Supports only IP as a network layer protocol Does not do any error detection or
correction (left to the upper protocols) Each side must know the other’s IP address Does not provide any form of authentication
Spring 2006 Computer Networks 20
PPP (Point-to-Point Protocol)
Internet Standard (RFC1661) Handles error detection Supports multiple protocols in the
network layer (IP, IPX, OSI CLNP, XNS) Allows IP addresses to be nagotiated at
connection time Used for dial-up and for leased lines
Spring 2006 Computer Networks 21
Framing Data Link Layer packets are called
frames. Frames are always transmitted between
directly connected ends (there is a physical connection).
Spring 2006 Computer Networks 22
Synchronization
A sequence of binary digit, transmitted at some regular rate over a link, has to be recovered at the reciever
Synchronization Clocking or timing (the instance at which the
reciever will be looking for individual bits) is an important issue
Different places where synchronization is needed Bit synchronization (start of bit) Character or byte synchronization (start of byte or
character) Frame synchronization (start of frame)
Spring 2006 Computer Networks 23
Two Approaches Exist
Asynchronous transmission The reciever has a free-running clock (ussually
fixed multiple of the sender clock). Short bit sequences are emitted to allow the
reciever to know when to start looking for bits. The receiver clock assumes to maintain correct
timing over short spans of few bits. Synchronous transmission
Clock information has to be embeded within the bit stream, so that the reciever can either extract the clock information, or use the embeded information to fine tune its clock.
The clock signal can be sent via separate channel (additional bandwidth required).
Spring 2006 Computer Networks 24
Asynchronous Transmission
If the line is in the idle state (some electrical state) and one 7 or 8 bit group need to be sent, these bits are preceded by a start bit and followed by one to two stop bits.
The receiver continously samples at rate nominally N times the transmit clock rate.
It is looking for the first transition from ”high” to ”low” after its previous idle or ”stop” bits.
After this, it sets the next sampling instant to be half of the transmitter clock period (this should be near the center of the start bit).
It then samples at multiples of N receiver clock pulses until ending stop bits return the line to logic high
Spring 2006 Computer Networks 26
Synchronous Transmission
Assynchronous transmittion is ineficient (extra overhead bits needed) and cannot be used at high transmittion rates.
In synchronous transmission we tailor the way in which binary data is encoded onto the electrical signal to obtain a signal with properties such that the receiver can receive the clock information.
Spring 2006 Computer Networks 27
Frame Synchronization
Character count Specify number of characters in the header Not convinient because of possibility to get out of
synchronization when there is a transmission error Starting and ending characters
STX: start-of-text character signal at start of frame, ETX: end-of-text character signal at start of frame
Starting and ending flags Each frame starts and ends with a special bit pattern called
a flag byte Using special coding sheme
If Manchester encoding sheme is used the high-high and low-low combinations can be used for this purpose
Spring 2006 Computer Networks 28
Character and Bit Stuffing
STX and ETX can be data DLE-STX signal for start of frame, DLE-ETX
signal for end of frame DLE can be data, thus some solution is necessary
Character stuffing – insert a DLE character for any DLE character in data
Bit stuffing – analogous to character stuffing If the flag byte = 01111110, than after five 1’s a
0 is inserted in the data string Stuffed 0s are removed at the receiver