Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level...
Transcript of Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level...
![Page 1: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/1.jpg)
Computer Networks(2015 Pattern)
Unit II- Logical Link Control
By Prof. B.A.Khivsara
Note: Material for this presentations are taken from Internet and books and only being used for students reference and not for commercial purpose
![Page 2: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/2.jpg)
Outline
Design Issues: Services to Network Layer,Framing,Error Control and Flow Control
Flow Control Protocols: Unrestricted Simplex, Stop and Wait, Sliding Window Protocol
Error Control: Parity Bits, Hamming Codes (11/12-bits) and CRC.
WAN Connectivity : PPP and HDLC
![Page 3: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/3.jpg)
Data Link Layer Design Issues
Network layer services
Framing
Error control
Flow control
Addressing
Link control and management
![Page 4: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/4.jpg)
Data Link Layer Design Issues
Physical layer delivers bits of information to and from data link layer. The functions of Data Link Layer are:
• Providing a well-defined service interface to the network layer.
• Dealing with transmission errors.
• Regulating the flow of data so that slow receivers are not swamped by fast senders.
Data Link layer
• Takes the packets from Physical layer, and
• Encapsulates them into frames
![Page 5: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/5.jpg)
Possible Services Offered
Unacknowledged connectionless service.
Acknowledged connectionless service.
Acknowledged connection-oriented service.
![Page 6: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/6.jpg)
Unacknowledged Connectionless
Service
It consists of having the source machine send independent frames to the destination machine without having the destination machine acknowledge them.
Example: Ethernet, Voice over IP, etc. in all the communication channel were real time operation is more important that quality of transmission.
![Page 7: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/7.jpg)
Acknowledged Connectionless Service
Each frame send by the Data Link layer is acknowledged and the sender knows if a specific frame has been received or lost.
Typically the protocol uses a specific time period that if has passed without getting acknowledgment it will re-send the frame.
This service is useful for commutation when an unreliable channel is being utilized (e.g., 802.11 WiFi).
![Page 8: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/8.jpg)
Acknowledged Connection Oriented
Service
Source and Destination establish a connection first.
Each frame sent is numbered
• Data link layer guarantees that each frame sent is indeed received.
• It guarantees that each frame is received only once and that all frames are received in the correct order.
Examples:
• Satellite channel communication,
• Long-distance telephone communication, etc.
![Page 9: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/9.jpg)
11.9
FRAMING
The data link layer needs to pack bits into frames, so
that each frame is distinguishable from another. Our
postal system practices a type of framing. The simple
act of inserting a letter into an envelope separates one
piece of information from another; the envelope serves
as the delimiter.
Fixed-Size Framing
Variable-Size Framing
Topics discussed in this section:
![Page 10: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/10.jpg)
Framing Methods
Byte count.
Flag bytes with byte stuffing.
Flag bits with bit stuffing.
Physical layer coding violations.
![Page 11: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/11.jpg)
Byte Count Framing Method It uses a field in the header to specify the number of bytes in the
frame.
Once the header information is being received it will be used to
determine end of the frame.
See figure in the next slide:
Trouble with this algorithm is that when the count is incorrectly
received the destination will get out of synch with transmission.
Destination may be able to detect that the frame is in error but
it does not have a means (in this algorithm) how to correct it.
![Page 12: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/12.jpg)
Framing (1)
A byte stream. (a) Without errors. (b) With one error.
![Page 13: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/13.jpg)
Flag Bytes with Byte Staffing Framing
Method
This methods gets around the boundary detection of the frame by
having each appended by the frame start and frame end special
bytes.
If they are the same (beginning and ending byte in the frame) they
are called flag byte.
In the next slide figure this byte is shown as FLAG.
If the actual data contains a byte that is identical to the FLAG byte
(e.g., picture, data stream, etc.) the convention that can be used is
to have escape character inserted just before the “FLAG” character.
![Page 14: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/14.jpg)
Framing (2)
A frame delimited by flag bytes.
Four examples of byte sequences before and after byte stuffing.
![Page 15: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/15.jpg)
11.15
Figure Byte stuffing and unstuffing
![Page 16: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/16.jpg)
Flag Bits with Bit Stuffing Framing
Method
This methods achieves the same thing as Byte Stuffing method by
using Bits (1) instead of Bytes (8 Bits).
It was developed for High-level Data Link Control (HDLC)
protocol.
Each frames begins and ends with a special bit patter:
01111110 or 0x7E <- Flag Byte
Whenever the sender’s data link layer encounters five
consecutive 1s in the data it automatically stuffs a 0 bit into the
outgoing bit stream.
USB uses bit stuffing.
![Page 17: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/17.jpg)
Framing (3)
Bit stuffing. (a) The original data. (b) The data as they appear on
the line. (c) The data as they are stored in the receiver’s memory after destuffing.
![Page 18: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/18.jpg)
11.18
Figure Bit stuffing and unstuffing
![Page 19: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/19.jpg)
Framing
Many data link protocols use a combination of presented
methods for safety. For example in Ethernet and 802.11
each frame begin with a well-defined pattern called a
preamble.
Preamble is typically 72 bits long.
It is then followed by a length fileld.
![Page 20: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/20.jpg)
11.20
FLOW AND ERROR CONTROL
The most important responsibilities of the data link
layer are flow control and error control. Collectively,
these functions are known as data link control.
Flow Control
Error Control
Topics discussed in this section:
![Page 21: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/21.jpg)
11.21
Flow control refers to a set of procedures
used to restrict the amount of data
that the sender can send before
waiting for acknowledgment.
Note
![Page 22: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/22.jpg)
11.22
Error control in the data link layer is
based on automatic repeat request,
which is the retransmission of data.
Note
![Page 23: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/23.jpg)
Outline
Design Issues: Services to Network Layer,Framing,Error Control and Flow Control
Flow Control Protocols: Unrestricted Simplex, Stop and Wait, Sliding Window Protocol
Error Control: Parity Bits, Hamming Codes (11/12-bits) and CRC.
WAN Connectivity : PPP and HDLC
![Page 24: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/24.jpg)
11.24
Figure Taxonomy of Flow Control protocols
![Page 25: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/25.jpg)
11.25
NOISELESS CHANNELS
Let us first assume we have an ideal channel in which
no frames are lost, duplicated, or corrupted. We
introduce two protocols for this type of channel.
Simplest Protocol
Stop-and-Wait Protocol
Topics discussed in this section:
![Page 26: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/26.jpg)
11.26
Figure Flow diagram for Simplex Protocol
![Page 27: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/27.jpg)
11.27
Figure Flow diagram for Stop-and-Wait Protocol
![Page 28: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/28.jpg)
11.28
NOISY CHANNELS
Although the Stop-and-Wait Protocol gives us an idea of
how to add flow control to its predecessor, noiseless
channels are nonexistent. We discuss three protocols in
this section that use error control.
Stop-and-Wait Automatic Repeat Request
Go-Back-N Automatic Repeat Request
Selective Repeat Automatic Repeat Request
Topics discussed in this section:
![Page 29: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/29.jpg)
11.29
Error correction in Stop-and-Wait ARQ is
done by keeping a copy of the sent
frame and retransmitting of the frame
when the timer expires.
Note
![Page 30: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/30.jpg)
11.30
In Stop-and-Wait ARQ, we use sequence
numbers to number the frames.
The sequence numbers are based on
modulo-2 arithmetic.
Note
![Page 31: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/31.jpg)
Sliding Window Protocol
Assumes two-way communication (full duplex). It uses two types of frames: Data and Ack
The basic idea of sliding window protocol is that both sender and receiver keep a ``window'' of acknowledgment.
The sender keeps the value of expected acknowledgment; while the receiver keeps the value of expected receiving frame.
When it receives an acknowledgment from the receiver, the sender advances the window.
When it receives the expected frame, the receiver advances the window.
![Page 32: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/32.jpg)
11.32
Figure Flow diagram for Example-Stop-and-Wait ARQ Protocol
![Page 33: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/33.jpg)
11.33
In the Go-Back-N Protocol, the sequence
numbers are modulo 2m,
where m is the size of the sequence
number field in bits.
Note
![Page 34: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/34.jpg)
11.34
The send window is an abstract concept
defining an imaginary box of size 2m − 1
with three variables: Sf, Sn, and Ssize.
Note
![Page 35: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/35.jpg)
11.35
The send window can slide one
or more slots when a valid
acknowledgment arrives.
Note
![Page 36: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/36.jpg)
11.36
The receive window is an abstract
concept defining an imaginary box
of size 1 with one single variable Rn.
The window slides
when a correct frame has arrived;
sliding occurs one slot at a time.
Note
![Page 37: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/37.jpg)
11.37
In Go-Back-N ARQ, the size of the send
window must be less than 2m;
the size of the receiver window
is always 1.
Note
![Page 38: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/38.jpg)
11.38
Stop-and-Wait ARQ is a special case of
Go-Back-N ARQ in which the size of the
send window is 1.
Note
![Page 39: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/39.jpg)
Go-back-n
If there is one frame k missing, the receiver simply discard all subsequent frames k+1, k+2, ..., sending no acknowledgments. So the sender will retransmit frames from k onwards.
This effectively sets the receiver window size to be 1.
This can be a waste of bandwidth.
![Page 40: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/40.jpg)
Go-back-n
![Page 41: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/41.jpg)
Selective repeat
Another strategy is to re-send only the ones that are actually lost or damaged. The receiver buffers all the frames after the lost one. When the sender finally noticed the problem (e.g. no ack for the lost frame is received within time-out limit), the sender retransmits the frame in question
![Page 42: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/42.jpg)
11.42
In Selective Repeat ARQ, the size of the
sender and receiver window
must be at most one-half of 2m.
Note
![Page 43: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/43.jpg)
Selective repeat
![Page 44: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/44.jpg)
11.44
Figure Flow diagram for Selective Repeat
![Page 45: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/45.jpg)
Outline
Design Issues: Services to Network Layer,Framing,Error Control and Flow Control
Flow Control Protocols: Unrestricted Simplex, Stop and Wait, Sliding Window Protocol
Error Control: Parity Bits, Hamming Codes (11/12-bits) and CRC.
WAN Connectivity : PPP and HDLC
![Page 46: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/46.jpg)
NDSLab Copyright@2008 46
Data can be corrupted
during transmission.
Some applications require that
errors be detected and corrected.
Note
![Page 47: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/47.jpg)
47
Introduction
Error transmissions are caused by Interference
Types of errors
Single-bit error
Only 1 bit of a given data unit is changed from 1 to 0 or from 0 to 1.
Burst error
2 or more bits in the data unit changed from 1 to 0 or from 0 to 1.
Redundancy
The central concept in detecting or correcting error is
redundancy. To be able to detect or correct errors, we need to
send some extra bits with our data.
![Page 48: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/48.jpg)
48
Figure Single-bit error
In a single-bit error, only 1 bit in the data
unit has changed.
![Page 49: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/49.jpg)
49
Figure Burst error of length 8
A burst error means that 2 or more bits
in the data unit have changed.
![Page 50: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/50.jpg)
50
Detection versus Correction
The correction of errors is more difficult than the detection.
Error detection
Looking only to see if any error has occurred
The answer is a simple yes or no.
Error correction
Forward error correction
The process in which the receiver tries to guess the message by using
redundant bits.
Retransmission
The receiver detects the occurrence of an error and asks the sender to
resend the message.
![Page 51: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/51.jpg)
51
Figure The structure of encoder and decoder
![Page 52: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/52.jpg)
52
Figure XORing of two single bits or two words
![Page 53: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/53.jpg)
53
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.
Error Detection
Error Correction
Hamming Distance
Minimum Hamming Distance
Topics discussed in this section:
![Page 54: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/54.jpg)
54
Figure Datawords and codewords in block coding
![Page 55: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/55.jpg)
55
Figure Structure of encoder and decoder in error correction
![Page 56: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/56.jpg)
56
The Hamming distance between two
words is the number of differences
between corresponding bits.
Note
![Page 57: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/57.jpg)
57
Let us find the Hamming distance between two pairs of
words.
1. The Hamming distance d(000, 011) is 2 because
Example
2. The Hamming distance d(10101, 11110) is 3 because
![Page 58: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/58.jpg)
58
The minimum Hamming distance is the
smallest Hamming distance between
all possible pairs in a set of words.
Note
![Page 59: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/59.jpg)
59
Find the minimum Hamming distance of the coding
scheme in Table 10.1.
Solution
We first find all Hamming distances.
Example 5
The dmin in this case is 2.
![Page 60: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/60.jpg)
60
Find the minimum Hamming distance of the coding
scheme in Table 10.2.
Solution
We first find all the Hamming distances.
The dmin in this case is 3.
Example 6
![Page 61: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/61.jpg)
61
A simple parity-check code is a
single-bit error-detecting
code in which
n = k + 1 with dmin = 2.
Note
![Page 62: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/62.jpg)
62
Figure Encoder and decoder for simple parity-check code
![Page 63: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/63.jpg)
63
Let us look at some transmission scenarios. Assume the
sender sends the dataword 1011. The codeword created
from this dataword is 10111, which is sent to the receiver.
We examine five cases:
1. No error occurs; the received codeword is 10111. The
syndrome is 0. The dataword 1011 is created.
2. One single-bit error changes a1 . The received
codeword is 10011. The syndrome is 1. No dataword
is created.
3. One single-bit error changes r0 . The received codeword
is 10110. The syndrome is 1. No dataword is created.
Example 12
![Page 64: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/64.jpg)
64
4. An error changes r0 and a second error changes a3 .
The received codeword is 00110. The syndrome is 0.
The dataword 0011 is created at the receiver. Note that
here the dataword is wrongly created due to the
syndrome value.
5. Three bits—a3, a2, and a1—are changed by errors.
The received codeword is 01011. The syndrome is 1.
The dataword is not created. This shows that the simple
parity check, guaranteed to detect one single error, can
also find any odd number of errors.
Example 12 (continued)
![Page 65: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/65.jpg)
65
A simple parity-check code can detect
an odd number of errors.
Note
![Page 66: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/66.jpg)
66
Figure Two-dimensional parity-check code
![Page 67: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/67.jpg)
67
Figure Two-dimensional parity-check code
![Page 68: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/68.jpg)
68
Figure Two-dimensional parity-check code
![Page 69: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/69.jpg)
69
CYCLIC CODES
Cyclic codes are special linear block codes with one
extra property. In a cyclic code, if a codeword is
cyclically shifted (rotated), the result is another
codeword.
Cyclic Redundancy Check
Hardware Implementation
Polynomials
Cyclic Code Analysis
Advantages of Cyclic Codes
Other Cyclic Codes
Topics discussed in this section:
![Page 70: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/70.jpg)
70
Figure CRC encoder and decoder
![Page 71: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/71.jpg)
71
Figure Division in CRC encoder
![Page 72: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/72.jpg)
72
Figure Division in the CRC decoder for two cases
![Page 73: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/73.jpg)
73
Figure A polynomial to represent a binary word
![Page 74: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/74.jpg)
74
Figure CRC division using polynomials
![Page 75: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/75.jpg)
75
The divisor in a cyclic code is normally
called the generator polynomial
or simply the generator.
Note
![Page 76: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/76.jpg)
Hamming code
In telecommunication, Hamming codes are a family of linear
error-correcting codes that generalize the Hamming(7,4)-
code, and were invented by Richard Hamming in 1950.
Hamming codes can detect up to two-bit errors or correct
one-bit errors without detection of uncorrected errors.
Type Linear block code
Block length 2r − 1 where r ≥ 2
Message length 2r − r − 1
Rate 1 − r/(2r − 1)
Distance 3
![Page 77: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/77.jpg)
Calculating the Hamming Code
The key to the Hamming Code is the use of extra parity bits to allow the identification of a single error. Create the code word as follows:
Mark all bit positions that are powers of two as parity bits. (positions 1, 2, 4, 8, 16, 32, 64, etc.)
All other bit positions are for the data to be encoded. (positions 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, etc.)
![Page 78: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/78.jpg)
Calculating the Hamming Code
Position 1: check 1 bit, skip 1 bit, check 1 bit, skip 1 bit (1,3,5,7,9,11,13,15,...)
Position 2: check 2 bits, skip 2 bits, check 2 bits, skip 2 bits (2,3,6,7,10,11,14,15,...)
Position 4: check 4 bits, skip 4 bits, check 4 bits, skip 4 bits(4,5,6,7,12,13,14,15,...)
Position 8: check 8 bits, skip 8 bits, check 8 bits, skip 8 bits (8-15,24-31,40-47,...)
Set a parity bit to 1 if the total number of ones in the positions it checks is odd. Set a parity bit to 0 if the total number of ones in the positions it checks is even.
![Page 79: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/79.jpg)
Hamming Code example:
A byte of data: 10011010 Create the data word, leaving spaces for the parity bits: _ _ 1 _ 0 0 1 _ 1 0 1 0 Calculate the parity for each parity bit (a ? represents the bit position being set):
Position 1 checks bits 1,3,5,7,9,11: ? _ 1 _ 0 0 1 _ 1 0 1 0. Even parity so set position 1 to a 0: 0 _ 1 _ 0 0 1 _ 1 0 1 0
Position 2 checks bits 2,3,6,7,10,11: 0 ? 1 _ 0 0 1 _ 1 0 1 0. Odd parity so set position 2 to a 1: 0 1 1 _ 0 0 1 _ 1 0 1 0
Position 4 checks bits 4,5,6,7,12: 0 1 1 ? 0 0 1 _ 1 0 1 0. Odd parity so set position 4 to a 1: 0 1 1 1 0 0 1 _ 1 0 1 0
Position 8 checks bits 8,9,10,11,12: 0 1 1 1 0 0 1 ? 1 0 1 0. Even parity so set position 8 to a 0: 0 1 1 1 0 0 1 0 1 0 1 0
Code word: 011100101010.
![Page 80: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/80.jpg)
Finding and fixing a bad bit
The above example created a code word of 011100101010.
Suppose the word that was received was 011100101110.
Then the receiver could calculate which bit was wrong and correct it.
The method is to verify each check bit.
Write down all the incorrect parity bits.
Doing so, you will discover that parity bits 2 and 8 are incorrect.
It is not an accident that 2 + 8 = 10, and that bit position 10 is the location of the bad bit.
In general, check each parity bit, and add the positions that are wrong, this will give you the location of the bad bit.
![Page 81: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/81.jpg)
81
Figure The structure of the encoder and decoder for a Hamming code
![Page 82: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/82.jpg)
Outline
Design Issues: Services to Network Layer,Framing,Error Control and Flow Control
Flow Control Protocols: Unrestricted Simplex, Stop and Wait, Sliding Window Protocol
Error Control: Parity Bits, Hamming Codes (11/12-bits) and CRC.
WAN Connectivity : PPP and HDLC
![Page 83: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/83.jpg)
11.83
HDLC
High-level Data Link Control (HDLC) is a bit-oriented
protocol for communication over point-to-point and
multipoint links. It implements the ARQ mechanisms we
discussed in this chapter.
Configurations and Transfer Modes
Frames
Control Field
Topics discussed in this section:
![Page 84: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/84.jpg)
11.84
Figure Normal response mode
![Page 85: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/85.jpg)
11.85
Figure Asynchronous balanced mode
![Page 86: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/86.jpg)
11.86
Figure HDLC frames
![Page 87: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/87.jpg)
11.87
Figure Control field format for the different frame types
![Page 88: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/88.jpg)
11.88
Table U-frame control command and response
![Page 89: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/89.jpg)
11.89
POINT-TO-POINT PROTOCOL
Although HDLC is a general protocol that can be used
for both point-to-point and multipoint configurations,
one of the most common protocols for point-to-point
access is the Point-to-Point Protocol (PPP). PPP is a
byte-oriented protocol.
Framing
Transition Phases
Multiplexing
Multilink PPP
Topics discussed in this section:
![Page 90: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/90.jpg)
11.90
Figure PPP frame format
![Page 91: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/91.jpg)
11.91
PPP is a byte-oriented protocol using
byte stuffing with the escape byte
01111101.
Note
![Page 92: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/92.jpg)
11.92
Figure Transition phases
![Page 93: Computer Networks(2015 Pattern) Unit II- Logical Link Control · It was developed for High-level Data Link Control (HDLC) protocol. Each frames begins and ends with a special bit](https://reader036.fdocuments.net/reader036/viewer/2022081611/5f0ce1f47e708231d43799e7/html5/thumbnails/93.jpg)
References
Websites:
www.csie.cgu.edu.tw/~jhchen/course/CommSys/ch10.ppt
www.csie.cgu.edu.tw/~jhchen/course/CommSys/ch11.ppt
http://users.cis.fiu.edu/~downeyt/cop3402/hamming.html
https://en.wikipedia.org/wiki/Hamming_code
Videos(Gate Lectures by Ravindrababu Ravula)
https://www.youtube.com/watch?v=1DvXxrzq0Wg
Text Books:
Andrew S. Tenenbaum, “Computer Networks”,5th Edition, PHI, ISBN 81-203-2175-8.
Fourauzan B., "Data Communications and Networking", 5th Edition, Tata McGraw- Hill, Publications, 2006