Datorn tverk a lektion 8
This presentation is the property of its rightful owner.
Sponsored Links
1 / 43

Datornätverk A – lektion 8 PowerPoint PPT Presentation


  • 45 Views
  • Uploaded on
  • Presentation posted in: General

Datornätverk A – lektion 8. Kapitel 11: Flow control and Error control. (Kapitel 12: Point-to-point access PPP. Översiktligt.). 11.1 Flow and Error Control. Flow Control (Flödesstyrning). Error Control (Felhantering).

Download Presentation

Datornätverk A – lektion 8

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Datorn tverk a lektion 8

Datornätverk A – lektion 8

Kapitel 11: Flow control and Error control. (Kapitel 12: Point-to-point access PPP. Översiktligt.)


Datorn tverk a lektion 8

11.1 Flow and Error Control

Flow Control (Flödesstyrning)

Error Control (Felhantering)

  • Båda dessa funktioner hanteras av vissa datalänkprotokoll (lager 2), i LLC-sublagret, t.ex. vid trådlös kommunikation eller vid modem.

  • End-to-end flödesstyrning och felkontroll hanteras av transportprotokollet TCP (lager 4).


Flow control

Flow control

Necessary when data is being sent faster than it can be processed by receiver to avoid that the receiver’s buffer is overwhelmed.


Felhantering med hj lp av felr ttande koder

Felhantering med hjälp av felrättande koder

FEC = Forward Error Correction.

Baseras på felrättande istället för felupptäckande koder.

Kräver ingen backkanal.

Två typer:

  • Faltningskoder (convolutional codes).

    Ex:Vid Faltningskod med kodtakt (code rate) 1/3 infogas två redundanta bitar mellan varje bit i nyttomeddelandet. Dessa felrättande bitar beräknas kontinuerligt för varje inkommande bit i nyttomeddelandet.

  • Blockkoder (block codes)

    Ex: I digital-TV-systemet används en s.k. Read Salomon-kod med beteckningen RS(204, 188, 8). Det innebär att nyttoinformationen delas upp i 188 byte stora block. För varje block beräknas en felrättande kod, som läggs till blocket så att blocket blir 204 byte. Redundanden är alltså 204 – 188 = 16 byte. Koden klarar 8 felaktiga byte.


Felhantering med hj lp av feluppt ckande koder

Felhantering med hjälp av felupptäckande koder

Alternativ 1: Bortkastning av felaktiga paket.

Alternativ 2: ARQ = Automatic Repeat reQuest

= automatisk omsändning av paket vid bitfel, eller om paketet inte når fram.

I fortsättning kommer vi med begreppet ”error control”

eller ”felkontroll” att avse ARQ.


Protocols to be presented

Protocols to be presented

  • Stop-and-wait ARQ

  • Sliding Window Flow Control

  • Go-back-N ARQ

  • Selective Repeat ARQ

Sliding WindowProtocols


The stop and wait protocol

The Stop-and-Wait Protocol

The simplest protocol for error and flow control

How the protocol operates:

  • Source may not send a new frame until the receiver acknowledges previous one.

  • The receiver sends only positive acknowledgements (ACK) to notify the sender that the frame was received.

  • If the frame 0 was received, the ACK 1 is sent. In that way the sender is notified that the receiver is expecting frame 1.

  • The ID of the frame is called a sequence number.

  • 1 bit sequence numbers is sufficient. Sequence: 0 1 0 1 0 ... .


Datorn tverk a lektion 8

11.1Normal operation

ACK n = Acknowledgement. Expecting frame number n


Datorn tverk a lektion 8

11.2Stop-and-Wait ARQ, lost frame


Lost or damaged frame

Lost or Damaged Frame

  • The sender starts a timer when it sends each frame

  • If the ACK is not received before the timer expires, the sender resends the same frame again


Datorn tverk a lektion 8

11.3Stop-and-Wait ARQ, lost ACK frame


Lost or damaged ack

Lost or damaged ACK

  • Lost ACK causes duplicate frames

  • A duplicate frame is recognized by the sequence number and is discarded

  • The receiver sends the same ACK again


Datorn tverk a lektion 8

11.4Stop-and-Wait ARQ, delayed ACK


Datorn tverk a lektion 8

Note:

Numbered acknowledgments are needed if an acknowledgment is delayed and the next frame is lost.


Piggybacking

Piggybacking

  • Usually the communication is in both ways – this means that the sender is a receiver and the receiver is the sender, too. (both send and receive data)

  • To save on the processing and bandwidth the short ACKs messages are not sent as separate frames. Instead, they may be included in the frames with data.

  • This technique is called piggybacking


Datorn tverk a lektion 8

11.5Piggybacking


Efficiency of stop and wait

Efficiency of Stop-and-Wait

  • Very inefficient, having in mind that most of the time the sender is idle

  • Example: 40 km copper cable, 10 Mbps rate, 1000 bit frame,

    • Signal in copper propagates at 2 x 108 m/sec

    • Transmission time is 1000/10000000 (Takes 0.1 msec to transmit frame)

    • Propagation time is 40000/ 2 x 108 (0.2 msec delay to begin arriving at the receiver)

    • Total time is 0.3 msec. to get to the receiver

    • ACK transmission time is approximately 0 (assuming the ACK is very short (length  0)

    • 0.2 msec is the time for the ACK to arrive at the sender

  • Total time is 0.5 msec before the sender can transmit again

  • 0.5 ms for 0.1 msec frame or efficiency is 20%


Sliding window flow control

Sliding-Window flow control

  • Several frames can be sent without acknowledgement being received

  • N is the window size – the maximum number of frames that can be sent and not being acknowledged.

  • The receiver must be able to buffer N frames.

  • Sequence numbers are used to identify each frame. They are carried in the header.

  • The number of different sequence numbers must be at least N+1.

  • If the field for sequence numbers allows m bits, the number of different sequence number is 2m and the sequence numbers range from 0 to 2m-1. In that case the maximum window size is N = 2m-1.


Datorn tverk a lektion 8

11.6Sender sliding window

The sender window is the the set of frames that may be transmitted before an ACK. It slides when the senderhas received an ACK and sent next frame.


Datorn tverk a lektion 8

11.7Receiver sliding window

The receiver window is the the set of frames that may be accepted before the buffer is full. While the buffer is full, the receiver sends no ACK. The window of a stuffed receiver slides when the receiver has ”consumed” a frame and thus sent an ACK.


Stop and wait vs sliding window

Stop-and-Wait vs. Sliding Window

Window size N=3.

Sender

Sender

Receiver

Receiver

Transmission + propagation time for the packet

Frame 0

Frame 0

propa-gation time

Transmission time for the packet

Frame 1

ACK 0

Frame 2

.

.

.

ACK 1

Frame consump-tiondelay

Time

Frame 1

ACK 2

Transmission + propagation time for the ACK

ACK 1

Time

ACK 3

Frame 0

Frame consumptiondelay

ACK 0

.

.

.

.

.

.

Sequence numbers are 1 bit long (0 or 1)

Sequence numbers from 0 to 2m-1. m-bit field for the seq. num.


Sender and receiver prospective

Sender and Receiver Prospective

The window size is 7


Sliding window flow control1

0

1

2

3

4

5

6

7

0

1

2

3

4

5

6

7

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

3

3

3

3

3

3

3

3

3

3

3

3

3

3

3

4

4

4

4

4

4

4

4

4

4

4

4

4

4

4

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

6

6

6

6

6

6

6

6

6

6

6

6

6

6

6

7

7

7

7

7

7

7

7

7

7

7

7

7

7

7

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

3

3

3

3

3

3

3

3

3

3

3

3

3

3

3

4

4

4

4

4

4

4

4

4

4

4

4

4

4

4

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

6

6

6

6

6

6

6

6

6

6

6

6

6

6

6

7

7

7

7

7

7

7

7

7

7

7

7

7

7

7

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

F0

F1

ACK1

F2

0

1

2

3

4

5

6

7

0

1

2

3

4

5

6

7

0

ACK3

ACK2

F3

F4

ACK5

ACK4

F5

ACK6

Sliding Window Flow Control

N=6


Arq with sliding window

ARQ with Sliding Window

Problems arise when some of the frames are discarded (errors or lost frames). Two strategies are developed to deal with this problem:

  • Go-back-N strategy

    • The reciever simply discards all frames after the damaged frame without sending acknowledgement.

  • Selective repeat strategy

    • The receiver keeps all the frames after the damaged frame. It sends negative acknowledgement (NACK) for the damaged frame. When the sender finaly notice that something is wrong it retransmits the bad frame.

      The two strategies are trade-offs between bandwidth and data-link buffer space.


Go back n strategy

Go-Back-N Strategy

  • If a frame is lost, the lost frame and all the frames sent after it are sent again.

  • Sending window of size N, receiving window of size 1.

  • The sender has to buffer N frames

  • Bandwidth is wasted.


Datorn tverk a lektion 8

11.9Go-Back-N ARQ, normal operation


Datorn tverk a lektion 8

11.10Go-Back-N ARQ, lost frame


Datorn tverk a lektion 8

11.11Go-Back-N ARQ: sender window size


Selective repeat strategy

Selective Repeat Strategy

  • Only retransmit the frames that are in error

  • Both sending and receiving window are of size N


Datorn tverk a lektion 8

11.13Selective Repeat ARQ, lost frame


Datorn tverk a lektion 8

11.14Selective Repeat ARQ, sender window size


Bandwidth delay product

Bandwidth – Delay Product

  • The product of the bit rate (bandwidth expressed as bits per seconds) and the propagation time gives the number of bits that can be on the channel and thus can give orientation about the window size

  • When propagation time is high (for example in satellite channels), the window size need to be larger


Datorn tverk a lektion 8

Example 1

In a Stop-and-Wait ARQ system, the bandwidth of the line is 1 Mbps, and 1 bit takes 20 ms to make a round trip. What is the bandwidth-delay product? If the system data frames are 1000 bits in length, what is the utilization percentage of the link?

Solution

The bandwidth-delay product is

1  106 20  10-3 = 20,000 bits

The system can send 20,000 bits during the time it takes for the data to go from the sender to the receiver and then back again. However, the system sends only 1000 bits. We can say that the link utilization is only 1000/20,000, or 5%. For this reason, for a link with high bandwidth or long delay, use of Stop-and-Wait ARQ wastes the capacity of the link.


Datorn tverk a lektion 8

Example 2

What is the utilization percentage of the link in Example 1 if the link uses Go-Back-N ARQ with a 15-frame sequence?

Solution

The bandwidth-delay product is still 20,000. The system can send up to 15 frames or 15,000 bits during a round trip. This means the utilization is 15,000/20,000, or 75 percent. Of course, if there are damaged frames, the utilization percentage is much less because frames have to be resent.


High level data link control protocol

High-level Data Link Control Protocol

  • HDLC is one of the first protocols that implements mechanisms of ARQ

  • Supports half-duplex and full-duplex mode on point-to-point links

  • Uses three types of frames: information (I-frames), supervisory (S-frames) and unnumbered (U-frames)

  • Only I frames carry information, S frames carry transport control information and U frames are used for managing the link


Hdlc frame structure

Flag

Address

Control

Information

FCS

Flag

HDLC Frame Structure

  • Flag: 01111110, at start and end

  • Physical Address: secondary station (for multidrop configurations)

  • Information: the data to be transmitted

  • Frame check sequence (FCS): 16- or 32-bit CRC

  • Control: purpose or function of frame

    • Information frames: contain user data

    • Supervisory frames: flow/error control (ACK/ARQ)

    • Unnumbered frames: variety of control functions (see p.220)


Datorn tverk a lektion 8

11.18HDLC frame types


The need for bit stuffing

The Need for Bit Stuffing

  • The flags show the receiver the start and the end of frame

  • There is a problem if the flag appears in the middle of the frame as a part of data

  • The receiver will ”think” it is the end of frame

  • A technique called “bit stuffing” is used to resolve this problem


Bit stuffing

Bit Stuffing

  • The sender stuffs redundant 0s

    • Every time it encounters five 1s in a row, it inserts a redundant 0

    • The redundant 0 tells the receiver that the sequence is not a flag

    • The receiver removes all redundant 0s to restore the original frame

    • Example: Bit stuff the following data:

      0001111111110111100011111011

      000111110111101111000111110011

Redundant 0s


Datorn tverk a lektion 8

11.24Bit stuffing and removal


Datorn tverk a lektion 8

11.25Bit stuffing in HDLC


Ppp point to point protocol

PPP (Point-to-Point Protocol)

  • Based upon HDLC

  • Used for point-to-point access

  • Common protocol used for connecting home users to the Internet (via dial-up, DSL or cable modem or leased line)

  • Defines the negotiation for establishment of the link

  • Defines the protocol carried on the network layer

  • Includes authentication and a field about the type of network protocol carried within the frame


Ppp frame format

PPP Frame Format

Number of bytes in a field

variable

1

1

1

1

1 or 2

2 or 4

Flag

01111110

Flag

01111110

Address

11111111

Control

00000011

Payload

Protocol

CRC

  • Physical Address field with all 1s indicate broadcasting, i.e. that all stations accept the frame

  • Since the Address and Control fields are constant, the two parties can negotiate to omit them, thus saving 2 bytes

  • Protocol field defines what is carried in the payload field (user data or other information)

  • CRC bits are error control bits


  • Login