Computer Networks(2015 Pattern) Unit II- Logical Link Control · Computer Networks(2015 Pattern)...

93

Transcript of Computer Networks(2015 Pattern) Unit II- Logical Link Control · Computer Networks(2015 Pattern)...

Page 1: Computer Networks(2015 Pattern) Unit II- Logical Link Control · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

Computer Networks(2015 Pattern)

Unit II- Logical Link Control

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 · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

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 · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

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 · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

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 · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

Possible Services Offered

Unacknowledged connectionless service.

Acknowledged connectionless service.

Acknowledged connection-oriented service.

Page 6: Computer Networks(2015 Pattern) Unit II- Logical Link Control · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

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 · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

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 · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

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 · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

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 · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

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 · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

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 · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

Framing (1)

A byte stream. (a) Without errors. (b) With one error.

Page 13: Computer Networks(2015 Pattern) Unit II- Logical Link Control · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

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 · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

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 · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

11.15

Figure Byte stuffing and unstuffing

Page 16: Computer Networks(2015 Pattern) Unit II- Logical Link Control · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

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 · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

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 · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

11.18

Figure Bit stuffing and unstuffing

Page 19: Computer Networks(2015 Pattern) Unit II- Logical Link Control · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

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 · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

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 · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

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 · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

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 · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

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 · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

11.24

Figure Taxonomy of Flow Control protocols

Page 25: Computer Networks(2015 Pattern) Unit II- Logical Link Control · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

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 · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

11.26

Figure Flow diagram for Simplex Protocol

Page 27: Computer Networks(2015 Pattern) Unit II- Logical Link Control · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

11.27

Figure Flow diagram for Stop-and-Wait Protocol

Page 28: Computer Networks(2015 Pattern) Unit II- Logical Link Control · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

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 · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

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 · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

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 · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

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 · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

11.32

Figure Flow diagram for Example-Stop-and-Wait ARQ Protocol

Page 33: Computer Networks(2015 Pattern) Unit II- Logical Link Control · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

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 · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

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 · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

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 · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

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 · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

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 · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

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 · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

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 · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

Go-back-n

Page 41: Computer Networks(2015 Pattern) Unit II- Logical Link Control · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

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 · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

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 · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

Selective repeat

Page 44: Computer Networks(2015 Pattern) Unit II- Logical Link Control · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

11.44

Figure Flow diagram for Selective Repeat

Page 45: Computer Networks(2015 Pattern) Unit II- Logical Link Control · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

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 · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

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 · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

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 · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

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 · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

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 · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

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 · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

51

Figure The structure of encoder and decoder

Page 52: Computer Networks(2015 Pattern) Unit II- Logical Link Control · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

52

Figure XORing of two single bits or two words

Page 53: Computer Networks(2015 Pattern) Unit II- Logical Link Control · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

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 · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

54

Figure Datawords and codewords in block coding

Page 55: Computer Networks(2015 Pattern) Unit II- Logical Link Control · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

55

Figure Structure of encoder and decoder in error correction

Page 56: Computer Networks(2015 Pattern) Unit II- Logical Link Control · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

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 · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

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 · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

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 · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

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 · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

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 · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

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 · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

62

Figure Encoder and decoder for simple parity-check code

Page 63: Computer Networks(2015 Pattern) Unit II- Logical Link Control · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

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 · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

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 · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

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 · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

66

Figure Two-dimensional parity-check code

Page 67: Computer Networks(2015 Pattern) Unit II- Logical Link Control · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

67

Figure Two-dimensional parity-check code

Page 68: Computer Networks(2015 Pattern) Unit II- Logical Link Control · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

68

Figure Two-dimensional parity-check code

Page 69: Computer Networks(2015 Pattern) Unit II- Logical Link Control · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

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 · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

70

Figure CRC encoder and decoder

Page 71: Computer Networks(2015 Pattern) Unit II- Logical Link Control · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

71

Figure Division in CRC encoder

Page 72: Computer Networks(2015 Pattern) Unit II- Logical Link Control · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

72

Figure Division in the CRC decoder for two cases

Page 73: Computer Networks(2015 Pattern) Unit II- Logical Link Control · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

73

Figure A polynomial to represent a binary word

Page 74: Computer Networks(2015 Pattern) Unit II- Logical Link Control · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

74

Figure CRC division using polynomials

Page 75: Computer Networks(2015 Pattern) Unit II- Logical Link Control · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

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 · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

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 · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

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 · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

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 · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

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 · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

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 · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

81

Figure The structure of the encoder and decoder for a Hamming code

Page 82: Computer Networks(2015 Pattern) Unit II- Logical Link Control · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

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 · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

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 · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

11.84

Figure Normal response mode

Page 85: Computer Networks(2015 Pattern) Unit II- Logical Link Control · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

11.85

Figure Asynchronous balanced mode

Page 86: Computer Networks(2015 Pattern) Unit II- Logical Link Control · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

11.86

Figure HDLC frames

Page 87: Computer Networks(2015 Pattern) Unit II- Logical Link Control · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

11.87

Figure Control field format for the different frame types

Page 88: Computer Networks(2015 Pattern) Unit II- Logical Link Control · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

11.88

Table U-frame control command and response

Page 89: Computer Networks(2015 Pattern) Unit II- Logical Link Control · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

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 · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

11.90

Figure PPP frame format

Page 91: Computer Networks(2015 Pattern) Unit II- Logical Link Control · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

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 · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

11.92

Figure Transition phases

Page 93: Computer Networks(2015 Pattern) Unit II- Logical Link Control · Computer Networks(2015 Pattern) Unit II- Logical Link Control ... •Dealing with transmission errors. ... This service

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