14
nk Nullen an Datenblock D anhängen: Bestimmen von FCS F: Zu versendender Frame T: CyclicRedundancyCheck (CRC) Grundlagen der Rechnernetze Übertragungssicherung 11 1010001101 nBitFrame T kBitDatenblock D (nk)BitFCS F 01110 110101 (nk+1)Pattern P T ist immer durch P teilbar: SS 2012

Cyclic Redundancy Check (CRC)unikorn/lehre/gdrn/ws16...Cyclic‐Redundancy‐Check (CRC) Grundlagen der Rechnernetze ‐Übertragungssicherung 11 1010001101 n‐Bit‐Frame T k‐Bit‐Datenblock

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

  • n‐k Nullen an Datenblock D anhängen:

    Bestimmen von FCS F:

    Zu versendender Frame T:

    Cyclic‐Redundancy‐Check (CRC)

    Grundlagen der Rechnernetze ‐ Übertragungssicherung 11

    1010001101n‐Bit‐Frame T

    k‐Bit‐Datenblock D (n‐k)‐Bit‐FCS F01110

    110101(n‐k+1)‐Pattern P

    T ist immer durch P teilbar:

    SS 2012

  • Auswirkung von Fehlern

    Grundlagen der Rechnernetze ‐ Übertragungssicherung 12

    Ein Fehler mit nicht teilbarem Fehler‐Pattern wird erkannt:

    1010001101 01110

    1000011101 01011

    T

    Tr

    E

    Sender

    Empfänger

    SS 2012

  • Darstellung von Datenblock und Pattern als Polynom:

    Datenblock um n‐k Stellen (also hier 4 Stellen) verschieben:

    Berechnung der FCS:

    Darstellung des zu versendenden Frames T

    CRC mit Polynomen

    Grundlagen der Rechnernetze ‐ Übertragungssicherung 13

    110011k‐Bit Datenblock D

    11001(n‐k+1)‐Pattern P

    SS 2012

  • Polynom‐Division Modulo 2

    Grundlagen der Rechnernetze ‐ Übertragungssicherung 14

    X6 + X4 + X2 + X1 + 1 : X3 + X2 + 1 =

    SS 2012

  • 00101

    Auswirkung von Fehlern

    Grundlagen der Rechnernetze ‐ Übertragungssicherung 15

    10100

    10001

    T

    Tr

    E

    Sender

    Empfänger

    Für Generator P(X) und T(X)/P(X) = Q(X) werden nicht teilbare Fehler‐Pattern erkannt:

    SS 2012

  • Erkennbare und nicht erkennbare Fehler

    Grundlagen der Rechnernetze ‐ Übertragungssicherung 16

    Ein Fehler ist nicht erkennbar genau dann wenn:

    Single‐Bitfehler ist immer erkennbar, wenn P(X) mindestens zwei Terme enthält

    Bitfehler‐Burst 

  • Weitere CRC‐Fakten

    Grundlagen der Rechnernetze ‐ Übertragungssicherung 17

    Double‐Bitfehler immer erkennbar, wenn P(X) einen Faktor mit drei Termen besitzt (ohne Beweis)

    Ungeradzahlige Bitfehler immer erkennbar, solange P(X) einen Faktor (X+1) enthält  (ohne Beweis)

    Beliebte PolynomeCRC‐12 =  X12 + X11 + X3 + X2 + 1CRC‐16 =  X16 + X15 + X2 + 1CRC‐CCITT =  X16 + X12 + X5 + 1CRC‐32 =  X32 + X26 + X23 + X22 + X16 + X12 + X11

    + X10 + X8 + X7 + X5 + X4 + X2 + X + 1

    SS 2012

  • Fehlerkorrektur

    Grundlagen der Rechnernetze ‐ Übertragungssicherung 18SS 2012

  • Ablauf der Fehlerkorrektur

    Grundlagen der Rechnernetze ‐ Übertragungssicherung 19Bildquelle: William Stallings, „Data and Computer Communications“, 2004

    SS 2012

  • Beispiel Two‐Dimensional‐Parity

    Grundlagen der Rechnernetze ‐ Übertragungssicherung 20

    0 1 0 11 1 1 00 1 1 01 0 0 1

    SS 2012

  • Erkenn‐ und Korrigierbarkeit von Fehlern

    Grundlagen der Rechnernetze ‐ Übertragungssicherung 21

    0 1 0 1 0

    1 1 1 0 1

    0 1 1 0 0

    1 0 0 1 0

    0 1 0 0 1

    0 1 0 1 0

    1 1 1 0 1

    0 1 1 0 0

    1 0 0 1 0

    0 1 0 0 1

    Ein‐Bit‐Fehler immer korrigierbar

    0 1 0 1 0

    1 1 1 0 1

    0 1 1 0 0

    1 0 0 1 0

    0 1 0 0 1

    Zwei‐Bit‐Fehler nicht immer korrigierbar

    0 1 0 1 0

    1 1 1 0 1

    0 1 1 0 0

    1 0 0 1 0

    0 1 0 0 1

    Zwei‐Bit‐Fehler immer erkennbar Nicht‐erkennbarer Fehler

    SS 2012

  • Hamming‐Distanz

    Grundlagen der Rechnernetze ‐ Übertragungssicherung 22

    Hamming‐Distanz d(v1, v2) zwischen zwei n‐Bit‐Sequenzen v1 und v2

    Beispiel: vier 4‐Bit‐Sequenzen mit einer paarweisen Hamming‐Distanz von mindestens 2

    Wieviele Bit‐Fehler können erkannt werden?

    SS 2012

  • Allgemein:

    Ablauf der Übertragungim Falle keiner Bitfehler

    Block‐Codes

    Grundlagen der Rechnernetze ‐ Übertragungssicherung 23

    Datenblock Codewort00 -> 0000001 -> 0011110 -> 1100111 -> 11110

    Erkennen von Bit‐Fehlern: Es sei Code = {b1,...,bk} und es werde b empfangen: 

    Sender

    Empfänger

    f : Datenblock  Codewort

    SS 2012

  • Korrigieren von Bit‐Fehlern: Es sei Code = {b1,...,bk} und es werde b empfangen: 

    Korrigieren von Bitfehlern

    Grundlagen der Rechnernetze ‐ Übertragungssicherung 24

    Empfangen        Nächstes gültiges CW           Daten

    Datenblock Codewort00 -> 0000001 -> 0011110 -> 1100111 -> 11110

    SS 2012