75
1 The Data Link Layer Chapter 3

1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

  • View
    223

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

1

The Data Link Layer

Chapter 3

Page 2: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

2

Data Link Layer Design Issues

• Services Provided to the Network Layer

• Framing

• Error Control

• Flow Control

Page 3: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

3

Data Link Layer Issues

• Functions of the Data Link Layer– Provide service interface to the network layer– Dealing with transmission errors– Regulating data flow: Slow receivers not swamped

by fast senders

• To accomplish these goals, the data link layer encapsulates the packets into frames.

Page 4: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

4

Functions of the Data Link Layer

Relationship between packets and frames.

Page 5: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

5

Services Provided to Network Layer

(a) Virtual communication (model used).(b) Actual communication.

Page 6: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

6

Services to the Network Layer

• Three possible services offered by the data link layer:– Unacknowledged connectionless service:

appropriate for channel with low error rate, real-time traffic, LAN

– Acknowledged connectionless service: useful over unreliable channel such as wireless systems

– Acknowledged connection-oriented service: used in routing

Page 7: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

7

Services Provided to Network Layer

Placement of the data link protocol.

Page 8: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

8

Framing

• To detect or correct errors in the raw bit stream from the physical layer, the data link layer breaks the bit stream up into discrete frames and computes the checksum for each frame.

• Four methods can be used to mark the start and end of each frame:– Character count– Flag bytes with byte stuffing– Starting and ending flags, with bit stuffing– Physical layer coding violations

Page 9: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

9

Framing

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

• Disadvantage: The count may be garbled. Rarely used.

Page 10: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

10

Framing• Flag bytes with byte/character stuffing

– Each frame start and end with special bytes – flag byte– If the flag byte occurs in the frame, stuff an extra escape byte

(ESC).– Used in PPP (Point to Point Protocol)

• Starting and ending flags, with bit stuffing– Each frame begins and ends with a special bit pattern

01111110 whenever the sender sees 5 consecutive 1s, it stuffs a 0.

• Physical layer coding violations– Only applicable to networks in which the encoding on the

physical medium contains some redundancy. – For example, a 1 bit is a high-low pair and a 0 bit is a low-

high pair. High-high and low-low are used for delimiter.

Page 11: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

11

Framing

(a) A frame delimited by flag bytes.(b) Four examples of byte sequences before and after stuffing.

Page 12: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

12

Framing

Bit stuffing

(a) The original data.

(b) The data as they appear on the line.

(c) The data as they are stored in receiver’s memory after destuffing.

Page 13: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

13

Error and Flow Control• Error Control

– Detect and/or correct errors– Ensure that all frame are eventually delivered in

order use acknowledgement, timer, and sequence number

• Flow Control– Slow down the sender when the data is coming too

fast for the receiver– Two approaches:

• Feedback-based flow control – the receiver sends back permission to the sender.

• Rate-based flow control – built-in mechanism that limits senders’ rate. Rarely used in the data link layer.

Page 14: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

14

Error Detection and Correction

• Error-correcting codes/forward error correction – include enough redundant information to enable the

receiver to deduce the correct transmitted data.– Used in unreliable channel such as wireless links

• Error-detecting codes – include only enough redundancy to allow the

receiver to request a retransmission.– Used in reliable channel such as fiber

Page 15: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

15

Error Correction Codes

• N-bit codeword = m-bit data + r-bit check• The number of bit positions in which two codewords

differ is called the Hamming distance.• Example: Hamming distance is 3.

10001001

xor 10110001

00111000 3 bit difference• If two codewords are a Hamming distance d apart, it

will require d single-bit errors to convert one into the other.

Page 16: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

16

Error Correction Codes• To detect d errors, we need a distance d+1 code

(because there is no way to convert a valid codeword into another valid codeword with d changes. The detail needs mathematical analysis).

• Example: A simple error - detection code: (check bit) a parity bit is chosen so that the number of 1 bits in the

codeword is even or odd. 000(0) - check bit 001 1 010 1

That is Hamming distance of parity bit code is 2 = d + 1 can detect d = 1 error

Page 17: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

17

Error Correction Codes

• To correct d errors, we need a distance 2d+1 code. (because d changes is not enough to recover the original valid codeword but only to convert to other valid codeword The detail needs mathematical analysis).

• Examples: Consider a code with four valid codewords:0000000000, 0000011111, 1111100000, 1111111111

Hamming distance is 5. It can correct double errors.

If 0000000111 is received, the receiver knows the original

is 00000011111. But if a triple errors change 0000000000

to 0000000111, the error will not be corrected properly.

Page 18: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

18

Error Correction Codes

• Correct round off to the nearest codeword.

m data bits 2m legal messages = codewords• Examples: Consider a code with four valid codewords:

000000, 000111, 111000, 111111 differ by 3

011000, 101000, 110000, 111001, 111010, and 111100 are six invalid code words a distance 1 from 111000.

each valid codeword has n invalid codewords within hamming distance 1. To correct these n invalid codewords with 1 bit error, n + 1 bit patterns are required.

Page 19: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

19

Error Correction Codes

• Since there are a total of 2n bit patterns (n + 1) x 2m ≤ 2n

(m + r + 1) x 2m ≤ 2m+r

m + r + 1 ≤ 2r

• Given m, this puts a lower limit on the number of check bits needed to correct 1 error.

m = 7 7 + r + 1 ≤ 2r

8 ≤ 2r - r r = 4

Page 20: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

20

Hamming Codes• Bits are numbered from the left . Checkbits are bits

numbered powers of 2. {1,2,4,8,...}. Each checkbit forces the parity of some collection of bits, including itself, to be even or odd.

• To see which check bits the data in position k contributes to, write k as a sum of powers of 2.

Data bits 3 5 6 7 9 10 11

Check bits 1 + 2 1 + 4 2 + 4 1 + 2 + 4 1 + 8 2 + 8 1 + 2 + 8

Check bits 1 2 4 8

Data bits 3 + 5 + 7 + 9 + 11 3 + 6 + 7 + 10 + 11 5 + 6 + 7 9 + 10 + 11

Page 21: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

21

Constructing Hamming Codes

• Consider an ASCII code H (1001000). Use even parity:

H 1001000 _ _ 1 _ 001 _ 000

Bit Calculation Result

1 (1 + 0 + 1 + 0 + 0) mod 2 = 0 0

2 (1 + 0 + 1 + 0 + 0) mod 2 = 0 0

4 (0 + 0 + 1) mod 2 = 1 1

8 (0 + 0 + 0 mod 2 = 0 0

The codeword is 00110010000.

Page 22: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

22

Hamming Codes• When a codeword arrives, counter = 0.

If a checkbit k does not have the correct parity, it adds k to the counter.

• Supposed there is only one bit error.

If counter = 0 no error

If counter = 11 bit 11 in error.

ASCII codeword

H 1001000 0 0 1 1 001 0 000

G 1100001 1 0 1 1 100 1 001

If G is received as (0) 0 1 1 100 1 001, 1st bit is incorrect.

If G is received as (1)(0){0} 1 100 1 001

1st and 2nd has errors. 3rd bit is incorrect.

Page 23: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

23

Error-Correcting Codes

Use of a Hamming code to correct burst errors.

Page 24: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

24

Cyclic Redundancy Check• A major goal in designing error detection algorithms is

to maximize the probability of detecting errors using only a small number of redundant bits.

• In general, correcting is more expensive than detecting and re-transmitting.

• Add k bits of redundant data to an n-bit message– want to use k << n to detect errors– e.g., k = 32 and n = 12,000 (1500 bytes)

• Represent n-bit message as n-1 degree polynomial– e.g., MSG=10011010 as M(x) = x7 + x4 + x3 + x1

• Let k be the degree of some divisor polynomial– e.g., G(x) = x3 + x2 + 1

Page 25: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

25

Cyclic Redundancy Check

• CRC is a polynomial code. Frame 110001 represents x5 + x4 + x0

Polynomial arithmetic is performed modulo 2.

10011011 11001010 01010001 EX-OR result.

• Sender & receiver agree upon a 'generator polynomial' G(x).

Page 26: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

26

Cyclic Redundancy Check

• Algorithm for computing the checksum1. shift left r bits (append r zero bits to low order end

of the frame), i.e., M(x)xr

2. divide the bit string corresponding to G(x) into (xr)M(x).

3. subtract (or add) remainder of M(x)xr / G(x) from M(x)xr using XOR, call the result T(x). Transmit T(x).

Page 27: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

27

Cyclic Redundancy Check

• Suppose that a transmission error E(x) has occured and T(x)+E(x) arrives instead of T(x). Received polynomial T(x) + E(x) = (T(x)+E(x))/G(x) = T(x)/G(x) + E(x)/G(x) = E(x)/G(x)– E(x) = 0 implies no errors

• Divide (T(x) + E(x)) by G(x); remainder zero if:– E(x) was zero (no error), or– E(x) is exactly divisible by C(x)

Page 28: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

28

CRC Examplea) M(x)=10011010

b) C(x)=1101

c) k=3

a) P(x) = 10011010 101

11111001 ----------- 1101 /10011010000 <- Message 1101 ----- 1001 1101 ----- 1000 1101 ----- 1011 1101 ---- 1100 1101 ----- 1000 1101 ---- 101 <- Remainder

Page 29: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

29

CRC Examplea) M(x)=1101011011

b) C(x)=10011

c) k=4

a) P(x) = 1101011011 1110

1100001010 -------------- 10011 /11010110110000 10011 ----- 10011 10011 ----- 10110 10011 ----- 10100 10011 ----- 1110

Page 30: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

30

Error-Detecting Codes

Calculation of the polynomial code checksum.

Page 31: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

31

Selecting G(x)

• All single-bit errors, as long as the xk and x0 terms have non-zero coefficients.

• All double-bit errors, as long as G(x) contains a factor with at least three terms

• Any odd number of errors, as long as G(x) contains the factor (x + 1)

• Any ‘burst’ error (i.e., sequence of consecutive error bits) for which the length of the burst is less than k bits.

• Most burst errors of larger than k bits can also be detected

Page 32: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

32

Selecting G(x)

• International standards for G(x): CRC-12 = x12+x11+x3+x2+x1+1

CRC-16 = x16+x15+x2+1 16 bit check sum.

catches all single, double,odd errors.

catches all burst errors of length < 16

• A simple shift register circuit can be constructed to compute and verify the checksums in hardware.

Page 33: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

33

Elementary Data Link Protocols

• An Unrestricted Simplex Protocol– connectionless– the sender continues sending frames with no

acknowledge– the receiver has an infinite buffer.

• A Simplex Stop-and-Wait Protocol– assume error free channel.– the sender sends frames only after getting an

acknowledge– the receiver has finite buffer.

Page 34: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

34

Elementary Data Link Protocols

• A Simplex Protocol for a Noisy Channel connectionless– Positive Acknowledge and Retransmission (PAR)– if frames may be lost or acknowledged, then a time-

out is required.– time-out must be long enough to account for the

max. possible delay – need time-outs and sequence #'s.

• Since only adjacent frames may conflict, we can use 2 sequence #'s 0 & 1. sequence # only requires 1 bit.

Page 35: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

35

Protocol Definitions

Continued

Some definitions needed in the protocols to follow. These are located in the file protocol.h.

Page 36: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

36

Protocol Definitions(ctd.)

Some definitions needed in the

protocols to follow. These are located in the file protocol.h.

Page 37: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

37

Unrestricted Simplex Protocol

Page 38: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

38

Simplex Stop-and-

Wait Protocol

Page 39: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

39

A Simplex Protocol for a Noisy Channel

A positive acknowledgement

with retransmission protocol.

Continued

Page 40: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

40

A Simplex Protocol for a Noisy Channel (ctd.)

A positive acknowledgement with retransmission protocol.

Page 41: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

41

Sliding Window Protocols

• In stop-and-wait protocols, latency at the sender is high

channel utilization (efficiency) is low.• Piggybacking is a technique of attaching a

acknowledgement to a data frame.• In window-based Protocols, the sender's (receiver's)

window is the range of sequence numbers which the sender (receiver) is allowed to send (receive) before blocking.

• Pipelining means to increase the sender’s window size and transmit more than one frame before waiting for an acknowledge.

Page 42: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

42

Sliding Window Protocols

• Sliding Window Protocols– A One-Bit Sliding Window Protocol

– A Protocol Using Go Back N

– A Protocol Using Selective Repeat

• Two approaches to deal with errors in pipelining:1. Go Back N – Recovery by timeout-receiver discards all

subsequent frames and sends no acknowledge.

2. Selective repeat – Special frame - receiver acknowledges with a special frame to start retransmit from missed frame.

Page 43: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

43

Sliding Window Protocols

A sliding window of size 1, with a 3-bit sequence number.

(a) Initially.

(b) After the first frame has been sent.

(c) After the first frame has been received.

(d) After the first acknowledgement has been received.

Page 44: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

44

A One-Bit Sliding Window Protocol

Continued

Page 45: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

45

A One-Bit Sliding Window Protocol (ctd.)

Page 46: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

46

A One-Bit Sliding Window Protocol

Two scenarios for protocol 4. (a) Normal case. (b) Abnormal case. The notation is (seq, ack, packet number). An asterisk indicates where a network layer accepts a packet.

Page 47: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

47

A Protocol Using Go Back N

• Receiver will only accept the next frame in the sequence.

• Advantage: simple.

• Disadvantage: Waste bandwidth if high error rate exists.

Page 48: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

48

A Protocol Using Go Back N

Pipelining and error recovery. Effect on an error when

(a) Receiver’s window size is 1.

(b) Receiver’s window size is large.

Page 49: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

49

Sliding Window Protocol Using Go Back N

Continued

Page 50: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

50

Sliding Window Protocol Using Go Back N

Continued

Page 51: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

51

Sliding Window Protocol Using Go Back N

Continued

Page 52: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

52

Sliding Window Protocol Using Go Back N

Page 53: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

53

Sliding Window Protocol Using Go Back N

Simulation of multiple timers in software.

Page 54: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

54

A Sliding Window Protocol Using Selective Repeat

• Receiver accepts any frame in its window, but only acknowledges the last frame in the successful sequence. The receiver can notify the sender to transmit a missing frame using the same two approaches:1. timeout

2. receiving a special frame from receiver.

• Advantage: don't waste bandwidth• Disadvantage: Receiver must buffer frames, thus

imposing a higher memory requirement on the receiver.

Page 55: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

55

A Sliding Window Protocol Using Selective Repeat

Continued

Page 56: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

56Continued

A Sliding Window Protocol Using Selective Repeat

Page 57: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

57

A Sliding Window Protocol Using Selective Repeat

Continued

Page 58: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

58

A Sliding Window Protocol Using Selective Repeat

Page 59: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

59

A Sliding Window Protocol Using Selective Repeat

(a) Initial situation with a window size seven.

(b) After seven frames sent and received, but not acknowledged.

(c) Initial situation with a window size of four.

(d) After four frames sent and received, but not acknowledged.

Page 60: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

60

Protocol Verification

• Much research has been done by trying to find formal, mathematical techniques for specifying and verifying protocols.

• Finite State Machined Models

• Petri Net Models

Page 61: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

61

Finite State Machined Models

(a) State diagram for protocol 3. (b) Transitions.

• Given a complete description of the protocol machines and channel characteristics, it is possible to draw a directed graph showing all the states as nodes and all the transitions as directed arcs.

Page 62: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

62

Petri Net Models• A petri net has four basic elements: places: transitions,

arcs, and tokens.• A place represents a state which the system may be in.• A transition is indicated by a horizontal or vertical

bar.• Each transition has zero or more input arcs coming

from its input places, and zero or more output arcs, going to its output places.

• A transition is enabled if there is at least one input token in each of its input places.

• Any enabled transition may fire at will, moving the token from an input place to an output place.

Page 63: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

63

Petri Net Models

A Petri net with two places and two transitions.

Page 64: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

64

Petri Net Models

A Petri net model for protocol 3.

Page 65: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

65

Example Data Link Protocols

• HDLC – High-Level Data Link Control

• The Data Link Layer in the Internet

Page 66: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

66

High-Level Data Link Control

• Frame format for bit-oriented protocols.– Flag sequence: 01111110– Address: identify one of terminals or distinguish

commands from responses– Control: sequence numbers, acknowledges, other

purposes– Data: any information– Checksum: cyclic redundancy code

Page 67: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

67

High-Level Data Link Control

Control field of

(a) An information frame.

(b) A supervisory frame.

(c) An unnumbered frame.

Page 68: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

68

Control Field of HDLC• Fields in an information frame:

– The Seq field is the frame sequence number.

– The Next field is a piggybacked acknowledgement.

– The P/F bit stands for Poll/Final. It used when a computer is polling a group of terminals.

• P: the computer is inviting the terminal to send data.

• The final one is set to F.

• The type field in a supervisory frame:– Type 0: acknowledge frame

– Type 1: negative acknowledge frame

– Type 2: RECEIVE NOT READY

– Type 3: SELECTIVE REJECT

Page 69: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

69

High-Level Data Link Control

• The unnumbered frame is used for control purposes but can carry data in unreliable connectionless service.

• Commands:– DISC (DISCconnet) allows a machine to announce

that it is going down.– SNRM (Set Normal Response Mode)/ SABM (Set

Asynchronous Balanced Mode) announce a machine has just come back on-line.

– FRMR (FRaMe Reject) indicates a frame with a correct checksum but impossible semantics.

Page 70: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

70

The Data Link Layer in the Internet• Point-to-point communication:

– Router-router leased line connection– Dial-up host-router connection

• PPP provides three features:1. A framing method to delineate the frame and

handle error detection2. LCP (Link Control Protocol) for brining lines up,

testing them, negotiating options, and brining down them down.

3. A way to negotiate network-layer options or have a different NCP (Network Control Protocol).

Page 71: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

71

The Data Link Layer in the Internet

A home personal computer acting as an internet host.

Page 72: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

72

PPP – Point to Point Protocol

• The PPP full frame format for unnumbered mode operation.– Flag byte: 01111110– Address: 11111111 indicates all stations to accept the frame– Control: default value, 00000011 for an unnumbered frame

(unreliable transmission)– Protocol: indicate what kind of packet is in the payload– Payload: data (default length: 1500 bytes)– checksum

Page 73: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

73

PPP Protocol

• PPP is a multi-protocol framing mechanism suitable for use over modems, HDLC bit-serial lines, SONET, and other physical layers.

• PPP supports error detection, option negotiation, header compression, and reliable transmission.

• LCP is used to negotiate data link protocol options.

Page 74: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

74

PPP – Point to Point Protocol

A simplified phase diagram for bring a line up and down.

Page 75: 1 The Data Link Layer Chapter 3. 2 Data Link Layer Design Issues Services Provided to the Network Layer Framing Error Control Flow Control

75

PPP – Point to Point Protocol

The LCP frame types.