• Keine Ergebnisse gefunden

Go‐Back‐N ARQ

N/A
N/A
Protected

Academic year: 2022

Aktie "Go‐Back‐N ARQ"

Copied!
30
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

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:

(2)

Utilization in Abhängigkeit von a

Utilization

Erinnerung: Satelliten‐

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

p=10‐2

p=10‐3

(3)

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)

(4)

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)

Timeout

(5)

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

(6)

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

(7)

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

*

(8)

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

(9)

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

Reübertragung von Frames mit negative ACK

Reübertragung von Frames mit Timeout

Selective‐Reject ARQ

(10)

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

(11)

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

(12)

Utilization von Go‐Back‐N und Selective‐Reject

Allgemeine Beobachtung: 

U = Utilization eines Verfahrens ohne Berücksichtigung von Paketverlusten Ue

= Utilization eines Verfahrens mit Berücksichtigung von Paketverlusten

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 Paketwiederholungen pro Paket bis zum Erfolgsfall 

Es gilt:

(13)

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:

(14)

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 = Transmission‐Time/Propagation‐Delay  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)

(15)

Utilization bei Go‐Back‐N ARQ 

m für W ≥ 2a + 1:

Also, gemäß voriger Folie:

(16)

Utilization bei Go‐Back‐N ARQ 

m für W < 2a + 1:

Also, gemäß voriger Folie:

(17)

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

Utilization

a = Propagation‐Delay / Transmission‐Time

Vergleich für p=10 ‐3

Erinnerung: Satelliten‐

Link‐Beispiel: a = 100

(18)

Framing

(19)

Problemstellung

100010110111011011011101…

Frame 1 Frame 2 Frame 3 Frame 4

Link‐Layer Link‐Layer

Physical Layer Physical Layer

Upper Layers Upper Layers

(20)

Asynchrone Übertragung

(21)

Framing

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

(22)

Character‐Count

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

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

(23)

Flag‐Bytes und Byte‐Stuffing

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

(24)

Start‐ und End‐Flags mit Bit‐Stuffing

Frames beginnen und enden mit speziellem Bit‐Pattern: z.B.  01111110

01111110  |  Header  |  Payload  |  Trailer  |  01111110

(25)

Framing

Beispiel für synchrone Übertragung mittels Enoding‐Violations

(26)

Erinnerung: NRZ und das Clocking‐Problem

00111010101000000000000000000000000000000000000000000 Daten

Signal Sender

Sampling Empfänger

Zeit

Clock‐Drift Zeit Clock‐Synchronization

(27)

4B/5B

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

...

Data 5‐Bit‐Code 0000 11110 0001 01001 0010 10100 0011 10101 0100 01010 0101 01011 0110 01110 0111 01111 1000 10010 1001 10011 1010 10110 1011 10111 1100 11010 1101 11011 1110 11100 1111 11101

(28)

Zusammenfassung und Literatur

(29)

Zusammenfassung

• Behandlung von Fehlern bei der Bitübertragung 

– Fehlerdetektion versus Vorwärtsfehlerkorrektur – Hamming‐Distanz

– Block‐Codes

– Tradeoff zwischen Code‐Länge und Redundanz – Fehlerkontrolle

• Behandlung von Synchronisationsfehlern

– Flusskontrolle

– Framing

(30)

Literatur

[Stallings2004] William Stallings, „Data and Computer Communications“,  Seventh Edition, 2004.

6.1 Asynchronous and Synchronous Transmission 6.3 Error Detection

6.4 Error Correction 7.1 Flow Control 7.2 Error Control

7.A Performance Issues

[Tanenbaum2003] Andrew S. Tanenbaum, „Computer Networks“, Fourth Edition, 2003.

3.1.2 Framing

3.2.1 Error‐Correcting Codes 3.2.2 Error‐Detecting Codes

[PetersonDavie2007] Larry L. Peterson and Bruce S. Davie, „Computer  Networks: A Systems Approach“, Edition 4, Morgan Kaufmann, 2007.

2.2 Encoding (NRZ, NRZI, Manchester, 4B/5B) 2.4.1 Two‐Dimensional Parity

2.4.2 Internet Checksum Algorithm

Referenzen

ÄHNLICHE DOKUMENTE

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

Bildquelle: William Stallings, „Data and

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

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

Grundlagen der Rechnernetze ‐ Medienzugriffskontrolle 98 Bildquelle: William Stallings, „Data and Computer Communications“, Ninth

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

Bildquelle: William Stallings, „Data and

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