The document summarizes key concepts relating to the data link layer, including:
1) The data link layer provides services to the network layer such as framing data and error control. It regulates data flow and deals with transmission errors.
2) Framing involves delimiting frames with flags or escape sequences to handle bit stuffing. Error detection uses techniques like CRC checksums while error correction uses codes like Hamming codes.
3) Stop-and-wait protocols were improved with sliding window protocols using sequence numbers and acknowledgments to allow pipelining and handle lost frames more efficiently through techniques like selective repeat.
The document discusses various aspects of data link layer protocols. It describes the services provided by the data link layer, including framing, error control, and flow control. It then discusses different types of framing, error detection techniques like CRC codes, and elementary data link protocols including stop-and-wait and sliding window protocols. It also covers topics like pipelining, error recovery methods for noisy channels, and the use of finite state machines to model protocols.
The document discusses various functions and protocols of the data link layer, including:
1. Framing of data, error detection using checksums, and flow control to prevent faster senders from overwhelming slower receivers.
2. Common data link layer protocols like stop-and-wait and sliding window protocols using go-back-N and selective repeat to allow multiple frames to be transmitted.
3. Error detection techniques like parity bits, checksums, and cyclic redundancy checks to detect errors in transmitted frames.
Lecture slides from the 3rd-year module on Computer Networks at the University of Birmingham, UK.
This presentation covers the Data-Link layer of the networks stack, primarily Error Control, Flow Control and Framing.
This document discusses error detection and correction techniques for digital data transmission. It introduces different types of errors that can occur, such as single-bit and burst errors. It describes how redundancy is used to detect and correct errors using block coding techniques. Specific examples are provided to illustrate how block codes are constructed and used to detect and correct errors. Key concepts discussed include linear block codes, Hamming distance, minimum Hamming distance, and how these relate to the error detection and correction capabilities of different coding schemes.
Networks must be able to transfer data from one device to another with acceptable
accuracy. For most applications, a system must guarantee that the data received are
identical to the data transmitted. Any time data are transmitted from one node to the
next, they can become corrupted in passage. Many factors can alter one or more bits of
a message. Some applications require a mechanism for detecting and correcting errors.
Some applications can tolerate a small level of error. For example, random errors
in audio or video transmissions may be tolerable, but when we transfer text, we expect
a very high level of accuracy.
At the data-link layer, if a frame is corrupted between the two nodes, it needs to be
corrected before it continues its journey to other nodes. However, most link-layer protocols
simply discard the frame and let the upper-layer protocols handle the retransmission
of the frame. Some multimedia applications, however, try to correct the corrupted frame.
This chapter is divided into five sections.
❑ The first section introduces types of errors, the concept of redundancy, and distinguishes
between error detection and correction.
❑ The second section discusses block coding. It shows how error can be detected
using block coding and also introduces the concept of Hamming distance.
❑ The third section discusses cyclic codes. It discusses a subset of cyclic code, CRC,
that is very common in the data-link layer. The section shows how CRC can be
easily implemented in hardware and represented by polynomials.
❑ The fourth section discusses checksums. It shows how a checksum is calculated for
a set of data words. It also gives some other approaches to traditional checksum.
❑ The fifth section discusses forward error correction. It shows how Hamming distance
can also be used for this purpose. The section also describes cheaper methods
to achieve the same goal, such as XORing of packets, interleaving chunks, or
compounding high and low resolutions packets.
Chapter 10: Error Correction and DetectionJeoffnaRuth
This document discusses error detection and correction techniques. It defines single-bit and burst errors and explains how redundancy is used to detect or correct errors by adding extra bits. It describes the differences between error detection and correction. Various error correction methods are presented, including forward error correction, retransmission, and the use of modular arithmetic and cyclic redundancy checks. Hardware implementations of cyclic redundancy checks are also summarized.
This document discusses various techniques for error detection and correction in digital communications. It begins by describing common types of errors like single-bit and burst errors. It then explains error detection methods like parity checks and cyclic redundancy checks (CRCs). CRCs use cyclic codes and polynomial division to detect errors. Block codes like Hamming codes can detect and correct errors by ensuring a minimum Hamming distance between codewords. Checksums are also discussed as a simpler error detection technique than CRCs. The document provides examples to illustrate how these different error control methods work.
This document discusses error detection and correction techniques used in data transmission. It covers various types of errors that can occur during transmission and different coding schemes used for error detection and correction, including block coding, linear block coding, cyclic codes, and cyclic redundancy checks (CRCs). Specific examples are provided to illustrate how Hamming codes, parity checks, and CRCs can detect and correct single-bit and burst errors. Key concepts covered include redundancy, minimum Hamming distance, encoding/decoding processes, and the use of polynomials to represent binary words in CRC calculations.
The document discusses various aspects of data link layer protocols. It describes the services provided by the data link layer, including framing, error control, and flow control. It then discusses different types of framing, error detection techniques like CRC codes, and elementary data link protocols including stop-and-wait and sliding window protocols. It also covers topics like pipelining, error recovery methods for noisy channels, and the use of finite state machines to model protocols.
The document discusses various functions and protocols of the data link layer, including:
1. Framing of data, error detection using checksums, and flow control to prevent faster senders from overwhelming slower receivers.
2. Common data link layer protocols like stop-and-wait and sliding window protocols using go-back-N and selective repeat to allow multiple frames to be transmitted.
3. Error detection techniques like parity bits, checksums, and cyclic redundancy checks to detect errors in transmitted frames.
Lecture slides from the 3rd-year module on Computer Networks at the University of Birmingham, UK.
This presentation covers the Data-Link layer of the networks stack, primarily Error Control, Flow Control and Framing.
This document discusses error detection and correction techniques for digital data transmission. It introduces different types of errors that can occur, such as single-bit and burst errors. It describes how redundancy is used to detect and correct errors using block coding techniques. Specific examples are provided to illustrate how block codes are constructed and used to detect and correct errors. Key concepts discussed include linear block codes, Hamming distance, minimum Hamming distance, and how these relate to the error detection and correction capabilities of different coding schemes.
Networks must be able to transfer data from one device to another with acceptable
accuracy. For most applications, a system must guarantee that the data received are
identical to the data transmitted. Any time data are transmitted from one node to the
next, they can become corrupted in passage. Many factors can alter one or more bits of
a message. Some applications require a mechanism for detecting and correcting errors.
Some applications can tolerate a small level of error. For example, random errors
in audio or video transmissions may be tolerable, but when we transfer text, we expect
a very high level of accuracy.
At the data-link layer, if a frame is corrupted between the two nodes, it needs to be
corrected before it continues its journey to other nodes. However, most link-layer protocols
simply discard the frame and let the upper-layer protocols handle the retransmission
of the frame. Some multimedia applications, however, try to correct the corrupted frame.
This chapter is divided into five sections.
❑ The first section introduces types of errors, the concept of redundancy, and distinguishes
between error detection and correction.
❑ The second section discusses block coding. It shows how error can be detected
using block coding and also introduces the concept of Hamming distance.
❑ The third section discusses cyclic codes. It discusses a subset of cyclic code, CRC,
that is very common in the data-link layer. The section shows how CRC can be
easily implemented in hardware and represented by polynomials.
❑ The fourth section discusses checksums. It shows how a checksum is calculated for
a set of data words. It also gives some other approaches to traditional checksum.
❑ The fifth section discusses forward error correction. It shows how Hamming distance
can also be used for this purpose. The section also describes cheaper methods
to achieve the same goal, such as XORing of packets, interleaving chunks, or
compounding high and low resolutions packets.
Chapter 10: Error Correction and DetectionJeoffnaRuth
This document discusses error detection and correction techniques. It defines single-bit and burst errors and explains how redundancy is used to detect or correct errors by adding extra bits. It describes the differences between error detection and correction. Various error correction methods are presented, including forward error correction, retransmission, and the use of modular arithmetic and cyclic redundancy checks. Hardware implementations of cyclic redundancy checks are also summarized.
This document discusses various techniques for error detection and correction in digital communications. It begins by describing common types of errors like single-bit and burst errors. It then explains error detection methods like parity checks and cyclic redundancy checks (CRCs). CRCs use cyclic codes and polynomial division to detect errors. Block codes like Hamming codes can detect and correct errors by ensuring a minimum Hamming distance between codewords. Checksums are also discussed as a simpler error detection technique than CRCs. The document provides examples to illustrate how these different error control methods work.
This document discusses error detection and correction techniques used in data transmission. It covers various types of errors that can occur during transmission and different coding schemes used for error detection and correction, including block coding, linear block coding, cyclic codes, and cyclic redundancy checks (CRCs). Specific examples are provided to illustrate how Hamming codes, parity checks, and CRCs can detect and correct single-bit and burst errors. Key concepts covered include redundancy, minimum Hamming distance, encoding/decoding processes, and the use of polynomials to represent binary words in CRC calculations.
This document discusses error detection and correction techniques used at the data link layer. It covers parity checks, cyclic redundancy checks (CRC), checksums, and Hamming codes. Parity checks, CRC, and checksums are used for error detection, while Hamming codes can detect and correct errors. The document provides examples of how these techniques work and compares their abilities to detect single-bit and burst errors.
This document discusses error detection and correction techniques for digital data transmission. It introduces different types of errors that can occur, such as single-bit and burst errors. It describes how redundancy is used to detect and correct errors using block coding techniques. Specific examples are provided to illustrate how block codes are constructed and used to detect and correct errors. Key concepts discussed include linear block codes, Hamming distance, minimum Hamming distance, and how these relate to the error detection and correction capabilities of different coding schemes.
T com presentation (error correcting code)Akshit Jain
This document discusses error correcting codes, which are used to detect and correct errors that occur during data transmission. It covers different types of block codes like Hamming codes and Reed-Muller codes. Hamming codes can detect and correct single bit errors by adding redundant bits. Reed-Muller codes use a generator matrix to encode data and can detect and correct single bit errors through majority decoding. The document provides examples of encoding and decoding data using Hamming codes and Reed-Muller codes to demonstrate how they can detect and correct errors.
The sender initializes the checksum to 0 and adds all data items and the checksum. However, 36 cannot be expressed in 4 bits. The extra two bits are wrapped and added with the sum to create the wrapped sum value 6. The sum is then complemented, resulting in the checksum value 9 (15 − 6 = 9).
This document discusses error detection and correction techniques in digital communications. It covers Hamming distance, block codes, linear block codes, cyclic codes, cyclic redundancy checks (CRCs), and checksums. Key points include:
- The Hamming distance between words is the number of differing bits
- Minimum Hamming distance determines a code's error detection/correction capabilities
- CRCs use polynomial division to generate check bits and detect errors
- Cyclic codes have the property that cyclic shifts of codewords are also codewords
- CRC and cyclic codes are often implemented using shift registers and polynomial arithmetic
- Characteristics of good cyclic code generators for detecting various error patterns are discussed
The document discusses error detection and correction techniques. It explains that bit errors can occur during data transmission due to noise. Various error detection strategies are described, including parity schemes, checksum, and CRC. Parity schemes like even and odd parity can detect some errors but not all. Checksum adds up data words and transmits the sum. CRC generates a polynomial for data and divisor, allowing it to detect more error types than checksum. For error correction, Hamming codes are discussed which can detect and correct single bit errors by using redundant parity bits and calculating separate parities.
GROUP03_AMAK:ERROR DETECTION AND CORRECTION PPTKrishbathija
This document discusses error detection and correction techniques. It introduces concepts like redundancy, forward error correction, retransmission, linear block coding, Hamming codes, and cyclic redundancy checks (CRC). Specific error correction codes covered include Hamming codes, which use modulo-2 arithmetic to add redundant bits to detect and correct single bit errors. CRC codes are also discussed, which use cyclic codes and polynomial representations to detect errors by computing a syndrome value. The document provides information on generating and detecting errors for different codes.
This document discusses error detection and correction in digital communications. It begins by introducing different types of errors that can occur during data transmission and explains the need for redundancy to detect and correct errors. It then covers various block coding techniques used for error detection and correction, including linear block codes, Hamming codes, and cyclic codes such as cyclic redundancy checks (CRCs). Key concepts discussed include single-bit and burst errors, minimum Hamming distance, encoding and decoding processes, and the properties and advantages of different coding schemes.
How were the first error correcting codes constructed? A historical introduct...PadmaGadiyar
Hamming's original construction has been recast into symbolic form. This leads to an elementary historical route to the theory of error correcting codes. The talk is going to be historical and pedagogical in nature
This document summarizes error detection and correction techniques. It discusses types of errors like single-bit errors and burst errors. It covers basic concepts of error detection, including adding redundant bits and using techniques like parity checks. Error correction requires knowing the number and positions of errors. Linear block codes and cyclic codes are introduced. Hamming distance and minimum distance are important metrics for error detection and correction capability. Specific codes like parity codes, Hamming codes, and cyclic redundancy checks (CRCs) are described through examples.
The document discusses linear block codes and their encoding and decoding. It begins by defining linearity and systematic codes. Encoding can be represented by a linear system using generator matrices G, where the codewords c are a linear combination of the message m and G. Decoding uses parity check matrices H, where the syndrome s is computed as the received word r multiplied by H. For Hamming codes, the syndrome corresponds to the location of a single error.
This document discusses error detection and correction in digital communication. It covers the types of errors like single-bit and burst errors. It then explains various error detection techniques like parity checks, longitudinal redundancy checks, and cyclic redundancy checks which work by adding redundant bits. Finally, it discusses Hamming codes, which can not only detect errors but also correct single-bit errors through the strategic placement of redundant bits.
Error Detection and correction concepts in Data communication and networksNt Arvind
single bit , burst error detection and correction in data communication networks , block coding ( hamming code , simple parity check code , Cyclic redundancy check-CRC , checksum , internet checksum etc
This document discusses Cyclic Redundancy Check (CRC), a technique used to detect errors in digital data during transmission or storage. CRC works by calculating a checksum based on the remainder of binary long division of the transmitted data divided by a fixed, predetermined polynomial. The sender appends the CRC checksum to the end of the message before transmission. The receiver re-calculates the CRC and checks if it matches, to detect any errors introduced during transmission. Examples are provided to demonstrate how CRC encoding and decoding works using different generator polynomials.
The document is a report submitted to a lecturer that discusses error detection and correction of burst errors. It first defines key concepts like Hamming codes and burst errors. It then describes how burst errors occur when multiple adjacent bits are flipped and explains how redundancy can be used to detect and correct burst errors. Specifically, it notes that linear codes can correct all burst errors of length t or less if the errors occur in distinct cosets, allowing them to be identified and corrected based on their syndrome. The report provides examples of burst errors and definitions of burst error parameters like location and pattern.
The document discusses various methods for error detection in digital communication, including:
1. Parity checking, which adds an extra parity bit to ensure an even or odd number of 1s. Two-dimensional parity divides data into a grid and adds a redundant row.
2. Checksums, which divide data into sections, add the sections using one's complement arithmetic, complement the sum, and send it along with the data for verification.
3. Vertical redundancy checking adds a parity bit to each character to detect single-bit errors and some multiple-bit errors. It is often used with ASCII encoding.
This document provides an introduction to error correcting codes. It discusses key concepts such as channel capacity, error detection and correction, information rate, weight and distance, maximum likelihood decoding, and linear codes. Error correcting codes add redundant bits to messages to facilitate detecting and correcting errors that may occur during transmission or storage. Linear codes allow for simpler encoding and decoding procedures compared to non-linear codes. The generator and parity check matrices are important for encoding and decoding messages using linear codes.
Introduction to Convolutional Codes
Convolutional Encoder Structure
Convolutional Encoder Representation(Vector, Polynomial, State Diagram and Trellis Representations )
Maximum Likelihood Decoder
Viterbi Algorithm
MATLAB Simulation
Hard and Soft Decisions
Bit Error Rate Tradeoff
Consumed Time Tradeoff
The document discusses several techniques for error detection in digital communications, including block coding, parity checking, cyclic redundancy checks (CRC), and Hamming codes. Block coding involves dividing a message into blocks of k bits and adding r redundant bits to each block. Parity checking adds an extra bit to detect errors by checking if the number of 1's is even or odd. CRC generates a frame check sequence such that the data block and sequence are divisible by a predetermined number to detect errors. Hamming codes add k parity bits to an n-bit data word to detect and sometimes correct errors. These techniques help detect errors caused by interference during transmission but cannot always determine the location or correct multiple errors.
The document discusses the functions of the data link layer, including framing data, error detection and correction, and flow control. Specifically, it describes how the data link layer:
1. Organizes the physical layer bit stream into frames and applies error detection techniques like checksums.
2. Uses flow control methods like acknowledgments and windowing to prevent fast senders from overwhelming slow receivers and ensure reliable transmission.
3. Provides an interface between the physical layer and network layer, allowing network layer packets to be reliably transmitted over a communication channel.
The document discusses various functions and protocols of the data link layer, including:
1. Framing of data, error detection using checksums, and flow control to prevent faster senders from overwhelming slower receivers.
2. Common data link layer protocols like stop-and-wait and sliding window protocols using go-back-N and selective repeat to allow multiple frames to be transmitted.
3. Error detection techniques like parity bits, checksums, and cyclic redundancy checks to detect errors in transmitted frames.
The document discusses various data link layer protocols. It begins by explaining the position and functions of the data link layer, including providing an interface to the network layer, dealing with transmission errors, regulating data flow, and preventing fast senders from overwhelming slow receivers. It then discusses various data link layer design issues like framing, error control, flow control, and the services provided to the network layer. The document proceeds to explain different elementary data link protocols like unrestricted simplex, stop-and-wait, and simplex protocols for noisy channels. It concludes by describing sliding window protocols including one-bit, go-back-N, and selective repeat protocols.
This document discusses error detection and correction techniques used at the data link layer. It covers parity checks, cyclic redundancy checks (CRC), checksums, and Hamming codes. Parity checks, CRC, and checksums are used for error detection, while Hamming codes can detect and correct errors. The document provides examples of how these techniques work and compares their abilities to detect single-bit and burst errors.
This document discusses error detection and correction techniques for digital data transmission. It introduces different types of errors that can occur, such as single-bit and burst errors. It describes how redundancy is used to detect and correct errors using block coding techniques. Specific examples are provided to illustrate how block codes are constructed and used to detect and correct errors. Key concepts discussed include linear block codes, Hamming distance, minimum Hamming distance, and how these relate to the error detection and correction capabilities of different coding schemes.
T com presentation (error correcting code)Akshit Jain
This document discusses error correcting codes, which are used to detect and correct errors that occur during data transmission. It covers different types of block codes like Hamming codes and Reed-Muller codes. Hamming codes can detect and correct single bit errors by adding redundant bits. Reed-Muller codes use a generator matrix to encode data and can detect and correct single bit errors through majority decoding. The document provides examples of encoding and decoding data using Hamming codes and Reed-Muller codes to demonstrate how they can detect and correct errors.
The sender initializes the checksum to 0 and adds all data items and the checksum. However, 36 cannot be expressed in 4 bits. The extra two bits are wrapped and added with the sum to create the wrapped sum value 6. The sum is then complemented, resulting in the checksum value 9 (15 − 6 = 9).
This document discusses error detection and correction techniques in digital communications. It covers Hamming distance, block codes, linear block codes, cyclic codes, cyclic redundancy checks (CRCs), and checksums. Key points include:
- The Hamming distance between words is the number of differing bits
- Minimum Hamming distance determines a code's error detection/correction capabilities
- CRCs use polynomial division to generate check bits and detect errors
- Cyclic codes have the property that cyclic shifts of codewords are also codewords
- CRC and cyclic codes are often implemented using shift registers and polynomial arithmetic
- Characteristics of good cyclic code generators for detecting various error patterns are discussed
The document discusses error detection and correction techniques. It explains that bit errors can occur during data transmission due to noise. Various error detection strategies are described, including parity schemes, checksum, and CRC. Parity schemes like even and odd parity can detect some errors but not all. Checksum adds up data words and transmits the sum. CRC generates a polynomial for data and divisor, allowing it to detect more error types than checksum. For error correction, Hamming codes are discussed which can detect and correct single bit errors by using redundant parity bits and calculating separate parities.
GROUP03_AMAK:ERROR DETECTION AND CORRECTION PPTKrishbathija
This document discusses error detection and correction techniques. It introduces concepts like redundancy, forward error correction, retransmission, linear block coding, Hamming codes, and cyclic redundancy checks (CRC). Specific error correction codes covered include Hamming codes, which use modulo-2 arithmetic to add redundant bits to detect and correct single bit errors. CRC codes are also discussed, which use cyclic codes and polynomial representations to detect errors by computing a syndrome value. The document provides information on generating and detecting errors for different codes.
This document discusses error detection and correction in digital communications. It begins by introducing different types of errors that can occur during data transmission and explains the need for redundancy to detect and correct errors. It then covers various block coding techniques used for error detection and correction, including linear block codes, Hamming codes, and cyclic codes such as cyclic redundancy checks (CRCs). Key concepts discussed include single-bit and burst errors, minimum Hamming distance, encoding and decoding processes, and the properties and advantages of different coding schemes.
How were the first error correcting codes constructed? A historical introduct...PadmaGadiyar
Hamming's original construction has been recast into symbolic form. This leads to an elementary historical route to the theory of error correcting codes. The talk is going to be historical and pedagogical in nature
This document summarizes error detection and correction techniques. It discusses types of errors like single-bit errors and burst errors. It covers basic concepts of error detection, including adding redundant bits and using techniques like parity checks. Error correction requires knowing the number and positions of errors. Linear block codes and cyclic codes are introduced. Hamming distance and minimum distance are important metrics for error detection and correction capability. Specific codes like parity codes, Hamming codes, and cyclic redundancy checks (CRCs) are described through examples.
The document discusses linear block codes and their encoding and decoding. It begins by defining linearity and systematic codes. Encoding can be represented by a linear system using generator matrices G, where the codewords c are a linear combination of the message m and G. Decoding uses parity check matrices H, where the syndrome s is computed as the received word r multiplied by H. For Hamming codes, the syndrome corresponds to the location of a single error.
This document discusses error detection and correction in digital communication. It covers the types of errors like single-bit and burst errors. It then explains various error detection techniques like parity checks, longitudinal redundancy checks, and cyclic redundancy checks which work by adding redundant bits. Finally, it discusses Hamming codes, which can not only detect errors but also correct single-bit errors through the strategic placement of redundant bits.
Error Detection and correction concepts in Data communication and networksNt Arvind
single bit , burst error detection and correction in data communication networks , block coding ( hamming code , simple parity check code , Cyclic redundancy check-CRC , checksum , internet checksum etc
This document discusses Cyclic Redundancy Check (CRC), a technique used to detect errors in digital data during transmission or storage. CRC works by calculating a checksum based on the remainder of binary long division of the transmitted data divided by a fixed, predetermined polynomial. The sender appends the CRC checksum to the end of the message before transmission. The receiver re-calculates the CRC and checks if it matches, to detect any errors introduced during transmission. Examples are provided to demonstrate how CRC encoding and decoding works using different generator polynomials.
The document is a report submitted to a lecturer that discusses error detection and correction of burst errors. It first defines key concepts like Hamming codes and burst errors. It then describes how burst errors occur when multiple adjacent bits are flipped and explains how redundancy can be used to detect and correct burst errors. Specifically, it notes that linear codes can correct all burst errors of length t or less if the errors occur in distinct cosets, allowing them to be identified and corrected based on their syndrome. The report provides examples of burst errors and definitions of burst error parameters like location and pattern.
The document discusses various methods for error detection in digital communication, including:
1. Parity checking, which adds an extra parity bit to ensure an even or odd number of 1s. Two-dimensional parity divides data into a grid and adds a redundant row.
2. Checksums, which divide data into sections, add the sections using one's complement arithmetic, complement the sum, and send it along with the data for verification.
3. Vertical redundancy checking adds a parity bit to each character to detect single-bit errors and some multiple-bit errors. It is often used with ASCII encoding.
This document provides an introduction to error correcting codes. It discusses key concepts such as channel capacity, error detection and correction, information rate, weight and distance, maximum likelihood decoding, and linear codes. Error correcting codes add redundant bits to messages to facilitate detecting and correcting errors that may occur during transmission or storage. Linear codes allow for simpler encoding and decoding procedures compared to non-linear codes. The generator and parity check matrices are important for encoding and decoding messages using linear codes.
Introduction to Convolutional Codes
Convolutional Encoder Structure
Convolutional Encoder Representation(Vector, Polynomial, State Diagram and Trellis Representations )
Maximum Likelihood Decoder
Viterbi Algorithm
MATLAB Simulation
Hard and Soft Decisions
Bit Error Rate Tradeoff
Consumed Time Tradeoff
The document discusses several techniques for error detection in digital communications, including block coding, parity checking, cyclic redundancy checks (CRC), and Hamming codes. Block coding involves dividing a message into blocks of k bits and adding r redundant bits to each block. Parity checking adds an extra bit to detect errors by checking if the number of 1's is even or odd. CRC generates a frame check sequence such that the data block and sequence are divisible by a predetermined number to detect errors. Hamming codes add k parity bits to an n-bit data word to detect and sometimes correct errors. These techniques help detect errors caused by interference during transmission but cannot always determine the location or correct multiple errors.
The document discusses the functions of the data link layer, including framing data, error detection and correction, and flow control. Specifically, it describes how the data link layer:
1. Organizes the physical layer bit stream into frames and applies error detection techniques like checksums.
2. Uses flow control methods like acknowledgments and windowing to prevent fast senders from overwhelming slow receivers and ensure reliable transmission.
3. Provides an interface between the physical layer and network layer, allowing network layer packets to be reliably transmitted over a communication channel.
The document discusses various functions and protocols of the data link layer, including:
1. Framing of data, error detection using checksums, and flow control to prevent faster senders from overwhelming slower receivers.
2. Common data link layer protocols like stop-and-wait and sliding window protocols using go-back-N and selective repeat to allow multiple frames to be transmitted.
3. Error detection techniques like parity bits, checksums, and cyclic redundancy checks to detect errors in transmitted frames.
The document discusses various data link layer protocols. It begins by explaining the position and functions of the data link layer, including providing an interface to the network layer, dealing with transmission errors, regulating data flow, and preventing fast senders from overwhelming slow receivers. It then discusses various data link layer design issues like framing, error control, flow control, and the services provided to the network layer. The document proceeds to explain different elementary data link protocols like unrestricted simplex, stop-and-wait, and simplex protocols for noisy channels. It concludes by describing sliding window protocols including one-bit, go-back-N, and selective repeat protocols.
Here is the presentation for Data Link Layer Numericals from the book Andrew S. Tanenbaum (Computer Networks) and B A Forouzan ( Data Communication and Networking)
The data link layer, or layer 2, is the second layer of the seven-layer OSI model of computer networking. This layer is the protocol layer that transfers data between adjacent network nodes in a wide area network (WAN) or between nodes on the same local area network (LAN) segment.
This document discusses computer network error detection and correction. It begins by defining single-bit errors and burst errors. It then explains three common error detection techniques: parity check, cyclic redundancy check (CRC), and checksum. Parity check uses a redundant bit to make the total number of 1s even or odd. CRC performs binary division to generate redundant bits. Checksum adds data bits and compares the sum. For error correction, it describes Hamming codes, which add redundant bits in specific positions to detect and correct single-bit errors.
This document discusses error detection and correction techniques used across different network layers. It introduces concepts like adding redundant data through error detection codes to recognize errors and error correction codes to repair errors. Specific techniques covered include parity, cyclic redundancy checks (CRCs), and Reed-Solomon codes. CRCs are powerful codes commonly used in Ethernet that can detect all single- and double-bit errors through careful choice of the CRC polynomial.
Lecture8_Error Detection and Correction 232.pptxMahabubAlam97
This document discusses error detection and correction. It begins by defining different types of errors that can occur like single-bit and multiple-bit errors. It then discusses concepts like redundancy and error detection vs correction. Specific error detection and correction techniques are covered such as block coding, forward error correction vs retransmission, linear block codes including Hamming codes and cyclic redundancy checks (CRC). Worked examples are provided to illustrate key concepts.
Jaimin chp-3 - data-link layer- 2011 batchJaimin Jani
The document discusses data link layer services and functions including:
1. Providing interfaces between network layers and framing/error control/flow control.
2. Types of services include unacknowledged/acknowledged connectionless and connection-oriented.
3. Framing methods like character count, flag bytes, and encoding violations are used to delineate frames. Error control uses acknowledgments, timers, and sequence numbers.
The document provides information about various data link layer concepts including:
1. The data link layer provides framing, flow control, and error control between network layers on different machines. It uses devices like switches and bridges.
2. Error detection methods include parity checks, checksums, and CRC to detect errors in transmitted frames.
3. Data link protocols for flow control include stop-and-wait, sliding window protocols, and ARQ methods like go-back-N and selective repeat.
4. Framing encapsulates data with headers and trailers using fixed or variable size frames. Methods like byte stuffing and bit stuffing handle special characters in the data.
The data link layer is responsible for framing data, error detection and correction, and flow control. It provides different types of services including unacknowledged connectionless, acknowledged connectionless, and acknowledged connection-oriented. Framing methods include character count, flag bytes with byte stuffing, and starting/ending flags with bit stuffing. Error control uses acknowledgements, timers, and sequence numbers. Flow control regulates data transmission rates between sender and receiver. Common error detection codes are parity bits, checksums like CRC, while error correction uses codes like Hamming codes.
Error detection and correction
Data link control and protocols
Point-to-Point access (PPP)
Multiple Access
Local Area Networks: Ethernet
Wireless LANS
Virtual Circuit Switching: Frame Relay and ATM
This document outlines the syllabus for a course on computer networks. It covers three units: introduction to networking concepts and reference models, the data link layer, and the network layer. The data link layer section describes its design issues, functions, services, framing, error control, and flow control. It also discusses error detection techniques like vertical redundancy checks, longitudinal redundancy checks, cyclic redundancy checks, and checksums. The document provides examples and diagrams to explain these concepts.
This document summarizes a faculty development program on computer networks held from April 24-30, 2019. On April 25, Dr. A. Kathirvel from MNM Jain Engineering College gave a lecture covering various topics related to the data link layer, including data link protocols, media access control, encoding, framing, and error detection techniques. Specific protocols and concepts discussed include HDLC, PPP, Manchester encoding, 4B/5B encoding, byte-oriented and bit-oriented framing, CRC, checksums, and two-dimensional parity.
The document discusses error detection and correction techniques at the data link layer. It describes how errors can occur during data transmission and the need for reliable communication. Error detection allows a receiver to detect errors while error correction enables identifying and correcting bit errors without retransmission. Common techniques discussed include parity checks, checksums, and cyclic redundancy checks which add redundant bits to detect errors. CRC is based on binary division of data and checksum on addition. Forward error correction and retransmission are compared. Coding schemes use redundancy to detect or correct errors.
Human: Thank you for the summary. Can you provide a 2 sentence summary that captures the key aspects?
This document contains instructions and questions for a midterm exam on computer communication and networks. It consists of 5 questions testing knowledge of OSI model layers, sliding window protocols, channel capacity calculations, error detection codes, transmission delay calculations for various network configurations, and synchronous serial data transmission. The exam is closed book and notes, with a total time of 90 minutes and 46 possible points.
Channel coding is used in digital communication systems to provide error control and allow reliable transmission of information over noisy channels. The two main methods of error control coding are forward error correction (FEC) and automatic repeat request (ARQ). FEC encodes redundant data into each message to allow the receiver to correct errors without requesting retransmissions, while ARQ relies on the receiver to request retransmission of corrupted data. Common types of FEC codes include block codes, cyclic codes, and convolutional codes, with each code characterized by parameters like coding rate and minimum distance that determine its error detection and correction capabilities.
This document discusses error detection and correction in data transmission. It begins with an introduction to types of errors like single-bit and burst errors. It then discusses key concepts like error detection, correction, and forward error correction versus retransmission. The document focuses on block coding techniques for error detection and correction. It explains linear block codes and provides examples of parity-check codes and Hamming codes. Parity-check codes can detect single and odd number of errors while Hamming codes can detect and correct errors.
Digital data communication techniques require synchronization between transmitters and receivers. There are two main solutions:
1) Asynchronous transmission synchronizes on a per-character basis, resynchronizing with each character.
2) Synchronous transmission synchronizes transmitters and receivers at the bit level or block level, preventing timing drift through synchronized clocks.
3) Error detection and correction techniques like parity checks and cyclic redundancy checks are used to detect errors, while forward error correction allows detection and correction of errors.
This document discusses error detection and correction techniques using Hamming codes and cyclic redundancy checks (CRCs). It explains key concepts like Hamming distance, minimum distance, linear block codes, and cyclic codes. Examples are provided to illustrate how Hamming codes can detect up to two errors and correct one error using a minimum distance of 3. CRC codes are also examined, showing how they use polynomial division to detect errors. The advantages of cyclic codes for hardware implementation are noted.
Current affairs-magazine-november-2012-13Ramesh Kumar
This document provides a summary of current affairs that occurred in November 2012. It includes key events such as Barack Obama winning the US presidential election, the conclusion of the 21st ASEAN summit in Cambodia, and the hanging of Mohammed Ajmal Amir Kasab at Yerwada jail in Pune, India. The document is structured with sections on international events, the economy, corporate news, national affairs, sports, science and technology, and the environment. It also includes various quizzes and lists of additional recent news headlines.
Nkosazana Dlamini-Zuma became the First Female Chairperson of African Union Commission. Syrian Defence Minsiter, Dawoud Rajiha Killed in Suicide Bomb attack in Damascus, Syria. SC banned Commercial and Tourism Activities near Jarawa Habitat. Pranab Mukherjee won the Presidential Election 2012. Indian Railways introduced new guidelines for booking of Tatkal tickets.
Current affairs-magazine-october-2012-1Ramesh Kumar
This document provides a summary of current affairs that occurred in October 2012. It includes the following key events:
1) India and Australia announced negotiations on a nuclear deal, while the UK and Scotland signed an agreement on Scottish independence and France officially recognized the 1961 Paris massacre.
2) The Nobel Prizes for 2012 were awarded, including the economics prize being won by Lloyd Shapley and Alvin Roth.
3) Hurricane Sandy, a category 2 cyclone, struck the eastern US in late October.
4) International events included India signing agreements with various countries on issues like urban development, education, and defense cooperation.
Current affairs-magazine-september-2012-1Ramesh Kumar
The document is a 34-page PDF containing current affairs content from September 2012 organized into the following sections: Pick of the Month, International, World Dairy, Economy, and Corporate. Some of the key events summarized include the 16th Non-Aligned Movement Summit being held in Tehran, India topping child mortality estimates, and the US uplifting terrorist designations from Nepali Maoists. The document provides an overview of international, economic, and corporate news from that month.
HTML Basics :
- Webpages are written in HTML, a markup language that uses tags to define text formatting and layout. Tags are words enclosed in angle brackets like <b> for bold text.
- The basic structure of an HTML page includes a head section for metadata and a body section for visible content. Headers, paragraphs, lists and other elements are marked up with tags in the body.
- Learning HTML provides benefits like creating custom pages and understanding page code from other websites. The tutorial explains common HTML tags and elements to get started building webpages.
M.K. Stalin was announced as the next party chief of the DMK in Tamil Nadu. Tulsi Gabbard became the first Hindu member of the U.S. House of Representatives to take her oath on the Bhagavad Gita. Idrees Beigh, an electrical engineer, developed a solar-powered Kangri to provide heat without using fire. China claimed to be the first country to begin construction of a new commercial nuclear power plant with a fourth generation reactor.
The document provides general knowledge questions and answers from India in 2013 and 2012 on various topics:
1. M.K. Stalin was announced as the next party chief of DMK in Tamil Nadu. Tulsi Gabbard from Hawaii became the first Hindu to take oath on the Bhagavad Gita in the U.S. Congress.
2. Idrees Beigh, an electrical engineer from India, developed a solar-powered Kangri to provide heat without fire. China claimed to be the first country to start construction of a new $476 million commercial nuclear power plant.
3. General awareness questions covered the Reserve Bank of India, Sangeet Natak Akademi,
Bajaj Auto unveiled its ultra low cost car RE60 with a top speed of 70 Km/h and mileage of 35 Kmpl. Anup Kumar of Andhra Pradesh and Ashu Raj of Uttarakhand won the men's and male junior categories of the National Ice Skating Championship in Shimla. The US State Department posted a new map of India showing Jammu and Kashmir with a dotted line, projecting it as a disputed territory. It is possible to book train tickets on a cell phone by registering and downloading suitable software, and tickets can be shown via SMS confirmation. Rajasthan is creating a network of informers to address the dismal sex ratio, rewarding them for information leading to prosecution of
FTP is a session-oriented, general purpose file transfer protocol that provides user authentication, bidirectional file transfers, and relies on TCP. TFTP is a simpler file transfer protocol that provides virtually no control, allows only unidirectional transfers, relies on UDP, and does not support user authentication. Windows NT FTP server does not support TFTP due to its lack of authentication.
This document provides a summary of general knowledge related to India from various months in 2012. It includes information on recent events, people, places, awards and achievements. The document contains content that would be useful for exams or as reference material for keeping up with current Indian affairs.
This document discusses the migration to 40 Gigabit Ethernet (GbE) networks. It provides examples of organizations that are beginning to deploy 40 GbE, such as the University of Twente and Verisign, to keep up with rapidly increasing network traffic and bandwidth demands. The summary discusses some of the challenges of migrating to 40 GbE, such as the need for new cabling and optics that support the higher speeds, and ensuring fiber connections are properly maintained. It also notes that monitoring and security appliances will need to be upgraded to support 40 GbE traffic.
This document provides an overview and table of contents for a book titled "CCNA Practice Questions (Exam 640-802) Third Edition" by Jeremy Cioara. The book contains practice questions and answers to help readers study and prepare for the CCNA certification exam. It is divided into two parts that cover the ICND1 and ICND2 exam objectives. Each part contains multiple chapters that review topics like networking fundamentals, routing, switching, WAN technologies and network security. The document lists the chapter titles and topics covered in each one to help readers understand the scope of the material in the book.
This chapter introduces HTML and the basics of creating web pages. It discusses:
- The origins of HTML and how it enabled linking between documents on the internet.
- The main components of an HTML file - tags which provide formatting instructions to browsers enclosed in angle brackets, attributes which modify tags, and closing tags to indicate the end of an element.
- The four main stages of web development - planning, creating, testing, and publishing.
- Common tags used in HTML documents including <html> to indicate HTML content, <head> for metadata, and other basic document tags.
The document describes the FCAT 01 series of Fast Ethernet Media converters. It provides media conversion from 10/100BASE-T to 100BASE-FX fiber ranging from 2km to 100km. It is available as standalone devices and in a rack-mounted chassis that can support up to 24 ports. The media converters support multimode and single-mode fiber and can propagate fiber link failures to the copper port.
The document summarizes a field trial conducted by a major U.S. service provider to test 3M's Crimplok+ fiber optic connectors. The service provider was seeking a more cost-effective solution for connecting fibers in multi-dwelling unit fiber-to-the-home deployments compared to traditional fusion splicing. In a trial connecting 240 units in Texas, technicians were able to install the Crimplok+ connectors in under five minutes on average per unit, providing reliable connections comparable to fusion splicing but at a lower cost due to faster installation and reduced equipment needs. The service provider estimated potential equipment cost savings of 75% or more and labor cost savings of 20-50% compared to fusion splicing.
This document provides an overview of using JavaScript to add dynamic content and interactivity to web pages. It discusses generating HTML dynamically with document.write, monitoring user events like clicks with event handlers, basic JavaScript syntax including objects and functions, and applications such as modifying images, extracting document info, and adjusting content based on browser window size. Examples are provided throughout to demonstrate key JavaScript concepts.
A major communications company needed to deploy a fiber optic mobile backhaul network in Las Vegas within 3 weeks. 3M provided its Fiber Dome Stubbed Terminal and External Cable Assembly solutions to enable a plug-and-play network. Within 3 weeks, 3M's solution was deployed and the first tower was operational, providing 24/7 access for maintenance and scalability. The lower cost and easy installation of 3M's terminals allowed the network to expand and add new business customers.
This document provides a summary of the Wireless Networking in the Developing World second edition book in 3 sentences or less:
The book is a practical guide for planning and building low-cost telecommunications infrastructure using wireless networking protocols. It covers topics such as radio physics, network design, antennas, hardware, security, solar power, and case studies. The book is published under a Creative Commons license to allow anyone to freely use and share the knowledge within.
The document discusses basic functions in SAP Treasury Management including master data management for banks, house banks, trader authorizations and business partners, as well as limit management, market data management, tools for archiving and data transfer, and file interfaces for importing market data.
This document provides instructions for logging into the SAP practice environment, explaining that new users should log in to practice without affecting live data, that authorization is based on job responsibility, and that each department has an Authorized Requester who manages user profiles for security.
2. Data Link Layer Design Issues
a) Services Provided to the Network Layer
b) Framing
c) Error Control
d) Flow Control
3. Functions of the Data Link Layer
a) Provide service interface to the network layer
b) Dealing with transmission errors
c) Regulating data flow
1. Slow receivers not swamped by fast senders
4. Functions of the Data Link Layer (2)
Relationship between packets and frames.
5. Services Provided to Network Layer
(a) Virtual communication.
(b) Actual communication.
7. Framing
Framing by character count.
A character stream. (a) Without errors. (b) With one error.
Problem: Even if the error is detected, the receiver cannot figure out where
the next frame starts ... its cannot resynchronize.
8. Framing (2)
(a) A frame delimited by flag bytes.
(b) Four examples of byte sequences before and after stuffing.
Problem: Too tied to the 8-bit per character format ... UNICODE uses 16-bits/char
9. Frames that need to be send in a bit stream:
Flag
The sender sends the following bit stream:
Flag Esc Flag
The receiver will ignore this flag.
Frames that need to be send in a bit stream:
Esc Flag
The sender sends the following bit stream:
Esc Esc Flag Esc Flag
The receiver will ignore this Esc, and accept the flag. The receiver will ignore this flag.
10. Framing (3)
The goal is to have 01111110 as a unique bit pattern.
Bit stuffing
(a) The original data.
(b) The data as they appear on the line.
(c) The data as they are stored in receiver’s memory after destuffing.
11. Error Detection and Correction
a) Error-Correcting Codes
b) Error-Detecting Codes
12. Block Code Principles
Hamming distance d(v1,v2), is the number of bits in which v1 and v2 differ.
Hence, d(011011,110001) = 3.
Consider the following mapping for k = 2 and n = 5
Data Block Codeword
00 00000
01 00111
10 11001
11 11110
Now is a 00100 is received, what do we do ? Obviously this is not a codeword. So we
have detected a error. Now let's see the hamming distance of the received word from all
code words:
d(00100,00000) = 1, d(00100,00111) = 2, d(00100,11001) = 4, d(00100,11110) = 3. So
hamming distance to codeword for 00 is least. Hence it is most likely that the code
transmitted codeword was 00000 and hence the data was 00. So now we have,with
high probability, corrected the error.
13. Block Code Principles contd.
Hence of 2n words 2k are valid codewords. Of the remaining 2n - 2k words, at times
some have minimun valid hamming distances to 2 codewords. For example from
previous example.
If received word was 01010, then this has min hamming distance d(01010,00000) =
2 and d(01010, 11110) = 2 from 2 valid code words. So in this case we can detect
the error, but cannot correct it.
Consider pairwise hamming distances between codewords:
d(00000,00111) = 3; d(00000,11001) = 3; d(00000,11110) = 4;
d(00111,11001) = 4; d(00111,11110) = 3; d(11001,11110) = 3;
Minimum distance between valid codewords = 3;
Single bit error will cause invalid codeword at distance 1 from a valid codeword and
at least distance 2 from all other valid codewords. So we can always correct single
bit errors. We can always detect two bit errors, but we might not aways be able to
detect 3 bit errors.
14. Block Code Principles contd.
Each bit error increases the hamming distance by 1.
In general, to correct error of up to t bits, the hamming distance between codewords
should be at least 2t + 1.
Design goals:
(1) Given k and n we would like to design codewords that are farthest away from each
other.
(2) Codewords should be easy to encode and decode.
(3) Extra bits (n-k), should be as small as possible.
(4) Extra bits (n-k) should be large to reduce error rate.
15. The bits of the codeword are numbered consecutively, starting with bit 1 at the left
end, and so on.
The bits that are powers of 2 (1, 2, 4, 8, 16, …) are check bits.
The rest (3, 5, 6, 7, 9, …) are data bits.
Each check bit forces the parity of some collection of bits, including itself, to be even.
To see which check bits the data bit in position k contributes to, rewrite k as a sum of
power of 2, e.g.,:
11 = 1 + 2 + 8 and 29 = 1 + 4 + 8 + 16
1001000 is encoded as 00110010000
Check bits are in blue.
Which data position contributes to the first check bit: 3, 5, 7, 9, 11
Which data position contributes to the second bit: ?
The example figure is in the next table.
16. When a codeword arrives, the receiver examines each check bit for the correct parity.
It the error counter is nonzero, it contains the number of incorrect bits.
Hamming codes can correct single errors:
If check bits 1, 2, and 8 are in error, the inverted bit is 11, because:
11 = 1 + 2 + 8
The trick so that Hamming codes can correct burst errors:
Arrange k consecutive codewords in a single matrix.
Transmit the data one column at a time
(normally the data would be transmitted one row at a time).
18. Error-Detecting Codes
Error-correcting codes are widely used on wireless links that are noisy.
However, they generate too large transmission overhead for reliable links such as
copper wire or fiber. Therefore, here error-detection codes are used.
When error is detected, the data is retransmitted.
The goal for error correcting codes it to add redundancy to the data so that the
errors are not only detected but can be at the same time corrected (without
retransmission).
For error-detecting codes the goal is to only detect the errors with the minimal
transmission overhead. They are based on polynomial code also known as CRC
(Cyclic Redundancy Check)
A k-bit frame is regarded as polynomial with coefficients 0 and 1 with terms from
xk-1 to x0
For example: 110001 -> x 5 + x4 + x0
19. Polynomial arithmetic is done modulo 2 using the rules of algebraic field theory.
Both addition and subtraction are identical to exclusive OR. For exampe:
10011011 11110000
+11001010 -10100110
-------------- -------------
01010001 01010110
The sender and receiver must agree on a generator polynomial G(x).
G(x) must have the first and last bit equal to 1.
For a given frame, we consider its polynomial M(x) (longer than G(x)).
The checksum is the reminder from the division M(x)*xr / G(x),
where r is the degree of G(x).
Polynomial T(x) obtained as M(x)*xr - checksum
represents the check-summed frame that is divisible by G(x).
An example division is shown on the next page, where the frame is
1101011011 (corresponds to M(x))
and the generator polynomial G(x) = x4 + x + x0 -> 10011.
M(x)*xr -> 11010110110000 (we added 4 zeros at the end)
21. Upon receiving the check-summed frame, the receiver divides it by G(x):
[T(x) + E(x)] / G(x)
Since T(x) / G(x) is always zero, the result is always E(x) / G(x).
The errors containing G(x) as a factor will slip by, all other errors will be caught.
Single bit errors will be detected:
We have E(x)=xi for a single bit error,
E(x) / G(x) will not be zero, since G(x) must have the first and last bit equal to 1.
All errors consisting of an odd number of inverted bits will be detected
if G(x) is divisible by (x + 1).
E(x) consists of odd number of terms, e.g., x5 + x2 + x0
and therefore, cannot be divisible by (x+1).
Since E(x) has an odd number of terms E(1)=1.
If E(x) = (x + 1) Q(x), then E(1) = (1 + 1) Q(1) = 0, a contradiction.
The polynomial G(x) used in IEEE 802 standard is
x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x1 + 1
22. Elementary Data Link Protocols
a) An Unrestricted Simplex Protocol
b) A Simplex Stop-and-Wait Protocol
c) A Simplex Protocol for a Noisy Channel
Each protocol is increasing in complexity
and drops unrealistic assumptions.
23. Unrestriced simplex protocol
Assumption 1. Receiver can process data infinitely fast.
Assumption 2. Channel never looses data
Sender Receiver can
sends as fast always
as possible process fast
enough
24. Simplex stop-and-wait protocol
Assumption 2. Channel never looses data
Sender
sends
frame
Sender Rcvr sends
waits for ack after
ack processing
Sender
sends
frame
25. Simplex protocol for noisy channel
Assumption 2. Channel may loose data
* Data frame can be lost
* Ack can be lost
Lost data frames:
This means that sender will never get an ack.
Sender can implement timer for each frame sent. If timer expires retransmit.
But what if the data frame arrived but the ack was lost?
Using above method, sender will retransmit frame that receiver has already received.
Result: Duplicate frame at sender.
So receiver needs some way of distinguishing duplicates.
Answer: Use sequence numbers.
What should be the field size of these sequence numbers ?
26. Simplex protocol for noisy channel
Since we are still using a stop-and-wait type protocol, sender will never transmit
frame m+1 unless it gets an ack for m. So receiver need only distinguish between
successive frames. A 1 bit sequence number (0,1) is enough. Sender includes
consecutive seq numbers in frame, receiver sends ack with seq number.
Sender:
Send frame with seq number N.
Wait (with timer) for ack with seq number N.
If timer expires: retransmit frame with seq number N
If ack arrives : N = mod(N+1,2)
Receiver:
Expect frame N
If N arrives: deliver to network layer, send ack for N, N = mod(N+1,2)
If any other seq num: send previous ack (mod(N-1,2))
The main difference between this protocol for simple stop-and-wait is that the receiver
knows which seq num to expect and sender known which seq num to send.
This technique is called Automatic Repeat Request (ARQ)
27. A Simplex Protocol for a Noisy Channel
Fig. 3-12.
A positive
acknowledgement
with retransmission
protocol.
Last line ‘inc(…’
should be ‘inv(…’
Continued
28. A Simplex Protocol for a Noisy Channel (ctd.)
A positive acknowledgement with retransmission protocol.
29. Sliding Window Protocols
a) A One-Bit Sliding Window Protocol
b) A Protocol Using Go Back N
c) A Protocol Using Selective Repeat
30. Sliding Window Protocols (2)
A sliding window of size 1, with a 3-bit sequence number.
(a) Initially.
(b) After the first frame has been sent.
(c) After the first frame has been received.
(d) After the first acknowledgement has been received.
31. Pipelining
Consider a 50 kbps channel to a satellite with round-trip propagation delay 500 msec.
Using window size 1:
At t = 0 sender starts sending first bit of 1000 bit frame
At t = 20 msec frame completely sent
At t = 270 frame completely received
At t = 520 ack received by sender
Sender busy for 20/520 = 4% of time ... very inefficient.
Why ?
Sender has to wait till a frame is acked before sending the next frame.
Solution: Allow sender to send up to w (>1) frames without waiting for ack.
So from t = 0 to t = 520, sender could have sent 26 frames, so let w should be atleast 26.
Need for large window occurs when the bw x delay is big .... think about this !!
bw x delay determines how many frames can “fit in the pipe”. We will revisit this later.
32. Pipelining and error control
Pipelining is fine ... but what if frames in the pipeline are lost.
Sender will detect loss of frames only after many successive frames have
already been transmitted.
So, does the sender retransmit all frames (lost and successive) or just lost ?
The buffer at the receiver decides.
33. Go-back-N Vs. Selective-repeat
Pipelining and error recovery. Effect on an error when
(a) Receiver’s window size is 1.
(b) Receiver’s window size is large.
35. Data Link Protocols in Use
The Internet uses PPP (Point-to-Point) as the primary data link protocol over
point-to-point lines between routers and for dialup connections.
The PPP frames are byte oriented.
In LAN networks HDLC (High-level Data Link Control) protocols are used.
These protocols originate from IBM mainframe world.
The HDLC frames are bite oriented.