3. Handshaking
• 2 devices will “shake” hands to establish
what kind of protocol to use. This involves
things like:
• Are you ready for communication? (session
level)
• What speed can you talk at ( Application
level. flow control)
4. Handshaking example with printer
• Session level in which contact is established
Are you ready for a print job?
Sorry I’m offline
5. Handshaking: Application level
(Flow Control)
Starting to send 50 page print
job
Please send ½ page at a time.
I am a cheap printer with a
small cache and slow print
speed.
6. Error checking methods
• When data is sent, it can get damaged or
lost or corrupted. Therefore data must be
somehow checked for correctness.
8. First we have to find if something
has gone wrong
• Error detection is the most important step in
the process of getting correct data. How do
we detect an error?
9. Summary!
For the exam, you must therefore think of it in 2 parts
1) Error Detection
2) Error Correction
11. Parity Check
parity “to be equivalent to or the same”
A byte of information is made of 8 bits
The first 7 bits are used to transmit data, the 8 th bit is added to mark
the total number of 1s as either odd or even. It is then used to check
if the data is correct. (It is the number of 1s that is checked)
12. Odd & Even Parity in use
Example of even parity Parity Bit of 0 is added to keep the
total number of 1s as even
10101010
10000111 Parity Bit of 1 is added to
keep the totals # of 1s as
even.
Example of odd parity
Parity bit of 0 is added to
11100000 keep the total # of 1s as odd
In this case a 1 is added to keep
11000001 the total number of 1s as odd
13. Even and Odd Parity
• Parity can be set at even or odd
14. Parity in use…
Suppose we send the letter A in ASCII. It might
consist of the following 7 0s and 1s
1001101 0
If we count the 1s, there are 4 The last 8th bit is used to indicate
which is an even number that there was an even number
of 1s
If the A is corrupted and arrives with an odd number of 1s
1001100 0
If we count the 1s, there are This indicates that the number of 1s should be even.
now 3 which is an odd number Therefore an error has taken place.
15. Problems with Parity
If more than one error occurs then it
might cancel the check out. This is
known as “bit swapping”
The parity bit may be corrupted,
changing the end result.
More than one error could occur
within the first seven bits, cancelling
out the detectable error (bit
swapping)
16. Parity problems
Original
1001101 0
Received with 1
detected error 1001100 0
Cannot detect 2
errors as parity is 1001000 0
even
The second group of bits has an even number of 1s and
therefore it is accepted as correct.
17. Introduction to Checksum
Checksum checks blocks of data made up of bytes
rather than individual bytes.
Entire block of data is checked using a
checksum made up of the the last byte
in the block
10101010 100101010 11101010 11101010
Added up value /256 =
18. Pros and Cons of Checksum
Pros: More accurate than parity. Faster as blocks of data can
be checked.
Cons: The precise byte or bytes in error can’t be identified so
entire block must be retransmitted.
Checking long message blocks is not reliable,
19. Example of Checksum
I run above and
I run above get checksum of
and get 36 too. Data
checksum of 36 block is correct
20. Cyclic Redundancy Check
• CRC is the most accurate error checking
method.
• It uses much larger numbers than Checksum
• Like checksum it checks a block of data
• High level of accuracy with 16 bit check or
a 32 bit check
21. Cyclic Redundancy Check
The values of each of the block are read as 1 big
number
12 9 18 24
00011100 00001001 00010010 00011000
58,790,424/16 or 32 bit CRC value
I run above I run above and
and get CRC get CRC of 36
of 3692 92too. Data
block is correct
22. Error Correction
• When an error is detected using Parity,
Checksum or CRC, then the error must be
corrected.
23. Methods of Error Correction
• Retransmission – The receiving computer
having detected the error requests that the
data block be transmitted again.
I got an error, please send
that last block again!
Retransmit
24. Symbol Substitution
• The receiving computer will replace faulty
symbols with a substitute symbol such as
It will then run a spell check to try and correct
the data –example love you would be
corrected to I love you. This does not
always work.
25. Error Correction Code (ECC)
• ECC is a technique that sends “extra” data so that
if there is an error, it can be corrected with the
extra data. At least one extra byte must be sent for
every eight bytes of data.
• Problems with this is that it is slow and much
more data is sent overall. It is better to just resend
each block of data that is in error,