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
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)
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
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
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
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:
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
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
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:
Utilization von Go‐Back‐N und Selective‐Reject
Allgemeine Beobachtung:
U
= Utilization eines Verfahrens ohne berücksichtigung Paket‐Verluste
U 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:
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:
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:
Utilization bei Go‐Back‐N ARQ
m für W ≥ 2a + 1:
Also, gemäß voriger Folie:
Utilization bei Go‐Back‐N ARQ
m für W < 2a + 1:
Also, gemäß voriger Folie:
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
Framing
Problemstellung
Upper Layers Upper Layers
Frame 1 Frame 2 Frame 3 Frame 4
Link‐Layer Link‐Layer
100010110111011011011101 100010110111011011011101…
Physical Layer Physical Layer
Asynchrone Übertragung
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
Character‐Count
Beispiel für Character‐Count‐Verfahren ohne Übertragungsfehler
Beispiel für Fehler bei Character‐Count‐Verfahren aufgrund von Übertragungsfehler
Flag‐Bytes und Byte‐Stuffing
Bildquelle: Andrew S. Tanenbaum, „Computer Networks“, Fourth Edition, 2003
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
Framing
B i i l fü h Üb t itt l E di Vi l ti
Beispiel für synchrone Übertragung mittels Enoding‐Violations
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
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