cisco presentation guide - vsb.czwiki.cs.vsb.cz/pos/images/9/98/errorcontrol.pdf · the receiving...
TRANSCRIPT
![Page 1: Cisco Presentation Guide - vsb.czwiki.cs.vsb.cz/pos/images/9/98/ErrorControl.pdf · The receiving window size is 1 frame If a frame in a sending window times out, the transmitter](https://reader034.vdocuments.site/reader034/viewer/2022043013/5fada41ce602d429b02111c3/html5/thumbnails/1.jpg)
Error-Control Methods
Computer NetworksLecture 3
![Page 2: Cisco Presentation Guide - vsb.czwiki.cs.vsb.cz/pos/images/9/98/ErrorControl.pdf · The receiving window size is 1 frame If a frame in a sending window times out, the transmitter](https://reader034.vdocuments.site/reader034/viewer/2022043013/5fada41ce602d429b02111c3/html5/thumbnails/2.jpg)
2
Feedback Implementation Options
Positive (ACK) and negative (NAK) acknowledgments
Sending back the CRC of the received packet
Sending back the whole data frame
Note that both data packets and acknowledgments
may be damaged or lost in during the transfer
![Page 3: Cisco Presentation Guide - vsb.czwiki.cs.vsb.cz/pos/images/9/98/ErrorControl.pdf · The receiving window size is 1 frame If a frame in a sending window times out, the transmitter](https://reader034.vdocuments.site/reader034/viewer/2022043013/5fada41ce602d429b02111c3/html5/thumbnails/3.jpg)
3
Packet Numbering
Used to ensure the proper packet sequencing
Allows to detect missing packets
Protects against duplicated packets coming to the receiver
e.g. in case of the packet retransmissions caused by lost ACKs
![Page 4: Cisco Presentation Guide - vsb.czwiki.cs.vsb.cz/pos/images/9/98/ErrorControl.pdf · The receiving window size is 1 frame If a frame in a sending window times out, the transmitter](https://reader034.vdocuments.site/reader034/viewer/2022043013/5fada41ce602d429b02111c3/html5/thumbnails/4.jpg)
4
Communication Protocol
A set of syntactic and semantic rules for communication of two or more devices
Includes definition of timing, e.g. timeout handling
May include procedures to detect/correct errors
![Page 5: Cisco Presentation Guide - vsb.czwiki.cs.vsb.cz/pos/images/9/98/ErrorControl.pdf · The receiving window size is 1 frame If a frame in a sending window times out, the transmitter](https://reader034.vdocuments.site/reader034/viewer/2022043013/5fada41ce602d429b02111c3/html5/thumbnails/5.jpg)
5
Error Control Methods
Common Protocols to EnsureError-Free Communication between
Transmitter and Receiver
![Page 6: Cisco Presentation Guide - vsb.czwiki.cs.vsb.cz/pos/images/9/98/ErrorControl.pdf · The receiving window size is 1 frame If a frame in a sending window times out, the transmitter](https://reader034.vdocuments.site/reader034/viewer/2022043013/5fada41ce602d429b02111c3/html5/thumbnails/6.jpg)
6
Acknowledgment Types
positive (ACK) – acknowledges a correct receptiontransmitter is blocked if ACK is lost
negative (NAK) – informs about reception of erroneous packet
it is not sufficient by itself as a error-control method, but makes the error detection faster
combined approach – uses both ACKs and NAKs
![Page 7: Cisco Presentation Guide - vsb.czwiki.cs.vsb.cz/pos/images/9/98/ErrorControl.pdf · The receiving window size is 1 frame If a frame in a sending window times out, the transmitter](https://reader034.vdocuments.site/reader034/viewer/2022043013/5fada41ce602d429b02111c3/html5/thumbnails/7.jpg)
7
Retransmission Timeouts
The problem of transmitter blocking in case of lost ACK may be solved by introduction of a waiting timeout
Automatic Repeat reQuest (ARQ) methodsComplicates the formal protocol description
It is necessary to introduce time context
Selection of an optimal timeout duration is a tradeoff between 2 conflicting requirements: a need to detect error and retransmit lost/damaged packet as soon as possibleavoiding of unnecessary network load caused by early retransmissions
![Page 8: Cisco Presentation Guide - vsb.czwiki.cs.vsb.cz/pos/images/9/98/ErrorControl.pdf · The receiving window size is 1 frame If a frame in a sending window times out, the transmitter](https://reader034.vdocuments.site/reader034/viewer/2022043013/5fada41ce602d429b02111c3/html5/thumbnails/8.jpg)
8
“Two Generals' Problem”
State synchronization over an unreliable channelmay not be reached with a finite number of message exchanges
A receiver is never sure whether its acknowledgment successfully arrived to the transmitter
![Page 9: Cisco Presentation Guide - vsb.czwiki.cs.vsb.cz/pos/images/9/98/ErrorControl.pdf · The receiving window size is 1 frame If a frame in a sending window times out, the transmitter](https://reader034.vdocuments.site/reader034/viewer/2022043013/5fada41ce602d429b02111c3/html5/thumbnails/9.jpg)
9
Error-Control Protocol Classification (1)
Stop-and-wait Transmitter sends just one frame at a time and waits for its acknowledgmentIf no acknowledgement comes during a specified time period, the frame is automatically repeated
Automatic Repeat reQuest (ARQ)Very inefficient on channels with a long propagation delay
![Page 10: Cisco Presentation Guide - vsb.czwiki.cs.vsb.cz/pos/images/9/98/ErrorControl.pdf · The receiving window size is 1 frame If a frame in a sending window times out, the transmitter](https://reader034.vdocuments.site/reader034/viewer/2022043013/5fada41ce602d429b02111c3/html5/thumbnails/10.jpg)
10
Error-Control Protocol Classification (2)PipeliningNecessary for links with a long propagation delay
also in case of communication over intermediate systems, as in the Internet
A transmitter may send a group of frames without waiting for individual frames' ACKs 100% efficiency may be reached
on full-duplex linksACKs are commonly treated as inclusive
i.e. acknowledge all packets up to the specified sequence number (note the integer overflow issues)Protects against the situation when some ACKs are lostSaves the bandwidth by limiting the number of ACKsThere is a possibility to delay ACK for some time and combine ACKs of multiple data frames that arrived during the delay interval
![Page 11: Cisco Presentation Guide - vsb.czwiki.cs.vsb.cz/pos/images/9/98/ErrorControl.pdf · The receiving window size is 1 frame If a frame in a sending window times out, the transmitter](https://reader034.vdocuments.site/reader034/viewer/2022043013/5fada41ce602d429b02111c3/html5/thumbnails/11.jpg)
11
Sliding Window Protocols
![Page 12: Cisco Presentation Guide - vsb.czwiki.cs.vsb.cz/pos/images/9/98/ErrorControl.pdf · The receiving window size is 1 frame If a frame in a sending window times out, the transmitter](https://reader034.vdocuments.site/reader034/viewer/2022043013/5fada41ce602d429b02111c3/html5/thumbnails/12.jpg)
12
Sliding Window – Basic Principle (1)
Transmitter may send multiple frames without waiting for an ACKThe maximum number is given by the sending window size
A separate timeout timer is started after transmission of every framea frame is maintained in a sending window until it is acknowledgedif a timeout expires, the frame is retransmitted
![Page 13: Cisco Presentation Guide - vsb.czwiki.cs.vsb.cz/pos/images/9/98/ErrorControl.pdf · The receiving window size is 1 frame If a frame in a sending window times out, the transmitter](https://reader034.vdocuments.site/reader034/viewer/2022043013/5fada41ce602d429b02111c3/html5/thumbnails/13.jpg)
13
Sliding Window – Basic Principle (2)
Receiver sends ACK after each successfully received frameIn case of reception of an erroneous frame, receiver sends NAK or silently discards it, causing the transmitter's timeout to expire
A transmitter can discard the „oldest“ frame from the sending window after it is acknowledgedand shift the window, i.e accept the another frame for transmission from the upper layer
![Page 14: Cisco Presentation Guide - vsb.czwiki.cs.vsb.cz/pos/images/9/98/ErrorControl.pdf · The receiving window size is 1 frame If a frame in a sending window times out, the transmitter](https://reader034.vdocuments.site/reader034/viewer/2022043013/5fada41ce602d429b02111c3/html5/thumbnails/14.jpg)
14
Buffers in Sliding Window
Sending Window – maintains the frames that were transmitted but were not acknowledged yetthey might have been potentially lost and thus have to be retransmitted again in case of timeout expiration
Receiving Window – maintains the received frames that could not be passed to the upper layer because previous packet(s) of the sequence are still missing
Both windows "slide" over a set of sequence numbers
![Page 15: Cisco Presentation Guide - vsb.czwiki.cs.vsb.cz/pos/images/9/98/ErrorControl.pdf · The receiving window size is 1 frame If a frame in a sending window times out, the transmitter](https://reader034.vdocuments.site/reader034/viewer/2022043013/5fada41ce602d429b02111c3/html5/thumbnails/15.jpg)
15
Sliding Window Example
Sent and ACK-ed frames
Sent but still unacknowledged
frames
Future frames waiting in
upper layer
1 2 3 4 5 6
Transmitter Receiver
Receiving WindowSending Window
Application Application
6 1 2
4
53
345
Seq #
![Page 16: Cisco Presentation Guide - vsb.czwiki.cs.vsb.cz/pos/images/9/98/ErrorControl.pdf · The receiving window size is 1 frame If a frame in a sending window times out, the transmitter](https://reader034.vdocuments.site/reader034/viewer/2022043013/5fada41ce602d429b02111c3/html5/thumbnails/16.jpg)
16
Alternative Approaches of Processing Out-of-order in Sliding Window
Go-Back-N
Selective Repeat
The methods differ in the way they react to the erroneous or lost frameThe receiver may detect a lost frame when the following frame with a greater sequence number arrives
![Page 17: Cisco Presentation Guide - vsb.czwiki.cs.vsb.cz/pos/images/9/98/ErrorControl.pdf · The receiving window size is 1 frame If a frame in a sending window times out, the transmitter](https://reader034.vdocuments.site/reader034/viewer/2022043013/5fada41ce602d429b02111c3/html5/thumbnails/17.jpg)
17
Go-Back-NReceiver discards all frames following the missing oneReceiver does not ACK such frames (it still repeats ACK for the last correctly received frame)
The receiving window size is 1 frameIf a frame in a sending window times out, the transmitter also retransmits all the following frames in sending window
even in case they arrived to the receiver, the receiver discarded them
The receiver implementation is simple, but wastes the network capacity
![Page 18: Cisco Presentation Guide - vsb.czwiki.cs.vsb.cz/pos/images/9/98/ErrorControl.pdf · The receiving window size is 1 frame If a frame in a sending window times out, the transmitter](https://reader034.vdocuments.site/reader034/viewer/2022043013/5fada41ce602d429b02111c3/html5/thumbnails/18.jpg)
18
Go-back-N: An Example
![Page 19: Cisco Presentation Guide - vsb.czwiki.cs.vsb.cz/pos/images/9/98/ErrorControl.pdf · The receiving window size is 1 frame If a frame in a sending window times out, the transmitter](https://reader034.vdocuments.site/reader034/viewer/2022043013/5fada41ce602d429b02111c3/html5/thumbnails/19.jpg)
19
Go-back-N: Example of Usage of Sending and Receiving Window
![Page 20: Cisco Presentation Guide - vsb.czwiki.cs.vsb.cz/pos/images/9/98/ErrorControl.pdf · The receiving window size is 1 frame If a frame in a sending window times out, the transmitter](https://reader034.vdocuments.site/reader034/viewer/2022043013/5fada41ce602d429b02111c3/html5/thumbnails/20.jpg)
20
Selective Repeat
Receiver buffers (correct) out-of-order frames If there is a frame missing in a sequence, passing of data to the upper layer is delayed until the successful reception of (the retransmitted) frame
If a timeout expires, the sender selectively repeats just the single frameReceiver always acknowledges the last frame of the correctly received frame sequenceThe operation may be optimized by sending NAKs for out-of-order or erroneous frames
transmitter does not have to wait for timeout expiration before retransmission
![Page 21: Cisco Presentation Guide - vsb.czwiki.cs.vsb.cz/pos/images/9/98/ErrorControl.pdf · The receiving window size is 1 frame If a frame in a sending window times out, the transmitter](https://reader034.vdocuments.site/reader034/viewer/2022043013/5fada41ce602d429b02111c3/html5/thumbnails/21.jpg)
21
Selective Repeat: An Example with NAK
![Page 22: Cisco Presentation Guide - vsb.czwiki.cs.vsb.cz/pos/images/9/98/ErrorControl.pdf · The receiving window size is 1 frame If a frame in a sending window times out, the transmitter](https://reader034.vdocuments.site/reader034/viewer/2022043013/5fada41ce602d429b02111c3/html5/thumbnails/22.jpg)
22
Relationship between Sending Window Size and a Number of Utilized Sequence Numbers
If w is the sending window size and n is a number of sequence numbers:
w<n for Go-back-Notherwise we would not be able to detect loss of all frames in the sending window
w <= n/2 for Selective repeat: Because there is an overlap of the receiving and sending window
![Page 23: Cisco Presentation Guide - vsb.czwiki.cs.vsb.cz/pos/images/9/98/ErrorControl.pdf · The receiving window size is 1 frame If a frame in a sending window times out, the transmitter](https://reader034.vdocuments.site/reader034/viewer/2022043013/5fada41ce602d429b02111c3/html5/thumbnails/23.jpg)
23
Flow ControlIt may be necessary to temporarily stop the
transmitter if the receiver application does not consume data fast enough and receiving window becomes full.
Receiver advertises the remaining receiving window size to the transmitterTransmitter dynamically adapts the sending window size accordingly
Utilized e.g. in TCP protocol
![Page 24: Cisco Presentation Guide - vsb.czwiki.cs.vsb.cz/pos/images/9/98/ErrorControl.pdf · The receiving window size is 1 frame If a frame in a sending window times out, the transmitter](https://reader034.vdocuments.site/reader034/viewer/2022043013/5fada41ce602d429b02111c3/html5/thumbnails/24.jpg)
24
Efficiency of Error Control Protocols
![Page 25: Cisco Presentation Guide - vsb.czwiki.cs.vsb.cz/pos/images/9/98/ErrorControl.pdf · The receiving window size is 1 frame If a frame in a sending window times out, the transmitter](https://reader034.vdocuments.site/reader034/viewer/2022043013/5fada41ce602d429b02111c3/html5/thumbnails/25.jpg)
25
Stop and Wait
e flm
lm cT l a cT
lmlm la 2cT
![Page 26: Cisco Presentation Guide - vsb.czwiki.cs.vsb.cz/pos/images/9/98/ErrorControl.pdf · The receiving window size is 1 frame If a frame in a sending window times out, the transmitter](https://reader034.vdocuments.site/reader034/viewer/2022043013/5fada41ce602d429b02111c3/html5/thumbnails/26.jpg)
Stop and Wait Efficiency Examples
Modem link optimized bylm=80B, la=1B, c=14400 bps, T=1ms, ef=94.56%
Satellite linklm=80B, la=1B, c=14400 bps, T=270 ms, ef=7.6%
After extension of frame length to 8 original size:
Modem linklm=640B, la=1B, c=14400 bps, T=1ms, ef=99.28%
Satellite linklm=640B, la=1B, c=14400 bps, T=270 ms, ef=40.38%
The extension of frame length improves the efficiency, but the whole (long) frame has to be discarded in case of error.
![Page 27: Cisco Presentation Guide - vsb.czwiki.cs.vsb.cz/pos/images/9/98/ErrorControl.pdf · The receiving window size is 1 frame If a frame in a sending window times out, the transmitter](https://reader034.vdocuments.site/reader034/viewer/2022043013/5fada41ce602d429b02111c3/html5/thumbnails/27.jpg)
27
Sliding Window
e fM.lm
lm cT la cT
M.lmlm l a 2 cT
![Page 28: Cisco Presentation Guide - vsb.czwiki.cs.vsb.cz/pos/images/9/98/ErrorControl.pdf · The receiving window size is 1 frame If a frame in a sending window times out, the transmitter](https://reader034.vdocuments.site/reader034/viewer/2022043013/5fada41ce602d429b02111c3/html5/thumbnails/28.jpg)
28
Reaching of 100% Efficiency using Sliding Window
![Page 29: Cisco Presentation Guide - vsb.czwiki.cs.vsb.cz/pos/images/9/98/ErrorControl.pdf · The receiving window size is 1 frame If a frame in a sending window times out, the transmitter](https://reader034.vdocuments.site/reader034/viewer/2022043013/5fada41ce602d429b02111c3/html5/thumbnails/29.jpg)
29
Let's think about following task …
Calculate a minimal size of a sending window for a given data and ACK frame lengths and transmission channel bit rate and delay.
![Page 30: Cisco Presentation Guide - vsb.czwiki.cs.vsb.cz/pos/images/9/98/ErrorControl.pdf · The receiving window size is 1 frame If a frame in a sending window times out, the transmitter](https://reader034.vdocuments.site/reader034/viewer/2022043013/5fada41ce602d429b02111c3/html5/thumbnails/30.jpg)
30
Problems of Communicationin the Real Network
Packets may be damaged or lost
it is necessary to introduce a feedback to correct errors
Packets may arrive out of order if there are alternate paths over the network
It is needed to insert sequence numbers into packets
Packets may be duplicated in some cases