Fehler in Rechnernetzen — die Sicherungsschicht

Slides:



Advertisements
Ähnliche Präsentationen
Kapitel 15 Verteilte Datenbanken
Advertisements

Powerpoint-Präsentation
Motivation Bisher: Codes mit möglichst kurzer Codelänge.
Codierung Haydn: Streichquartett op 54.3 aus Largo, Violine I
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Übersicht RAID-Verfahren Labor für Betriebsdatenverarbeitung
Faxtechnologie in VoIP-Netzen.
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
2 Kommunikationssysteme bieten Kommunikationsdienste an, die das Senden und Empfangen von Nachrichten erlauben (sending & receiving messages) bestehen.
Lehrstuhl für Kommunikationssysteme - Systeme II1 Systeme II – 15te Vorlesung Lehrstuhl für Kommunikationssysteme Institut für Informatik / Technische.
Scratch Der Einstieg in das Programmieren. Scatch: Entwicklungsumgebung Prof. Dr. Haftendorn, Leuphana Universität Lüneburg,
Fehlererkennende Codes
WS Algorithmentheorie 02 - Polynomprodukt und Fast Fourier Transformation Prof. Dr. Th. Ottmann.
Prof. Dr. S. Albers Prof. Dr. Th. Ottmann
© 2006 W. Oberschelp, G. Vossen Rechneraufbau & Rechnerstrukturen, Folie 2.1.
Aufgaben der Sicherungsschicht
1. Einführung Lernziele: Auffrischen des Wissens aus Rechnernetze
Einführung in die Technik des Internets
Heute: Scherenzange zeichnen
1. 2 Schreibprojekt Zeitung 3 Überblick 1. Vorstellung ComputerLernWerkstatt 2. Schreibprojekt: Zeitung 2.1 Konzeption des Kurses 2.2 Projektverlauf.
Bild 1.1 Copyright © Alfred Mertins | Signaltheorie, 2. Auflage Vieweg+Teubner PLUS Zusatzmaterialien Vieweg+Teubner Verlag | Wiesbaden.
20:00.
© Gabriele Sowada © Gabriele Sowada 2 Manuell Beispiel 1 demonstriert die Vorgehensweise bei der manuellen Programm- Eingabe am.
Christian Schindelhauer Sommersemester Vorlesung
Virtueller Rundgang Casa Mariposa in Playa del Coco.
SK / , , in Hochkössen und der Wildschönau flow Ski- und Snowboardschule Intersport Menzel.
Rechnerkommunikation I
Referent: Kiron Mirdha Betreuer: Rene Hilden Juli 2012
1 Fachtagung am Seniorenorientiertes Design und Marketing ThyssenKrupp Immobilien Design for all - Anpassungen im Wohnungsbestand 1.Demographie.
Das OSI Schichtenmodell
Gaben – Fähigkeiten entdecken und anwenden

Julia Grabsch Florian Hillnhütter Fabian Riebschläger
Fehler in Rechnernetzen
Referat von Markus Hertel
Analyse von Ablaufdiagrammen
PROCAM Score Alter (Jahre)
NIN-Arbeitsblätter Paul-Emile Müller
Symmetrische Blockchiffren DES – der Data Encryption Standard
TCP – transmission control protocol Wenn eine Applikation (z. B
PARTENARIAT ÉDUCATIF GRUNDTVIG PARTENARIAT ÉDUCATIF GRUNDTVIG REPERES KULTURELLER ZUSAMMENHALT UND AUSDEHNUNG DER IDEEN AUF EUROPÄISCHEM.
MINDREADER Ein magisch - interaktives Erlebnis mit ENZO PAOLO

1 (C)2006, Hermann Knoll, HTW Chur, FHO Quadratische Reste Definitionen: Quadratischer Rest Quadratwurzel Anwendungen.
Meldungen über Ethernet mit FINS/UDP
Schutzvermerk nach DIN 34 beachten 20/05/14 Seite 1 Grundlagen XSoft Lösung :Logische Grundschaltung IEC-Grundlagen und logische Verknüpfungen.
Funktionsweise der 4. Schicht im OSI-Modell am Beispiel TCP und UDP.
Problem: Datenübertragung Messwerte an B schickenDaten annehmen AB 0,0,1,0,1,0,1,1,1,0.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Systeme II Christian Schindelhauer Sommersemester 2006.
Vortrag von Rechtsanwältin Verena Nedden, Fachanwältin für Steuerrecht zur Veranstaltung Wege zum bedingungslosen Grundeinkommen der Piratenpartei Rhein-Hessen.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Systeme II - Probeklausur - Arne Vater Sommersemester.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Peer-to-Peer- Netzwerke Christian Schindelhauer Sommersemester.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Systeme II Christian Schindelhauer Sommersemester 2006.
Christian Schindelhauer Sommersemester Vorlesung
Systeme II Christian Schindelhauer Sommersemester 2007
Systeme II Christian Schindelhauer Sommersemester 2007
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Systeme II Christian Schindelhauer Sommersemester 2006.
Ertragsteuern, 5. Auflage Christiana Djanani, Gernot Brähler, Christian Lösel, Andreas Krenzin © UVK Verlagsgesellschaft mbH, Konstanz und München 2012.
2. Kommunikation und Synchronisation von Prozessen 2
Es war einmal ein Haus
Intrusion Detection Systems Funktionsweise, Probleme und Lösungsversuche.
Anforderungen an Automotive Bussysteme
1 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt Wie.
1 Medienpädagogischer Forschungsverbund Südwest KIM-Studie 2014 Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
Monatsbericht Ausgleichsenergiemarkt Gas – Oktober
Visualisierung verteilter Systeme
Diskrete Mathematik Angelika Steger Institut für Theoretische Informatik TexPoint fonts used in EMF. Read the TexPoint manual before.
2 Kommunikationssysteme
Firewall.
TCP/IP Transmission Control Protocol/Internet Protocol
 Präsentation transkript:

Fehler in Rechnernetzen — die Sicherungsschicht IFB Speyer Daniel Jonietz 2007

Worum gehts? Es können verschiedene Fehler auftreten: Pakete werden bei Übertragung geändert Pakete gehen komplett verloren Pakete werden in einer zeitlich anderen Reihenfolge übertragen Pakete werden dupliziert Pakete werden zu schnell empfangen ... dj

Also: Aufgaben der Sicherungsschicht: Daten in der richtigen Reihenfolge ausliefern Daten fehlerfrei ausliefern dabei den Empfänger nicht überfordern (Organisation des Datenflusses) Dazu legt die Sicherungsschicht die Pakete in einen Rahmen (frame), bestehend aus Header, Payload (=Paket) und Trailer. dj

Dienste Man unterscheidet drei verschiedene Dienste: verbindungsloser, unbestätigter Dienst Rahmen unabhängig, Empfang nicht bestätigt verbindungsloser, bestätigter Dienst Rahmen unabhängig, Empfang bestätigt verbindungsorientierter, bestätigter Dienst Rahmen sind nummeriert, in richtiger Reihenfolge, jeder Rahmen bestätigt. Verbindungsauf- und abbau nötig! dj

Rahmenbildung Feste Rahmenlänge Flagbytes / Flagbits festgelegt oder durch Längenangabe im Header Längenangabe fehlerhaft? Flagbytes / Flagbits Flags in Daten? Stuffing Kodierungsverletzungen benötigt doppelte Bandbreite dj

Paketänderungen Was möchte man? Mindestens: Feststellen, dass ein Fehler vorliegt Paritätsbits, Prüfsummen, CRC Schön wäre aber auch: Fehler reparieren  Hamming-Code, vgl. Skript WBL dj

Bitfehler

Motivation dj

Welche Bitfehler gibt es? Einzelbitfehler Ein Bit ist „gekippt“, d.h. falsch Doppelbitfehler Zwei aufeinanderfolgende Bits sind gekippt Fehlerbündel N aufeinanderfolgende Bits sind falsch dj

Wie stellt man Paketänderungen fest? Grundsätzlicher Lösungsansatz: Einführen von Redundanz Paritätsbit Prüfsummen Redundanzcodes Hammingcodes Rahmenformat muss geändert werden neue Vereinbarung (Protokoll) nötig dj

Allgemeiner Ansatz Sender Empfänger wendet Algorithmus auf zu sendende Daten an, dieser liefert die Prüfbits versendet Nutzdaten und Prüfbits Empfänger trennt Daten und Prüfbits voneinander wendet gleichen Algorithmus auf die Nutzdaten an vergleicht gesendete Prüfbits mit den selbst ermittelten dj

Paritätsbits Idee: Ein zusätzliches Bit gibt an, wie viele Bits 1 sind Varianten: Gerade Parität (Anzahl 1 gerade  Parität 0) das PB wird so gesetzt, dass Anzahl 1er gerade Ungerade Parität (Anzahl 1 ungerade  Parität 0) Erfolg: Es werden nur „ungeradzahlige Bitkipper“ detektiert dj

Prüfsummen Verschiedene Varianten Z.B. einfache „Summe“ modulo 100: Zwei Prüfstellen, der Einfachheit halber betrachten wir Dezimale 06 23 04 33 (06+23+04=33) Was taugt dieses Verfahren? 08 20 05 33 (08+20+08=33) !!! dj

Zyklische Redundanzcodes (CRC) dj

CRC - Details Bitfolgen werden als Polynome aufgefasst Berechnungen erfolgen ohne Berücksichtigung möglicher Überträge Sender und Empfänger einigen sich auf ein Generator-Polynom Prüfbits = Rest der Division Daten / GP Gibt normierte Polynome, z.B. CRC-4 dj

CRC - Leistungsfähigkeit Beispiel CRC-CCITT G=x16+x12+x5+1 Entdeckt alle Einzelbitfehler, alle Doppelbitfehler, alle Bitfehler mit ungerader Bitanzahl, alle Fehlerbündel bis zu 16 Bit Länge Entdeckt 99,997% aller 17-Bit-Fehlerbündel Entdeckt 99,998% aller Fehlerbündel mit 18 oder mehr Bits dj

Woher kommt das CRC-Polynom? „Choosing a poly is somewhat of a black art“ (Ross N. Williams: “A painless guide to crc error detection algorithms”) Viel Mathematik dj

Polynom-Beispiele CRC-16 Ethernet (16,15,2,0) (32,26,23,22,16,12,11,10,8,7,5,4,2,1,0) dj

Quittungsbetrieb

Erster Ansatz Rahmen korrekt angekommen? Sende positive Quittung (ACK) Rahmen angekommen, Fehler erkannt? Sende negative Quittung (NAK) Sender sendet Rahmen erneut Rahmen nicht angekommen wann weiß man das? man führt Timer ein dj

Wie kommt es zu Verlust? Pakete werden verworfen Rechner ist nicht erreichbar / ausgeschaltet / Leitung physikalisch unterbrochen ... dj

Ansatz mit Timern Sender schickt Rahmen und startet Timer Empfänger prüft und schickt ACK oder NAK kommt ACK wird Timer bei Sender gelöscht kommt NAK wird Timer bei Sender gelöscht und Sendeprozess beginnt erneut (inkl. neuem Timer) läuft Timer ab, ohne dass ACK oder NAK ankamen: entweder der Rahmen erneut geschickt, aber Probleme wenn Originalrahmen doch ankam oder ankommt: Duplikat erzeugt! oder eine Problemmeldung an den Empfänger gesendet. dj

Quittierung des Duplikats? Ja! Positiv, sonst: wird erneut gesendet! dj

Send and Wait Wird so für jeden Rahmen verfahren, nennt man das Send and Wait-Protokoll (auch Stop and Wait) Einen Rahmen senden, auf Quittung warten und entsprechend reagieren. Nachteil: Wenn Rahmen verloren geht, muss der Timer abgewartet werden, bevor weitere Daten gesendet werden können! dj

Wenn Duplikat auftritt ACK ist verloren gegangen, Rahmen erneut gesendet: Empfänger kann das nicht erkennen. Folgerung: Rahmen durchnummerieren. Duplikate haben die gleiche Nummer und können erkannt werden. Frage: Wie viel „Platz“ reservieren wir für die Nummern? Anzahl der Rahmen ist kaum abzuschätzen! dj

Einfache Sequenznummer Kann keine Verwechslung von Paket m und m+2 geben, sonder nur zwischen m und m+1 Reicht also Pakete abwechselnd 0 und 1 anzuhängen. dj

Huckepack-Quittungen Der Versand eines kompletten Rahmens nur für eine Quittung ist Verschwendung Besser: Warte, bis selbst Daten zu versenden sind und versende die Quittung mit den Daten mit. Nachteil: Wie lange soll gewartet werden, bis Daten vorliegen? dj

Schiebefenster-Protokolle Sender und Empfänger verwalten, wie viele Rahmen sie versenden bzw. empfangen in „Fenstern“ Fenstergröße=1 entspricht Send and Wait wie besprochen Fenstergröße>1 führt i.A. zu besserer Auslastung. dj

gehe-n-zurück Sender sendet kontinuierlich Daten Empfänger quittiert (einzeln) Angenommen Rahmen 2 geht verloren: ACK für Rahmen 2 fehlt Sender sendet trotzdem weiter bis Timeout für Rahmen 2, merkt dann, das etwas nicht stimmt und sendet alle Rahmen ab 2 erneut. dj

selektive Wiederholung Sender sendet kontinuierlich Daten Empfänger quittiert (einzeln) Angenommen Rahmen 2 geht verloren: Empfänger merkt das bei Eintreffen des Rahmens 3 und sendet NACK für Rahmen 3. Sender sendet Rahmen 2 erneut, fährt danach vor wie gehabt. Sender und Empfänger müssen Puffer führen! dj

Paketverlust: Ursachen Problem: Pakete können verloren gehen Grenzfall: „lange“ Übertragungsdauer Ursachen: Empfänger verwirft Paket, weil er einen Fehler feststellt Empfänger ist nicht in der Lage Paket zu empfangen Netzwerk verliert das Paket, verwirft das Paket oder leitet es falsch weiter dj

Folgerung aus Quittungsbetrieb Sender Muss auch empfangen können Empfänger Muss auch senden können dj

Datenfluss Simplex Halbduplex (Voll-)Duplex A kann nur senden, B nur empfangen Halbduplex A und B können senden und empfangen, aber nie gleichzeitig (Voll-)Duplex A und B können senden und empfangen, sogar gleichzeitig dj

Geänderte Paket-Reihenfolge Idee: Sequenznummern Sender nummeriert die versendeten Pakete durch Empfänger ist dann anhand der Nummern in der Lage, die Reihenfolge wieder herzustellen dj

Weitere Probleme … Die Quittung geht (wiederholt) verloren Lösung: Z.B. wenn Empfänger grundsätzlich nicht senden kann Sender würde endlos lange versuchen, das Paket zu übertragen Lösung: Hat der Sender N-mal versucht ein bestimmtes Paket zu senden gibt er auf. Anderer Ansatz: Mittels 3-Wege-Handshake die Quittung bestätigen dj

Flußkontrolle

Wozu? Der Sender darf nur so schnell senden, wie der Empfänger die Daten verarbeiten kann. Wird absichtlich zu schnell gesendet, spricht man von flooding (fluten) dj

Varianten der Flußkontrolle Feedback-based Flow Control Leaky-Bucket-Algorithmus dj

Feedback-based Flow Control Der Empfänger sendet nach jedem empfangenen Paket eine Bestätigung an den Sender, dass er wieder empfangsbereit ist Entspricht etwa unserem vorgestellten Quittungsbetrieb dj

Leaky-Bucket dj

TCP dj

Literatur http://www.barghorn-online.de/ ss2007/datenkomm/chap2/2-data-link_lay.html http://de.wikipedia.org/ wiki/Transmission_Control_Protocol dj