4. 4
OSI vs Internet Model
Error
detection
and
control
Error
detection
and
control
5. 5
Error detection in different layers
• Some error detection in other layers
– Transport layer in OSI
– Network layer in Internet model
• Focus on the data link layer
– Independent of the medium or physical layer
6. 6
Data Link Layer
Responsible for taking the data and
transforming it into a frame with header,
control and address information.
Physical path communication
Error detection
Error correction
Resolve competing requests
7. 7
Overview
• Errors Happen
• Noise and Errors
• Error Prevention
• Error Detection Techniques
• Error Control
– 1) Do nothing
– 2) Return a message
– 3) Correct the error
8. 8
Data Communications and Computer Networks
Chapter 6
Introduction
Noise is always present.
If a communications line experiences too much noise, the
signal will be lost or corrupted.
Communication systems should check for transmission errors.
Once an error is detected, a system may perform some action.
Some systems perform no error control, but simply let the
data in error be discarded.
9. 9
Data Communications and Computer Networks
Chapter 6
Noise and Errors – White Noise
Also known as thermal or Gaussian noise
Relatively constant and can be reduced.
If white noise gets to strong, it can completely disrupt the
signal.
11. 11
Data Communications and Computer Networks
Chapter 6
Noise and Errors – Impulse Noise
One of the most disruptive forms of noise.
Random spikes of power that can destroy one or more bits of
information.
Difficult to remove from an analog signal because it may be
hard to distinguish from the original signal.
Impulse noise can damage more bits if the bits are closer
together (transmitted at a faster rate).
14. 14
Data Communications and Computer Networks
Chapter 6
Noise and Errors - Crosstalk
Unwanted coupling between two different signal paths.
For example, hearing another conversation while talking on
the telephone.
Relatively constant and can be reduced with proper measures.
16. 16
Data Communications and Computer Networks
Chapter 6
Noise and Errors - Echo
The reflective feedback of a transmitted signal as the signal
moves through a medium.
Most often occurs on coaxial cable.
If echo bad enough, it could interfere with original signal.
Relatively constant, and can be significantly reduced.
18. 18
Data Communications and Computer Networks
Chapter 6
Noise and Errors - Jitter
The result of small timing irregularities during the
transmission of digital signals.
Occurs when a digital signal is repeater over and over.
If serious enough, jitter forces systems to slow down their
transmission.
Reduce jitter - shielding
20. 20
Data Communications and Computer Networks
Chapter 6
Noise and Errors – Delay Distortion
Occurs because the velocity of propagation of a signal
through a medium varies with the frequency of the signal.
Can be reduced using equalizers
Attenuation
The continuous loss of a signal’s strength as it travels through
a medium.
Use less lossy medium
Use amplifiers
22. 22
Distortion
• As signal travels, it become distorted.
– Changes shape
– Successive bits may merge, making reception
difficult
Distance
23. 23
Interference
• Unwanted signal from outside sources
– Often intermittent, difficult to diagnose
Signal
Strength
Signal
Interference
24. 24
Data Communications and Computer Networks
Chapter 6
Error Prevention
To prevent errors from happening, several techniques may be
applied:
- Proper shielding of cables to reduce interference
- Telephone line conditioning or equalization
- Replacing older media and equipment with new, possibly
digital components
- Proper use of digital repeaters and analog amplifiers
- Observe the stated capacities of the media
26. 26
Data Communications and Computer Networks
Chapter 6
Error Detection – Data Level
Despite the best prevention techniques, errors may still
happen.
To detect an error, something extra has to be added to the
data/signal. This extra is an error detection code.
Let’s examine two basic techniques for detecting errors:
parity checking
cyclic redundancy checksum (CRC).
27. 27
Parity
• Value of parity bit is such that character
has even (even parity) or odd (odd parity)
number of ones
• Even number of bit errors goes undetected
• Simple Parity
• Longitudinal Redundancy Check/Vertical
Redundancy Check (LRC/VRC)
29. 29
Data Communications and Computer Networks
Chapter 6
Parity Checks
Simple parity - If performing even parity, add a parity bit
such that an even number of 1s are maintained.
If performing odd parity, add a parity bit such that an odd
number of 1s are maintained.
For example, if the character 1001010 is to be sent, using
even parity, a parity bit = 1 would be added to the character.
If the character 1001011 is to be sent, using even parity, a
parity bit = 0 would be added to the character.
30. 30
Data Communications and Computer Networks
Chapter 6
Parity Checks
What happens if the character 10010101 (parity bit is the last
bit) and the first two 0s accidentally become two 1s?
Thus, the following character is received: 11110101.
Will there be a parity error?
Problem: Simple parity only detects odd numbers of bits in
error (50%)
31. 31
Data Communications and Computer Networks
Chapter 6
Parity Checks
Longitudinal parity adds a parity bit to each character then
adds a row of parity bits after a block of characters.
The row of parity bits is actually a parity bit for each
“column” of characters.
The row parity bits plus the column parity bits add a great
amount of redundancy to a block of characters.
34. 34
Parity Checks
Both simple parity and longitudinal parity do not catch all
errors.
Simple parity only catches odd numbers of bit errors (50% of
all errors)
Longitudinal parity is better at catching errors but requires too
many check bits added to a block of data.
As such, these methods are not that often used. However, a
parity bit exists in 1 byte of data.
We need a better error detection method. What about cyclic
redundancy checksum?
35. 35
Data Communications and Computer Networks
Chapter 6
Cyclic Redundancy Checksum (CRC)
The CRC error detection method treats the packet of data to
be transmitted as a large polynomial.
The transmitter takes the message polynomial and using
polynomial arithmetic, divides it by a given generating
polynomial.
The quotient is discarded but the remainder is “attached” to
the end of the message (remainder (mod) arithmetic)
36. 36
Data Communications and Computer Networks
Chapter 6
Cyclic Redundancy Checksum
The message (with the remainder) is transmitted to the
receiver.
The receiver divides the message and remainder by the same
generating polynomial.
If a remainder not equal to zero results, there was an error
during transmission.
If a remainder of zero results, there was no error during
transmission.
39. 39
Data Communications and Computer Networks
Chapter 6
Error Control
Once an error is detected, what is the receiver going to do?
1. Do nothing
2. Return an error message to the transmitter
3. Fix the error with no further help from the transmitter
40. 40
Flow Control
• Flow Control refers to mechanisms that
make sure that the sending station cannot
overwhelm the receiving station with data.
– Preventing buffer overflow
• Transmission time
– Time taken to emit all bits into medium
• Propagation time
– Time for a bit to traverse the link
41. 41
Stop-and-Wait Flow Control
• The simplest form of flow control is Stop
and Wait Flow Control.
• Stop and Wait Flow Control works like this:
– The sending station sends a frame of data and
then waits for an acknowledgement from the
other station before sending further data
– The other party can stop the flow of data by
simply withholding an acknowledgement
42. 42
Stop-and-Wait Flow Control
• Source may not send new frame until
receiver acknowledges the frame
already sent
• Very inefficient, especially when a
single message is broken into separate
frames
43. 43
Stop-and-Wait Flow Control
• Stop and Wait Flow control works great
if data is sent as a few large frames.
• However large frames are undesirable for
the following reasons:
– Large frame means one station occupies the
link for a longer time (undesirable on a
multipoint link)
– There is more chance of error in a large frame
resulting in more lost data and more
retransmission
44. 44
Stop and Wait Control
• Source transmits single frame
• Wait for ACK (Acknowledgement)
• If received frame damaged, discard it
– Transmitter has timeout
– If no ACK within timeout, retransmit
• If ACK damaged,transmitter will not recognize it
– Transmitter will retransmit
– Receive gets two copies of frame
– Use ACK0 and ACK1
45. 45
Error Control Steps
• Error Control consists of the following steps (not all
are necessary):
– Error detection (Parity, CRC, etc. are used)
– Positive Acknowledgment (ACK) means no detected error
– Retransmission after time-out -- because a frame or an
ACK might have been lost
– Negative acknowledgment (NAK) and retransmission
• Collectively all these mechanisms are called
Automatic Repeat reQuest ARQ
46. 46
Data Communications and Computer Networks
Chapter 6
Error Control
Do nothing
Seems like a strange way to control errors but some newer
systems such as frame relay perform this type of error control.
Assumption is higher mechanism will detect and handle
frame errors.
47. 47
Data Communications and Computer Networks
Chapter 6
Error Control
Return a message has three basic ARQ formats:
1. Stop-and-wait ARQ
2. Go-back-N ARQ
3. Selective-reject ARQ
48. 48
Data Communications and Computer Networks
Chapter 6
Error Control
Stop-and-wait ARQ is the simplest of the error control
protocols.
A transmitter sends a frame then stops and waits for an
acknowledgment.
If a positive acknowledgment (ACK) is received, the next
frame is sent.
If a negative acknowledgment (NAK) is received, the same
frame is transmitted again.
50. 50
Data Communications and Computer Networks
Chapter 6
Error Control
Go-back-N ARQ and selective reject are more efficient
protocols.
They assume that multiple frames are in transmission at one
time (sliding window).
A sliding window protocol allows the transmitter to send up
to the window size frames before receiving any
acknowledgments.
When a receiver does acknowledge receipt, the returned ack
contains the number of the frame expected next.
51. 51
Data Communications and Computer Networks
Chapter 6
Error Control
For a receiver to correct the error with no further help from
the transmitter requires a large amount of redundant
information accompany the original data.
This redundant information allows the receiver to determine
the error and make corrections.
This type of error control is often called forward error
correction.
52. 52
Data Communications and Computer Networks
Chapter 6
Error Control – redundancy
011001 becomes 000 111 111 000 000 111
If 001 110 111 000 000 111 is transmitted, what do we
conclude?
Applications?
Space, valuable data
Wastes BW
53. 53
Data Communications and Computer Networks
Chapter 6
Error Detection and Error Control in
Action
Asynchronous transfer mode (ATM) incorporates many types
of error detection and error control.
ATM inserts a CRC into the data frame (the cell), which
checks only the header and not the data.
This CRC is also powerful enough to perform simple error
correction on the header.
A second layer of ATM applies a CRC to the data, with
varying degrees of error control.
54. 54
What we covered
• Types of errors and their prevention
• Error detection
– Parity – 50%
– CRC – can detect nearly all errors
• Error correction
– 1. Do nothing
– 2. Return an error message to the transmitter
– 3. Fix the error with no further help from the transmitter