• Keine Ergebnisse gefunden

Automatic‐Repeat‐Request (ARQ)

N/A
N/A
Protected

Academic year: 2022

Aktie "Automatic‐Repeat‐Request (ARQ)"

Copied!
25
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Fehlerkontrolle

(2)

Automatic‐Repeat‐Request (ARQ)

Fehlerdetektion

Positive‐Acknowledgment

Retransmission nach Timeout

Negative‐Acknowledgment und 

Retransmission

(3)

Stop‐and‐Wait ARQ

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

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

(4)

Utilization von Stop‐and‐Wait ARQ

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

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:

(5)

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

(6)

Go‐Back‐N ARQ

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)

(7)

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

(8)

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

(9)

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

(10)

Go‐Back‐N ARQ

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

*

(11)

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 die volle Window‐Größe 8

(12)

Selective‐Reject ARQ

(13)

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

(14)

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

(15)

Utilization von Go‐Back‐N und Selective‐Reject

Allgemeine Beobachtung: 

U = Utilization eines Verfahrens ohne berücksichtigung Paket‐Verluste

Ue

= Utilization eines Verfahrens mit Berücksichtigung von Paket‐Verlusten

tf

= Transmission‐Time für ein Paket

to

= gesamt benötigte Zeit für eine Paketübertragung (d.h. inklusive Delays)

n

= Anzahl übertragener Pakete

k

= Erwartete Anzahl an Paket‐Wiederholungen pro Paket bis zum Erfolgsfall 

Es gilt:

(16)

Utilization bei Selective‐Reject ARQ 

Wir hatten für Sliding‐Window ohne Fehler die Utilization U schon hergeleitet:

(mit W = Fenstergröße, a = Propagation‐Delay / Transmission‐Delay)

Mit voriger Beobachtung erhält man für a = Propagation‐Delay/Transmission‐Time und Ue =  Utilization mit Berücksichtigung von Paket‐Verlusten:

Wir hatten für Paket‐Fehlerrate p die erwartete Anzahl k der Übertragungsversuche schon  hergeleitet:

(17)

Utilization bei Go‐Back‐N ARQ 

Es sei m die Anzahl zu übertragender Frames, wenn ein Frame reübertragen werden muss.

Es sei p die Paketfehlerrate.

1.) Gesamtanzahl Reübertragungen f(i), wenn ein Frame iVersuche brauchte:

2.) Erwartete Gesamtanzahl k an Reübertragungen für ein Frame:

3.) Somit ergibt sich mit voriger Beobachtung für a = Propagation‐Delay/Transmission‐Time  und Ue = Utilization mit Berücksichtigung von Paket‐Verlusten:

Wir hatten für Sliding‐Window ohne Fehler die Utilization U schon hergeleitet:

(mit W = Fenstergröße, a = Propagation‐Delay / Transmission‐Delay)

(18)

Utilization bei Go‐Back‐N ARQ 

m für W ¸ 2a + 1:

Also, gemäß voriger Folie:

(19)

Utilization bei Go‐Back‐N ARQ 

m für W < 2a + 1:

Also, gemäß voriger Folie:

(20)

Utilization

Vergleich für p=10 ‐3

Erinnerung: Satelliten‐

Link‐Beispiel: a = 100

(21)

Framing

(22)

Problemstellung

100010110111011011011101…

Frame 1 Frame 2 Frame 3 Frame 4

Link‐Layer Link‐Layer

Physical Layer Physical Layer

Upper Layers Upper Layers

(23)

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

Asynchrone Übertragung

(24)

Framing

Synchrone Übertragung mittels Character‐Count, Byte‐ und Bit‐Stuffing

(25)

Character‐Count

Bildquelle: Andrew S. Tanenbaum, „Computer Networks“, Fourth Edition, 2003

Beispiel für Character‐Count‐Verfahren ohne Übertragungsfehler

Beispiel für Fehler bei Character‐Count‐Verfahren aufgrund von Übertragungsfehler

Referenzen

ÄHNLICHE DOKUMENTE

[r]

The principal scientific objectives for a sustained repeat ship-based hydrography program have two closely linked components: (1) understanding and documenting the large-scale

→ Der entstehende Code kann Sprünge aus dem Rumpf einer Funktion in eine andere enthalten ???.. Exkurs 4: Interprozedurale Analyse. Bisher können wir nur jede Funktion

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

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

“Reassessing China-North Korea relations”, China Analysis: The end of non-interference?, European Council on Foreign Relations and Asia Centre, October 2013.... March

Romania also has granted citizenship to its ethnic minority in Ukraine based on the principle of historical retribution, disregarding the fact that double citizenship

In the context of this deal, Russia would consent to new negotiations on further reductions of strategic nuclear weapons in exchange for the USA consent- ing to limit its