Fehlererkennung und -behandlung. Paritätsverfahren

Ähnliche Dokumente
Themen. Sicherungsschicht. Rahmenbildung. Häufig bereitgestellte Dienste. Fehlererkennung. Stefan Szalowski Rechnernetze Sicherungsschicht

Zyklische Codes Rechnernetze Übung SS2010

Fehlererkennung. Fehlererkennung

Fehlererkennende und fehlerkorrigierende Codes

Übungen zur Vorlesung Grundlagen der Rechnernetze. Zusätzliche Übungen

Empfänger. Sender. Fehlererkennung und ggf. Fehlerkorrektur durch redundante Informationen. Längssicherung durch Paritätsbildung (Blockweise)

Error detection and correction

Zyklische Codes & CRC

Frank Weinhold Professur VSR Fakultät für Informatik TU Chemnitz Mai 2012

Algorithmen zur Division

Frank Weinhold Professur VSR Fakultät für Informatik TU Chemnitz Mai 2011

Grundlagen der Technischen Informatik. Codierung und Fehlerkorrektur. Kapitel 4.2. Codewörter. Codewörter. Strukturierte Codes

Codes (6) Fehlererkennende (EDC) bzw. fehlerkorrigierende Codes (ECC)

Übungen zu Architektur Eingebetteter Systeme. Teil 1: Grundlagen. Blatt : Grundlagen des Cyclic redundancy code (CRC)

Grundlagen der Technischen Informatik. Codierung und Fehlerkorrektur. Kapitel 4.2

Serielle Schnittstellen

Grundlagen der Technischen Informatik. Hamming-Codes. Kapitel 4.3

Technische Informatik - Eine Einführung

Bitübertragungsschicht

13. Algorithmus der Woche Fehlererkennende Codes Was ist eigentlich ISBN?

Rechnernetze Übung 5. Frank Weinhold Professur VSR Fakultät für Informatik TU Chemnitz Mai Wo sind wir?

Angewandte Informationstechnik

Rechnernetze 1 Vorlesung im SS 07

Algorithmen zur Division

31 Polynomringe Motivation Definition: Polynomringe

Theorie der Programmiersprachen

Codierungstheorie Teil 1: Fehlererkennung und -behebung

Vernetzte Systeme. Übungsstunde Adrian Schüpbach 30. Juni 2006

EIB-Telegrammaufbau. in der Praxis anderer Signalverlauf durch Leitungskapazität (max.200nf)

Übung zu Drahtlose Kommunikation. 1. Übung

ISDN D-Kanalprotokoll

Dienste der Sicherungsschicht

Allgemeine Beschreibung (1)

Das ISO / OSI -7 Schichten Modell

KNX TP1 Telegramm. KNX Association

Cyclic Redundancy Code (CRC)

CODIERUNGSTHEORIE KURS ZELL AN DER PRAM, FEBRUAR 2005

Prof. Dr. Stefan Weinzierl Audiosymbole mit einer Länge von 8 bit werden mit einem Paritätsbit zur Fehlererkennung kodiert.

CRC Einführung. Version: Datum: Autor: Werner Dichler

Trellis Diagramme und Viterbi-Decoder

Übungsblatt 8. Aufgabe 1 Datentransferrate und Latenz

Systeme II 7. Die Datensicherungsschicht

Netzwerktechnologien 3 VO

Übungsblatt Warum brauchen Bridges und Layer-2-Switches keine physischen oder logischen

Standart Schnittstelle Kontrollsystem <==> Kassensystem SCU-Interface (KRD und PR800T (c) by Suter Elektronik)

Grundlagen der Technischen Informatik. 2. Übung

Kommunikationstechnik II Wintersemester 08/09

Die Weiterentwicklung von AMTOR über PACTOR-1, -2 und -3 ist nun bei PACTOR-4 angekommen HB9AUR * SWISS-ARTG GV 2011 *

OSI-Schichtenmodell. Martin Fechtner

Komponenten der Sprach und Datenübertragung

Kommunikation und Datenhaltung

Fachhochschule Würzburg-Schweinfurt. Wintersemester 2007/2008. Diplomprüfung im Fach. Datennetze I. (Prof. Dr.-Ing. Ludwig Eckert)

Grundbegrie der Codierungstheorie

Angewandte Informationstechnik

7.2 Asynchrone serielle Schnittstellen

Kommunikation zwischen Mikrocontrollern

Teil 4: Datenkommunikation

Kapitel 3 Kanalcodierung

Betriebssysteme und Netze

Synchronisierung. Kommunikationstechnik, SS 08, Prof. Dr. Stefan Brunthaler 73

serielle Kopplung dieser Scan-Register zum

Schicht 1 legt fest, wie Daten zwischen 2 benachbarten Rechnern physikalisch. simplex-, halbduplex- oder vollduplex-verbindung

Inhalt. Zahlendarstellungen

Information und Codierung

Einführung in die Codierungstheorie

(Prüfungs-)Aufgaben zur Codierungstheorie

3 Codierung Code-Sicherung Stellendistanz und Hamming-Distanz Codierung

Beschreibung RS232-Protokoll für POWER-TRAP Fotovoltaik-Wechselrichter (ab Protokollversion ENS1 = 5 und ENS2 = 6)

Grundlagen Digitaler Systeme (GDS)

Rechnernetze Übung 11. Frank Weinhold Professur VSR Fakultät für Informatik TU Chemnitz Juni 2012

Kap. 4. Sicherungs-Schicht ( Data Link Schicht)

Musterlösung 1. Mikroprozessortechnik und Eingebettete Systeme 1 WS2015/2016

Einführung in die Informatik I

Grundlegende Steuer- und Verwaltungsfunktionen (ICMP)

Die Mathematik in der CD

Informatikgrundlagen I Grundlagen der Informatik I

TCP Teil 2. TCP Teil 2: Tilmann Kuhn Betreuer: Dr. Thomas Fuhrmann 1/18

INE1 Bit-Operationen. Bit-Operationen Übungen Bits setzen, löschen, abfragen Beispiel: Bitmap

Programmierhandbuch. Feldbus Gateway GW 1 für Version 0.40 bis 0.49

Übung zu Drahtlose Kommunikation. 7. Übung

Spezifikation RTR09 USB-Transceiver Easywave

Kommunikationstechnik II Wintersemester 07/08

WS2500 V24-Kommunikation

4.0.2 Beispiel (Einfacher Wiederholungscode). Im einfachsten Fall wird die Nachricht einfach wiederholt. D.h. man verwendet die Generatorabbildung

Kommunikation in Sensornetzen

9 Codes. Hochschule für Angewandte Wissenschaften Hamburg FACHBEREICH ELEKTROTECHNIK UND INFORMATIK DIGITALTECHNIK 9-1

Einführung in die Kodierungstheorie

Inhalt: 1. Layer 1 (Physikalische Schicht) 2. Layer 2 (Sicherungsschicht) 3. Layer 3 (Vermittlungsschicht) 4. Layer 4 (Transportschicht) 5.

Abschlussklausur. Computernetze. Bewertung: 16. Mai Name: Vorname: Matrikelnummer:

(eindimensionaler) Paritätscode: Codes (8a)

Übungsklausur WS 13/14

Thema: RNuA - Aufgaben

Der Backoff-Algorithmus

Rechnernetze Übung 11

Hauptdiplomklausur Informatik Juni 2008: Computer Networks

Einfu hrende Betrachtung des USB und Mo glichkeiten der Integration in das Rainbow-Betriebssystem. Georg Gottleuber 23. Juni 2010 Verteilte Systeme

Die allerwichtigsten Raid Systeme

Rechnerarithmetik. Vorlesung im Sommersemester Eberhard Zehendner. FSU Jena. Thema: Division

Verschlüsselungs- und Codierungstheorie PD Dr. Thomas Timmermann Westfälische Wilhelms-Universität Münster Sommersemester 2017

11. Die PC-Schnittstelle

Transkript:

Fehlererkennung und -behandlung Gründe Thermische Elektronenbewegung in Halbleitern oder Leitungen Elektromagnetische Einstrahlung (Motoren, Blitze, benachbarte Leitungen) Bitfehlerrate ist die Wahrscheinlichkeit, daß ein einzelnes Bit innerhalb eines bestimmten Zeitraumes gestört ist Fehlerarten Einzelfehler Fehlerbündel (burst error) eine bestimmte Anzahl aufeinanderfolgender Bits ist gestört in der Praxis häufig vorkommende Fehlerart Typische Bitfehlerraten Telefonleitungen : 10-5 Digit. Ferndatennetze: 10-6...10-7 Lokale Koaxialkabel-Netze: 10-9 Lichtwellenleiter: 10-12 Fehlerbehandlungsmethoden Fehlererkennende Verfahren und Korrektur durch Neuübertragung (backward oder feedback error control) Parity Verfahren Prüfsumme Cyclic Redundancy Check (CRC) Gleichzeitig fehlererkennende und -korrigierende Verfahren ohne Neuübertragung (forward error control) Hinzufügen von Redundanz zur Nutzinformation in Form von fehlerkorrigierenden Codes (z.b. Hamming Code, nicht behandelt) Redundanz = redundante Bits Nutzdatenbits Gesamtzahl übertragener Bits Nutzdatenbits = Nutzdatenbits Paritätsverfahren Gerade (even) / ungerade (odd) Parität Hinzufügen eines Paritätsbits zu jedem Zeichen derart, daß die Gesamtzahl der Einsen gerade / ungerade ist Realisierung (E)XOR wird auch als Modulo-2 Addierer bezeichnet (Überlauf entfällt) Die Nutzdateninformation wurde um zusätzliche Redundanz erweitert Keine Fehlerkorrektur möglich Erkennt nur Einzelbitfehler und eine ungerade Anzahl von Bitfehlern, damit für burst errors weniger geeignet Redundanz = 1/(n-1) für n insgesamt übertragene Bit pro Zeichen

Prüfsumme Anwendung des Paritätsverfahrens auf ganze Blöcke von Daten Modulo-n Addition von k-bit breiten Bitgruppen, k=log 2 (n) addiere z.b. hundert 8-Bit Zeichenwerte modulo-256 der Überlauf dieser k-bit breiten Addition bleibt unberücksichtigt das Ergebnis der Addition ergibt die k-bit Prüfsumme (block check character), die mitübertragen wird das Parity-Verfahren ist davon eine Untermenge mit n=2 und k= 1 erkennt auch 2 Bit Fehler, wenn sie nicht in dem gleichen durch eine Prüfsumme gesicherten Block liegen durch Prüfsummenbildung über nichtsequentielle Bitgruppen Burstfehler besser erkennbar Zeilen- und spaltenbezogene Prüfsumme Generierung der Prüfsumme in zwei Schritten: 1) Spaltenparität (über alle Zeichen eines Blocks wird spaltenweise die Parität ermittelt) 2) Zeilenparität (= Parity wie o.a.) über alle Bits eines Zeichens und die Spaltenparitätsbits Das resultierende neue Zeichen ist die Prüfsumme erkennt alle ungeraden Bitfehler und alle geraden mit ungerader Anzahl in mindestens einer Zeile oder Spalte 2-Bit-Fehler immer, 4 Bit-Fehler manchmal erkennbar Redundanz (im Beispiel) = 16/56 = 28,5%, recht hoch Cyclic Redundancy Check (CRC) Basiert auf polynomialen Codes (hier nicht im Detail betrachtet) gegeben sei M = k-bit Daten (message) R = n-bit Divisionsrest mit k > n G = (n+1)-bit Divisor bzw. Generatorpolynom Q = Quotient dann gilt bei Rechnung in modulo-2 Arithmetik n M Q R n 2 M 2 + R = + (Glg. 1) = Q (Glg. 2) G G G M n 2 + R Beweis von (2) durch Einsetzen von (1) in (2): Q R R = + + G G G In modulo-2 ergibt Addition gleicher Zahlen immer Null R/G+R/G=0 q.e.d. Vorgehensweise Füge an die Nutzdaten M soviele Nullen an wie CRC-Stellen berechnet werden, also n (vgl. Term 2 n in Glg. 1) Dividiere die Nutzdaten (inl. angefügter Nullen) in modulo-2 durch ein gegebenes Generatorpolynom G Der n-bit Divisionsrest R wird als CRC-Prüfsumme am Ende der k-bit Nutzdaten mitübertragen (vgl. rechte Seite von Glg. 1) Im Empfänger wird die Bitsequenz in modulo-2 durch das gleiche Generatorpolynom G dividiert (Quotientenbit = 1, wenn MSBs beider Operanden = 1, sonst = 0) Bei fehlerfreier Übertragung (im Rahmen der erkennbaren Fehler) ist der Divisionsrest gleich Null (vgl. Glg. 2), sonst ungleich Null Bemerkung Die modulo-2 Division läßt sich besonders einfach durch bitweise EXOR- Verknüpfung von Dividend und Divisor realisieren

Beispiel für CRC-Berechnung und -Verifikation Generierung des CRC-Codes in Hardware M = 11100110 k = 8 G = 11001 n = 4 (!) CRC- Berechnung im Sender (FCS = frame check sequence = CRC) CRC- Verifikation im Empfänger links: fehlerfreie Übertragung rechts: Fehlerfall Das verwendete Generatorpolynom bestimmt die Art der Rückkopplung im FCS (CRC) -Schieberegister, hier: G(X) = X 3 +1, Funktion: FCS Schieberegister löschen, Nutzbits parallel in PISO Beginnend mit MSB werden Nutzbits mit FCS-SR-Ausgang XORverknüpft und ins FCS-SR zurückgekoppelt gemäß G(x) Nutzbits erscheinen seriell an TxD-Ausgang hier N=1, d.h. nach 8 Bits wird PISO gelöscht und FCS Registerinhalt (= CRC) auf Ausgang gegeben

Verifikation des CRC-Codes in Hardware Diskussion des CRC-Verfahrens Generatorpolynome werden üblicherweise so dargestellt, daß Bitpositionen = 1 Potenzen von x entsprechen Gebräuchliche G(x): CRC-16 = X 16 + X 15 + X 2 +1 = 1 1000 0000 0000 0101 CRC-32 = X 32 + X 26 + X 23 + X 16 + X 12 + X 11 + X 10 + X 8 + X 7 + X 5 + X 4 + X 2 + X + 1 Fehlererkennung eine Herleitung erfordert eine umfangreiche Analyse CRC-16 erkennt in einem max. 4095 Bytes langen Datenblock alle ungeradzahlig auftretende Bitfehler alle 2-Bit Fehler alle Fehlerbursts kleiner als 16 Bit sehr effizient

Bisher diskutierte (Übertragungs-)Verfahren im Überblick Grundlagen von Leitungsprotokollen Aufgabe eines Leitungsprotokolls ist es, Datenblöcke zuverlässig, unverfälscht und schnell von einer DEE (Datenendeinrichtung, data terminal equipment, DTE) zur anderen zu transportieren Ein einfaches, aber gebräuchliches Verfahren: Echo-Überwachung (echo checking) Der Empfänger sendet die empfangene Information an den Sender zurück Der Sender überprüft die Fehlerfreiheit, sendet ggf. neu Einsatz z.b. bei an entfernte Rechner angeschlossenen Terminals Das eingegebene Zeichen wird an Computer gesendet und von diesem reflektiert Falsch übertragene Zeichen durch Ausgabe spezieller Steuerzeichen (i.a. DEL) löschbar Vorteil Geringer Aufwand Nachteile der Echo-Überwachung Hälfte der Kanalkapazität für das Echo beansprucht Sender/Empfänger erfordern auch Empfangs-/Sendemöglichkeiten Fehlerfreies Senden, aber Fehler im Echo möglich unnötiges erneutes Senden langsam, da immer das Echo abgewartet weden muß Alternative: Empfänger sendet nur kurze Mitteilung an Sender, ob Information fehlerfrei ist oder erneut gesendet werden muß ARQ Protokolle

Automatische Wiederholungsanforderung (ARQ) ARQ = automatic repeat request Empfänger quittiert Übertragung entweder positiv (ACK) oder auch negativ (negative acknowledge, NAK) Erst dann überträgt Sender den neuen Block oder wiederholt den vorherigen Sende-und-Warte ARQ-Protokoll (idle IRQ) weitere Voraussetzung: Sende-und-Warte ARQ-Protokoll Blocknumerierung war z.b. der gesendete Block einwandfrei empfangen worden und nur die Quitttung gestört, würde ein erneutes Senden des gleichen Blocks als neuer Block interpretiert daher ist eine Numerierung des Blocks nötig hier genügt eine abwechselnde Markierung mit einer Null und einer Eins Voraussetzungen für einwandfreie Funktion Zeitsteuerung im Sender Wenn der Sender eine vorbestimmte Zeit keine Bestätigung bekommen hat (weil der Datenblock beim Senden oder das ACK beim Quittieren verloren ging), muß er denselben Block erneut senden optional: Verkürzte Wartezeiten durch NAK-Signal erreichbar das Ende der Wartezeit bei Fehler nicht abwarten, sondern sofort mit NAK quittieren

Sende-und-Warte ARQ mit Anfrage Alternierende Quittungsbestätigung wenn Sender keine Antwort bekommt, kann er eine Anfrage (ENQ = enquiry) an den Empfänger richten dieser antwortet mit der Wiederholung des letzten gesendeten Zeichens vorheriges Beispiel zeigt das Problem, ein ACK einem bestimmtem Block zuzuordnen Zur eindeutigen Zuordnung dienen alternierende Bestätigungen, z.b. durch 0-ACK für 0-Blöcke und 1-ACK für 1-Blöcke hier: Block N geht verloren das ACK wird aber als Quittung für Block N aufgefaßt (anstatt als Quittung für Block N-1) hier: ACK für Block N geht verloren ACK wird als Quittung für Block N aufgefaßt es ist für den Sender nicht zu erkennen, ob nur die Quittung oder auch die Daten gestört sind damit eindeutig bestimmbar, in welchem Zustand sich das Protokoll befindet offensichtlich kann ein Protokoll u.a. in Form einer Zustandsmaschine beschrieben werden