Вы находитесь на странице: 1из 79

The Data Link Layer

Framing Error Control Error Correction Error Detection

Flow Control
Retransmission with Sliding Window

Protocols Protocol Specification and Verification Example Data Link Protocols


Computer Networks Fall 2002 Page 1

Computer Networks Fall 2002

Page 2

DATA LINK LAYER Services


Unacknowledged connectionless service

Voice

Acknowledged connectionless service wireless

Acknowledged connection-oriented service no out-of-order

Computer Networks Fall 2002

Page 3

Data Link Protocol

Computer Networks Fall 2002

Page 4

Framing
To break the bit stream up into discrete

frames and compute the checksum for each frame. When a frame arrives at the destination, the checksum is recomputed and validated. One way to achieve this framing is to insert time gaps between frames. However, networks rarely make any guarantees about timing.

Computer Networks Fall 2002

Page 5

Data Framing
Character count Starting and ending characters with

character stuffing Starting and ending flags with bit stuffing Physical layer coding violations

Computer Networks Fall 2002

Page 6

Character Count
character count

5 1 2 3 4 5 6 7 8 9 8 0 1 2 3 4 5 6 8 7 8 9 0 1 2 3
frame 1 5 characters frame 2 5 characters one-bit error frame 3 8 characters frame 4 8 characters

5 1 2 3 4 7 6 7 8 9 8 0 1 2 3 4 5 6 8 7 8 9 0 1 2 3
frame 1 5 characters frame 2 (wrong) Now a character count

Even if the checksum is incorrect so the destination knows that the frame is bad, it still has no way of telling where the next frame starts.
Computer Networks Fall 2002 Page 7

Starting and Ending Characters with Character Stuffing


DLE STX
beginning of frame

user data

DLE ETX
end of frame

DLE(0x10): Data Link Escape STX(0x02): Start of TeXt ETX(0x03): End of TeXt

user data 0x10 DLE STX A DLE B DLE ETX DLE stuffed at the sender DLE STX A DLE DLE B DLE ETX DLE destuffed at the receiver DLE STX A DLE B DLE ETX
Computer Networks Fall 2002 Page 8

Starting and Ending Flags with Bit Stuffing


flag 01111110 user data 01111110
beginning of frame end of frame

011011111111111111110010

original data bits stuffed at the sender

011011111011111011111010010 bits destuffed at the receiver 011011111111111111110010


Computer Networks Fall 2002 Page 9

Physical Layer Coding Violations


1 0 0 0 1 1 0

Starting Delimiter V V 1 V V 0 0 0 user data

Ending Delimiter V V 0 V V 0 0 0

beginning of frame
V: Violation bit
Computer Networks Fall 2002

end of frame

Page 10

Error Control
Three types of frames at a receivers end

Damaged frame : Negative acknowledgment / retransmission Lost frame : Time-out mechanism Valid frame : Sequence numbering / discarding for valid but duplicate frames

Computer Networks Fall 2002

Page 11

Flow Control
A technique for assuring that a transmitting

station does not overwhelm a receiving station with data

Computer Networks Fall 2002

Page 12

Error Detection and Correction


Error-correcting codes

Error-detecting codes

Computer Networks Fall 2002

Page 13

Codeword
n-bit codewords with

m data bits r redundant or check bits

n =m+r and

Not all the 2n codewords are legal. In

general, only 2m codewords are legal. ASCII codes of 7 bits with 1 even parity bit
ASCII code for A: 1000001 codeword for A: 10000010 or 01000001 Codeword 10000011 or 11000001 is illegal.

Computer Networks Fall 2002

Page 14

Hamming Distance
The number of bit positions in which two

codewords differ is called the Hamming distance between these two codewords. The Hamming distance of the complete code is the minimum Hamming distance between all pairs of legal codewords.

Computer Networks Fall 2002

Page 15

Codeword Space
To detect

needed. To correct d-bit errors, a distance 2d +1 code is needed.

d-bit errors, a distance d +1 code is

1-bit error detection


Computer Networks Fall 2002

1-bit error correction


Page 16

Codeword Space : 3-bits

Computer Networks Fall 2002

Page 17

Error Correction with Codewords: An Example

Computer Networks Fall 2002

Page 18

Determine the Number of Check bits


To correct single bit errors with m bits

message and r check bits (n=m+r)

Code space : 2m n-bit legal messages(codewords) For an n-bit legal codeword, all its n neighbors at a distance 1 from it are illegal n+1 bit patterns are dedicated to each legal message (n+1)2m <= 2n and consequently (m+r+1)2m <= 2m+r. we have : (m+r+1) <= 2r

Computer Networks Fall 2002

Page 19

Hamming Code
The bits that are powers of 2 (1, 2, 4, 8, 16,

etc.) are check or parity bits of some data bits. For example, m=7 (ASCII) and r=4 (7+4+1 <= 24) 1 001 000 H
B1 : B3 B5 B7 B9 B11 B2 : B3 B6 B7 B10 B11 B4 : B5 B6 B7 B8 : B9 B10 B11

Computer Networks Fall 2002

xx1x001x000 0 1 0 1 0 0 01 01 00 1001 0000 00110010000

codeword
Page 20

Hamming Code : Example

Computer Networks Fall 2002

Page 21

To Correct Burst Errors


A sequence of

arranged as a matrix, one codeword per row. To correct burst errors, the data should be transmitted one column at a time, i.e., column by column. If a burst error of length k bits occurs, at most 1 bit in each of the k consecutive codewords will have been affected, but the Hamming code can correct one error per codeword, so the entire block can be restored.
Computer Networks Fall 2002 Page 22

k consecutive codewords are

To Correct Burst Errors

Computer Networks Fall 2002

Page 23

When a Burst Error Occurs

Computer Networks Fall 2002

Page 24

To Correct Burst Errors: An Example


ASCII Codeword 1001000 00110010000 1100001 10111001001 1101101 11101010101 B1 : B3 B5 B7 B9 B11 B2 : B3 B6 B7 B10 B11 B4 : B5 B6 B7 B8 : B9 B10 B11 column

1 2 3 4 5 6 7 8 9 10 11 011 001 111 110 011 000 101 010 001 000 011
burst error

011 001 111 111 101 000 101 010 001 000 Codeword 00111010000 B1(011100)+B4(1101) => B5 10110001001 B1(110001)+B4(1000) => B5 B4(1101) => B4 11111010101
Computer Networks Fall 2002

011 Codeword 00110010000 10111001001 11101010101


Page 25

Error Detection
Parity bit

low error rate

Longitudinal redundancy check (LRC) and

Vertical redundancy check (VRC) Cyclic redundancy code (CRC code) / Polynomial code
Easy hardware implementation Can detect burst errors

Computer Networks Fall 2002

Page 26

Parity Bit
block size: 1000 bits

Hamming code: 1000+10 bits (m+r+1 <= 2n) parity bit: 1000+1 bits

a message: 106 bits


without

no error

Hamming code: 106+10000 bits parity bit: 106+1000 bits

with a low error rate 10-6


Hamming code: 106+10000 bits parity bit: 106+1000+(1000+1) bits ( one error occurs) retransmitted block

Computer Networks Fall 2002

Page 27

Longitudinal Redundancy Check and Vertical Redundancy Check


VRC 10110111 11010111 00111010 11110000 10001011 01011111 01111110

LRC

Computer Networks Fall 2002

Page 28

Cyclic Redundancy Code (CRC) / Polynomial Code


A

example, 110001 represents a polynomial x5+x4+x0. Addition and subtraction are identical to EXCLUSIVE OR. For example,
10011011 + 11001010 = 01010001
Computer Networks Fall 2002

m-bit frame is regarded as the coefficient list for a polynomial, M(x), with m terms, ranging from xm-1 to x0. For

11110000 -10100110 =01010110


Page 29

Computing Cyclic Redundancy Code


Both the sender and the receiver must

agree upon a generator polynomial, G(x), with the degree r in advance. Append r zero bits into M(x) => xrM(x) Divide xrM(x) by G(x) Subtract the remainder from xrM(x) and let the result be T(x)

Computer Networks Fall 2002

Page 30

CRC Example

Computer Networks Fall 2002

Page 31

CRC at Receiver End


T(x) is received with no error.

T(x) is divisible by G(x)

When errors represented by error bit

pattern E, ( ie. E(x)), occur,


(T(x)

+E(x)) /G(x) has zero reminder only if E(x) is divisible by G(x) Carefully selects G(x) such that E(x) is not divisible by G(x)

Computer Networks Fall 2002

Page 32

CRC with Single and Double Errors


Single-bit error

E(x)= xj
If G(x) contains tow or more terms, it will never divided E(x) E(x)= xi +xj = xj ( xi-j+ 1)

Two isolate single-bits errors

Assume

Select G(x) that does not divide xk+1, where 1< k i-j
Page 33

G(x) is not divisible by x

.. i>j

Computer Networks Fall 2002

CRC with Odd-Number-bit Errors

Computer Networks Fall 2002

Page 34

CRC with Burst Errors

Computer Networks Fall 2002

Page 35

Well-Known Generator Polynomials


x12+x11+x3+x2+x+1 CRC-16: x16+x15+x2+1 CRC-CCITT: x16+x12+x5+1 CRC-32: x32+x26+x23+x22+x16+x12+x11+x10+ x8+ x7+x5+x4+x2+x+1
CRC-12: CRC-16 and CRC-CCITT Catch all single and double errors, all errors with an odd number of bits, all burst errors of length 16 or less, 99.997% of 17-bit error burst, 99.998% of 18-bit error and longer bursts
Computer Networks Fall 2002 Page 36

Flow Control Techniques


Stop-and-wait
The

receiver provide feedback to the sender The sender sends one frame and then waits for an acknowledgement before proceeding

Computer Networks Fall 2002

Page 37

Dealing with the Damaged Frames


Adding a timer ( on sender )
The

receiver would only send an ack if the data were correctly received After time out, the sender send the frame again

Computer Networks Fall 2002

Page 38

Dealing with the Lost Frames


A lost data frame can be resent by using a

timer When an acknowledgement is lost

The senders timer eventually time-out The sender resends the same data frame After the data frame is received, the receiver sends acknowledgement again

Computer Networks Fall 2002

Page 39

Duplicate Frames : Two Cases

Computer Networks Fall 2002

Page 40

Dealing with Duplicate Frames

Computer Networks Fall 2002

Page 41

When Senders Time-out is Too Short

Computer Networks Fall 2002

Page 42

Solution: Put Sequence Number in the Acknowledgement

Computer Networks Fall 2002

Page 43

Piggybacking

Computer Networks Fall 2002

Page 44

Acknowledgement
Techniques

Control Frame Data Frame: Piggybacking

The technique of temporarily delaying outgoing acknowledgements so that they can be hooked onto the next outgoing data frame is known as piggybacking.

Types Positive Acknowledgement: The received frame has no error. Negative Acknowledgement: The received frame has errors.
Computer Networks Fall 2002 Page 45

Flow Control
Flow control is a technique for assuring that

a transmitting station does not overwhelm a receiving station with data. Sliding Window Protocols: At any instant of time, the sender maintains a set of sequence numbers corresponding to frames it is permitted to send. These frames are said to fall within the sending window. Similarly, the receiver also maintain a receiving window corresponding to the set of frames it is permitted to accept.
Computer Networks Fall 2002

Page 46

Sliding Windows
Each outbound frame contain a sequence

number ranging from 0 to 2n-1 Sending window

Maintained by the sender A set of sequence numbers corresponding to frames the sender is permitted to send
Receiving window Maintained by the receiver Corresponds the set of frames the receiver is permitted to accept
Computer Networks Fall 2002 Page 47

Maintain Sliding Windows


Sending window
When

a frame is sent, the upper edge of the window is advanced by one When an acknowledgement is received, the lower edge of the window is advanced by one
Receiving window Any received frame the sequence number outside the window is discarded When a frame whose sequence number is equal to lower edge of the window is received, the window is rotated by one
Computer Networks Fall 2002 Page 48

A Sliding Window Size of One

Computer Networks Fall 2002

Page 49

Sliding Window Protocols


One bit sliding window protocol ( Stop-and-

Wait) Go-back-N Protocol Selective Repeat Protocol

Computer Networks Fall 2002

Page 50

One Bit Sliding Window Protocol


Stop and-Wait

A protocol in which the sender sends one frame and then waits for an acknowledgement before proceeding.

a sliding window protocol with maximum

window size = 1

Sequence number {0, 1} is sufficient

Frame header fields

Seq : the sequence number of this frame Ack : the number of the last frame is received

Computer Networks Fall 2002 Page 51

Efficiency of Stop-and-Wait
Stop-and-Wait

50 kbps data rate 500 msec round-trip delay 1000 bits per frame

time (msec) t=0 start sending t=20 completely sent t=250 frame arrival t=270 completely received t=270 acknowledge without delay t=520 acknowledgement arrival
26000 bits could be transmitted in 520 msec. Efficiency: 1000/26000=20/520 < 4% used
Computer Networks Fall 2002 Page 52

Efficiency of Stop-and-Wait

Computer Networks Fall 2002

Page 53

Pipelining
50 kbps data rate 500 msec round-trip delay 1000 bits per frame time (msec) t=0 start sending the first frame t=20 the first completely sent t=250 frame arrival t=270 the first completely received t=270 acknowledge without delay t=520 acknowledgement arrival
To pipeline frames without waiting for acknowledgements.
Computer Networks Fall 2002 Page 54

Pipelining

Computer Networks Fall 2002

Page 55

Line of Utilization for Stopand-Wait


Capacity :

b bits/sec, frame size : l bits, round-trip delay : R seconds


Transmission time : l/b Total duration : R + l/b Utilization : (l/b) / (R + l/b) = l / (l+bR)

Computer Networks Fall 2002

Page 56

Go-back-N
Senders window size is n (n >1)
At

most n outstanding frames can be sent

After receiving a damaged frame Receiver discards all subsequent frames Sender retransmits the damaged frame and all its successors after the times out

Computer Networks Fall 2002

Page 57

Go-back-N : An Example

Computer Networks Fall 2002

Page 58

Selective Repeat
Receivers window size is n ( n >1 )
At

most n frames can be buffered

Receiver stores all the correct frames

following the bad one The sender retransmits only the bad frame not all its successors

Computer Networks Fall 2002

Page 59

Selective Repeat : An Example

Computer Networks Fall 2002

Page 60

Retransmission with Sliding Window Protocols


ARQ (Automatic Repeat reQuest): When an

error is detected, the receiver requests that the frame be retransmitted.


Stop-and-wait ARQ Go-back-N continuous ARQ Selective-repeat continuous ARQ

All of them belong to the sliding window

protocols. Both Go-back-N and Selective-repeat ARQs uses the pipelining technique.
Computer Networks Fall 2002 Page 61

ARQ
Instead of using positive or negative

acknowledgement, the receiver sends back only the frame number of the next frame is expects On the receipt of each frame (including damaged)

It may speed up the transmission of lost or damaged frames, if the time-out value is loose

Computer Networks Fall 2002

Page 62

Stop-and-Wait with ARQ

Computer Networks Fall 2002

Page 63

Window Size
The optimal senders windows size is

1+(round-trip delay / transmission time) Maximum window size of Go-back-N ARQ is MaxSeq, where the sequence number are 0, 1, ... , MaxSeq.
Maximum window size of Selective-repeat

ARQ is (MaxSeq+1)/2.

Computer Networks Fall 2002

Page 64

Protocol Specification and Verification


Finite State Machine Model Petri Net Model

Computer Networks Fall 2002

Page 65

Finite State Machine Model


States
Instants

that the protocol machine is waiting for the next event to happen

Transitions

Occur when some event occurs Change form some state to another

Computer Networks Fall 2002

Page 66

Finite State Machine Model for Bit Destuffing


Bit destuffing 0/11110 0/110 1/ S 0/0 0/10 1 1/ 2 0/1110 1/ 3 1/ 4 1/ 5 1/ 6 0/ end of E frame
input/output

bit destuffed
0/11111

1/ T beginning error of the next frame


Page 67

Computer Networks Fall 2002

State Digram for Stop-andWait

Computer Networks Fall 2002

Page 68

Example Data Link Protocols


HDLC

bit oriented bit stuffing

SLIP

PPP character oriented character stuffing multiprotocol framing

Computer Networks Fall 2002

Page 69

High-level Data Link Control


derived from SDLC (Synchronous Data Link

Control) of IBMs SNA ADCCP (Advanced Data Communication Control Procedure): ANSI HDLC: ISO LAP (Link Access Procedure): X.25 of CCITT LAPB: CCITT http://members.tripod.com/~vkalra/hdlc.ht ml
Computer Networks Fall 2002 Page 70

HDLC Frame Format


bits 8 8 8 >=0 16 8 01111110 Address Control Data Checksum 01111110
A frame is delimited with the flag sequence

01111110. On idle point-to-point lines, flag sequences are transmitted continuously. Address

to identify one of multiple terminals for point-tomultipoint lines to distinguish commands from responses for point-to-point lines
Page 71

Computer Networks Fall 2002

HDLC Frame Addressing


DTE address=0xC0, command DCE PDN

Address A

address=0xC0, response

address=0x80, command
Address B address=0x80, response

Computer Networks Fall 2002

Page 72

HDLC Frame Type


Control Field
Type Information Supervisory Command I RR REJ RNR SR SABM DISC Response 1 2 3 4 0 N(S) RR 1000 REJ 1001 RNR 1010 SR 1011* DM 1111 1111 1100 UA 1100 FRMR 1110 5 P P/F P/F P/F P/F F P P F F 678 N(R) N(R) N(R) N(R) N(R) 000 100 010 110 001

Unnumbered

* not defined in LAPB


Computer Networks Fall 2002 Page 73

HDLC P/F Bit


In Command frames: P (POLL) bit In Response frames: F (FINAL) bit Each Command frame with the POLL bit set

to 1 must receive a Response frame with the FINAL bit set to 1.

Computer Networks Fall 2002

Page 74

HDLC Supervisory Frame


RR (Receive Ready): acknowledgement frame

N(R): the next frame expected to be received REJ (Reject): negative acknowledgement frame N(R): the first frame in sequence not received correctly (Go-back-N protocol) RNR (Receive not Ready): same as Type 0 and telling the sender to stop sending SR (Selective Reject): acknowledgement frame N(R): the frame expected to be retransmitted (Selective Repeat protocol)

Computer Networks Fall 2002

Page 75

HDLC Unnumbered Frame


Link Initiation SABM
accept UA SABM reject DM
Computer Networks Fall 2002

Link Termination DISC


UA

UA SABM DISC DM

Unnumbered/Acknowledgement Set Asynchronous Balanced Mode Disconnect Disconnected Mode


Page 76

Serial Line IP
SLIP (Serial Line IP): to connect SUN

workstations to the Internet over a dial-up line using a modem in 1984 RFC 1055 Sending IP packets over the line, with a special flag byte at the end for framing. Using character stuffing. Many problems: no error detection, supporting only IP, no authentication, etc.
Computer Networks Fall 2002 Page 77

Point-to-Point Protocol
PPP: RFC 1661, RFC 1662, RFC 1663 A multiprotocol framing mechanism suitable

for use over modems, HDLC lines, SONET , and other physical layers. Supports error detection, option negotiation, header compression, and optionally, reliable transmission using HDLC framing. Character-oriented
Computer Networks Fall 2002

Page 78

Homework
#2, #3, #6, #9,#11

Computer Networks Fall 2002

Page 79

Вам также может понравиться