McGraw-Hill©The McGraw-Hill Companies, Inc., 2000 PART III: DATA LINK LAYER ERROR DETECTION AND CORRECTION 7.1 Chapter 10.

Slides:



Advertisements
Similar presentations
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Advertisements

Introduction to Information Technologies
NETWORKING CONCEPTS. ERROR DETECTION Error occures when a bit is altered between transmission& reception ie. Binary 1 is transmitted but received is binary.
Chapter 10 Error Detection and Correction
PART III DATA LINK LAYER. Position of the Data-Link Layer.
ECOM 4314 Data Communications Fall September, 2010.
The Data Link Layer Chapter 3. Position of the data-link layer.
Error Detection and Correction
Chapter 10 Error Detection and Correction
McGraw-Hill©The McGraw-Hill Companies, Inc., 2000 PART III: DATA LINK LAYER ERROR DETECTION AND CORRECTION 7.1 Chapter 10.
Shashank Srivastava Motilal Nehru National Institute Of Technology, Allahabad Error Detection and Correction : Data Link Layer.
1 Kyung Hee University Data Link Layer PART III. 2 Kyung Hee University Position of the data-link layer.
Copyright © NDSL, Chang Gung University. Permission required for reproduction or display. Chapter 10 Error Detection and Correction 長庚大學資訊工程學系 陳仁暉 副教授.
1 Data Link Layer Lecture 20 Imran Ahmed University of Management & Technology.
PART III DATA LINK LAYER. Position of the Data-Link Layer.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Data Link Layer PART III.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Data Link Layer PART III.
British Computer Society
CIT 307 Online Data Communications Error Detection Module 11 Kevin Siminski, Instructor.
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Data Link Layer: Error Detection and Correction
Chapter 10. Error Detection and Correction
Data Communications, Kwangwoon University10-1 Part 3 Data Link Layer Chapter 10 Error Detection and Correction Chapter 11 Data Link Control Chapter 12.
Data and Computer Communications by William Stallings Eighth Edition Digital Data Communications Techniques Digital Data Communications Techniques Click.
Cyclic Redundancy Check CRC Chapter CYCLIC CODES Cyclic codes are special linear block codes with one extra property. In a cyclic code, if a codeword.
Unit 5 Lecture 2 Error Control Error Detection & Error Correction.
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Data Link Layer PART III.
Error Detection and Correction
Lecture 5 Checksum. 10.2CHECKSUM Checksum is an error-detecting technique that can be applied to a message of any length. In the Internet, the checksum.
Error Detection and Correction
Computer Communication & Networks Lecture 9 Datalink Layer: Error Detection Waleed Ejaz
Lecture Focus: Data Communications and Networking  Data Link Layer  Error Control Lecture 19 CSCS 311.
CHAPTER 3: DATA LINK CONTROL Flow control, Error detection – two dimensional parity checks, Internet checksum, CRC, Error control, Transmission efficiency.
Error Detection.
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
1 Block Coding Messages are made up of k bits. Transmitted packets have n bits, n > k: k-data bits and r-redundant bits. n = k + r.
10.1 Chapter 10 Error Detection and Correction Data can be corrupted during transmission. Some applications require that errors be detected and.
1 Kyung Hee University Position of the data-link layer.
Error Detection. Data can be corrupted during transmission. Some applications require that errors be detected and corrected. An error-detecting code can.
Chapter 10 Error Detection And Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Data Link Layer. Data Link Layer Topics to Cover Error Detection and Correction Data Link Control and Protocols Multiple Access Local Area Networks Wireless.
Error Detection and Correction
1 Kyung Hee University Error Detection and Correction.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Data Link Layer PART III.
Hamming Distance & Hamming Code
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Part III: Data Link Layer Error Detection and Correction
ERROR DETECTION AND CORRECTION Chapter 8 Data Communications & Networking ERROR DETECTION AND CORRECTION Chapter 8 First Semester 2007/2008.
Introduction to Information Technologies
ERROR DETECTION AND CORRECTION
Part III. Data Link Layer
Error Detection and Correction
Subject Name: COMPUTER NETWORKS-1
DATA COMMUNICATION AND NETWORKINGS
CIS 321 Data Communications & Networking
Part III Datalink Layer 10.
Chapter 10 Error Detection And Correction
Error Detection Bit Error Rate(BER): It is the ratio of number Ne of errors appearing over a certain time interval t to the number Nt of 1 and 0 pulses.
Chapter 10 Error Detection And Correction
Chapter 7 Error Detection and Correction
Introduction to Information Technologies
Error Detection and Correction
Error Detection and Correction
Error Detection and Correction
Types of Errors Data transmission suffers unpredictable changes because of interference The interference can change the shape of the signal Single-bit.
Chapter 10 Error Detection and Correction
Presentation transcript:

McGraw-Hill©The McGraw-Hill Companies, Inc., 2000 PART III: DATA LINK LAYER ERROR DETECTION AND CORRECTION 7.1 Chapter 10

Error Detection and Correction What does accuracy means? What about corrupted message? Which layer is responsible for error detection and correction? Does all application has the same sensitivity to errors? Data can be corrupted during transmission. Some applications require that errors be detected and corrected. 10.2

Error Detection and Correction By the End of this Chapter you will be able to: Understand different Types of Errors & Redundancy Detection Versus Correction Forward Error Correction Versus Retransmission Coding 10.4 CYCLIC CODES CRC Cyclic Redundancy Check Polynomials Cyclic Code Analysis Advantages of Cyclic Codes Other Cyclic Codes 10.5 CHECKSUM Idea /One's Complement /Internet Checksum 10.3

10.4 Data Link Layer Duties

INTRODUCTION Let us first discuss some issues related, directly or indirectly, to error detection and correction.

Types of Errors Whenever bits flow from one point to another, they are subject to unpredictable changes because of interference. There are two types of errors:  Single-Bit Error means that only 1 bit of a given data unit is changed from 1 to 0 or from 0 to 1.  Burst Error means that 2 or more bits in the data unit have changed from 1 to 0 or from 0 to 1.

10.7 Figure 10.1: Single-bit and burst error NOTE: Burst error is more likely to occur than a single-bit error

Redundancy The central concept in detecting or correcting errors is redundancy. To be able to detect or correct errors, we need to send some extra bits with our data. These redundant bits are added by the sender and removed by the receiver. Their presence allows the receiver to detect or correct corrupted bits.

Detection versus Correction The correction of errors is more difficult than the detection. WHY? In error correction, we need to know the exact number of bits that are corrupted and, more importantly, their location in the message. However, in error detection we need only to know is there an error or not.

Coding  Redundancy is achieved through various coding schemes.  The sender adds redundant bits through a process that creates a relationship between the redundant bits and the actual data bits.  The receiver checks the relationships between the two sets of bits to detect errors.  The ratio of redundant bits to data bits and the robustness of the process are important factors in any coding scheme.

Coding  We can divide coding schemes into two broad categories:  Block coding  Convolution coding

Modulo Arithmetic In modulo-N arithmetic, we use only the integers in the range 0 to N - 1, inclusive. Example: clock system (12 numbers but we use 0 to 11 ) Modulo-2 Arithmetic 0+0=0 0+1=11+0=11+1=0 0-0=00-1=11-0=1 1-1=0 addition and subtraction give the same results. In this arithmetic we use the XOR (exclusive OR) operation for both addition and subtraction

BLOCK CODING  In block coding, we divide our message into blocks, each of k bits, called datawords.  We add r redundant bits to each block to make the length n = k + r. The resulting n-bit blocks are called codewords.  How the extra r bits are chosen or calculated is something we will discuss later.

Error Detection How can errors be detected by using block coding? If the following two conditions are met, the receiver can detect a change in the original codeword. 1. The receiver has (or can find) a list of valid codewords. 2. The original codeword has changed to an invalid one.

10.15 Figure 10.6: Process of error detection in block coding 10.15

Let us assume that k = 2 and n = 3. Table 10.1 shows the list of datawords and codewords. Later, we will see how to derive a codeword from a dataword. Example 10.2 Table 10.1 : A code for error detection in Example

10.17 Error Detection Methods

10.18  The most common and least expensive.  Simple or Two Dimensional. How does it work? A k-bit dataword is changed to an n-bit codeword where n = k + 1. The extra bit,called the parity bit, is selected to make the total number of 1s in the codeword even. Example: Assume the sender sends the dataword Since the number of 1's is odd then the parity bit is equal to 1 and the codeword for this dataword is Parity Check

10.19 NOTE: Simple parity check can detect all single-bit errors. It can detect burst errors only if the total number of errors in each data unit is odd. A better approach is the two-dimensional parity check which organizes the data units into table (rows and columns). The parity bit for each column is Calculated and added to the table as a new row (column parity) Parity Check

1.2 Two-dimensional parity  Calculate the parity bit for each data unit, then organize them into table (rows and columns)  Calculate the parity bit for each column and create a new row (column parity)  A redundant row of bits is added to the whole block.

Note In two-dimensional parity check, a block of bits is divided into rows and a redundant row of bits is added to the whole block.

Suppose the following block is sent: However, it is hit by a burst noise of length 8, and some bits are corrupted When the receiver checks the parity bits, some of the bits do not follow the even-parity rule and the whole block is discarded.( see next slide) Example

Error in Column positions: 1, 3, 4,5 and 7

 Increases the likelihood of detecting burst errors.  A redundancy of n-bits can detect a burst error of n bits.  A burst error of more than n bits is also detected with a very high probability.  One pattern of errors still elusive: If 2 bits in one data unit are damaged and two bits in exactly the same position in anther data unite are also damaged. The error will not be detected. Two-dimensional Performance

Cyclic Redundancy Check In this section, we simply discuss a subset of cyclic codes called the cyclic redundancy check (CRC), which is used in networks such as LANs and WANs. In a cyclic code, if a codeword is cyclically shifted (rotated), the result is another codeword. Example: if is a codeword and we cyclically left-shift, then is also a codeword

Table 10.6 : A CRC code with C(7, 4) 10.27

10.28 Figure 10.14: CRC encoder and decoder

10.29 The Process of CRC At the Sender: 1. the encoder, the dataword has k bits (4 here).The codeword has n bits ( 7). 2. The size of the dataword is augmented by adding n-k (3 here) 0s to the right-hand size of the word. 3. The generator uses a divisor of size n-k-1 (4 here), predefined and agreed upon. 4. The generator divides the augmented dataword by the divisor ( modulo-2 division). 5. The reminder is appended to the dataword to create the codeword.

10.30 The Process of CRC At the Receiver: 1. The decoder does the same division process as the encoder. 2. The reminder of the division is the syndrome. 3. If the syndrome is all 0s, there is no error, the dataword separated from the received codeword and accepted. 4. Otherwise, everything is discarded.

10.31 Figure 10.15: Division in CRC encoder

10.32 Figure 10.16: Division in the CRC decoder for two cases

Polynomials  A better way to understand cyclic codes and how they can be analyzed is to represent them as polynomials.  A pattern of 0s and 1s can be represented as a polynomial with coefficients of 0 and 1.  The power of each term shows the position of the bit; the coefficient shows the value of the bit.

10.34 Figure 10.21: A polynomial to represent a binary word Note that: the degree of a polynomial is 1 less that the number of bits in the pattern. What is the polynomial degree and bit pattern for x 6 + x+ 1?

10.35 Adding and Subtracting Polynomials x 6 + x 4 + x 2 x 5 + x 4 + x 2 x 6 + x 5 + x 6 + x 4 + x 2 x 5 + x 4 + x 2 x 6 + x 2 + x 1 + x 5 + x 2 + x 1 Multiplying or Dividing Terms It is the same as the binary division. Shifting left 3 bits (multiplying by x 3 ): becomes or x 4 + x + 1 becomes x 7 + x 4 + x 3 Shifting right 3 bits (dividing by x 3 ): becomes 10or x 4 + x + 1 becomes x Shifting Polynomial Arithmetic for CRC

Encoder Using Polynomials Now that we have discussed operations on polynomials, we show the creation of a codeword from a dataword. Figure 10.9 is the polynomial version of Figure We can see that the process is shorter.

10.37 Figure 10.22: CRC division using polynomials

CHECKSUM  Checksum is an error-detecting technique that can be applied to a message of any length.  In the Internet, the checksum technique is mostly used at the network and transport layer rather than the data-link layer.  Like CRC, checksum based on the concept of redundancy.

10.39 Figure 10.15: Checksum

10.40 Checksum Concept

Suppose the message is a list of five 4-bit numbers that we want to send to a destination. In addition to sending these numbers, we send the sum of the numbers. For example, if the set of numbers is (7, 11, 12, 0, 6), we send (7, 11, 12, 0, 6, 36), where 36 is the sum of the original numbers. The receiver adds the five numbers and compares the result with the sum. If the two are the same, the receiver assumes no error, accepts the five numbers, and discards the sum. Otherwise, there is an error somewhere and the message not accepted. Example

In the previous example, the decimal number 36 in binary is (100100)2. To change it to a 4-bit number we add the extra leftmost bit to the right four bits as shown below. Example Instead of sending 36 as the sum, we can send 6 as the sum (7, 11, 12, 0, 6, 6). The receiver can add the first five numbers in one’s complement arithmetic. If the result is 6, the numbers are accepted; otherwise, they are rejected

Let us use the idea of the checksum in Example The sender adds all five numbers in one’s complement to get the sum = 6. The sender then complements the result to get the checksum = 9, which is 15 − 6. Note that 6 = (0110) 2 and 9 = (1001) 2 ; they are complements of each other. The sender sends the five data numbers and the checksum (7, 11, 12, 0, 6, 9). If there is no corruption in transmission, the receiver receives (7, 11, 12, 0, 6, 9) and adds them in one’s complement to get 15 (See Figure 10.24). Example

10.44 Figure 10.16: Example _________ _________

Table 10.5 : Procedure to calculate the traditional checksum 10.45

10.46 Checksum Performance  Checksum can detect errors in a message of any size.  Almost detects all errors involving odd numbers of bits or even.  It is not as strong as CRC. WHY?  Because if the value of one word is incremented and the value of another word is decremented by the same amount, the two errors are not detected. 