Kommunikation und Datenhaltung



Ähnliche Dokumente
Kommunikation und Datenhaltung

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

Primzahlen und RSA-Verschlüsselung

7 Rechnen mit Polynomen

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

OECD Programme for International Student Assessment PISA Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

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

Zeichen bei Zahlen entschlüsseln

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse Lösung 10 Punkte

15 Transportschicht (Schicht 4)

Grundlagen der Theoretischen Informatik, SoSe 2008

Einführung in die Algebra

Manchester Codierung sowie Differenzielle Manchester Codierung

GEVITAS Farben-Reaktionstest

Rechnernetzwerke. Rechnernetze sind Verbünde von einzelnen Computern, die Daten auf elektronischem Weg miteinander austauschen können.

Informationsblatt Induktionsbeweis

1 Mathematische Grundlagen

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

DELFI. Benutzeranleitung Dateiversand für unsere Kunden. Grontmij GmbH. Postfach Bremen. Friedrich-Mißler-Straße Bremen

Installation OMNIKEY 3121 USB

Multimedia und Datenkommunikation

Lineare Gleichungssysteme

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss

Die reellen Lösungen der kubischen Gleichung

STRATO Mail Einrichtung Mozilla Thunderbird

1 topologisches Sortieren

Enigmail Konfiguration

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Simulation LIF5000. Abbildung 1

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

Speicher in der Cloud

Algorithmische Kryptographie

Einführung in. Logische Schaltungen

WLAN Konfiguration. Michael Bukreus Seite 1

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein: - Ein Bootimage ab Version Optional einen DHCP Server.

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen

SMS/ MMS Multimedia Center

Musterlösungen zur Linearen Algebra II Blatt 5

!(0) + o 1("). Es ist damit möglich, dass mehrere Familien geschlossener Orbits gleichzeitig abzweigen.

Tipp III: Leiten Sie eine immer direkt anwendbare Formel her zur Berechnung der sogenannten "bedingten Wahrscheinlichkeit".

Behörde für Bildung und Sport Abitur 2008 Lehrermaterialien zum Leistungskurs Mathematik

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Version smarter mobile(zu finden unter Einstellungen, Siehe Bild) : Gerät/Typ(z.B. Panasonic Toughbook, Ipad Air, Handy Samsung S1):

Anleitung über den Umgang mit Schildern

Zahlenwinkel: Forscherkarte 1. alleine. Zahlenwinkel: Forschertipp 1

A1.7: Entropie natürlicher Texte

Bruchrechnung Wir teilen gerecht auf

A Lösungen zu Einführungsaufgaben zu QueueTraffic

Approximation durch Taylorpolynome

GEZIELT MEHR SICHERHEIT MIT 4I ACCESS SERVER & 4I CONNECT CLIENT

W-Rechnung und Statistik für Ingenieure Übung 11

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

C.M.I. Control and Monitoring Interface. Zusatzanleitung: Datentransfer mit CAN over Ethernet (COE) Version 1.08

Produkte Info Touchscreen-Panel

Nutzung von GiS BasePac 8 im Netzwerk

Skript und Aufgabensammlung Terme und Gleichungen Mathefritz Verlag Jörg Christmann Nur zum Privaten Gebrauch! Alle Rechte vorbehalten!

Grundlagen verteilter Systeme

5 DATEN Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: )

Dokumentation zur Versendung der Statistik Daten

Dokumentation IBIS Monitor

LU-Zerlegung. Zusätze zum Gelben Rechenbuch. Peter Furlan. Verlag Martina Furlan. Inhaltsverzeichnis. 1 Definitionen.

Tutorial about how to use USBView.exe and Connection Optimization for VNWA.

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten

Vorlesung SS 2001: Sicherheit in offenen Netzen

Kurzanleitung. MEYTON Aufbau einer Internetverbindung. 1 Von 11

Beweisbar sichere Verschlüsselung

Lineare Funktionen. 1 Proportionale Funktionen Definition Eigenschaften Steigungsdreieck 3

AutoCAD Dienstprogramm zur Lizenzübertragung

Betragsgleichungen und die Methode der Fallunterscheidungen

Übung - Konfigurieren einer Windows 7-Firewall

Qualität und Verlässlichkeit Das verstehen die Deutschen unter Geschäftsmoral!

2.3 Applikationen. Protokolle: TCP/IP. Telnet, FTP, Rlogin. Carsten Köhn

Externe Abfrage von für Benutzer der HSA über Mozilla-Thunderbird

BANKETTprofi Telefonschnittstelle

MODBUS/TCP und Beckhoff Steuerelemente

DAS HALLENBUCHUNGSPROGRAMM EBUSY

Mind Mapping am PC. für Präsentationen, Vorträge, Selbstmanagement. von Isolde Kommer, Helmut Reinke. 1. Auflage. Hanser München 1999

Ein Vorwort, das Sie lesen müssen!

s aus -Programm sichern Wählen Sie auf der "Startseite" die Option " s archivieren" und dann die entsprechende Anwendung aus.

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

1. Stellenwerte im Dualsystem

WinVetpro im Betriebsmodus Laptop

Anbindung des eibport an das Internet

Professionelle Seminare im Bereich MS-Office

Jetzt neu: Online Reporting Schritt für Schritt durch das Online Reporting (OLR) Online Liedmeldung

Einführung in die Kodierungstheorie

Codierungsverfahren SS Reed-Solomon-Codes zur Mehrblock-Bündelfehler-Korrektur

Korrigenda Handbuch der Bewertung

Lineare Gleichungssysteme

6.2 Scan-Konvertierung (Scan Conversion)

STRATO Mail Einrichtung Android 4.4

V 2 B, C, D Drinks. Möglicher Lösungsweg a) Gleichungssystem: 300x y = x + 500y = 597,5 2x3 Matrix: Energydrink 0,7 Mineralwasser 0,775,

Güte von Tests. die Wahrscheinlichkeit für den Fehler 2. Art bei der Testentscheidung, nämlich. falsch ist. Darauf haben wir bereits im Kapitel über

Anleitung zur Erstellung von Serienbriefen (Word 2003) unter Berücksichtigung von Titeln (wie Dr., Dr. med. usw.)

Konzepte der Informatik

A. Ersetzung einer veralteten Govello-ID ( Absenderadresse )

Zwischenablage (Bilder, Texte,...)

Transkript:

Kapitelübersicht Kommunikation und haltung 3. Protokollmechanismen Prof. Dr. Martina Zitterbart Dipl.-Inform. Martin Röhricht [zit roehricht]@tm.uka.de. Einführung 2. Physikalische Grundlagen 3. Protokollmechanismen 4. Geschichtete Architekturen 5. Sicherungsschicht: HDLC 6. Beschreibungsmethoden 7. Sicherungsschicht: Lokale Netze 8. Netzkopplung und Vermittlung 9. Die Transportschicht. Anwendungssysteme. Middleware 3. 3. Fehlertypen, Fehlerursachen 3.2 3.2 Mechanismen zur zur Fehlererkennung und -behebung 3.3 3.3 Fehlerkontrolle bei bei Bitfehlern 3.4 3.4 Fehlerkontrolle bei bei Paketfehlern 3.5 3.5 Flusskontrolle 3.6 3.6 Verbindungen Austausch von 3. Fehlertypen, Fehlerursachen 2 Ziel Geräte bzw. Anwendungen möchten austauschen Protokolle erforderlich, die Formate und Regeln des austauschs festlegen Protokollmechanismen stellen die Bausteine der Protokolle dar 3 Verfälschung von Bits bei der Übertragung - Bitfehler Beispiel Null-Bit werde durch Volt repräsentiert; Eins-Bit durch 5 Volt Entscheidungsschwelle sei 2,5 Volt Übertragung ist nicht optimal: Rauschen, Signaldämpfung Ergebnis: empfängt Signalwert von 3 Volt, obwohl ursprünglich Volt gesendet wurde Es handelt sich dann um ein sogenanntes umgekipptes Bit, d.h. um einen Bitfehler Fehlerursachen Rauschen Verlust der Bit-Synchronisation

Fehlertypen, Fehlerursachen Fehlertypen Verfälschung von en oft als Paketfehler bezeichnet Begriff in der Vorlesung häufig als Oberbegriff verwendet für Rahmen, Nachrichten, Pakete, Segmente Fehlerarten Verlust/Duplizierung einer Empfang einer Phantom- Abweichung der Empfangsreihenfolge von en Fehlerursachen Paketfehler Verlust Phantom- Duplizierung Reihenfolgevertauschung 4 Überlastung von Zwischensystemen Unterschiedliche Wege durch das Netz Verfrühte wiederholung 5 Bitfehler Verfälschung Fehlertypen Weiterhin wird unterschieden zwischen Einzelbitfehler Z.B. Rauschspitzen, die die Detektionsschwelle bei digitaler Signalerfassung überschreiten Ein einzelnes Bit ist fehlerhaft Bündelfehler Länger anhaltende Störung durch Überspannung, Starkstromschaltprozesse etc. Mehrere direkt aufeinanderfolgende Bits sind fehlerhaft Synchronisationsfehler kann den Anfang eines Bits nicht korrekt detektieren Alle Bits werden falsch erkannt Maß für die Fehlerhäufigkeit Bitfehlerrate = Fehlerhäufigkeit Summe gestörte Bits Summe übertragene Bits Typische Wahrscheinlichkeiten für Bitfehler Analoges Fernsprechnetz: 2* -4 Funkstrecke: -3-4 Ethernet (Base2): -9 - Glasfaser: - -2 [Holz9] 6 7

Fehlerauswirkungen Erwartungshaltung Fehlerauswirkungen sind u.a. abhängig von der rate Rechenbeispiel... eine Störung von 2 ms führt Bei Telex (5 bit/s, Bitdauer: 2 ms) zu einem Fehler von Bit Einzelbitfehler Bei ISDN (64 kbit/s, Bitdauer: 5,625 μs) zu einem Fehler von 28 Bit Bündelfehler Bei ADSL2+ (6 Mbit/s, Bitdauer: 62,5 ns) zu einem Fehler von ca. 32 kbit und bei Gigabit-Ethernet ( Gbit/s)? Unzuverlässige Kommunikation und sind glücklich, wenn möglichst viel korrekt beim ankommen Bei Fehlern werden keine weiteren Maßnahmen unternommen Zuverlässige Kommunikation und erwarten, dass alle gesendeten korrekt beim ankommen Alle korrekt In der richtigen Reihenfolge Ohne Duplikate Ohne Phantom-en Bei Fehlern sind entsprechende Maßnahmen erforderlich 8 9 3.2 Mechanismen zur Fehlererkennung und -behebung Code Bezüglich Bitfehlern Fehlererkennende Codes Fehlerkorrigierende Codes Bezüglich kompletter en Sequenznummern Zeitüberwachung Quittungen Sendewiederholungen Redundanz Fehlererkennung von fehlern beim durch Hinzufügung von Redundanz beim Gegeben eine Menge A und ein (endliches) Alphabet B Code injektive Abbildung f: A B* Codewort Für a A heißt f(a) ein Codewort von f Beispiele Morse Code ASCII Code

3.3 Fehlerkontrolle bei Bitfehlern 3.3. Paritätsbits 2 Problem Wie können Bitfehler beim oder in netzinternen Zwischensystemen erkannt werden? Grundlegende Ansätze Ausnutzung der Distanz zwischen gültigen Codewörtern, d.h. nicht alle Codewörter, die mit den vorhandenen Bits erzeugt werden können, sind gültig z.b. Hamming-Abstand Hinzufügen von Redundanz bei der Übertragung z.b. Paritätsbits, CRC, 3 Zu einer Einheit wird jeweils ein redundantes Bit hinzugefügt. Gerade Parität Es wird auf gerade Anzahl von -Bits ergänzt Ungerade Parität Es wird auf ungerade Anzahl von -Bits ergänzt Folgende Varianten werden unterschieden Vertikale Parität An jede einzelne Einheit (Zeichen) bestehend aus n Bits wird ein Paritätsbit angefügt (d.h. ein Paritätsbit pro Reihe) Erkennung von Bitfehlern ungerader Anzahl (-Bitfehler, 3-Bitfehler etc.) Längsparität An eine Folge von Einheiten wird ein dediziertes Prüfzeichen angefügt. Dieses enthält jeweils ein Paritätsbit pro Spalte (d.h. pro n- tem Bit aller Zeichen) Auch als Block Check Character (BCC) bezeichnet. Paritätsbits: Beispiel 3.3.2 Hamming-Abstand 4 Paritätssicherung bei Zeichen-basierter Übertragung Modulo-2-Arithmetik. Zeichen Start 2. Zeichen 3. Zeichen 4. Zeichen 5. Zeichen Ende Ergänzung auf ungerade Parität (vertikale Parität) Ergänzung auf gerade Blockparität (Längsparität) 6. Zeichen BCC Block Check Character (BCC) 5 Hamming-Abstand d einzelner Codewörter Anzahl der Bitpositionen, in denen sich zwei Codewörter c und c 2 unterscheiden Beispiel d(,)=3 Anzahl der Eins-Bits von c XOR c 2 Hamming-Abstand D des vollständigen Codes C { d( c, c ) c, c C c } D( C) : = min c 2 2, Der Hamming-Abstand bestimmt die Fähigkeit eines Codes, Fehler zu erkennen und zu beheben Erkenne k-bitfehler: Hamming-Abstand von k + notwendig Behebe k-bitfehler: Hamming-Abstand von 2k + notwendig 2

Hamming-Abstand Codewort besteht aus m Bits Welche Anzahl Prüfbits r werden benötigt, um -Bitfehler zu beheben? m r? n = m + r 2 m legale Codewörter können mit m Bits erzeugt werden Allgemein gilt: Pro Codewort c i der Länge n=m+r existieren n illegale Codewörter gleicher Länge mit Hamming-Abstand Jeweils mit einem komplementierten Bit Nur Codewort c i selbst hat Hamming-Abstand Es soll 2 m legale Codewörter im Code geben, von denen jedes n+ Codewörter belegt (n illegale und ein legales, c i selbst) Hierzu müssen (n + )2 m Codewörter mit n=m+r Bits darstellbar sein (n + )2 m <= 2 n (m + r + ) <= 2 r untere Grenze für r Beispiele Fehlererkennender Code Code mit einem einzigen Paritätsbit (gerade oder ungerade) Hamming-Abstand = 2 Erkennen eines -Bitfehlers möglich (oder aller Fehler mit einer ungeraden Anzahl Bits) Fehlerbehebender Code Code:,,, Hamming-Abstand = 5 Korrektur von 2-Bitfehlern möglich Beispiel: 6 7 3.3.3 Cyclic Redundancy Check (CRC) Vorgehensweise CRC Anstelle eines einzigen Paritätsbits wird hier eine Sicherungssequenz angefügt. auch als FCS (Frame Check Sequence) bezeichnet Gleiches Generatorpolynom G(x) für und Höchstes und niederwertigstes Bit von G(x) müssen sein Basiert auf Division in Modulo-2-Arithmetik; keine Überträge Entspricht bitweiser XOR-Operation + = + =, + = + = Beispiele für bitweise XOR-Operation + + - - --------- --------- --------- --------- Prüfsumme (Checksum) wird berechnet mit m Bits entspricht M(x) Prüfsumme entspricht Rest R der Division (x r M(x)) / G(x) r: Grad des Generatorpolynoms; m > r x r M(x) fügt r Nullstellen an das Ende der Prüfsumme wird zur um Nullen erweiterten hinzugefügt Entspricht der Addition des Restes: x r M(x) + R 8 Bitstrings als Repräsentation von Polynomen, z.b. entspricht Polynom M(x) = x 7 + x 4 + x 3 + x wird als unstrukturierte Bitfolge aufgefasst, d.h. auch die Anzahl der zu prüfenden Bits ist beliebig Es werden auch keine ganzzahligen Vielfache von 8 Bit gefordert 9 überprüft Division der empfangenen durch G(x) Ist der Rest der Division Null, dann wurde kein Fehler erkannt Ist der Rest ungleich Null, dann ist die empfangene fehlerhaft

CRC: Beispiel Erkennen von Bitfehlern mit CRC 2 Generatorpolynom G(x) = ; Nachricht M(x) = / = -------------------------------- ------- -------- -------- -------- ------- -------- Welche Bitfolge wird übertragen? 2 Erkennen aller Einzelbitfehler x k und x dürfen nicht gleich Null sein Nahezu alle Doppelbitfehler G(x) muss mindestens drei Terme besitzen sämtliche Doppelbitfehler (x k + ) nicht durch G(x) teilbar ( k <= Länge der ) Jede ungerade Anzahl an Bitfehlern G(x) muss den Faktor x+ enthalten Alle Bursts mit bis zu m Bitfehlern für m = Grad von G(x) Bekannte Generatorpolynome CRC-Implementierung in Hardware 22 International genormt sind u.a. folgende Generatorpolynome CRC-2 = x 2 + x + x 3 + x 2 + x + CRC-6 = x 6 + x 5 + x 2 + CRC-CCITT = x 6 + x 2 + x 5 + CRC-32 = x 32 + x 26 + x 23 + x 22 + x 6 + x 2 + x + x + x 8 + x 7 + x 5 + x 4 + x 2 + x + CRC-6 und CRC-CCITT entdecken alle Einzel- und Doppelfehler alle Fehler ungerader Anzahl alle Fehlerbursts mit der Länge 6 99,997 % aller Fehlerbursts mit der Länge 7 (gilt nicht für CRC-6) 99,998 % aller Fehlerbursts mit der Länge 8 und mehr (gilt nicht für CRC-6) 23 Realisierung in Hardware Benutzung von rückgekoppelten Schieberegistern CRC kann während des Durchschiebens durch das Schieberegister berechnet werden Prinzip werden bitweise empfangen und durchlaufen das Schieberegister Rückkopplung durch ein XOR-Gatter erfolgt am Eingang und an den Stellen, an denen Bits im Generatorpolynom auf gesetzt sind Ohne das höchste und niederwertigste Bit Nach Durchschieben der und ihrer angehängten Nullen steht Prüfsumme im Register Zu beachten: Soll Prüfsumme ebenfalls aus dem Register geschoben werden, noch etwas mehr Schaltungslogik nötig

Beispiele Schieberegister 3.3.4 Internet-Prüfsumme 24 G(x) = G(x) = x 3 + x 2 + G(x) = x 6 + x 2 + x 8 + + x 2 + x 8 + XOR-Gatter Bit-Schieberegister + x 3 x 2 x x + + x 25 In den Internet-Protokollen wird eine andere Variante für Prüfsummen eingesetzt Speziell für eine Realisierung in Software ausgelegt In den Eigenschaften zur Fehlererkennung nicht so gut wie CRC Wörter in falscher Reihenfolge können nicht erkannt werden Verwendet bei: Internet Protocol (IP), Universal Datagram Protocol (UDP), Transmission Control Protocol (TCP) Prinzip Aufaddieren aller übertragenen Wörter, wobei eine Wortlänge von 6 Bit zugrunde liegt (die Wörter werden als Integer aufgefasst) Resultat der Addition wird wie beim CRC mit der übertragen führt die gleiche Addition der empfangenen Wörter durch Implementierung Addition unter Verwendung des Einer-Komplements Prüfsummen: Beispiel IPv4 3.3.5 Vorwärtsfehlerkorrektur 26 Einerkomplement zur Berechnung von BCC Internet Protocol Version 4 Protokollkopf besitzt Prüfsumme für Werte des Protokollkopfs Muss bei jedem Router neu berechnet werden, da sich Werte wie Time to Live im Protokollkopf ändern Prüfsummenberechnung Addition aller 6-bit Wörter Übertrag auf das Least Significant Bit addieren Einerkomplement der Summe bilden [Benv5] 2 6-bit Wörter zum Prüfen 6-bit Einerkomplement- Summe der 6-bit Wörter 6-bit Einerkomplement der Einerkomplement- Summe der beiden 6-bit Wörter + = + = 27 Vorwärtsfehlerkorrektur (Forward Error Correction FEC) Fehlerkorrigierende Codes Soll dazu dienen, verloren gegangene en zu rekonstruieren Beispiel: Zu senden sind die en - D - D2 - D3 Dazu wird über XOR eine weitere berechnet - D4 Diese vier en werden jetzt an den gesendet [Hals5]

Vorwärtsfehlerkorrektur Ablauf 3.4 Fehlerkontrolle bei Paketfehlern Der muss nur drei der vier en korrekt empfangen, um die fehlende rekonstruieren zu können Verknüpft korrekt empfangene en mit XOR und rekonstruiert so die fehlende D geht verloren - D D2 geht verloren - D2 D3 geht verloren - D3 Der muss wissen, welche verloren gegangen ist... Mit Paritätsbits und Prüfsummen können Bitfehler erkannt werden, allerdings nur dann, wenn die beim ankommt oder in den netzinternen Zwischensystemen analysiert wird Zur Erkennung von Fehlern bzgl. kompletter en (Paketfehler) sind zusätzliche Mechanismen erforderlich Sequenznummern (Sequence Number) Zeitgeber (Timer) Auch wenn alle en empfangen wurden, können die genannten Mechanismen erforderlich sein Nennen Sie Gründe hierfür! Zur Behebung der Fehler werden die folgenden Mechanismen verwendet Quittungen (Acknowledgements) Sendewiederholungen (Retransmissions) 28 29 Verständigungsprobleme? 3.4. Sequenznummern Hallo? Hallo? akjdshfjhkö adsjlkdfh Wie bitte? Problem Woher weiß der, ob die en in der richtigen Reihenfolge ankommen? keine Duplikate enthalten sind? keine en fehlen? Alles klar? Ja, danke. Mechanismus Die en (oder die Bytes) werden durchnummeriert Eine entsprechende Kennung wird mit jeder übertragen Diese Kennung wird als Sequenznummer bezeichnet 3, 2, 3, 5, etwas fehlt hier 3 Fehlerszenarien Sequenznummern helfen, wenn en nicht ausgeliefert werden Beispiele?

Sequenznummernraum 3.4.2 Quittungen 32 Definition Teilmenge der natürlichen Zahlen, die den möglichen Sequenznummernraum umfasst Größe Bei einer Länge der Sequenznummer von n Bit umfasst der Sequenznummernraum 2 n Sequenznummern Erforderliche Länge der Sequenznummer? Ziel Overhead durch Übertragung von Sequenznummern gering halten Parameter Tl: maximale Lebenszeit einer [Sekunden] Tw: Maximaler Zeitraum in dem eine Sendewiederholung durchgeführt wird [Sekunden] Tq: Maximale Zeit bevor nach Erhalt der eine Quittung sendet [Sekunden] D: Maximale rate des s [en/sekunde] Untere Schranke 2 n (2 Tl + Tw + Tq) * D 33 Problem Wie erfährt der, dass eine überhaupt nicht bzw. nicht korrekt beim angekommen ist? Mechanismus Der teilt dem mit, ob er eine empfangen hat oder nicht Hierzu werden spezielle en, sogenannte Quittungen, versendet (ACK: Acknowledgement) Varianten Positive Quittung teilt dem mit, dass er die entsprechenden erhalten hat Negative Quittung meldet dem, dass er die entsprechenden nicht erhalten hat (z.b. bei falscher Reihenfolge) NACK: Negative Acknowledgement Quittungen 3.4.3 Zeitgeber 34 Weitere Varianten Selektive Quittungen SACK: Selective Acknowledgement Die Quittung bezieht sich auf eine einzelne Beispiel Negative selektive Quittung, falls der Verlust einer vom vermutet wird (NACK) Lässt sich mit NACKs eine zuverlässige Kommunikation realisieren? Kumulative Quittungen Die Quittung bezieht sich auf eine Menge von en, die in der Regel durch eine obere Sequenznummer beschränkt ist Beispiel Positive kumulative Quittung, die besagt, dass alle en bis zur angegebenen Sequenznummer korrekt empfangen wurden Quittungen werden oftmals in Kombination mit Zeitgebern verwendet 35 Problem Woran merkt ein, dass eine nicht angekommen ist? Mechanismus In Abhängigkeit einer zeitlichen Obergrenze wird vermutet, dass eine nicht mehr beim eintrifft kann dann Sendewiederholung starten Implementierung Welcher Wert wird für den Zeitgeber gewählt?

3.4.4 Automatic Repeat Request: ARQ Grundlegende Variante zur Sendewiederholung erhält positive Quittungen über den Erhalt einer vom kann Sendewiederholungen ausführen, falls Quittung ausbleibt Varianten Wann werden Quittungen versendet? Wann werden Sendewiederholungen veranlasst? Situation Eine Reihe verschiedener ARQ-Mechanismen ist verfügbar, wobei zwischen grundlegenden Unterschieden und Implementierungsfeinheiten differenziert werden muss Im folgenden werden grundlegende Varianten diskutiert Stop-and-Wait Grundlegendes, einfaches ARQ-Verfahren wartet auf die Quittung zu einer gesendeten, bevor er eine neue senden darf Falls keine Quittung empfangen wird, erfolgt die Wiederholung der nach dem Ablauf des Zeitgebers Es können Duplikate von en entstehen Wie? Einsatz beim Medienzugriff in drahtlosen lokalen Netzen 36 37 Einschub: Weg-Zeit-Diagramm Stop-and-Wait: Szenarien Beschreibungsmethode zur Darstellung von Abläufen in Kommunikationssystemen Vorwiegend für einfachere Sachverhalte geeignet Zeit Quittung (ACK) Verlust einer Quittung Unterschied zum Verlust einer? Timeout Regulärer Ablauf ACK ACK Verlust einer Timeout ACK Zu schneller Ablauf des Zeitgebers Problem? Timeout ACK ACK Weg (Raum) Frage: Auf welchen Wert wird der Zeitgeber gesetzt? Frage: Unterscheiden sich Verluste bzw. Übertragungsfehler in der Behandlung? 38 39

Stop-and-Wait: Sequenznummern Java-Applet: Stop-and-Wait 4 Problem In den vorangegangenen Szenarien besteht die Möglichkeit, dass der eine doppelt erhält Er kann dies nicht erkennen Konstruieren Sie einen solchen Ablauf! Mechanismus Sequenznummern Die en werden mit einer Kennung versehen, die es dem ermöglicht, diese zu unterscheiden Für Stop-and-Wait ist eine Sequenznummer von einem Bit ausreichend ( und ) Ablauf () ACK () () ACK () () ACK () Testen Sie hierzu unsere Java-Applets und unsere Lernumgebung im Internet: http:///lehre/aktuell/vl/telematik/sim/simulation.html 4 Einfaches Szenario mit zwei direkt verknüpften Rechnern Testen Sie die Leistungsfähigkeit der Fehlerkontrolle Experimentieren Sie mit unterschiedlichen Verlust- bzw. Fehlerraten Experimentieren Sie mit unterschiedlichen raten Leistungsbewertung von Stop-and-Wait Leistungsbewertung von Stop-and-Wait 42 Sehr einfaches Verfahren Wie sieht es mit der Leistungsfähigkeit aus? Durchsatz (engl. Throughput) Maß für die Menge an, die pro Zeiteinheit über ein Netz übertragen werden kann Auslastung (engl. Utilization U) Maß für die Nutzung einer Ressource (z.b. Übertragungsmedium) Verhältnis von tatsächlicher Nutzung zu möglicher Nutzung Tatsächliche Nutzung: erfolgreiche Übertragung einer Mögliche Nutzung: Wieviel hätten in dieser Zeit übertragen werden können? 43 Annahme Fehlerfreie Kommunikation Welche Parameter haben einen Einfluss? Wie schnell ist eine komplette bzw. eine Quittung auf das Medium gesendet? Sendezeit T S T S = Länge / rate Wie lange benötigt ein Bit vom zum (und umgekehrt)? Ausbreitungsverzögerung T A T A = Länge des Mediums / Ausbreitungsgeschwindigkeit Wieviel Zeit wird für die Verarbeitung einer bzw. einer Quittung benötigt? Verarbeitungszeit T V Vereinfachungen Verarbeitungszeit der wird vernachlässigt Sende- und Verarbeitungszeit einer Quittung werden vernachlässigt Quittung kurz; Verarbeitung schnell

Gesamtübertragungsdauer Auslastung des Mediums 44 Zeit Weg Insgesamt benötigte Zeit T Ges T Ges = T S () + T A + T V () + T S (Quittung) + T A + T V (Quittung) Mit Vereinfachungen T Ges = T S () + 2 T A = T S + 2 T A T S T A T A 45 Auslastung U Tatsächliche Nutzung Sendezeit der : T S Mögliche Nutzung Zeitintervall vom Beginn des Sendens der bis zum vollständigen Empfang der Quittung: T Ges TS TS U= = T T +2T Ges U = + 2 T T A S S Mit a = T A / T S ergibt sich A U = + 2a Parameter a Beispiel zu Parameter a 46 Häufig bei Leistungsbetrachtungen verwendet Definition a = T A / T S a = Ausbreitungsverzögerung / Sendezeit Weitere Parameter Länge des Mediums: m Ausbreitungsgeschwindigkeit: v Länge der : l rate: d Damit m a = v = md vl l Interpretation d Bei fester Länge der und fester Distanz zwischen den kommunizierenden Systemen Parameter a ist proportional zum Produkt aus rate und Länge des Mediums Parameter a repräsentiert Länge des Mediums in Bit (m * d/v) im Vergleich zur Länge der (l) 47 Normalisierung Annahme: Sendezeit einer betrage Damit gilt a = T A Für a > : Ausbreitungsverzögerung > Sendezeit t t + t + a t + + a t + + 2a

t Beispiel zu Parameter a Für a < : Ausbreitungsverzögerung < Sendezeit t + a t + t + + a t + + 2a Auslastung des Mediums: Beispiel en der Länge Bit Fehlerrate vernachlässigbar raten kbit/s und Mbit/s Ausbreitungsgeschwindigkeit: (a) und (b) 2 * 8 m/s (c) 3 * 8 m/s (a) Verdrilltes Adernpaar, Länge des Mediums km Auslastung? (b) Standleitung, Länge des Mediums 2 km Auslastung? 48 49 (c) Satelliten-Verbindung, Länge des Mediums 5 km Auslastung? Bewertung von Stop-and-Wait Bewertung von Stop-and-Wait 5 Bisher: fehlerfreie Übertragung angenommen Jetzt: Berücksichtigung von Fehlern Fehlerfall erhält keine korrekte Quittung Annahme: (n ) konsekutive Sendewiederholungen Benötigte Zeit hierfür T Ges = T S + (n ) (Timeout + T S ) + 2 T A Annahme Timeout entspricht zweifacher Ausbreitungsverzögerung T A Dann gilt: T Ges = n (T S + 2 T A ) Damit gilt für die Auslastung TS TS U = = T n( T + 2T ) in der Regel n nicht fest: Erwartungswert hierfür? Ges S A 5 Annahmen p sei Wahrscheinlichkeit, dass eine einzelne fehlerhaft übertragen wird Quittungen sind nie verfälscht Wahrscheinlichkeit für genau k Übertragungsversuche? k fehlerhafte Übertragungsversuche gefolgt von einer geglückten Übertragung Wahrscheinlichkeit hierfür: p k ( p) n = Erwartungswert [Anzahl Übertragungen] i n = ( i p[genau i Übertragungen]) = ip ( p) = p i= i= Damit gilt für die Auslastung für -< x < gilt : p U = = i ix = n( + 2a) + 2a i= ( x) 2

Bewertung von Stop-and-Wait Go-Back-N ARQ Für a > ist die Auslastung stark beeinträchtigt p=, Ziel Erhöhung der Leistungsfähigkeit im Vergleich zu Stopand-Wait Warten auf Quittung vor dem Senden der nächsten vermeiden Auslastung Für a > ist Stop-and-Wait quasi unbrauchbar Verfahren Der kann mehrere en senden bis er eine Quittung erhalten muss Die maximale Anzahl der nicht quittierten en ist begrenzt typischerweise durch ein so genanntes Sliding Window 52 a [Stal6] 53 Verschiedene Varianten möglich (nächste Folie) Go-Back-N ARQ Varianten Go-back-N: Beispielablauf 54 Variante quittiert korrekt empfangene en wie bei Stop-and-Wait Die Quittung erfolgt kumulativ, d.h. für mehrere en auf einmal Kumulative Sequenznummer gibt an, bis wohin die korrekt empfangen wurden, d.h. es handelt sich um positive Quittungen Es kann auch jede quittiert werden Variante 2 Nicht korrekt empfangene en werden mit einer negativen Quittung (NACK) bestätigt wiederholt daraufhin ab dieser Sequenznummer alle gesendeten en Go-Back N, wobei N die Sequenznummer in der negativen Quittung ist Frage Wo ist eine Pufferung der en erforderlich? Wie viele müssen gepuffert werden? 55 D senden D senden D 2 senden D 3 senden (warten) ACK() empfangen D 4 senden ACK() empfangen D 5 senden Timeout D 2 D 2 senden D 3 senden D 4 senden D 5 senden D= D D empfangen ACK() senden D empfangen ACK() senden D 3 empfangen & verwerfen ACK() senden D 4 empfangen & verwerfen ACK() senden D 5 empfangen & verwerfen ACK() senden D 2 empfangen ACK(2) senden D 3 empfangen ACK(3) senden [KuRo7]

Bewertung von Go-Back-N Bewertung von Go-Back-N Bemerkung Fenstergröße W begrenzt die Anzahl gesendeter und noch nicht quittierter en Parameter und Normalisierung wie bei Stop-and-Wait Annahme Fehlerfreie Übertragung Zwei Fälle müssen unterschieden werden Fenstergröße W +2a kann ohne Pause senden Übertragungsabschnitt ist % ausgelastet Fenstergröße W < +2a kann nach dem Aufbrauchen des Fensters nicht weiter senden U = W + 2a W + 2a W < + 2a Jetzt: Berücksichtigung von Übertragungsfehlern Herleitung ähnlich wie bei Stop-and-Wait, aber Im Fehlerfall werden K en wiederholt anstelle einer einzigen n = Erwartungswert [Anzahl übertragener en für eine geglückte Übertragung] f(i): Komplette Anzahl übertragender en, falls die ursprünglich gesendete i mal übertragen werden muss f ( i) = + ( i ) K = ( K) + Ki Daraus ergibt sich für den Erwartungswert n n = i= f ( i) p i ( p) 56 57 Bewertung von Go-Back-N Bewertung Go-Back-N 58 Einsetzen von f(i) i n = (( K) + Ki) p i= i n = ( K) p ( p) + K ip i= ( p) K p + Kp n = K + = p p i= Für W (+2a): K ungefähr +2a Für W < (+2a): K = W Damit p + 2ap U = W ( p) ( + 2a)( p + Wp) i ( p) W + 2a W < + 2a für -< x < gilt : i x = x i= Auslastung 59 Für W = identisch mit Stop-and-Wait a [Stal6]

Selective Reject ARQ Bewertung von Selective Reject 6 Ziel Erhöhung der Auslastung im Vergleich zu Stop-and-Wait Reduzierung des aufkommens im Vergleich zu Go-Back-N Verfahren Der kann mehrere en senden, bis er eine Quittung erhalten muss Die maximale Anzahl der nicht quittierten en ist begrenzt (wie bei Go-Back-N) Der sendet eine negative Quittung, wenn er einen Fehler erkennt Diese Quittung bezieht sich auf eine einzelne Der wiederholt genau die mit der bei der negativen Quittung angegebenen Sequenznummer Nur die nicht korrekt empfangenen en werden vom wiederholt Fragen Wo ist eine Pufferung der en erforderlich? Wie viele müssen gepuffert werden? Vor- und Nachteile von Go-Back-N und Selective Reject im Vergleich? 6 Herleitung wie bei Stop-and-Wait Es wird immer nur eine wiederholt n = p Fallunterscheidung wegen Fenster p U = W( p) + 2a W + 2a W < + 2a Vergleichende Bewertung 3.5 Flusskontrolle 62 Auslastung p = -3 Stop-and-Wait W = 27 Go-back-N W = 7 Go-back-N & W=7 Selective Reject a W = 27 Selective Reject [Stal6] 63 Problem Wie viele en dürfen vom hintereinander gesendet werden, ohne dass der Speicher beim überläuft (d.h. Verluste von en entstehen)? Anforderungen Einfachheit Möglichst geringe Nutzung von Netzressourcen Fairness Stabilität Varianten Closed Loop Rückkopplung, um zu verhindern, dass überschwemmt wird Quelle adaptiert ihren strom entsprechend Open Loop Beschreibung des Verkehrs mit anschließender Ressourcenreservierung und Überwachung des eingehenden Verkehrs Hier nicht weiter behandelt

Closed-Loop Flusskontrolle Flusskontrolle mit Halt-/Weiter-Meldungen Varianten. Generation: Berücksichtigt die Leistungsfähigkeit des Kommunikationspartners Halt-und-Weiter Stop-and-Wait Kombiniert Fehler- und Flusskontrolle Kreditbasierte Flusskontrolle: statisches Fenster 2. Generation: Berücksichtigt auch die Leistungsfähigkeit des Netzes Messungen Explizit vs. Implizit Kontrollvariante Dynamisches Fenster vs. dynamische Rate Kontrollpunkt Ende-zu-Ende vs. Hop-by-hop Sehr einfache Methode Meldungen Halt Weiter Kann der nicht mehr Schritt halten, schickt er dem eine Halt- Meldung Ist ein Empfang wieder möglich, sendet der die Weiter-Meldung Bewertung Nur auf Vollduplex-Leitungen verwendbar Bei hohen Verzögerungen nicht effektiv Probleme bei Verlust der Halt-Meldung Beispiel: Protokoll XON/XOFF Für serielle Leitungen Mit ISO 7-Bit-Alphabetzeichen XON ist DC (Device Control ) XOFF ist DC 3 (Device Control 3) Halt Weiter t 64 65 Implizite Flusskontrolle Kreditbasierte Flusskontrolle Funktionsweise Durch Zurückhalten der Quittung (z.b. ACK/NACK) kann der gebremst werden Das bedeutet, dass ein Verfahren zur Fehlererkennung für die Flusskontrolle mitbenutzt wird Beispiel: Stop-and-Wait Problem Der kann nicht mehr unterscheiden, ob seine verloren ging, oder ob der die Quittung wegen Überlast zurückgehalten hat? ACK ACK überlastet t Prinzip kann bis zu einer maximalen Anzahl en (bzw. Bytes) senden, ohne eine Quittung zu empfangen Maximale Anzahl der en repräsentiert die Pufferkapazität des s und wird als (Sende-)Kredit bezeichnet Oftmals als fortlaufendes Fenster bezeichnet (Englisch: Sliding Window) Fenster wird dann mit jeder empfangenen positiven Quittung weitergeschaltet kann meist zusätzlich den Kredit explizit bestimmen (z.b. in TCP) Beispiel Fenstergröße...... ACK ACK ACK 66 67

Kreditbasierte Flusskontrolle: Sliding Window Flusskontrolle mit Sliding Window 68 Beispiel: Fenstermechanismus (Kredit 4) für eine ichtung S R 6 2 4 C 6 2 4 C 6 2 S 4 C 6 2 6 2 4 C,R 4 C,S C 6 2 C 6 2 4 t t 4 S R S: Sende-Sequenznummer (der zuletzt gesendeten ) R: Nächste erwartete Sende-Sequenznummer = Quittierung bis Empfangs-Sequenznummer R- C: Oberer Fensterrand (maximal erlaubte Sequenznummer) Nachteil: Kopplung von Fluss- und Fehlerkontrolle [S=] [S=] [S=2] [S=3] ACK[R=3] 69 SWS: Send Window Size (max. Anzahl ausstehender en bzw. Bytes) LAR: Last ACK Received (Sequenznummer der letzten quittierten bzw. Bytes) LFS: Last Frame Sent (Sequenznummer der letzten gesendeten bzw. Bytes) Invariante LFS LAR + <= SWS LAR <= SWS LFS RWS: Receiver Window Size (max. Anzahl nicht in Reihenfolge empfangener en bzw. Bytes) LFA: Last Frame Acceptable (Sequenznummer der letzten empfangbaren bzw. Bytes) NFE: Next Frame Expected (Sequenznummer der nächsten in Reihenfolge erwarteten bzw. Bytes) Invariante LFA NFE + <= RWS <= RWS NFE LFA Java-Applet: Go-back-N und Flusskontrolle Java-Applet: Selective Reject und Flusskontrolle 7 http:///lehre/aktuell/vl/telematik/sim/simulation.html 7 http:///lehre/aktuell/vl/telematik/sim/simulation.html

3.6 Verbindungen Verbindungslos vs. Verbindungsorientiert 72 Verbindungen stellen eine Kommunikationsbeziehung zwischen den Kommunikationspartnern her dienen dem zuverlässigen Austausch von Informationen () Es wird bei jedem Kommunikationspartner ein sogenannter Verbindungskontext etabliert Sequenznummern, Fenstergröße etc. Beispiel 73 Verbindungslose Kommunikation Informationen werden versendet, ohne vorherigen Aufbau einer Verbindung im Beispiel würde also die Begrüßung wegfallen Vorteil: schnelle versendung möglich Nachteil: keine Möglichkeit der Kontrolle, ob der Kommunikationspartner überhaupt zuhört bzw. zuhören kann Verbindungsorientierte Kommunikation dem Informationsaustausch geht Aufbau einer Verbindung voraus Vorteil: Aushandlung von Kommunikationsparametern möglich (3-Wege-Handshake) sonst: benötigte Fenstergrößen, verwendeter Code, verwendete Fehlerkontrollmechanismen, Sequenznummern... Nachteile eigentlicher austausch verzögert Overhead der Verbindungsetablierung und -verwaltung kann höher sein als der eigentliche austausch (kurze ) 3-Wege-Handshake Zusammenfassung Start, Bekanntgabe der beabsichtigten anfänglichen Sequenznummer Bestätigung der Server- Sequenznummer Client aktiver Teilnehmer SYN, Sequenznummer=x SYN+ACK, Sequenznummer=y Acknowledgement=x+ ACK, Acknowledgement=y+ Server passiver Teilnehmer Bestätigung der Client-Sequenznummer und Bekanntgabe der eigenen anfänglichen Sequenznummer Das Feld Acknowledgement identifiziert jeweils die nächste erwartete Sequenznummer Grundlegende Protokollmechanismen Werden uns als Bausteine in vielen Protokollen immer wieder begegnen Java Applets: Beispiele für Simulation Animation des Ablaufs Dokumentation des Ablaufs Leistungsbewertung Grundlegende Techniken der Leistungsbewertung Viele Vereinfachungen, aber grundlegende Aussagen möglich 74 75

Zusammenfassung Übungen 76 Fehlerkontrolle ARQ-Verfahren: Stop-and-Wait Go-Back-N Selective Reject Mechanismen: Sequenznummern Zeitgeber Quittungen Sendewiederholungen Flusskontrolle Halt/Weiter Sliding Window Verbindungsmanagement 3-Wege- Handshake 3. Es sind im Umfang von MByte zu übertragen. Die Größe einer betrage 2 Byte, die Ausbreitungsverzögerung betrage 2 ms. Vergleichen Sie die erzielbare Auslastung von Stop-and-Wait mit Go- Back-N. 3.2 Wann versendet der jeweils Quittungen? 3.3 Welches Ziel hat die Flusskontrolle? 3.4 Konstruieren Sie ein Schieberegister, dass Sie für die Division durch x 7 + x 5 + x 4 + x + verwenden können. 3.5 Berechnen Sie den CRC für die mit dem Generatorpolynom 3.6 Knoten A sendet mit Go-Back-N und Sliding-Window an Knoten B. Die Fenstergröße betrage 4 Bit. Zeichnen sie die Fenster auf beiden Seiten Bevor A anfängt zu senden. Nachdem A die en, und 2 gesendet und B und quittiert hat. Nachdem A die en 3, 4 und 5 gesendet hat und B 4 quittiert hat. 3.7 Welche Fehlerarten kennen Sie? 3.8 Eine Störung von ms führt bei einer rate von Mbit zu wieviel gestörten Bits? 77 Literatur [Benv5] Ch. Benvenuti; Understanding Linux Network Internals; O Reilly, 25 [Hals5] F. Halsall; Computer Networking and the Internet; Addison-Wesley, 25 Kapitel.4, Anhang C [Holz9] G. J. Holzmann; Design and Validation of Computer Protocols; Prentice Hall, 99 Auch online unter: http://spinroot.com/spin/doc/book9.html [KoBu94] W. P. Kowalk, M. Burke; Rechnernetze; Teubner Verlag, 994 [KuRo7] J. F. Kurose, K. W. Ross: Computer Networking: A Top-Down Approach, Addison-Wesley, 27 [Stal6] W. Stallings; Data and Computer Communications, Prentice Hall, 26 Kapitel 7 78