0% found this document useful (0 votes)
5 views28 pages

Chapter 6

Uploaded by

háb
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views28 pages

Chapter 6

Uploaded by

háb
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 28

Chapter 6

Errors, Error Detection,


and Error Control
Introductio
n
 All transmitted signals will contain some rate
of error (>0%)

 Popular error control methods include:


 Parity bits (add a 1 or 0 to the end of each seven
bits)
 Longitudinal redundancy checking (LRC)
 Polynomial checking
What’s an
“error”?
 Human errors:
 Incorrect IP address assignment, or subnet mask,
etc., etc.

 Network errors:
 Lost data
 Corrupted data (received, but garbled)
Line Noise and Distortion
Errors

Source Likely cause


Line outage Storm, accident

White noise Movement of electrons

Impulse noise Random spikes of power

Cross-talk Guardbands, wires too close

Echo Reflective feedback

Jitter Timing irregularities

Delay distortion Propagation speed

Attenuation Wires too long


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
Error Detection
Methods
 The only way to do error detection and
correction is to send extra data with each
message
 Two common error detection methods:
 Parity checking
 Simple parity
 Longitudinal parity
 Cyclic redundancy checksum (CRC)
Simple
Parity
 Add an additional bit to each byte in the
message:
 Even parity causes the sum of all bits (including the
parity bit) to be even
 Odd parity causes the sum of all bits to be odd

1 Even parity
0 1 0 1 0 1 0
0 Odd parity
Exampl
e

Letter 7-bit ASCII Parity bit

D 1 0 1
0 1
0 1 0 0 1

A 1 0 0 0 0 0 1 1

T 1 0 1 0 1 0 0 0

A 1 0 0 0 0 0 1 1
Longitudinal
Parity
 Add block check character (BCC) to the end of
the message:
 Perform odd parity checking on the block of bits for
each character in the message

0 1 0 1 0 1 0 0
1 0 0 1 1 1 0 1
BCC 0 0 1 1 0 1 1 1
Exampl
e

Letter 7-bit ASCII Parity bit


D 101 10
0010 1
A 101
0001
01 1
T 1010100 0
A 1000001 1
BCC 1101111 1
Parity
Checks
 Both simple parity and longitudinal parity do
not catch all errors
 Simple parity only catches odd numbers of bit
errors
 Longitudinal parity is better at catching errors
 But requires too many check bits added to a block of
data
 We need a better error detection method
 What about cyclic redundancy checksum?
Arithmetic
Checksum
 Used in TCP and IP on the Internet
 Characters to be transmitted are converted to
numeric form and summed
 Sum is placed in some form at the end of the
transmission
 Receiver performs same conversion and
summing and compares new sum with sent
sum
 TCP and IP processes a little more complex
but idea is the same
Polynomial
Checking
 Adds a character (or series of characters) to
the end of the message based on a
mathematical algorithm:
 Checksum
 Sum the message values and divide by 255. The
remainder is the checksum
D 68
A 65 282
=1 remainder 27
T 84 255
A 65
Checksum 0 0 1 1 0 1 1 1
Cyclical redundancy
check
 CRC error detection method treats packet of data to be
transmitted as a large polynomial
 Transmitter
 Using polynomial arithmetic, divides polynomial by a
given generating polynomial
 Quotient is discarded
 Remainder is “attached” to the end of message
 Message (with the remainder) is transmitted to the
receiver
 Receiver divides the message polynomial plus the
remainder (checksum) by same generating polynomial
 If a remainder of zero results Ú no error during
transmission
 If a remainder not equal to zero results Ú error during
transmission
Example:
CRC

7 6 5 4 3 2 1 0
0 0 1 1 0 1 1 1

Message polynomial
x5+x4+x2+x1+x0  x5+x4+x2+x+1

Generating polynomial
ATM CRC x8 + x2 + x + 1
CRC-16 x16 + x15 + x2 + 1
Error
Control
 Once an error is detected, the receiver can:

1. Toss the frame/packet


 Some newer systems such as frame relay perform
this type of error control
2. Return an error message to the transmitter
 Stop-and-wait error control
 Sliding window error control

3. Fix the error with no further help from the


transmitter
Toss
frame/packet
 Seems like a strange way to control errors but
some lower-layer protocols such as frame
relay perform this type of error control
 For example, if frame relay detects an error, it
simply tosses the frame
 No message is returned
 Frame relay assumes a higher protocol (such
as TCP/IP) will detect the tossed frame and
ask for retransmission
Return A
Message
 Once an error is detected, an error
message is returned to the transmitter
 Two basic forms:
 Stop-and-wait error control
 Sliding window error control
Stop-and-wait Error
Control
 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
Sliding Window Error
Control
 These techniques assume that multiple
frames are in transmission at one time
 A sliding window protocol allows the
transmitter to send a number of data packets
at one time before receiving any
acknowledgments
 Depends on window size
 When a receiver does acknowledge receipt,
the returned ACK contains the number of the
frame expected next
 Older sliding window protocols numbered
each frame or packet that was transmitted
 More modern sliding window protocols
number each byte within a frame
 Notice that an ACK is not always sent after
each frame is received
 It is more efficient to wait for a few received frames
before returning an ACK
 How long should you wait until you return an
ACK?
TCP/IP
 Rule 1: If a receiver just
received data and wants to
send its own data, piggyback
an ACK along with that data
 Rule 2: If a receiver has no data
to return and has just ACKed
the last packet, receiver waits
500 ms for another packet
 If while waiting, another packet
arrives, send the ACK
immediately
 Rule 3: If a receiver has no data
to return and has just ACKed
the last packet, receiver waits
500 ms
 No packet, send ACK
Packet
Lost
 If a frame is lost, the
following frame will
be “out of
sequence”
 The receiver will hold
the out of sequence
bytes in a buffer and
request the sender to
retransmit the
missing frame
ACK
Lost
 If an ACK is lost, the
sender will wait for
the ACK to arrive
and eventually time
out
 When the time-out
occurs, the sender
will resend the last
frame
Correct the
Error
 For a receiver to correct the error with no
further help from the transmitter requires a
large amount of redundant information to
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 and involves codes
called Hamming codes
 Hamming codes add additional check bits to a
character
 These check bits perform parity checks on various bits
 For example, what if bit b9 flips?
 The c8 check bit checks bits b12, b11, b10, b9 and c8
(01000)
 This would cause a parity error
 The c4 check bit checks bits b12, b7, b6, b5 and c4
(00101)
 This would not cause a parity error (even number of 1s)
 The c2 check bit checks bits b11, b10, b7, b6, b3 and
c2 (100111)
 This would not cause a parity error
 The c1 check bit checks b11, b9, b7, b5, b3 and c1
(100011)
 This would cause a parity error

You might also like