• Keine Ergebnisse gefunden

• Flow control – adjusting the rate of data

N/A
N/A
Protected

Academic year: 2022

Aktie "• Flow control – adjusting the rate of data"

Copied!
33
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Flusskontrolle

(2)

Data Link Layer

• Frame synchronization – how to make frames

• Flow control – adjusting the rate of data

• Error control – correction of errors

• Addressing – making the difference between the  stations

• Control and data on the same link – distinguishing  different type of information 

• Link management – initiation, maintenance and 

termination of data exchange

(3)

Data Link Layer

• Frame synchronization – how to make frames

Flow control – adjusting the rate of data

• Error control – correction of errors

• Addressing – making the difference between the  stations

• Control and data on the same link – distinguishing  different type of information 

• Link management – initiation, maintenance and 

termination of data exchange

(4)

Flow control

• Assuring that data rates are matching

(5)

Stop and Wait

• The simplest protocol

• Source sends a frame and waits from receiver to  acknowledge that it want another transmission

• Destination is in control of the flow of data

• Reasons:

• Buffer sizes

• Longer transmission higher probability of an error

• To allow access to shared medium

(6)

Stop‐and‐Wait

Bildquelle: William Stallings, „Data and Computer Communications“, 2004

Es sei tp der Propagation‐Delay und tf die  Transmission‐Time für einen Frame. Die  Gesamtzeit T für n Frames ist:

·

Die Utilization U (d.h. Zeit für Daten in 

Relation zur Zeit für Daten plus Overhead) ist:

Definiere a = tp / tf (d.h. normalisiere tfauf 1),  dann ist:

(7)

Stop‐and‐Wait

Bildquelle: William Stallings, „Data and Computer Communications“, 2004

Es sei tp der Propagation‐Delay und tf die  Transmission‐Time für einen Frame. Die  Gesamtzeit T für n Frames ist:

·

Die Utilization U (d.h. Zeit für Daten in 

Relation zur Zeit für Daten plus Overhead) ist:

·

·

Definiere a = tp / tf (d.h. normalisiere tfauf 1),  dann ist:

(8)

Stop‐and‐Wait

Bildquelle: William Stallings, „Data and Computer Communications“, 2004

Es sei tp der Propagation‐Delay und tf die  Transmission‐Time für einen Frame. Die  Gesamtzeit T für n Frames ist:

·

Die Utilization U (d.h. Zeit für Daten in 

Relation zur Zeit für Daten plus Overhead) ist:

·

·

Definiere a = tp / tf (d.h. normalisiere tfauf 1),  dann ist:

· ·

(9)

Utilization in Abhängigkeit von a

Utilization

a = Propagation‐Delay / Transmission‐Time

1 Mbps Satelliten‐Link und 1000  Bit Frame mit 100ms Propagation‐

Delay:

(10)

Utilization in Abhängigkeit von a

Utilization

a = Propagation‐Delay / Transmission‐Time

1 Mbps Satelliten‐Link und 1000  Bit Frame mit 100ms Propagation‐

Delay:

. .

.

(11)

Sliding‐Window‐Protokoll

Sender Frame 1 Frame 2 Frame 3 Frame 4 Frame 5 Frame 6

Empfänger

Window

Frame 1 Frame 2 Frame 3 Frame 4 Frame 5 Frame 6

(12)

Bildquelle: William Stallings, „Data and Computer Communications“, 2004

Sliding‐Window‐Protokoll: Details

(13)

Sliding‐Window‐Protokoll: Beispiel

Bildquelle: William Stallings, „Data and Computer Communications“, 2004

(14)

Utilization – Fall 1: W  2a + 1

Bildquelle: William Stallings, „Data and Computer Communications“, 2004

Fenstergröße = W, Frame‐Transmission‐Time = 1 und normalisierter Propagation‐Delay = a (a sei ganzzahlig). Was ist die Utilization U in diesem Fall?

·

·

(15)

Utilization – Fall 2: W < 2a + 1

Bildquelle: William Stallings, „Data and Computer Communications“, 2004

Was ist die Utilization Uin diesem Fall?

· ·

· · · , :

, ·

· ,

(16)

Utilization

Erinnerung: Satelliten‐

Link‐Beispiel: a = 100

Bildquelle: William Stallings, „Data and Computer Communications“, 2004

Utilization

a = Propagation‐Delay / Transmission‐Time

(17)

Zusammenhang zum Delay‐Bandbreiten‐Produkt

Es sei a = Propagation‐Delay / Transmission‐Time

t

p

= Propagation‐Delay [s]

t

f

= Transmission‐Time [s]

B = Bandbreite [bps]

L = Frame‐Länge [Bits]

(18)

Fehlerkontrolle

(19)

Error control

• Lost frame

• Damaged frame

• Automatic repeat request (ARQ)

• Stop‐and‐wait ARQ

• Go‐back‐N ARQ

• Selective‐reject ARQ

(20)

Automatic‐Repeat‐Request (ARQ)

Fehlerfälle

Fehlerdetektion

Positive‐Acknowledgment

Retransmission nach Timeout

Negative‐Acknowledgment und  Retransmission

Techniken

Bildquelle: William Stallings, „Data and Computer Communications“, 2004

(21)

Stop‐and‐Wait ARQ

Bildquelle: William Stallings, „Data and Computer Communications“, 2004

(A) Lost/Damaged Frame (B) Lost ACK

(22)

Utilization von Stop‐and‐Wait ARQ

Es sei p Paket‐Fehlerrate. Was ist die erwartete Anzahl N der Übertragungsversuche?

Probability for exactly k transmissions:  · 1

Then: 

∑ · ∑ · · 1

Es sei tp der Propagation‐Delay und tf die Transmission‐Time. Was ist die Utilization U?

· ·

·

·

Mit a = Propagation‐Delay/Transmission‐Time erhält man:

·

(23)

Utilization in Abhängigkeit von a

Utilization

a = Propagation‐Delay / Transmission‐Time

Erinnerung: Satelliten‐

Link‐Beispiel: a = 100 p=10‐1

p=10‐2

p=10‐3

(24)

Go‐Back‐N ARQ

Bildquelle: William Stallings, „Data and Computer Communications“, 2004

Fall: Frame(i) ist Damaged oder Lost:

B macht nichts

1. Fall: A sendet Frame(i+1)

B empfängt Out-of-Order Frame(i+1) B sendet REJ(i)

A muss Frame(i) und nachfolgende reübertragen

2. Fall: A sendet zunächst nicht Timer von A läuft ab

A sendet RR(„mit P-Bit=1“) B muss mit RR(i) antworten

A sendet bei Empfang von RR(i) (Alternative zu Fall 2: A sendet

Frame(i) nach Ablauf des Timers)

(25)

Go‐Back‐N ARQ

Bildquelle: William Stallings, „Data and Computer Communications“, 2004

Fall: Frame(i) ist Damaged oder Lost:

B macht nichts

1. Fall: A sendet Frame(i+1)

B empfängt Out-of-Order Frame(i+1) B sendet REJ(i)

A muss Frame(i) und nachfolgende reübertragen

2. Fall: A sendet zunächst nicht Timer von A läuft ab

A sendet RR(„mit P-Bit=1“) B muss mit RR(i) antworten

A sendet bei Empfang von RR(i) (Alternative zu Fall 2: A sendet

Frame(i) nach Ablauf des Timers)

Timeout

(26)

Go‐Back‐N ARQ

Fall: RR(i) ist Damaged oder Lost:

1. Fall: A empfängt ein späteres RR(j) (ACK sind kummulativ)

A weiß, dass Frame(i),...,Frame(j-1) korrekt angekommen sind

A macht weiter wie bisher 2. Fall: Timer von A läuft ab

A versucht wiederholt:

(mit einem P-Bit-Timer)

A sendet RR(„mit P-Bit=1“) B muss mit RR(i) antworten

Wenn nach einigen Versuchen keine Antwort, dann startet A eine Reset-Prozedur

Bildquelle: William Stallings, „Data and Computer Communications“, 2004

(27)

Go‐Back‐N ARQ

Fall: RR(i) ist Damaged oder Lost:

1. Fall: A empfängt ein späteres RR(j) (ACK sind kummulativ)

A weiß, dass Frame(i),...,Frame(j-1) korrekt angekommen sind

A macht weiter wie bisher 2. Fall: Timer von A läuft ab

A versucht wiederholt:

(mit einem P-Bit-Timer)

A sendet RR(„mit P-Bit=1“) B muss mit RR(i) antworten

Wenn nach einigen Versuchen keine Antwort, dann startet A eine Reset-Prozedur

Bildquelle: William Stallings, „Data and Computer Communications“, 2004

(28)

Go‐Back‐N ARQ

Bildquelle: William Stallings, „Data and Computer Communications“, 2004

Fall: REJ ist Damaged oder Lost:

Timer von A läuft ab

A sendet RR(„mit P-Bit=1“)

B muss mit RR(i) oder REJ antworten A sendet bei Empfang von RR(i)

Timeout

*

(29)

Maximal erlaubte Window‐Größe?

A

B

A

B

* * * * * * *

Piggybacked ACK in  Übertragung von B nach A

Damit ist für k Bit Sequenznummern die maximal erlaubte Window‐Größe smax: Sequenznummergröße sei 3 Bits; Annahme wir nutzen die volle Window‐Größe 8

(30)

Bildquelle: William Stallings, „Data and Computer Communications“, 2004

Reübertragung von Frames mit negative ACK

Reübertragung von Frames mit Timeout

Selective‐Reject ARQ

(31)

Verwendung der Window‐Größe 2 k ‐1?

A

B

*

Timeout

0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7       … Window von B

A

B

*

0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7       … Window von B

(32)

Verwendung der Window‐Größe 2 k ‐1?

A

B

*

Timeout

0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7       … Window von B

A

B

*

0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7       … Window von B

(33)

Maximal erlaubte Window‐Größe?

Lösung: mache Fenster kleiner, so dass keine Überlappungen vorhanden sind.

Also, damit ist für k Bit Sequenznummern die maximal erlaubte Window‐Größe smax: 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7       …

Empfänger‐Fenster

Problem: Sender‐Fenster und Empfänger‐Fenster  überlappen (d.h. haben gemeinsame Sequenznummern)

0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7       … Sender‐Fenster

Referenzen

ÄHNLICHE DOKUMENTE

Bildquelle: William Stallings, „Data and Computer Communications“, Seventh

Wenn nach einigen Versuchen keine Antwort, dann startet A eine Reset-Prozedur..

Bildquelle: William Stallings, „Data and

Bildquelle: William Stallings, „Data and Computer Communications“, 2004

Bildquelle: William Stallings, „Data and Computer Communications“, Seventh

Wenn nach einigen Versuchen keine Antwort, dann startet A eine Reset-Prozedur. Bildquelle: William Stallings, „Data and

Bildquelle: William Stallings, „Data and Computer Communications“, Seventh

Wenn nach einigen Versuchen keine Antwort, dann startet A eine Reset-Prozedur.