Computer Network Reliability and Channel Coding

CHAPTE
R
 
8
Reliability & Channel Coding
CECS 474 Computer Network Interoperability
Notes for Douglas E. Comer, 
Computer Networks and Internets (5
th
 Edition) 
Tracy Bradley Maples, Ph.D.
Computer Engineering & Computer Science
Cal ifornia State University, Long Beach
Errors
Problem:
 
All
 
data communications systems are susceptible to errors
The physics of the universe causes errors.
Devices fail and/or equipment does not meet engineering standards.
Thus
: We need ways/mechanisms to control and recover from errors.
 
Note
: Small errors are often more difficult to detect than complete failures.
Three Main Sources of Transmission Errors
1.
Interference
Example
: Electromagnetic radiation interferes with electrical signals
2.
Distortion
Rule
: All physical systems distort signals
3.
Attenuation
  
Example
: As a signal passes across a medium, the signal becomes weaker
 
Reducing Errors
Shannon's Theorem
 suggests one way to reduce errors:
 
Increase the signal-to-noise ratio (either by increasing the signal or lowering
noise if possible)
 
Unfortunately
,
 it is not always possible to change the signal-to-noise ratio.
Example
: Mechanisms like shielded wiring can help lower noise 
but
 a
physical transmission system is always susceptible to some noise
 
Bottom Line:
 Noise/interference cannot be eliminated completely
 
Fortunately
,
 many transmission errors can be detected.
In some cases, errors can even be corrected automatically (but hardly ever!)
 
Conclusion
:
 Error handling is a 
tradeoff
 between the 
need for detecting errors 
and
the 
additional overhead for error detection and/or correction
.
Effect of Transmission Errors on Data
Two key Characteristics
of errors:
1.
BER bit error rate:
Probability P of a
single bit being
corrupted in a defined
time interval.
2.
Random (or burst)
errors
:  Whether the
errors occur as
random single-bit
errors or as groups of
contiguous errors.
Error Detection and Correction
A variety of mathematical techniques have been developed that overcome errors
during transmission and increase reliability.
These techniques are known collectively as 
channel coding.
Two primary approaches:
 
1.
Error Control
Forward Error Control (FEC) mechanisms
Backward Error Control (BEC) mechanisms
 
2.    Automatic Repeat reQuest (ARQ) mechanisms
Error Control (FEC & BEC) 
Basic idea of Error Control:
 Add additional information to the data that allows
a receiver to verify that data arrives correctly and to correct errors (if possible).
Backward error control (error detecting):
  Each transmitted character or
frame contains additional information so that the receivers can detect but not
correct errors.  A retransmission scheme must also be used.
Forward error control (error correcting):
  Each transmitted character or
frame contains additional information so that the receivers can detect and correct
errors.
Parity
Simplest method for detecting bit errors: 
Single Parity Checking (SPC)
Add the # of 1 bits in the code together (modulo 2) and choose the parity bit so
that the total number of one bits is:
even (even parity) or
odd (odd parity)
A parity bit can be used to detect 1-bit errors in the code.
SPC is a weak form of channel coding that can detect errors
 
but cannot correct
errors.
 
An single-bit parity mechanism can only handle errors where an odd number of
bits are changed
Two-Dimensional Parity (Block sum check)
Used with blocks of characters
Use a 
row parity
 bit for each byte
Use a 
column parity
 for each bit column position in the complete frame
Internet Checksum Algorithm
The Internet checksum is a simple error detection technique used by TCP/IP.
 
The Internet Checksum Algorithm is simple:
treat the data being transmitted as 16-bit integers,
add them together using 16-bit ones-complement arithmetic,
take the complement of the sum as the checksum,
send the checksum across the network with the original data.
 
The Internet checksum:
Does not have strong error detection properties, but handles many multiple bit
errors
Cannot handle all errors
It is easy to implement in software
It is used in a end-to-end manner, so lower layer protocols catch most of the errors
Example
: Internet Checksum Computation
The checksum is computed over the data:
The checksum is then appended to the frame.
Example: An Error Checksum Fails To Detect
 
When the second bit is reversed in each item, the two Checksums are the same.
Internet Checksum Algorithm (Cont’d)
The Internet checksum:
does not have strong error detection properties, but handles many multiple bit
errors
Cannot handle all errors
is easy to implement in software
is used in a end-to-end manner, so lower layer protocols catch most of the errors
Cyclic Redundancy Code (CRC)
A form of channel coding known as a 
Cyclic Redundancy Code (CRC)
 is used in
high-speed data networks
Key properties of CRC are summarized below:
CRC (cont’d)
Cyclic redundancy codes:
Uses a mathematical function
More complex to compute than checksums
Handles more errors
Used with frame transmission schemes
A single set of check digits is generated and appended at the end of each frame
transmitted
In this method the bits of data are treated as coefficients of a polynomial
CRC (cont’d)
CRC Coding:
A k-bit message is regarded as the coefficient list for a polynomial with k terms,
ranging from x
(k-1)
 to x
0
.  The high-order (leftmost) bit is the coefficient of x
(k-1)
; the
next bit is the coefficient of x
(k-2)
, and so on.
The check digits are generated by multiplying the k-bit message by x
n 
and dividing
the product by an (n+1)-bit code polynomial (modulo 2). The n-bit remainder is
used as the check digits.
Decoding:
The complete received bit sequence is divided by the same generator polynomial
(modulo 2).
If the remainder is zero, no errors occurred.
If the remainder is nonzero, a transmission error has occurred.
CRC
 
Calculation
This figure shows the division of 1010 (k=4) which represents the data by a constant
generator function: 1011 (n+1=4).
Figure 8.12
CRC (cont’d)
A generator polynomial of N+1 bits will detect:
all single-bit errors
all double-bit errors
all odd-number of bit errors
all error bursts < N+1 bits
most error bursts >= N+1 bits
CRCs and
 
Polynomial Representation
We can view the above process as a 
polynomial division
:
Think of each bit in a binary number as the coefficient of a term in a polynomial
For example, we can think of the divisor in Figure 8.12,  1011, as coefficients in
the following polynomial:
Similarly, the dividend in Figure 8.12, 1010000, represents the polynomial:
Code Polynomials (or generator polynomials):
Code polynomials are usually of degree 12 or 16 or 32
Six polynomials are in widespread use:
Ethernet and FDDI use CRC-32
HDLC uses CRC-CCITT
ATM uses CRC-8 and CRC-10
Three polynomials are international standards:  CRC-12, CRC-16, and CRC-
CCITT
Building Blocks For Implementing CRC
Exclusive OR
Shift register
a 
shows status before shift
b
 shows status after shift
Output same as top bit
Example Of CRC Hardware
 
Computes 16-bit CRC
Registers initialized to zero
Bits of message shifted in
CRC found in registers
Illustration of Frame Using CRC
Note
: The CRC covers data only
Automatic Repeat reQuest (ARQ) Mechanisms
Whenever one side sends a message to another, the other side sends a short
acknowledgement
 (
ACK
) message back
 
For example: 
 
If A sends a message to B, B sends an ACK back to A 
Once A receives the ACK, it knows that the message arrived
correctly
If no ACK is received after T time units, A assumes the
message was lost and retransmits a copy
 
ARQ is especially useful when errors are detected.
ARQ cannot handle error correction
Error Detection Schemes in the Internet
Most Layer 2 Protocols (e.g., Ethernet, Wi-Fi)
 
Use CRC to detect transmission errors
TCP (Transmission Control Protocol)
Uses an ARQ scheme is added to guarantee delivery.
 If a transmission error occurs:
 
1.
The receiver discards the message with an error 
1.
The sender retransmits another copy
More on TCP (and Reliable Data Transmission later)…
Slide Note
Embed
Share

Communication systems are prone to errors due to various factors like interference, distortion, and attenuation. Explore ways to reduce errors, the impact of transmission errors on data, and techniques like error control and correction through channel coding for enhanced reliability.

  • Network Reliability
  • Channel Coding
  • Error Detection
  • Error Correction
  • Communication Systems

Uploaded on Mar 04, 2025 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.

E N D

Presentation Transcript


  1. CECS 474 Computer Network Interoperability CHAPTER 8 Reliability & Channel Coding Tracy Bradley Maples, Ph.D. Computer Engineering & Computer Science Cal ifornia State University, Long Beach Notes for Douglas E. Comer, Computer Networks and Internets (5th Edition)

  2. Errors Problem:Alldata communications systems are susceptible to errors The physics of the universe causes errors. Devices fail and/or equipment does not meet engineering standards. Thus: We need ways/mechanisms to control and recover from errors. Note: Small errors are often more difficult to detect than complete failures. Three Main Sources of Transmission Errors 1. Interference Example: Electromagnetic radiation interferes with electrical signals 2. Distortion Rule: All physical systems distort signals 3. Attenuation Example: As a signal passes across a medium, the signal becomes weaker

  3. Reducing Errors Shannon's Theorem suggests one way to reduce errors: Increase the signal-to-noise ratio (either by increasing the signal or lowering noise if possible) Unfortunately, it is not always possible to change the signal-to-noise ratio. Example: Mechanisms like shielded wiring can help lower noise but a physical transmission system is always susceptible to some noise Bottom Line: Noise/interference cannot be eliminated completely Fortunately, many transmission errors can be detected. In some cases, errors can even be corrected automatically (but hardly ever!) Conclusion: Error handling is a tradeoff between the need for detecting errors and the additional overhead for error detection and/or correction.

  4. Effect of Transmission Errors on Data Two key Characteristics of errors: 1. BER bit error rate: Probability P of a single bit being corrupted in a defined time interval. 2. Random (or burst) errors: Whether the errors occur as random single-bit errors or as groups of contiguous errors. ? ?

  5. Error Detection and Correction A variety of mathematical techniques have been developed that overcome errors during transmission and increase reliability. These techniques are known collectively as channel coding. Two primary approaches: 1. Error Control Forward Error Control (FEC) mechanisms Backward Error Control (BEC) mechanisms 2. Automatic Repeat reQuest (ARQ) mechanisms

  6. Error Control (FEC & BEC) Basic idea of Error Control: Add additional information to the data that allows a receiver to verify that data arrives correctly and to correct errors (if possible). Backward error control (error detecting): Each transmitted character or frame contains additional information so that the receivers can detect but not correct errors. A retransmission scheme must also be used. ? Forward error control (error correcting): Each transmitted character or frame contains additional information so that the receivers can detect and correct errors.

  7. Parity Simplest method for detecting bit errors: Single Parity Checking (SPC) Add the # of 1 bits in the code together (modulo 2) and choose the parity bit so that the total number of one bits is: even (even parity) or odd (odd parity) A parity bit can be used to detect 1-bit errors in the code. ? SPC is a weak form of channel coding that can detect errorsbut cannot correct errors. An single-bit parity mechanism can only handle errors where an odd number of bits are changed

  8. Two-Dimensional Parity (Block sum check) Used with blocks of characters Use a row parity bit for each byte Use a column parity for each bit column position in the complete frame

  9. Internet Checksum Algorithm The Internet checksum is a simple error detection technique used by TCP/IP. The Internet Checksum Algorithm is simple: treat the data being transmitted as 16-bit integers, add them together using 16-bit ones-complement arithmetic, take the complement of the sum as the checksum, send the checksum across the network with the original data. The Internet checksum: Does not have strong error detection properties, but handles many multiple bit errors Cannot handle all errors It is easy to implement in software It is used in a end-to-end manner, so lower layer protocols catch most of the errors ?

  10. Example: Internet Checksum Computation The checksum is computed over the data: The checksum is then appended to the frame. ? Example: An Error Checksum Fails To Detect When the second bit is reversed in each item, the two Checksums are the same. ?

  11. Internet Checksum Algorithm (Contd) The Internet checksum: does not have strong error detection properties, but handles many multiple bit errors Cannot handle all errors is easy to implement in software is used in a end-to-end manner, so lower layer protocols catch most of the errors

  12. Cyclic Redundancy Code (CRC) A form of channel coding known as a Cyclic Redundancy Code (CRC) is used in high-speed data networks Key properties of CRC are summarized below: ?

  13. CRC (contd) Cyclic redundancy codes: Uses a mathematical function More complex to compute than checksums Handles more errors Used with frame transmission schemes A single set of check digits is generated and appended at the end of each frame transmitted In this method the bits of data are treated as coefficients of a polynomial

  14. CRC (contd) CRC Coding: A k-bit message is regarded as the coefficient list for a polynomial with k terms, ranging from x(k-1) to x0. The high-order (leftmost) bit is the coefficient of x(k-1); the next bit is the coefficient of x(k-2), and so on. The check digits are generated by multiplying the k-bit message by xn and dividing the product by an (n+1)-bit code polynomial (modulo 2). The n-bit remainder is used as the check digits. Decoding: The complete received bit sequence is divided by the same generator polynomial (modulo 2). If the remainder is zero, no errors occurred. If the remainder is nonzero, a transmission error has occurred.

  15. CRCCalculation This figure shows the division of 1010 (k=4) which represents the data by a constant generator function: 1011 (n+1=4). Figure 8.12 ?

  16. CRC (contd) A generator polynomial of N+1 bits will detect: all single-bit errors all double-bit errors all odd-number of bit errors all error bursts < N+1 bits most error bursts >= N+1 bits

  17. CRCs andPolynomial Representation We can view the above process as a polynomial division: Think of each bit in a binary number as the coefficient of a term in a polynomial For example, we can think of the divisor in Figure 8.12, 1011, as coefficients in the following polynomial: Similarly, the dividend in Figure 8.12, 1010000, represents the polynomial:

  18. Code Polynomials (or generator polynomials): Code polynomials are usually of degree 12 or 16 or 32 Six polynomials are in widespread use: Ethernet and FDDI use CRC-32 HDLC uses CRC-CCITT ATM uses CRC-8 and CRC-10 Three polynomials are international standards: CRC-12, CRC-16, and CRC- CCITT

  19. Building Blocks For Implementing CRC Exclusive OR Shift register ? ? a shows status before shift b shows status after shift Output same as top bit

  20. Example Of CRC Hardware Computes 16-bit CRC Registers initialized to zero Bits of message shifted in CRC found in registers ? Illustration of Frame Using CRC ? Note: The CRC covers data only

  21. Automatic Repeat reQuest (ARQ) Mechanisms Whenever one side sends a message to another, the other side sends a short acknowledgement (ACK) message back For example: If A sends a message to B, B sends an ACK back to A Once A receives the ACK, it knows that the message arrived correctly If no ACK is received after T time units, A assumes the message was lost and retransmits a copy ARQ is especially useful when errors are detected. ARQ cannot handle error correction

  22. Error Detection Schemes in the Internet Most Layer 2 Protocols (e.g., Ethernet, Wi-Fi) Use CRC to detect transmission errors TCP (Transmission Control Protocol) Uses an ARQ scheme is added to guarantee delivery. If a transmission error occurs: 1. The receiver discards the message with an error 1. The sender retransmits another copy More on TCP (and Reliable Data Transmission later)

More Related Content

giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#