Hamming‐Code
1 2 3 4 5 6 7 8 9 10 11
Daten‐Bits Check‐Bits
3 = 0 0 1 1 5 = 0 1 0 1 6 = 0 1 1 0 7 = 0 1 1 1 9 = 1 0 0 1 10 = 1 0 1 0 11 = 1 0 1 1
Beispiel‐Daten‐Bits:
1 0 0 1 0 0 0
Erkennen eines Ein‐Bit‐Fehlers
0 0 1 1 0 0 1
1 2 3 4 5 6 7 8 9 10 11
0 0 0 0
0 0 1 1 0 1 1 0 0 0 0
Original Code‐Wort Ein‐Bit‐Fehler
3 = 0 0 1 1 5 = 0 1 0 1 6 = 0 1 1 0 7 = 0 1 1 1 9 = 1 0 0 1 10 = 1 0 1 0 11 = 1 0 1 1
Check Ergebnis
Daten‐Bits
Check‐Bits
Hamming‐Code erreicht die Schranke
Wie eben für k Daten‐Bits und n‐Bit Code‐Wörter ausgerechnet:
Benötigtes Verhältnis zwischen k und r=n‐k zum Korrigieren von allen 1‐Bit‐
Fehlern:
r+k+1 ≤ 2 r
Beispiel für unten abgebildeten Hamming‐Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Daten‐Bits
Check‐Bits
Was wenn Daten nur bis 11?
Umgang mit Bit‐Fehler‐Bursts
Bildquelle: Andrew S. Tanenbaum, „Computer Networks“, Fourth Edition, 2003
Also:
Fakten zu allgemeinen Block‐Codes
Code‐Distanz von d
min¸ 2t+1 kann bis zu wie viele c‐Bit‐Fehler korrigieren?
Und wie viele d‐Bit‐Fehler erkennen?
Also: Code‐Distanz von d
minerlaubt Korrektur von bis zu wie vielen Fehlern?
Und Erkennen von wie vielen Fehlern?
Coding‐Gain
Bildquelle: William Stallings, „Data and Computer Communications“, 2004
coding gain
Flusskontrolle
Stop‐and‐Wait
Bildquelle: William Stallings, „Data and Computer Communications“, 2004
Es sei t
pder Propagation‐Delay und t
fdie 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 = t
p/ t
f(d.h. normalisiere t
fauf 1),
dann ist:
Utilization in Abhängigkeit von a
Utiliz at io n
a = Propagation‐Delay / Transmission‐Time
1 Mbps Satelliten‐Link und 1000 Bit Frame mit 100ms Propagation‐
Delay:
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 …
Bildquelle: William Stallings, „Data and Computer Communications“, 2004
Sliding‐Window‐Protokoll: Details
Sliding‐Window‐Protokoll: Beispiel
Bildquelle: William Stallings, „Data and Computer Communications“, 2004
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?
Utilization – Fall 2: W < 2a + 1
Bildquelle: William Stallings, „Data and Computer Communications“, 2004
Was ist die Utilization U in diesem Fall?
Utilitzation
Erinnerung: Satelliten‐
Link‐Beispiel: a = 100
Bildquelle: William Stallings, „Data and Computer Communications“, 2004
Utiliz at io n
a = Propagation‐Delay / Transmission‐Time
Utiliz at io n
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]
Fehlerkontrolle
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