Top Banner
1 Lecture #13: Example Lecture #13: Example Data Link Protocols. Data Link Protocols. C o n t e n t s C o n t e n t s Types of services provided by DLL protocols Flow control functions Flow control protocols Stop-and-Wait protocols Sliding window protocols Go-back-n Selective Repeat/Reject Performance comparison HDLC Internet DLL protocols 9 4 7 11 12 27 24 23 21 19
43
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 1 Lecture #13: Example Data Link Protocols. 9 4 7 11 12 27 24 23 21 19.

1

Lecture #13: Example Lecture #13: Example Data Link Protocols.Data Link Protocols.

C o n t e n t s C o n t e n t s

Types of services provided by DLL protocolsFlow control functions

Flow control protocols

Stop-and-Wait protocols

Sliding window protocols

Go-back-n

Selective Repeat/Reject

Performance comparison

HDLC

Internet DLL protocols

9

47

1112

2724

23

21

19

Page 2: 1 Lecture #13: Example Data Link Protocols. 9 4 7 11 12 27 24 23 21 19.

2

Communication Communication Functions according to Functions according to

the OSI Modelthe OSI ModelUser application 1 ...

Encryption/decryption

compression/expansion

Choice of syntax

Sessioncontrol

Session to transportmapping

Session management

Sessionsynch.

Layer and flowcontrol

Error recovery

Multiplexing

Connection control

Routing Addressing

Errorcontrol

Flowcontrol

Data link establishment

Synch Framing

Access to transm. media

Physical and electrical interface

Activation/ deactivation of con.

Application layer

Presentation layer

Session layer

Transport layer

Network layer

Link layer

Physical layer

Framing: considers frame format/ length issues (incl. error detection/correction implementation

Flow control: SAW, Sliding Window Error control: correction, detection, recovery (ARQ: SAW, GBN, SR)

Page 3: 1 Lecture #13: Example Data Link Protocols. 9 4 7 11 12 27 24 23 21 19.

3

Data link layerData link layer The The data link layerdata link layer provides functional and provides functional and

procedural means to establish, maintain procedural means to establish, maintain and release data link connections among and release data link connections among network entities and to transfer data link network entities and to transfer data link service data units. service data units.

A A data link connectiondata link connection is built upon one or is built upon one or several physical-connections.several physical-connections.

The data link layer The data link layer detects and possibly detects and possibly corrects errorscorrects errors which may occur in the which may occur in the physical layer.physical layer.

In addition, the data link layer enables the In addition, the data link layer enables the network layer to control the network layer to control the interconnection of data circuits within the interconnection of data circuits within the physical layer.physical layer.

Page 4: 1 Lecture #13: Example Data Link Protocols. 9 4 7 11 12 27 24 23 21 19.

4

DLL ServicesDLL Services Types of DLL services:Types of DLL services:

–Unacknowledged connectionlessUnacknowledged connectionless serviceservice

• frames are sent independently (connectionless)frames are sent independently (connectionless)

• no recovering of the lost/damaged frames no recovering of the lost/damaged frames (unack.)(unack.)

• for reliable links or upper levels recovery for reliable links or upper levels recovery architecturearchitecture

–Acknowledged connectionlessAcknowledged connectionless service service• possible implementation of damaged/lost possible implementation of damaged/lost

framesframes

–Connection-oriented Connection-oriented servicesservices• correct and in-order frame deliverycorrect and in-order frame delivery

Page 5: 1 Lecture #13: Example Data Link Protocols. 9 4 7 11 12 27 24 23 21 19.

5

DLL ServicesDLL Services Services provided to the Services provided to the network network

layerlayer by the data link layer are: by the data link layer are:

– data-link-connection;data-link-connection;

– data-link-connection-endpoint-data-link-connection-endpoint-

identifiers;identifiers;

– sequencing;sequencing;

– error notification;error notification;

– flow control; flow control;

– quality of service parameters.quality of service parameters.

Page 6: 1 Lecture #13: Example Data Link Protocols. 9 4 7 11 12 27 24 23 21 19.

6

Data Link Layer Data Link Layer FunctionsFunctions

Functions within the data link layerFunctions within the data link layer– data-link-connection establishment and data-link-connection establishment and

release;release;

– delimiting and synchronization;delimiting and synchronization;

– sequence control;sequence control;

– error detection;error detection;

– error recovery;error recovery;

– flow control;flow control;

– identification and parameter exchange;identification and parameter exchange;

– control of data-circuit interconnection;control of data-circuit interconnection;

– data link layer management.data link layer management.

Page 7: 1 Lecture #13: Example Data Link Protocols. 9 4 7 11 12 27 24 23 21 19.

7

Flow ControlFlow Control TerminologyTerminology– SimplexSimplex: Signal flows always in one direction (e.g., computer - to - : Signal flows always in one direction (e.g., computer - to -

printer)printer)– Half DuplexHalf Duplex: Alternating one-way. Signal flows in both directions : Alternating one-way. Signal flows in both directions

not simultaneously but alternatively.not simultaneously but alternatively.– Full DuplexFull Duplex:: Signal flow is in both directions simultaneously Signal flow is in both directions simultaneously

Logical Connectivity:Logical Connectivity:– Peer-to-PeerPeer-to-Peer:: Either station can initiate a call Either station can initiate a call– Primary-SecondaryPrimary-Secondary:: Only the Primary may initiate a call. There is Only the Primary may initiate a call. There is

no Secondary-to-Secondary calls initiated separately.no Secondary-to-Secondary calls initiated separately. Connection Phases: Connection Phases: Apply to both logical Apply to both logical

connectivity types: Peer - to - Peer, Primary - connectivity types: Peer - to - Peer, Primary - SecondarySecondary

– Connection EstablishmentConnection Establishment: Determines which station transmits, : Determines which station transmits, which receives, and whether the receiver is ready to receive.which receives, and whether the receiver is ready to receive.

– Data TransferData Transfer:: Data are transferred in one or more Data are transferred in one or more acknowledgment blocksacknowledgment blocks

– Connection TerminationConnection Termination:: Terminates the logical connection, Terminates the logical connection, physical connection upon which that logical connection was based physical connection upon which that logical connection was based may remain connectedmay remain connected

Frame transmission modelsFrame transmission models: : – Error free transmissionError free transmission– Transmission with errors or lossesTransmission with errors or losses

13/1

Page 8: 1 Lecture #13: Example Data Link Protocols. 9 4 7 11 12 27 24 23 21 19.

8

Flow Control (Physical Connectivity Flow Control (Physical Connectivity

Possibilities)Possibilities)

Point-to-Point (P-P)Point-to-Point (P-P) Logical ConnectivityLogical Connectivity: Can use either Peer-to-Peer or : Can use either Peer-to-Peer or

Primary-Secondary depending on whether a Primary Primary-Secondary depending on whether a Primary station has been designated or not station has been designated or not

Addressing:Addressing: No addressing is required. No addressing is required.

Multipoint Multipoint Logical Connectivity Logical Connectivity

Peer-to-Peer: Uses contest access methods Peer-to-Peer: Uses contest access methods Primary-Secondary: Uses Primary-Secondary: Uses Poll Poll (The primary (The primary

request data from the secondary) andrequest data from the secondary) and Select Select (The primary has data to send to the secondary)(The primary has data to send to the secondary)

AddressingAddressing: : Peer-to-Peer: Two addresses required Peer-to-Peer: Two addresses required

(transmitter and receiver) (transmitter and receiver) Primary-Secondary: One address needed, to Primary-Secondary: One address needed, to

identify the secondaryidentify the secondary

Flow ControlFlow Control

Page 9: 1 Lecture #13: Example Data Link Protocols. 9 4 7 11 12 27 24 23 21 19.

9

Flow Control Flow Control ProtocolsProtocols

Time-Driven ControlTime-Driven Control (for (for

synchronous transmission, synchronous transmission,

dedicated service, simplex dedicated service, simplex

error-free channel …error-free channel …

Event-Driven ControlEvent-Driven Control (some (some

SAWSAW: for asynchronous : for asynchronous

transmission, multiple transmission, multiple

service, half-duplex error-service, half-duplex error-

free channel … free channel …

Event-Driven Control with Event-Driven Control with

TimeoutsTimeouts ( (SAWSAW, , PAR/ARQ, PAR/ARQ,

sliding windowsliding window: for : for

asynchronous transmission, asynchronous transmission,

multiple service, full-duplex multiple service, full-duplex

channel with losses/errors … channel with losses/errors …

Network LayerNetwork Layer

DLLDLL

Physical LayerPhysical Layer

FromNL

FromPhLToPhL

ToNL

PackBuff

FrameBuffRcvTimer

TrmTimer

TrmCount

RcvCount

Virtual frame transferVirtual frame transfer

Virtual packet transferVirtual packet transfer

Physical bit transfer (signaling)Physical bit transfer (signaling)

Page 10: 1 Lecture #13: Example Data Link Protocols. 9 4 7 11 12 27 24 23 21 19.

10

Examples of Flow Control ProtocolsExamples of Flow Control ProtocolsSAWSAW (Stop And Wait protocols) (Stop And Wait protocols)PAR/ARQPAR/ARQ (Positive Acknowledge with (Positive Acknowledge with

Retransmission [of the non-acknowledged Retransmission [of the non-acknowledged frames]/Automatic Repeat reQuest)frames]/Automatic Repeat reQuest)

sliding windowsliding window protocols protocols Applicable mechanismsApplicable mechanisms::

– piggybackingpiggybacking employs the outgoing traffic for employs the outgoing traffic for carrying frame receive acknowledgements; timeout carrying frame receive acknowledgements; timeout control over the delayed acknowledgments in case control over the delayed acknowledgments in case of no outgoing data frames. of no outgoing data frames.

– pipelining: pipelining: sequential frame transmission upon sequential frame transmission upon the new Network Layer’s requests prior tothe new Network Layer’s requests prior to acknowledgement for the frames already sent. acknowledgement for the frames already sent. Outstanding frames form so called sender window.Outstanding frames form so called sender window.

Page 11: 1 Lecture #13: Example Data Link Protocols. 9 4 7 11 12 27 24 23 21 19.

11

Bit Error Rate BER: BER = nerr/nt

SAW ProtocolSAW Protocol (Idle ARQ) (Idle ARQ)– AlgorithmAlgorithm

Send frameSend frame Wait for an ACK before sending the next frame ( good for half Wait for an ACK before sending the next frame ( good for half

duplex links)duplex links)– Channel Utilization, U:Channel Utilization, U:

– 0 > 0 > UU > 1 > 1– UU depends on the channel length depends on the channel length DD::

UU = = TTfrfr//TTtt (1)(1)

where where TTfrfr is the frame transmission time and is the frame transmission time and TTtt is the total transmission time is the total transmission time including including TTfrfr, , TTpp (propagation delay)(propagation delay), , TTACK ACK (acknowledgement generation, (acknowledgement generation, propagation and transmission) propagation and transmission) , , TTproc proc (frame processing time). Approximation (frame processing time). Approximation for error-free channel (for error-free channel (BERBER-->0-->0): ):

TTt t == TTfrfr + 2 + 2 TTpp (2)(2)

TTp p = (= (DD/2)10/2)10-8-8 [S] (by signal speed = 2.10 [S] (by signal speed = 2.1088m/S in copper)m/S in copper)

aa = = TTp p // TTfrfr == ((ssfrfr//DrDrbb))cc [non-dimensional] [non-dimensional] (3)(3)

relative channel lengthrelative channel length [with respect to the frame duration] [with respect to the frame duration]

(1), (2) (1), (2) andand (3) (3) yieldyield UU=1/(1+2=1/(1+2aa)) i.e. i.e. UUaa (4)(4)

Stop-And-Wait ProtocolsStop-And-Wait Protocols

3/12 13/5

13/2

channel bit rate [b/S]

EM-waves’ speed

Page 12: 1 Lecture #13: Example Data Link Protocols. 9 4 7 11 12 27 24 23 21 19.

12

Sliding Window Sliding Window ProtocolsProtocols

DuplexDuplex (bi-directional) data connection based on (bi-directional) data connection based on

pipeliningpipelining

Event-drivenEvent-driven synchronization with system of synchronization with system of timeouts. timeouts.

TimersTimers are required for each frame being tracked. are required for each frame being tracked.

ACKsACKs are usually “are usually “piggybackedpiggybacked” onto the forward traffic ” onto the forward traffic

from receiverfrom receiver

Cyclic sequenced numberingCyclic sequenced numbering of the outgoing frames; of the outgoing frames;

cycle length cycle length LL = 2 = 2nn - 1 - 1 1 1

Sender window Sender window SWSW keeps the numbers of frames that are to keeps the numbers of frames that are to

be transmittedbe transmitted

Receiver window Receiver window RWRW keeps the numbers of frames that are keeps the numbers of frames that are

to be received and acknowledgedto be received and acknowledgedcont ...cont ...

Page 13: 1 Lecture #13: Example Data Link Protocols. 9 4 7 11 12 27 24 23 21 19.

13

… … cont. cont. BuffersBuffers are required for each frame being transmitted are required for each frame being transmitted

(received)(received)

– Frames are buffered in seq_number order at the sender Frames are buffered in seq_number order at the sender

for possible retransmissionfor possible retransmission

– Frames are buffered in seq_number order at the receiver Frames are buffered in seq_number order at the receiver

for delivery to the Network Layer when for delivery to the Network Layer when Selective Selective

RepeatRepeat error handling is applied error handling is applied Sliding windowSliding window protocols protocols guarantee the number and the guarantee the number and the

orderorder of the transmitted frames thus simulating connection- of the transmitted frames thus simulating connection-

oriented transmissionoriented transmission SWSW and and RWRW can differ in the can differ in the limitslimits and and window-sizewindow-size

Important performance and robust parameters are the Important performance and robust parameters are the

maximal sender/receiver window sizemaximal sender/receiver window size wwS/RS/R and the and the

timeouts in context to the actual throughput and the frame timeouts in context to the actual throughput and the frame

round-trip transit time.round-trip transit time.

Sliding Window ProtocolsSliding Window Protocols

Page 14: 1 Lecture #13: Example Data Link Protocols. 9 4 7 11 12 27 24 23 21 19.

14

Receiver Window

0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3

Trailing edge shrinks as frames are received

Leading edge expands as ACKs are sent

Acknowledged frames zone

Sender Window

0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3

Trailing edge shrinks as frames are sent

Leading edge expands as ACKs are received

Transmitted frames zone

First frame waiting transmission

Last frame waiting transmission

Last frame that might be accepted

First frame that might be accepted

Sliding Window Protocols

Page 15: 1 Lecture #13: Example Data Link Protocols. 9 4 7 11 12 27 24 23 21 19.

15

BRec-er

ASender

0123456

Step 1. 10 7

A ready to transmit 7 frames beginning with frame 0; B ready to receive 7 frames beginning with frame 0

Sliding windows

BRec-er

ASender

Step 2.1

07

A have sent 3 frames, sender window shrinks to 4 frames 2 1 03

456

0123456

0123456

Sliding Window ProtocolsSliding Window Protocols

Page 16: 1 Lecture #13: Example Data Link Protocols. 9 4 7 11 12 27 24 23 21 19.

16

0

Sliding Window Sliding Window ProtocolsProtocols

BRec-er

ASender

Step 3.

B received 3 frames; receiver window shrinks to 4 frames too

BRec-er

3456

ASender

Step 4.1

08

B transmits acknowledge for frames 0-2 which causes receiver window to expand back

10

7

12

Ack3

3456

3456

3456

Page 17: 1 Lecture #13: Example Data Link Protocols. 9 4 7 11 12 27 24 23 21 19.

173

Sliding Window Sliding Window ProtocolsProtocols

BRec-er

3456701

ASender

Step 5.1

07Sender window

expands with 3 positions when the acknowledge-ment for the 3 frames is received

6

BRec-er

56780

4

ASender

Step 6.

4 3 2

A has transmitted frame 3 and then frames 4, 5 and 6; B processed frame 3, 4, 5 and 6 and transmits Ack4

701

1Ack4

3456 Ack3

Page 18: 1 Lecture #13: Example Data Link Protocols. 9 4 7 11 12 27 24 23 21 19.

18

2

2

Sliding Window Sliding Window ProtocolsProtocols

BRec-er

ASender

Step 7.4

32

Receiver window expands with 1 position upon the departure of the acknowledge-ment for the 4 frames.

BRec-er

7012

ASender

Step 8.

43A window

expands with a position upon the receiving of the Ack4;B processes frames 5 and 6

701

1

Ack4

5

Ack4

670

701

Page 19: 1 Lecture #13: Example Data Link Protocols. 9 4 7 11 12 27 24 23 21 19.

19

Sliding Window Protocols - Sliding Window Protocols - Go-back-Go-back-nn

Sender window sizeSender window size wwSS n n (but still (but still wwSS LL-1)-1) Receiver window size Receiver window size wwRR= 1= 1

Sender may send multiple frames up to Sender may send multiple frames up to wwSS

Receiver buffers only one received frame. It cannot Receiver buffers only one received frame. It cannot receive frames out of order. Frames are passed in receive frames out of order. Frames are passed in order to the NL.order to the NL.

Damaged FrameDamaged Frame::– B detects error in frameB detects error in frame (i): B sends REJ(i). When A receives REJ(i) it (i): B sends REJ(i). When A receives REJ(i) it

must resend (i) and all subsequent frames.must resend (i) and all subsequent frames.– B does not detect frameB does not detect frame (i) (frame is lost) and A already sent (i+1): B (i) (frame is lost) and A already sent (i+1): B

receives (i+1) out of order and sends REJ(i)receives (i+1) out of order and sends REJ(i)– Frame (i) is lostFrame (i) is lost and A does not send anything after frame (i): A and A does not send anything after frame (i): A

timeouts and resend (i).timeouts and resend (i).

cont ...cont ...

13/63/15a

13/6

Page 20: 1 Lecture #13: Example Data Link Protocols. 9 4 7 11 12 27 24 23 21 19.

20

Sliding Window Protocols Sliding Window Protocols - -

Go-back-Go-back-nncont …cont … Damaged ACKDamaged ACK

– ACKs (Receiver Ready, RRs) are cyclic-cumulative. If an ACKs (Receiver Ready, RRs) are cyclic-cumulative. If an ACK (i) get lost and:ACK (i) get lost and:

• a subsequently higher ACK (i+n) is received: this ACK will a subsequently higher ACK (i+n) is received: this ACK will account for intervening ACKsaccount for intervening ACKs

• peer A timeouts without ACK: A requests retransmission of the peer A timeouts without ACK: A requests retransmission of the cumulated ACKcumulated ACK

Damaged NACK (REJ)Damaged NACK (REJ): peer A timeouts.: peer A timeouts. PerformancePerformance

More complex than SAW:More complex than SAW: wwSS buffers/timers at the buffers/timers at the transmitter, 1 buffer/timer at receivertransmitter, 1 buffer/timer at receiver

More efficient that SAW - allows for pipelining, but More efficient that SAW - allows for pipelining, but inefficient for noisy channelsinefficient for noisy channels

Channel utilizationChannel utilization (only by “error free” (only by “error free” assumption!):assumption!):

UU=={{1, 1, wwSS (2 (2aa+1)+1)

wwSS/(2/(2aa+1),+1), wwSS (2 (2aa+1)+1) wwSS is greater than the number of frames that can fit into the is greater than the number of frames that can fit into the

channel; peer A can transmit frames without pausingchannel; peer A can transmit frames without pausing

13/6

Page 21: 1 Lecture #13: Example Data Link Protocols. 9 4 7 11 12 27 24 23 21 19.

21

Sliding Window Protocols Sliding Window Protocols - -

Selective Repeat/RejectSelective Repeat/Reject wwSS == wwR R - the receiver buffers all the received frame. - the receiver buffers all the received frame.

It can receive frames out of order and only NACKed It can receive frames out of order and only NACKed

frames are retransmitted. Frames are passed in frames are retransmitted. Frames are passed in

order to the NL.order to the NL.

Channel utilizationChannel utilization (only by BER-->0!) is the (only by BER-->0!) is the

same as for GBN ARQ.same as for GBN ARQ.

PerformancePerformance

More complex than GBN: More complex than GBN: wwSS buffers/timers both at the buffers/timers both at the

transmitter and receivertransmitter and receiver

More efficient than GBN for noisy channelsMore efficient than GBN for noisy channels

3/15b

Page 22: 1 Lecture #13: Example Data Link Protocols. 9 4 7 11 12 27 24 23 21 19.

22

Sliding Window Protocols - Sliding Window Protocols - Performance Effect of the Window Performance Effect of the Window

SizeSize

8844 16161212 2020 2424

88

44

1212

1616

2020

2424

Mb/SMb/S

wwSS

10 Mb/S10 Mb/S Ethernet Ethernet LANLAN

100 Mb/S100 Mb/S Ethernet Ethernet LANLAN

Effect of saturation Effect of saturation whenwhen wwSS becomes becomes greater than the greater than the number of frames number of frames that can fit into the that can fit into the channelchannel

Possible effect (for Possible effect (for LANs and other LANs and other multiple access multiple access systems) of systems) of degradation if degradation if receiver’s buffer is receiver’s buffer is overloadedoverloaded

Page 23: 1 Lecture #13: Example Data Link Protocols. 9 4 7 11 12 27 24 23 21 19.

23

• Single bit error probabilitySingle bit error probability (or bit error rate) (or bit error rate) BER= BER=

nnERRERR/n/ntt

• Frame error probabilityFrame error probability

PPfrfr=1-(1-=1-(1-BERBER))SSfr fr [for [for BER BER-1-1>>S>>Sfrfr] ] SSfrfrBERBER ((wherewhere SSfrfr is is

the frame size)the frame size)

• Channel utilizationChannel utilization as a function of the relative as a function of the relative

channel lengthchannel length aa and frame error probabilityand frame error probability PPfrfr ::– SAW:SAW: UU = (1 - = (1 - PPfrfr) / (1 + 2) / (1 + 2aa))

– GBN:GBN: UU = =

– SR:SR: UU = =

DLL Protocols - DLL Protocols - Performance ComparisonPerformance Comparison

13/10

{{11 - - PPfrfr; ; wwSS 2 2aa+1+1wwS S (1 - (1 - PPfrfr) / (2) / (2aa+1); +1); wwSS 2 2aa+1+1

{{(1 - (1 - PPfrfr,) / (1+2,) / (1+2aa PPfrfr) ; ) ; wwSS 2 2aa+1+1wwS S (1 - (1 - PPfrfr) / ((2) / ((2aa+1)(1- +1)(1- PPfr fr ++wwS S PPfrfr)); )); wwSS 2 2aa+1+1

Page 24: 1 Lecture #13: Example Data Link Protocols. 9 4 7 11 12 27 24 23 21 19.

24

HDLC HDLC - High-level Data Link Control- High-level Data Link Control Widely applied standardWidely applied standard

– LLC in IEEE802.2 (Upper part of DLL in LANs/MANs)LLC in IEEE802.2 (Upper part of DLL in LANs/MANs)

– LAPB (Link Access Protocol - Balanced) in X.25 LAPB (Link Access Protocol - Balanced) in X.25

– LAPD (Link Access Protocol of the D-channel) in ISDNLAPD (Link Access Protocol of the D-channel) in ISDN Bit-oriented protocol - with bit stuffingBit-oriented protocol - with bit stuffing Applies sliding window algorithms (GBN or SR)Applies sliding window algorithms (GBN or SR) HDLC-defined station types:HDLC-defined station types:

– primary (link establishment and control - issues primary (link establishment and control - issues commands)commands)

– secondary (controlled by primary - issues responses)secondary (controlled by primary - issues responses)

– combinedcombined Link configuration: balanced (P-P only)/unbalanced Link configuration: balanced (P-P only)/unbalanced

(P-P and multi-P operations; obsolete - terminal (P-P and multi-P operations; obsolete - terminal complexes)complexes)

Example DLL Protocols - Example DLL Protocols - HDLCHDLC

Page 25: 1 Lecture #13: Example Data Link Protocols. 9 4 7 11 12 27 24 23 21 19.

25

HDLC - frame formatHDLC - frame format Address fieldAddress field (8 b extendible to 16): contains (8 b extendible to 16): contains

destination by multi-P configuration; in P-P mode this destination by multi-P configuration; in P-P mode this field distinguish commands and responsesfield distinguish commands and responses

InformationInformation - variable data length - variable data length FCSFCS - CCITT-CRC - CCITT-CRC Control fieldControl field - distinguish 3 types of frames: - distinguish 3 types of frames:

– Information framesInformation frames::• N(S) field (3b) sequence number of the frame being sent i.e. N(S) field (3b) sequence number of the frame being sent i.e. the the

sliding window may contain up to 7 outstanding framessliding window may contain up to 7 outstanding frames

• N(R) field (3b) sequence number of the next frame expectedN(R) field (3b) sequence number of the next frame expected

• Poll/Final bit: primary invites secondary to send data with a P/F Poll/Final bit: primary invites secondary to send data with a P/F set to P; the secondary data frames also have P/F=P but the last set to P; the secondary data frames also have P/F=P but the last of them has P/F=F ; (somewhere used to suspend piggybacking of them has P/F=F ; (somewhere used to suspend piggybacking ACK delays)ACK delays)

– Supervisory framesSupervisory frames - protocol (sliding window) control frames : - protocol (sliding window) control frames :• S field (2b) for supervisory function: ACK (RR), NACK (REJ), RNR S field (2b) for supervisory function: ACK (RR), NACK (REJ), RNR

(receiver not ready) and SR (Selective Retransmission) (receiver not ready) and SR (Selective Retransmission) cont …cont …

13/7

Page 26: 1 Lecture #13: Example Data Link Protocols. 9 4 7 11 12 27 24 23 21 19.

26

Control field types Control field types cont.:cont.:

– unnumberedunnumbered frames for control and specific frames for control and specific

data transfer:data transfer:• M (5b, split by the P/F bit) field - up to 32 M (5b, split by the P/F bit) field - up to 32

command/info codes including:command/info codes including:

– connection mode setting (peer A: SABM “Set connection mode setting (peer A: SABM “Set

Asynchronous Balanced Mode”, “Disconnect”…, B: UA Asynchronous Balanced Mode”, “Disconnect”…, B: UA

“Unnumbered ACK” for acknowledgement of control “Unnumbered ACK” for acknowledgement of control

frames etc.) frames etc.)

– information commands and responses (ID exchange, information commands and responses (ID exchange,

test, provide day time, setup link …)test, provide day time, setup link …)

– recovery commands and responses for untypical recovery commands and responses for untypical

problems (e.g. long data field, invalid control field …)problems (e.g. long data field, invalid control field …)

Example HDLC operations Example HDLC operations

HDLC - frame formatHDLC - frame format

13/8

Page 27: 1 Lecture #13: Example Data Link Protocols. 9 4 7 11 12 27 24 23 21 19.

27

Internet DLLInternet DLL Internet P-P architecturesInternet P-P architectures::

– leased lines to the Internet communication leased lines to the Internet communication subnets subnets

– dial-up lines to time-sharing shell account dial-up lines to time-sharing shell account or routeror router

Internet DLL protocolsInternet DLL protocols - SLIP and PPP - SLIP and PPP– SLIP (Serial Line IP)SLIP (Serial Line IP)

• character stuffing character stuffing • no error handlingno error handling• IP support only (not Novel IPX...)IP support only (not Novel IPX...)• static IP addressing static IP addressing • not approved as Internet standardnot approved as Internet standard

3/26

Page 28: 1 Lecture #13: Example Data Link Protocols. 9 4 7 11 12 27 24 23 21 19.

28

Internet DLLInternet DLL PPPPPP (Point-to-Point Protocol) - RFC 1661; (Point-to-Point Protocol) - RFC 1661;

provides 3 mechanismsprovides 3 mechanisms Framing MethodFraming Method providing also error control. providing also error control. A A Link Control ProtocolLink Control Protocol ( (LCPLCP) which brings line up, tests ) which brings line up, tests

it, negotiates options, and brings lines down in the end.it, negotiates options, and brings lines down in the end. Negotiation of the NL optionsNegotiation of the NL options (independence of the (independence of the

network protocol being used). The method used is to have network protocol being used). The method used is to have a different a different NCPNCP ( (Network Control ProtocolNetwork Control Protocol) for each ) for each network layer used.network layer used.

Phases of data link setup/termination in Phases of data link setup/termination in InternetInternet– DeadDead - no physical layer present - no physical layer present– EstablishEstablish a Physical Connection: (The user’s PC first calls a Physical Connection: (The user’s PC first calls

the provider’s router via a modemthe provider’s router via a modem– Authenticate Authenticate - Establish a Link Connection: (PPP next - Establish a Link Connection: (PPP next

sends a series of LCP packets to configure the data link sends a series of LCP packets to configure the data link layer.)layer.)

• LCP provides a mechanism (proposal - acceptance/rejection LCP provides a mechanism (proposal - acceptance/rejection between the two sides) to negotiate link between the two sides) to negotiate link optionsoptions

3/28

Page 29: 1 Lecture #13: Example Data Link Protocols. 9 4 7 11 12 27 24 23 21 19.

29

– AuthenticateAuthenticate - Establish a Link Connection: (PPP next sends - Establish a Link Connection: (PPP next sends a series of LCP packets to configure the data link layer.)a series of LCP packets to configure the data link layer.)

• LCP provides a mechanism (proposal - acceptance/rejection between LCP provides a mechanism (proposal - acceptance/rejection between the two sides) to negotiate link the two sides) to negotiate link optionsoptions

• Options may includeOptions may include– setting the maximum payload size for data framessetting the maximum payload size for data frames– enabling authentication to be conductedenabling authentication to be conducted– choosing a protocol to usechoosing a protocol to use– LCP also allows for testing of the line (LCP also allows for testing of the line (EchoEcho - types) - types)

– NetworkNetwork - Establishes the Network Connection: (PPP next - Establishes the Network Connection: (PPP next sends a series of NCP packets to configure the network layer.)sends a series of NCP packets to configure the network layer.)

• Typically this is the TCP/IP protocol stack (so an IP address is needed)Typically this is the TCP/IP protocol stack (so an IP address is needed)• Each Internet provider manages a block of addresses, (one of which Each Internet provider manages a block of addresses, (one of which

is dynamically assigned at login time).is dynamically assigned at login time).

– OpenOpen - The PC is now an internet host (and is permitted to - The PC is now an internet host (and is permitted to send and receive IP packets.)send and receive IP packets.)

– TerminateTerminate - Procedure is reversed at the end of the session - Procedure is reversed at the end of the session - -

• Disestablish Network Connection - release IP addressDisestablish Network Connection - release IP address• Disestablish the Data Link Connection - release the logical connectionDisestablish the Data Link Connection - release the logical connection• Disestablish Physical Connection - release the TP lineDisestablish Physical Connection - release the TP line

Internet DLLInternet DLL

Page 30: 1 Lecture #13: Example Data Link Protocols. 9 4 7 11 12 27 24 23 21 19.

30

Internet DLLInternet DLL PPP FramePPP Frame

– Similar to HDLC (except it is based on Similar to HDLC (except it is based on eight-eight-bit word sizebit word size - character stuffing is used) - character stuffing is used)

– Preamble - HDLC flag byte (0111 1110) Preamble - HDLC flag byte (0111 1110) ((Character stuffedCharacter stuffed if it occurs within the if it occurs within the frame)frame)

– Address Field - All 1’s Address Field - All 1’s – Control Field - used to indicate that PPP is Control Field - used to indicate that PPP is

using unnumbered frames. (I.e., no seq-nums, using unnumbered frames. (I.e., no seq-nums, ACKs -- therefore is an unreliable CLS)ACKs -- therefore is an unreliable CLS)

– Protocol - used to indicate which Data Link or Protocol - used to indicate which Data Link or Network Layer Protocol is being used.Network Layer Protocol is being used.

– Payload (variable length)Payload (variable length)– Checksum (2 or 4 bytes)Checksum (2 or 4 bytes)

3/27

Page 31: 1 Lecture #13: Example Data Link Protocols. 9 4 7 11 12 27 24 23 21 19.

31

Page 32: 1 Lecture #13: Example Data Link Protocols. 9 4 7 11 12 27 24 23 21 19.

32

Page 33: 1 Lecture #13: Example Data Link Protocols. 9 4 7 11 12 27 24 23 21 19.

33

Page 34: 1 Lecture #13: Example Data Link Protocols. 9 4 7 11 12 27 24 23 21 19.

34

Page 35: 1 Lecture #13: Example Data Link Protocols. 9 4 7 11 12 27 24 23 21 19.

35

Page 36: 1 Lecture #13: Example Data Link Protocols. 9 4 7 11 12 27 24 23 21 19.

36

Page 37: 1 Lecture #13: Example Data Link Protocols. 9 4 7 11 12 27 24 23 21 19.

37

Page 38: 1 Lecture #13: Example Data Link Protocols. 9 4 7 11 12 27 24 23 21 19.

38

U

Page 39: 1 Lecture #13: Example Data Link Protocols. 9 4 7 11 12 27 24 23 21 19.

39

Sender

Receiver

Page 40: 1 Lecture #13: Example Data Link Protocols. 9 4 7 11 12 27 24 23 21 19.

40

Page 41: 1 Lecture #13: Example Data Link Protocols. 9 4 7 11 12 27 24 23 21 19.

41

Page 42: 1 Lecture #13: Example Data Link Protocols. 9 4 7 11 12 27 24 23 21 19.

42

Page 43: 1 Lecture #13: Example Data Link Protocols. 9 4 7 11 12 27 24 23 21 19.

43