DATA LINK CONTROL FOROUZAN

Embed Size (px)

DESCRIPTION

DATA LINK CONTROL FOROUZAN

Citation preview

  • Chapter 11

    Data Link Control

    11.1 Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

  • 1111--1 FRAMING1 FRAMING1111 1 FRAMING1 FRAMING

    TheThe datadata linklink layerlayer needsneeds toto packpack bitsbits intointo framesframes,, sosothatthat eacheach frameframe isis distinguishabledistinguishable fromfrom anotheranother.. OurOurthatthat eacheach f amef ame isis distinguishabledistinguishable f omf om anotheanothe .. OuOupostalpostal systemsystem practicespractices aa typetype ofof framingframing.. TheThe simplesimpleactact ofof insertinginserting aa letterletter intointo anan envelopeenvelope separatesseparates oneoneff gg pp pppiecepiece ofof informationinformation fromfrom anotheranother;; thethe envelopeenvelope servesservesasas thethe delimiterdelimiter..

    Topics discussed in this section:Topics discussed in this section:Fixed-Size FramingVariable-Size Framing

    11.2

  • Figure 11.1 A frame in a character-oriented protocol

    11.3

  • Figure 11.2 Byte stuffing and unstuffing

    11.4

  • Note

    Byte stuffing is the process of adding 1 t b t h th i flextra byte whenever there is a flag or

    escape character in the text.

    11.5

  • Figure 11.3 A frame in a bit-oriented protocol

    11.6

  • Note

    Bit stuffing is the process of adding one

    Note

    Bit stuffing is the process of adding one extra 0 whenever five consecutive 1s

    follow a 0 in the data so that thefollow a 0 in the data, so that the receiver does not mistake

    th tt 0111110 f flthe pattern 0111110 for a flag.

    11.7

  • Figure 11.4 Bit stuffing and unstuffing

    11.8

  • 1111--2 FLOW AND ERROR CONTROL2 FLOW AND ERROR CONTROL1111 2 FLOW AND ERROR CONTROL2 FLOW AND ERROR CONTROL

    TheThe mostmost importantimportant responsibilitiesresponsibilities ofof thethe datadata linklinklayerlayer areare flowflow controlcontrol andand errorerror controlcontrol.. Collectively,Collectively,thesethese functionsfunctions areare knownknown asas datadata linklink controlcontrol..

    Flow ControlTopics discussed in this section:Topics discussed in this section:

    Error Control

    11.9

  • Note

    Flow control refers to a set of procedures d t t i t th t f d tused to restrict the amount of data

    that the sender can send beforewaiting for acknowledgment.

    11.10

  • Note

    Error control in the data link layer is b d t ti t tbased on automatic repeat request, which is the retransmission of data.

    11.11

  • 1111--3 PROTOCOLS3 PROTOCOLS1111 3 PROTOCOLS3 PROTOCOLS

    NowNow letlet usus seesee howhow thethe datadata linklink layerlayer cancan combinecombineNowNow letlet usus seesee howhow thethe datadata linklink layerlayer cancan combinecombineframing,framing, flowflow control,control, andand errorerror controlcontrol toto achieveachieve thethedeliverydelivery ofof datadata fromfrom oneone nodenode toto anotheranother TheThedeliverydelivery ofof datadata fromfrom oneone nodenode toto anotheranother.. TheTheprotocolsprotocols areare normallynormally implementedimplemented inin softwaresoftware bybyusingusing oneone ofof thethe commoncommon programmingprogramming languageslanguages ToTousingusing oneone ofof thethe commoncommon programmingprogramming languageslanguages.. ToTomakemake ourour discussionsdiscussions languagelanguage--free,free, wewe havehave writtenwritteninin pseudocodepseudocode aa versionversion ofof eacheach protocolprotocol thatthatinin pseudocodepseudocode aa versionversion ofof eacheach protocolprotocol thatthatconcentratesconcentrates mostlymostly onon thethe procedureprocedure insteadinstead ofofdelvingdelving intointo thethe detailsdetails ofof languagelanguage rulesrulesdelvingdelving intointo thethe detailsdetails ofof languagelanguage rulesrules..

    11.12

  • Figure 11.5 Taxonomy of protocols discussed in this chapter

    11.13

  • 1111--4 NOISELESS CHANNELS4 NOISELESS CHANNELS1111 4 NOISELESS CHANNELS4 NOISELESS CHANNELS

    LetLet usus firstfirst assumeassume wewe havehave anan idealideal channelchannel inin whichwhichnono framesframes areare lost,lost, duplicated,duplicated, oror corruptedcorrupted.. WeWeintroduceintroduce twotwo protocolsprotocols forfor thisthis typetype ofof channelchannel..

    Simplest ProtocolTopics discussed in this section:Topics discussed in this section:

    Stop-and-Wait Protocol

    11.14

  • Figure 11.6 The design of the simplest protocol with no flow or error control

    11.15

  • Algorithm 11.1 Sender-site algorithm for the simplest protocol

    11.16

  • Algorithm 11.2 Receiver-site algorithm for the simplest protocolAlgorithm 11.2 Receiver site algorithm for the simplest protocol

    11.17

  • Example 11.1

    Figure 11.7 shows an example of communication usingthis protocol. It is very simple. The sender sends asequence of frames without even thinking about the

    i d h f h hreceiver. To send three frames, three events occur at thesender site and three events at the receiver site. Note thath d f h b il d b h h i h fthe data frames are shown by tilted boxes; the height of

    the box defines the transmission time difference betweenh fi bi d h l bi i h fthe first bit and the last bit in the frame.

    11.18

  • Figure 11.7 Flow diagram for Example 11.1

    11.19

  • Figure 11.8 Design of Stop-and-Wait Protocol

    11.20

  • Algorithm 11.3 Sender-site algorithm for Stop-and-Wait Protocol

    11.21

  • Algorithm 11.4 Receiver-site algorithm for Stop-and-Wait Protocol

    11.22

  • Example 11.2

    Figure 11.9 shows an example of communication usingthis protocol. It is still very simple. The sender sends oneframe and waits for feedback from the receiver. When theAC i h d d h f hACK arrives, the sender sends the next frame. Note thatsending two frames in the protocol involves the sender inf d h i ifour events and the receiver in two events.

    11.23

  • Figure 11.9 Flow diagram for Example 11.2

    11.24

  • 1111--5 NOISY CHANNELS5 NOISY CHANNELS1111 5 NOISY CHANNELS5 NOISY CHANNELS

    AlthoughAlthough thethe StopStop--andand--WaitWait ProtocolProtocol givesgives usus anan ideaideaofof howhow toto addadd flowflow controlcontrol toto itsits predecessor,predecessor, noiselessnoiselesschannelschannels areare nonexistentnonexistent.. WeWe discussdiscuss threethree protocolsprotocolsinin thisthis sectionsection thatthat useuse errorerror controlcontrol..

    Stop-and-Wait Automatic Repeat RequestTopics discussed in this section:Topics discussed in this section:

    Go-Back-N Automatic Repeat RequestSelective Repeat Automatic Repeat Request

    11.25

  • E ti i St d W it ARQ i

    Note

    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.e t e t e e p es

    11.26

  • I St d W it ARQ

    Note

    In Stop-and-Wait ARQ, we use sequence numbers to number the frames.

    The sequence numbers are based on modulo-2 arithmetic.odu o a t et c

    11.27

  • Note

    In Stop-and-Wait ARQ the

    Note

    In Stop-and-Wait ARQ, the acknowledgment number always

    anno nces in mod lo 2 arithmetic theannounces in modulo-2 arithmetic the sequence number of the next frame

    expected.

    11.28

  • Figure 11.10 Design of the Stop-and-Wait ARQ Protocol

    11.29

  • Algorithm 11.5 Sender-site algorithm for Stop-and-Wait ARQg

    ( ti d)

    11.30

    (continued)

  • Algorithm 11.5 Sender-site algorithm for Stop-and-Wait ARQ (continued)

    11.31

  • Algorithm 11.6 Receiver-site algorithm for Stop-and-Wait ARQ Protocol

    11.32

  • Example 11.3

    Figure 11.11 shows an example of Stop-and-Wait ARQ.Frame 0 is sent and acknowledged. Frame 1 is lost andresent after the time-out. The resent frame 1 is

    k l d d d h i i dacknowledged and the timer stops. Frame 0 is sent andacknowledged, but the acknowledgment is lost. The

    d h id if h f h k l dsender has no idea if the frame or the acknowledgmentis lost, so after the time-out, it resends frame 0, which is

    k l d dacknowledged.

    11.33

  • Figure 11.11 Flow diagram for Example 11.3

    11.34

  • Example 11.4

    Assume that, in a Stop-and-Wait ARQ system, thebandwidth of the line is 1 Mbps, and 1 bit takes 20 ms tomake a round trip. What is the bandwidth-delay product?f h d f bi i l h h iIf the system data frames are 1000 bits in length, what is

    the utilization percentage of the link?

    SolutionThe bandwidth-delay product isThe bandwidth-delay product is

    11.35

  • Example 11.4 (continued)

    The system can send 20,000 bits during the time it takesfor the data to go from the sender to the receiver and thenback again. However, the system sends only 1000 bits. We

    h h li k ili i i lcan say that the link utilization is only 1000/20,000, or 5percent. For this reason, for a link with a high bandwidth

    l d l h f S d i A Q hor long delay, the use of Stop-and-Wait ARQ wastes thecapacity of the link.

    11.36

  • Example 11.5

    What is the utilization percentage of the link inExample 11 4 if we have a protocol that can send up toExample 11.4 if we have a protocol that can send up to15 frames before stopping and worrying about theacknowledgments?acknowledgments?

    SolutionThe bandwidth-delay product is still 20,000 bits.The system can send up to 15 frames or 15,000bits during a round trip. This means the utilizationis 15,000/20,000, or 75 percent. Of course, ifthere are damaged frames, the utilization

    11.37

    percentage is much less because frames have tobe resent.

  • Note

    In the Go-Back-N Protocol, the sequence numbers are modulo 2m,,

    where m is the size of the sequence number field in bitsnumber field in bits.

    11.38

  • Figure 11.12 Send window for Go-Back-N ARQ

    11.39

  • Note

    The send window is an abstract concept d fi i i i b f i 2m 1defining an imaginary box of size 2m 1

    with three variables: Sf, Sn, and Ssize.

    11.40

  • Note

    The send window can slide onel t h lidor more slots when a valid

    acknowledgment arrives.

    11.41

  • Figure 11.13 Receive window for Go-Back-N ARQ

    11.42

  • Note

    The receive window is an abstract

    Note

    The receive window is an abstract concept defining an imaginary box

    of size 1 with one single variable Rof size 1 with one single variable Rn. The window slides

    h t f h i dwhen a correct frame has arrived; sliding occurs one slot at a time.

    11.43

  • Figure 11.14 Design of Go-Back-N ARQ

    11.44

  • Figure 11.15 Window size for Go-Back-N ARQ

    11.45

  • I G B k N ARQ th i f th d

    Note

    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.s a ays

    11.46

  • Algorithm 11.7 Go-Back-N sender algorithm

    11.47

    (continued)

  • Algorithm 11.7 Go-Back-N sender algorithm (continued)

    11.48

  • Algorithm 11.8 Go-Back-N receiver algorithm

    11.49

  • Example 11.6

    Figure 11.16 shows an example of Go-Back-N. This is anexample of a case where the forward channel is reliable,but the reverse is not. No data frames are lost, but someACKs are delayed and one is lost. The example alsoshows how cumulative acknowledgments can help ifacknowledgments are delayed or lost. After initialization,there are seven sender events. Request events aretriggered by data from the network layer; arrival eventsare triggered by acknowledgments from the physicallayer. There is no time-out event here because alloutstanding frames are acknowledged before the timerexpires. Note that although ACK 2 is lost, ACK 3 serves as

    11.50

    both ACK 2 and ACK 3.

  • Figure 11.16 Flow diagram for Example 11.6

    11.51

  • Example 11.7

    Figure 11.17 shows what happens when a frame is lost.Frames 0 1 2 and 3 are sent However frame 1 is lostFrames 0, 1, 2, and 3 are sent. However, frame 1 is lost.The receiver receives frames 2 and 3, but they arediscarded because they are received out of order Thediscarded because they are received out of order. Thesender receives no acknowledgment about frames 1, 2, or3 Its timer finally expires The sender sends all3. Its timer finally expires. The sender sends alloutstanding frames (1, 2, and 3) because it does not knowwhat is wrong Note that the resending of frames 1 2 andwhat is wrong. Note that the resending of frames 1, 2, and3 is the response to one single event. When the sender isresponding to this event it cannot accept the triggering ofresponding to this event, it cannot accept the triggering ofother events. This means that when ACK 2 arrives, thesender is still busy with sending frame 3

    11.52

    sender is still busy with sending frame 3.

  • Example 11.7 (continued)

    The physical layer must wait until this event is completedand the data link layer goes back to its sleeping state. Wehave shown a vertical line to indicate the delay. It is the

    i h AC b h AC i hsame story with ACK 3; but when ACK 3 arrives, thesender is busy responding to ACK 2. It happens again

    h AC 4 i h b f h d iwhen ACK 4 arrives. Note that before the second timerexpires, all outstanding frames have been sent and thei i dtimer is stopped.

    11.53

  • Figure 11.17 Flow diagram for Example 11.7

    11.54

  • Note

    Stop-and-Wait ARQ is a special case of G B k N ARQ i hi h th i f thGo-Back-N ARQ in which the size of the

    send window is 1.

    11.55

  • Figure 11.18 Send window for Selective Repeat ARQ

    11.56

  • Figure 11.19 Receive window for Selective Repeat ARQ

    11.57

  • Figure 11.20 Design of Selective Repeat ARQ

    11.58

  • Figure 11.21 Selective Repeat ARQ, window size

    11.59

  • Note

    In Selective Repeat ARQ, the size of the d d i i dsender and receiver window

    must be at most one-half of 2m.

    11.60

  • Algorithm 11.9 Sender-site Selective Repeat algorithm

    (continued)

    11.61

    (continued)

  • Algorithm 11.9 Sender-site Selective Repeat algorithm (continued)

    11.62 (continued)

  • Algorithm 11.9 Sender-site Selective Repeat algorithm (continued)

    11.63

  • Algorithm 11.10 Receiver-site Selective Repeat algorithm

    11.64

  • Algorithm 11.10 Receiver-site Selective Repeat algorithm

    11.65

  • Figure 11.22 Delivery of data in Selective Repeat ARQ

    11.66

  • Example 11.8

    This example is similar to Example 11.3 in which frame 1is lost. We show how Selective Repeat behaves in thiscase. Figure 11.23 shows the situation. One maindiff i h b f i h fdifference is the number of timers. Here, each frame sentor resent needs a timer, which means that the timers need

    b b d (0 1 2 d 3) h i f f 0to be numbered (0, 1, 2, and 3). The timer for frame 0starts at the first request, but stops when the ACK for thisf i Th i f f 1 h dframe arrives. The timer for frame 1 starts at the secondrequest, restarts when a NAK arrives, and finally stops

    h h l ACK i Th h iwhen the last ACK arrives. The other two timers startwhen the corresponding frames are sent and stop at thel i l

    11.67

    last arrival event.

  • Example 11.8 (continued)

    At the receiver site we need to distinguish between theacceptance of a frame and its delivery to the networklayer. At the second arrival, frame 2 arrives and is stored

    d k d b i b d li d b f iand marked, but it cannot be delivered because frame 1 ismissing. At the next arrival, frame 3 arrives and is

    k d d d b ill f h f bmarked and stored, but still none of the frames can bedelivered. Only at the last arrival, when finally a copy off 1 i f 1 2 d 3 b d li d hframe 1 arrives, can frames 1, 2, and 3 be delivered to thenetwork layer. There are two conditions for the delivery off h k l Fi f iframes to the network layer: First, a set of consecutiveframes must have arrived. Second, the set starts from theb i i f h i d

    11.68

    beginning of the window.

  • Example 11.8 (continued)

    Another important point is that a NAK is sent after thed i l b t t ft th thi d lth h b thsecond arrival, but not after the third, although both

    situations look the same. The reason is that the protocold t t t d th t k ithdoes not want to crowd the network with unnecessaryNAKs and unnecessary resent frames. The second NAKwould still be NAK1 to inform the sender to resend framewould still be NAK1 to inform the sender to resend frame1 again; this has already been done. The first NAK sent isremembered (using the nakSent variable) and is not sentremembered (using the nakSent variable) and is not sentagain until the frame slides. A NAK is sent once for eachwindow position and defines the first slot in the windowwindow position and defines the first slot in the window.

    11.69

  • Example 11.8 (continued)

    The next point is about the ACKs. Notice that only twoACK t h Th fi t k l d l thACKs are sent here. The first one acknowledges only thefirst frame; the second one acknowledges three frames. InS l ti R t ACK t h d t d li d tSelective Repeat, ACKs are sent when data are delivered tothe network layer. If the data belonging to n frames aredelivered in one shot only one ACK is sent for all of themdelivered in one shot, only one ACK is sent for all of them.

    11.70

  • Figure 11.23 Flow diagram for Example 11.8

    11.71

  • Figure 11.24 Design of piggybacking in Go-Back-N ARQ

    11.72

  • 1111--6 HDLC6 HDLC1111 6 HDLC6 HDLC

    HighHigh levellevel DataData LinkLink ControlControl (HDLC)(HDLC) isis aa bitbit orientedorientedHighHigh--levellevel DataData LinkLink ControlControl (HDLC)(HDLC) isis aa bitbit--orientedorientedprotocolprotocol forfor communicationcommunication overover pointpoint--toto--pointpoint andandmultipointmultipoint linkslinks ItIt implementsimplements thethe ARQARQ mechanismsmechanismsmultipointmultipoint linkslinks.. ItIt implementsimplements thethe ARQARQ mechanismsmechanismswewe discusseddiscussed inin thisthis chapterchapter..

    Configurations and Transfer ModesTopics discussed in this section:Topics discussed in this section:

    FramesControl Field

    11.73

  • Figure 11.25 Normal response mode

    11.74

  • Figure 11.26 Asynchronous balanced mode

    11.75

  • Figure 11.27 HDLC frames

    11.76

  • Figure 11.28 Control field format for the different frame types

    11.77

  • T bl 11 1 f l d dTable 11.1 U-frame control command and response

    11.78

  • Example 11.9

    Figure 11.29 shows how U-frames can be used forconnection establishment and connection release. Node Aasks for a connection with a set asynchronous balanced

    d (SA ) f d i i imode (SABM) frame; node B gives a positive responsewith an unnumbered acknowledgment (UA) frame. Afterh h d b f d b hthese two exchanges, data can be transferred between the

    two nodes (not shown in the figure). After data transfer,d A d DISC (di ) f l hnode A sends a DISC (disconnect) frame to release the

    connection; it is confirmed by node B responding with aUA ( b d k l d )UA (unnumbered acknowledgment).

    11.79

  • Figure 11.29 Example of connection and disconnection

    11.80

  • Example 11.10

    Figure 11.30 shows an exchange using piggybacking.Node A begins the exchange of information with anNode A begins the exchange of information with anI-frame numbered 0 followed by another I-framenumbered 1. Node B piggybacks its acknowledgment ofnumbered 1. Node B piggybacks its acknowledgment ofboth frames onto an I-frame of its own. Node Bs firstI-frame is also numbered 0 [N(S) field] and contains a 2I frame is also numbered 0 [N(S) field] and contains a 2in its N(R) field, acknowledging the receipt of As frames1 and 0 and indicating that it expects frame 2 to arrive1 and 0 and indicating that it expects frame 2 to arrivenext. Node B transmits its second and third I-frames(numbered 1 and 2) before accepting further frames from(numbered 1 and 2) before accepting further frames fromnode A.

    11.81

  • Example 11.10 (continued)

    Its N(R) information, therefore, has not changed: Bframes 1 and 2 indicate that node B is still expecting Asframe 2 to arrive next. Node A has sent all its data.

    h f i i b k k l dTherefore, it cannot piggyback an acknowledgment ontoan I-frame and sends an S-frame instead. The RR codei di h A i ill d i h b 3 iindicates that A is still ready to receive. The number 3 inthe N(R) field tells B that frames 0, 1, and 2 have all been

    d d h A i i f b 3accepted and that A is now expecting frame number 3.

    11.82

  • Figure 11.30 Example of piggybacking without error

    11.83

  • Example 11.11

    Figure 11.31 shows an exchange in which a frame is lost.Node B sends three data frames (0, 1, and 2), but frame 1is lost. When node A receives frame 2, it discards it and

    d f f f h h lsends a REJ frame for frame 1. Note that the protocolbeing used is Go-Back-N with the special use of an REJf A f h A f d hiframe as a NAK frame. The NAK frame does two thingshere: It confirms the receipt of frame 0 and declares thatf 1 d f ll i f b N dframe 1 and any following frames must be resent. NodeB, after receiving the REJ frame, resends frames 1 and 2.N d A k l d h i b di RR fNode A acknowledges the receipt by sending an RR frame(ACK) with acknowledgment number 3.

    11.84

  • Figure 11.31 Example of piggybacking with error

    11.85

  • 1111--7 POINT7 POINT--TOTO--POINT PROTOCOLPOINT PROTOCOL1111 7 POINT7 POINT TOTO POINT PROTOCOLPOINT PROTOCOL

    AlthoughAlthough HDLCHDLC isis aa generalgeneral protocolprotocol thatthat cancan bebe usedusedAlthoughAlthough HDLCHDLC isis aa generalgeneral protocolprotocol thatthat cancan bebe usedusedforfor bothboth pointpoint--toto--pointpoint andand multipointmultipoint configurations,configurations,oneone ofof thethe mostmost commoncommon protocolsprotocols forfor pointpoint toto pointpointoneone ofof thethe mostmost commoncommon protocolsprotocols forfor pointpoint--toto--pointpointaccessaccess isis thethe PointPoint--toto--PointPoint ProtocolProtocol (PPP)(PPP).. PPPPPP isis aabytebyte orientedoriented protocolprotocolbytebyte--orientedoriented protocolprotocol..

    FramingTopics discussed in this section:Topics discussed in this section:

    Transition PhasesMultiplexingMultilink PPP

    11.86

    Multilink PPP

  • Figure 11.32 PPP frame format

    11.87

  • Note

    PPP is a byte-oriented protocol using b t t ffi ith th b tbyte stuffing with the escape byte

    01111101.

    11.88

  • Figure 11.33 Transition phases

    11.89

  • Figure 11.34 Multiplexing in PPP

    11.90

  • Figure 11.35 LCP packet encapsulated in a frame

    11.91

  • Table 11.2 LCP packets

    11.92

  • Table 11.3 Common options

    11.93

  • Figure 11.36 PAP packets encapsulated in a PPP frame

    11.94

  • Figure 11.37 CHAP packets encapsulated in a PPP frame

    11.95

  • Figure 11.38 IPCP packet encapsulated in PPP frame

    11.96

  • Table 11.4 Code value for IPCP packets

    11.97

  • Figure 11.39 IP datagram encapsulated in a PPP frame

    11.98

  • Figure 11.40 Multilink PPP

    11.99

  • Example 11.12

    Let us go through the phases followed by a network layerpacket as it is transmitted through a PPP connection.Figure 11.41 shows the steps. For simplicity, we assume

    idi i l f d f h i hunidirectional movement of data from the user site to thesystem site (such as sending an e-mail through an ISP).

    The first two frames show link establishment. We haveh i ( h i h fi ) i PAPchosen two options (not shown in the figure): using PAP

    for authentication and suppressing the address controlfi ld F 3 d 4 f h i i F 5fields. Frames 3 and 4 are for authentication. Frames 5and 6 establish the network layer connection using IPCP.

    11.100

  • Example 11.12 (continued)

    The next several frames show that some IP packets areencapsulated in the PPP frame. The system (receiver)may have been running several network layer protocols,b i k h h i i d b d li dbut it knows that the incoming data must be delivered tothe IP protocol because the NCP protocol used before thed f Cdata transfer was IPCP.

    Af d f h h i h d li kAfter data transfer, the user then terminates the data linkconnection, which is acknowledged by the system. Of

    h h ld h hcourse the user or the system could have chosen toterminate the network layer IPCP and keep the data linkl i if i d h NCP l

    11.101

    layer running if it wanted to run another NCP protocol.

  • Figure 11.41 An example

    11.102

  • Figure 11.41 An example (continued)

    11.103