• Keine Ergebnisse gefunden

Go‐Back‐N ARQ

N/A
N/A
Protected

Academic year: 2022

Aktie "Go‐Back‐N ARQ"

Copied!
28
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

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“) 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)

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

(2)

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“)

Timeout

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)

(3)

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 ht i d h lt

A versucht wiederholt:

(mit einem P-Bit-Timer)

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

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

Reset Prozedur

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

(4)

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 ht i d h lt

A versucht wiederholt:

(mit einem P-Bit-Timer)

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

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

Reset Prozedur

(5)

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

*

*

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

(6)

Maximal erlaubte Window‐Größe?

A

Sequenznummergröße sei 3 Bits; Annahme wir nutzen die die volle Window‐Größe 8

B

A

* * * * * * *

B Piggybacked ACK in 

Übertragung von B nach A

Damit ist für k Bit Sequenznummern die maximal erlaubte Window‐Größe s : Damit ist für k Bit Sequenznummern die maximal erlaubte Window‐Größe smax:

(7)

Selective‐Reject ARQ

Reübertragung von Frames Reübertragung von Frames

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

Reübertragung von Frames mit negative ACK

Reübertragung von Frames mit Timeout

(8)

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

A

B

*

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

A

Timeout

*

B

0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7

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

(9)

Maximal erlaubte Window‐Größe?

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

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) 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:

(10)

Utilization von Go‐Back‐N und Selective‐Reject

Allgemeine Beobachtung: 

U

= Utilization eines Verfahrens ohne berücksichtigung Paket‐Verluste

 Utilization eines Verfahrens ohne berücksichtigung Paket Verluste

Ue

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

t

= Transmission‐Time für ein Paket

tf

= Transmission‐Time für ein Paket

to

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

A hl üb t P k t

n

= Anzahl übertragener Pakete

k

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

Es gilt:

(11)

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)

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

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

Utilization mit Berücksichtigung von Paket‐Verlusten:

(12)

Utilization bei Go‐Back‐N ARQ 

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

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

E i di P k f hl

(mit W = Fenstergröße, a = Propagation‐Delay / Transmission‐Delay) 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:

(13)

Utilization bei Go‐Back‐N ARQ 

m für W ≥ 2a + 1:

Also, gemäß voriger Folie:

(14)

Utilization bei Go‐Back‐N ARQ 

m für W < 2a + 1:

Also, gemäß voriger Folie:

(15)

Vergleich für p=10 ‐3

Erinnerung: Satelliten‐g Link‐Beispiel: a = 100

izationUtili

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

a = Propagation‐Delay / Transmission‐Time

(16)

Framing

(17)

Problemstellung

Upper Layers Upper Layers

Frame 1 Frame 2 Frame 3 Frame 4

Link‐Layer Link‐Layer

100010110111011011011101 100010110111011011011101…

Physical Layer Physical Layer

(18)

Asynchrone Übertragung

(19)

Framing

S h Üb t itt l Ch t C t B t d Bit St ffi

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

(20)

Character‐Count

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

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

(21)

Flag‐Bytes und Byte‐Stuffing

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

(22)

Start‐ und End‐Flags mit Bit‐Stuffing

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

01111110 | H d | P l d | T il | 01111110 01111110  |  Header  |  Payload  |  Trailer  |  01111110

(23)

Framing

B i i l fü h Üb t itt l E di Vi l ti

Beispiel für synchrone Übertragung mittels Enoding‐Violations

(24)

Erinnerung: NRZ und das Clocking‐Problem

Sender

00111010101000000000000000000000000000000000000000000 Daten

Signal Sender

Empfänger

Zeit

Sampling p g

Clock Drift Zeit Clock Synchronization Clock‐Drift Clock‐Synchronization

(25)

4B/5B

Data 5‐Bit‐Code 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 1100 11010 1101 11011 1110 11100

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

1111 11101

(26)

Zusammenfassung und Literatur

(27)

Zusammenfassung

• Behandlung von Fehlern bei der Bitübertragung 

– Fehlerdetektion versus Fehlererkennung Fehlerdetektion versus Fehlererkennung

– Erkennbarkeit, Detektierbarkeit von Fehlern

H i Di t

– Hamming‐Distanz

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

• Behandlung von Synchronisationsfehlern Behandlung von Synchronisationsfehlern

– Flusskontrolle

– Framing

(28)

Literatur

[S lli 2004] Willi S lli D d C C i i “

[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 [Tanenbaum2003] Andrew S. Tanenbaum, „Computer Networks , Fourth

Edition, 2003.

3.1.2 Framing

3 2 1 Error‐Correcting Codes 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 Networks: A Systems Approach , Edition 4, Morgan Kaufmann, 2007.

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

h k l h

2.4.2 Internet Checksum Algorithm

Referenzen

ÄHNLICHE DOKUMENTE

Grundlagen der Rechnernetze - Medienzugriffskontrolle 44

3.) Somit ergibt sich mit voriger Beobachtung für a = Transmission‐Time/Propagation‐Delay  und U e = Utilization

Mit voriger Beobachtung erhält man für a = Propagation‐Delay/Transmission‐Time und U e =  Utilization

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

huxleyi, Coccolithus braarudii, and Calcidiscus leptoporus to grow on environmentally common organic nitrogen and phosphorus sources (glycine, L-alanine, L-proline, L-serine,

In light of the concentration of piscivorous predators in this particular zone (at least 600 cormorants breed on Chausey), the fidelity to a restricted foraging zone

We show that if prices are set in advance based on a distribution of demand uncertainty, then higher demand uncertainty is associated with a lower average

integrifolia holdfast cut in small pieces, conserv ing some stipes and fronds; b holdfast fragments; c recruits from Bahia Chasco; d young sporophytes from culture, inoculated