Computer Communications & Networks CS-576: Lecture#13

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 33

Computer Communications

& Networks CS-576

Lecture#13
Introduction
 Networks must be able to transfer data from one device to
another with complete accuracy.
 A System that can not guarantee that the data received by one
device is not identical to the data transmitted by another
device is essentially useless.
 Anytime data is transmitted from source to destination ,it gets
corrupted on the way.
 Many factors including NOISE can alter or wipe out one or
more bits of a given data unit.
 Reliable systems have a mechanism for detecting and
correcting such errors
Error detection and Correction is implemented either at
the data link layer or at the transport layer.
Detection vs Correction
 Detection
 By detection, we only concentrate on finding an error.
 Least interest in count or solution
 Single bit error is same as burst error for detection.
 Correction
 By correction, we point out towards the solution of error.
 Number of error bits and size of data is important.
 Exact number of corrupted bits and their location.
 If we need to correct 1 bit error in 8-bit data, possible error locations
would be 8. For 2-bit, possibilities would be 28. For 3-bit possibilities
would be 56.
Imagine if 10-bits of data unit are corrupted, what would
happen???
Types of Errors

Whenever an EM signal flows from one point to the


other, it is subject to unpredictable interference from
heat, magnetism and other forms of electricity.
This interference can change the shape or timing of the
signal
If the signal is carrying encoded binary data, such
changes can alter the meaning of the data.
Single Bit
 In a single-bit error, a 0 is changed to a 1 or a 1 to a 0 .

 The term single bit error means that only one bit of a given data unit(such
as a byte , character or a packet) is changed form 1 to 0 or from 0 to 1.
 Figure shows the effect of a single bit error on a data unit.
 ASCII character 00000010(ASCII STX) is sent, meaning start of text but
00001010(ASCII LF) is received , meaning line feed.
 Single bit errors are the least likely type of error in serial data
transmission.
 To see Why? Imagine a sender sends data at 1Mbps
 This means that each bit lasts only 1/1,000,000 seconds or 1 microsecond
 For single bit error to occur, the noise must have a duration of 1
microsecond which is very rare, noise lasts much longer than that bits
Burst Errors
 The term burst error means that two or more bits in the data
unit have changed from 1 to 0 or from 0 to 1.

 Figure shows the effect of a burst error on a data unit


 In this case 0100010001000011 was sent but 0101110101000011
was received.
 Note that a burst error does not necessarily mean that error
occur in consecutive bits .
 The length of the burst is measured from the first corrupted
bit to the last corrupted bit
Burst Errors
Some bits in b/w may not have been corrupted .
Burst error is most likely to happen in a serial transmission.
The duration of the noise is normally longer than the
duration of a bit which means that when noise affects data ,
it affects a set of bits
The number of bits affected depends on the data rate and
duration of noise
For example, if we are sending data at 1 Kbps, a noise of 1/100
seconds can affect 10 bits
If we are sending data at 1 Mbps, the same noise can affect
10,000 bits
Error Detection
Even if we know what type of errors can occur, will
we recognize one when we see it?
If we have a copy of the intended Transmission for
comparison, of course we will.
But what if we don’t have a copy of the original
Then we will have no way of knowing we have
received an error until we have decoded the
Transmission and failed to make sense of it. It would
be costly & slow.
 We need a mechanism that is Simple and Completely
objective.
 One error detection mechanism that would satisfy these requirements
Redundancy
would be to send every data unit twice
 The receiving device would then be able to do a bit-for-bit comparison
b/w two Transmissions.
 Any discrepancy will indicate an error and an appropriate error
Correction mechanism could be set in place.
 This system will be completely Accurate because the odds of error
affecting the same bits in both version will be infinitesimally small.
 But this system will be extra ordinarily SLOW.
 Not only will the transmission time double ,but the time it takes to
compare two data units is also added up.
 The concept of including extra information in the Transmission solely for
the purpose of comparison is good one.
 But instead of repeating the entire data stream, a shorter group of bits
may be appended to the end of each unit.
 This technique is called REDUNDANCY because the extra bit are
redundant to the information and are discarded as soon as the accuracy of
Transmission has been determined.
Once the data stream has been generated, it passes through a
device that analyzes it and adds on an appropriately coded
redundancy check.
The data unit now enlarged by several bits (7) travels over the
link to the receiver. The receiver puts the entire stream
through a checking function.
If the received bit stream passes the checking criteria, the data
portions accepted and the redundant bits are discarded.
Types of Redundancy Checks

There are 4 types of redundancy checks used in data


communication:
• Vertical Redundancy Check (VRC)
• Longitudinal Redundancy Check (LRC)
• Cyclic Redundancy Check (CRC)
• Checksum

•First 3 are normally implemented in the physical layer for


use in data link layer

• Fourth is used by Upper layers


Types of Redundancy Checks
Vertical Redundancy Check (VRC)
 Most common and least expensive.
 Also called Parity Check.
 A redundant bit called parity bit is appended to every data unit
so that total number of 1’s in the unit becomes even including
the parity bit.

 We want to Transmit the binary data unit 1100001


Adding together the number of 1’s gives us 3, an odd number
Before TX, we pass the data unit through a parity generator,
which counts the 1’s and appends the parity bit (1) to the end
Vertical Redundancy Check (VRC)
The total number of 1’s is now 4, an even number.
The system now transfers the entire expanded across the
network link.
When it reaches its destination, the RX puts all 8 bits through
an even parity checking function.
If the RX sees 11100001, it counts four ones, an even num
passes.
But what if the data unit has been damaged in transit?
What if instead of 11100001, receiver sees 11100101?
When the parity checker counts the 1’s, it gets 5 an odd
number.
The receiver knows that an error has occurred somewhere and
therefore rejects the whole unit.
Some systems may also use ODD parity checking.
Vertical Redundancy Check (VRC)
Vertical Redundancy Check (VRC)

Performance of VRC
VRC can detect all single bit errors
In case of even-parity checking
 Can also detect Burst errors as long as the total number of bits
changed is ODD (1,3,5 etc )
 It can not detect errors if total number of errors is even
Vertical Redundancy Check (VRC)
Longitudinal Redundancy Check(LRC)

 In LRC, a block of bit is organized in a table(row and column)


 For example instead of sending 32 bits, we organize them in a table
made of 4 rows and 8 columns

 We then calculate the Parity bit for each column and create a new row
of 8 bits which are the parity bits for the whole block
 Note that the first parity bit in the 5th row is calculated based on all
the first bits.
Longitudinal Red Check(LRC)

 The second parity bit is calculated based on all the second bits
and so on
 We then attach the 8 parity bits to the original data and send
them to the receiver
Example
Longitudinal Red Check(LRC)
Cyclic Redundancy Check (CRC)
 Most powerful of checking techniques
 VRC and LRC are based on Addition
 CRC is based on Binary Division
 A sequence of redundant bits called CRC or CRC remainder is
appended to the end of the data unit so that the resulting data
unit becomes exactly divisible by a second predetermined
binary number.
 At its destination, the data unit is divided by the same
number .
 If at this step there is no remainder, the incoming data unit is
assumed to be intact and is therefore accepted.
 A remainder indicates that a data unit has been damaged and
therefore must be rejected.
Qualities of CRC

To be valid the CRC must have two qualities:


It must have exactly one less bit than the divisor
 Appending it to the end of the data must make the
resulting bit sequence exactly divisible by the divisor
Qualities of CRC
The CRC Generator
The CRC Checker
Functions exactly like CRC Generator
CHECKSUM

Error detection method used by the Higher Layers


 Like VRC, LRC, CRC, Checksum is also based on the
concept of redundancy
One’s Complement
CHECKSUM
Error detection method used by the Higher Layers
Like VRC,LRC ,CRC, Checksum is also based on the
concept of redundancy
CHECKSUM
CHECKSUM
Checksum
EXAMPLE
Suppose a block of 16 bits need to be sent: 10101001
00111001

10101001
00111001
----------------
11100010 Sum
00011101 Checksum
Sent pattern: 10101001 00111001 00011101
checksum
EXAMPLE
Segment 1 10101001
Segment 2 00111001
Checksum 00011101
----------------- ----------------
SUM 11111111

Complement 00000000
EXAMPLE
Segment1 10101111
Segment2 11111001
Checksum 00011101

Sum 11000110
Complement 00111001

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy