Lehrstuhl für Kommunikationssysteme - Systeme II1 Systeme II – 14te Vorlesung Lehrstuhl für Kommunikationssysteme Institut für Informatik / Technische.

Slides:



Advertisements
Ähnliche Präsentationen
Powerpoint-Präsentation
Advertisements

Fast Fourier Transformation
Randomisierte Algorithmen Präfix Suche und Konsistentes Hashing
Hash-Tabellen und -Funktionen Hash-Tabellen in Java
Motivation Bisher: Codes mit möglichst kurzer Codelänge.
2. Link Layer Lernziele: Verstehen wie IP prinzipiell über eine Link Layer Verbindung übertragen wird.
Algebraische Zahlen: Exaktes Rechnen mit Wurzeln
Das LCA – Problem in Suffixbäumen
Link Layer Security in BT LE.
Information - syntaktisch
2 Kommunikationssysteme bieten Kommunikationsdienste an, die das Senden und Empfangen von Nachrichten erlauben (sending & receiving messages) bestehen.
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken X Christian Schindelhauer
Lehrstuhl für Kommunikationssysteme - Systeme II1 Systeme II – 16te Vorlesung Lehrstuhl für Kommunikationssysteme Institut für Informatik / Technische.
Lehrstuhl für Kommunikationssysteme - Systeme II1 Systeme II – 15te Vorlesung Lehrstuhl für Kommunikationssysteme Institut für Informatik / Technische.
Fehlererkennende Codes
Algorithmus. Ein Kochrezept, zum Beispiel: Kartoffelbrei.
Algorithmentheorie 04 –Hashing
WS Algorithmentheorie 02 - Polynomprodukt und Fast Fourier Transformation Prof. Dr. Th. Ottmann.
Geometrisches Divide and Conquer
Rechneraufbau & Rechnerstrukturen, Folie 14.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 14.
Aufgaben der Sicherungsschicht
“Das ISO / OSI - Referenzmodell“
OSI-Schichtenmodell Unterschiedliche Rechner brauchen eine gemeinsame Basis, um sich miteinander zu „unterhalten“. Geklärt werden muss dabei u. a. Folgendes:
Vorlesung 3: Verschiedenes Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Christian Schindelhauer
Wir suchen ‘ mit m = m    ‘ c  ‘ mod 26
2. Link Layer Lernziele: – Verstehen wie IP prinzipiell über eine Link Layer Verbindung übertragen wird.
Datenmanagement in Sensornetzen PRESTO - Feedback gesteuertes Datenmanagement - SS 2007 Sören Wenzlaff.
Zahlensysteme und Dualarithmetik copyleft: munz
Internet-Protokolle Tanja Witze.
Christian Schindelhauer Sommersemester Vorlesung
Das OSI Schichtenmodell
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Polynome und schnelle Fourier-Transformation
Fehler in Rechnernetzen — die Sicherungsschicht
Fehler in Rechnernetzen
IFES - Institut für empirische Sozialforschung GmbH Teinfaltstraße Wien Lehramts-Studierende Online-Befragung 2009.
Analyse von Ablaufdiagrammen
AES – Advanced Encryption Standard
Warum gibt es Netzwerke?
Symmetrische Blockchiffren DES – der Data Encryption Standard
Meldungen über Ethernet mit FINS/UDP
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Systeme II Christian Schindelhauer Sommersemester 2006.
Arne Vater Sommersemester Vorlesungswoche
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Systeme II - Probeklausur - Arne Vater Sommersemester.
Christian Schindelhauer Sommersemester Vorlesung
Christian Schindelhauer Sommersemester Vorlesung
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Systeme II Christian Schindelhauer Sommersemester 2006.
Systeme II Christian Schindelhauer Sommersemester 2007
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Systeme II Christian Schindelhauer Sommersemester 2007
Christian Schindelhauer Wintersemester 2006/07 6. Vorlesung
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Systeme II Christian Schindelhauer Sommersemester 2006.
Christian Schindelhauer Wintersemester 2006/07 2. Vorlesung
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Systeme II Christian Schindelhauer Sommersemester 2006.
IPv6 Von Judith Weerda Diese Vorlage kann als Ausgangspunkt für die Präsentation von Schulungsmaterialien in einer Gruppensitzung dienen. Abschnitte.
Anforderungen an Automotive Bussysteme
Die 7 Schichten des OSI-Schichtmodells
von Prof. Thomas Deutsch
Diskrete Mathematik Angelika Steger Institut für Theoretische Informatik TexPoint fonts used in EMF. Read the TexPoint manual before.
Information - syntaktisch
von Lukas Spiegel & Alexander Dür
Fehlertoleranz und Robustheit Präsentation von Thomas Schlögl
Systeme II 2. Die physikalische Schicht Christian Schindelhauer Technische Fakultät Rechnernetze und Telematik Albert-Ludwigs-Universität Freiburg Version.
Systeme II 3. Die Datensicherungsschicht
Systeme II 3. Die Datensicherungsschicht
 Präsentation transkript:

Lehrstuhl für Kommunikationssysteme - Systeme II1 Systeme II – 14te Vorlesung Lehrstuhl für Kommunikationssysteme Institut für Informatik / Technische Fakultät Universität Freiburg 2009

Lehrstuhl für Kommunikationssysteme - Systeme II2 Letzte Vorlesung Vertiefung der Vermittlungsschicht – IPv6 Transparenter Austausch des IPv4 gegen die nächste Generation Internet Protokoll Adressen in IPv6 Verlängerung auf 128bit Beibehaltung des Prinzips der Aufspaltung in Prefix und Suffix Globaler, öffentlicher Teil (nochmals unterteilt nach TLAs) Lokationsspezifischer Teil (im Bereich der jeweiligen Institution, z.B. Campus Uni Freiburg: 2001:07C0:0100:: via BelWue ) Endsystem Identifikator (ausreichend lang, so dass MAC Bestand- teil des Identifikators sein könnte)

Lehrstuhl für Kommunikationssysteme - Systeme II3 Letzte Vorlesung Aufteilung des IPv6 Adressraums

Lehrstuhl für Kommunikationssysteme - Systeme II4 Letzte Vorlesung Deutliche Veränderung des Header-Formats Kleinerer Standard-Header, der durch Extension Headers ergänzt wird Deshalb z.B. Header Length unnötig

Lehrstuhl für Kommunikationssysteme - Systeme II5 Diese Vorlesung Einen weiteren Schritt den Stack hinab zur Sicherungsschicht (Data Link Layer) Damit schon recht weit unten im Stack angekommen Sicherungsschicht nicht mehr komplett abstrakt sondern vom darunterliegenden Transportmedium abhängig Aufgaben zumeist gefordert von der Vermittlungsschicht Mit Hilfe eigener Strukturen (Frames) Aufgaben der Sicherungsschicht Erkennung und Korrektur von Übertragungsfehlern – gab es unvollständig oder falsch übertragene Frames Unterteilung der Daten in Frames und Auffüllen mit Kontroll- informationen -(z.B. Checksum wie CRC)

Lehrstuhl für Kommunikationssysteme - Systeme II6 Aufgaben der Sicherungsschicht Aufgaben Je nach Implementierung: Senden von Bestätigungsframes Löschen von Duplikaten Ausgleich schneller Sender - langsamer Empfänger -Flusssteuerung – gabs schon bei TCP, weshalb das für IP nicht unbedingt sehr sinnvoll sein muss -Bandbreitenanpassung (z.B. im Ethernet bei Mischbetrieb von 10/100/1000/...Mbit/s) Lösung von Problemen beim Broadcasting (z.B. WLAN) Zugriff auf gemeinsames Medium = Mediumzugriff -(medium access control = MAC)

Lehrstuhl für Kommunikationssysteme - Systeme II7 Zentral: Fehlerkontrolle & Korrektur Aufgabe ergibt sich aus den Anforderungen der Bitübertragungs- schicht (unterste Schicht, physikalische Datenübertragung) Auftreten von Störungen Fehlerhafte Interpretation (Analog-Digitalwandlung) Findet auch auf höheren Ebenen des Stacks statt Sicherungsschicht kann mehr Informationen haben als höhere Layer (z.B. Redundanzdaten...) Entlastung des Gesamtsystems (Daten werden nicht erst weit hochgereicht, bevor dann wegen Fehler bspw. verworfen)

8 Fehlerkontrolle Vorwärtsfehlerkorrektur (Forward Error Correction) Verwendung von redundanter Kodierung, die es ermöglicht Fehler ohne zusätzliche Übertragungen zu beheben Rückwärtsfehlerkorretur (Backward Error Correction) Nach Erkennen eines Fehlers, wird durch weitere Kommunikation der Fehler behoben Fehlerkontrolle FehlererkennungFehlerkorrektur Vorwärtsfehler- korrektur Rückwärtsfehler- korrektur

9 Faltungs-Codes Faltungs-Codes (Convolutional Codes) Daten und Fehlerredundanz werden vermischt. k Bits werden auf n Bits abgebildet Die Ausgabe hängt von den k letzten Bits und dem internen Zustand ab 9

10 Beispiel Trellis-Diagramm Faltungs-Kodierer

11 Dekodierung der Faltungs-Codes Algorithmus von Viterbi Dynamische Programmierung Zwei notwendige Voraussetzungen für Dekodierung (für den Empfänger) unbekannte Folge von Zuständen beobachtete Folge von empfangenen Bits (möglicherweise mit Fehler) Der Algorithmus von Viterbi bestimmt die warscheinlichste Folge von Zuständen, welches die empfangenen Bits erklärt Hardware-Implementation möglich

12 Dekodierung (I)

13 Dekodierung (II)

14 Dekodierung (III)

15 Dekodierung (IV)

16 Turbo-Codes Turbo-Codes sind wesentlich effizienter als Faltungs-Codes bestehen aus zwei Faltungs-Codes welche abwechselnd mit der Eingabe versorgt werden. Die Eingabe wird durch eine Permutation (Interleaver) im zweiten Faltungs-Code umsortiert

17 Turbo-Codes Beispiel: UMTS Turbo-Kodierer Dekodierung von Turbo- Codes ist effizienter möglich als bei Faltungscodes Kompensation von Bursts Fehler treten oftmals gehäuft auf (Bursts) z.B.: Daten: A B C D E F mit Fehler: ? ? ? ? ? 9 A B C D E F

18 Interleavers Dann scheitern klassische Kodierer ohne Interleavers Nach Fehlerkorrektur (zwei Zeichen in Folge reparierbar): ? A B C D E F Interleaver: Permutation der Eingabekodierung: A B C D E F z.B. Row-column Interleaver: C D 2 6 A E 3 7 B F mit Fehler: C ? ? ? ? ? 6 A E 3 7 B F Rückpermutiert: 0 ? ? 3 4 ? ? A B C D ? F Nach FEC: A B C D E F

19 Codes im Vergleich Code-Rate versus Signal-Rausch- Verhältnis Stand 1998: (www331.jpl.nasa.gov/public/AllCo desVsSize.GIF)

20 Fehlererkennung: CRC Effiziente Fehlererkennung: Cyclic Redundancy Check (CRC) Praktisch häufig verwendeter Code Hoher Fehlererkennungsrate Effizient in Hardware umsetzbar Beruht auf Polynomarithmetik im Restklassenring Z 2 Zeichenketten sind Polynome Bits sind Koeffizienten des Polynoms

21 Rechnen in Z 2 Rechnen modulo 2: Regeln: Addition modulo 2 = Xor = Subtraktion modulo 2 Multiplikation modulo 2 = And Beispiel: 0 + (1 0) (1 1) = ABA + B ABA - B ABA ¢ B

22 Polynomarithmetik modulo 2 Betrachte Polynome über den Restklassenring Z 2 p(x) = a n x n + … + a 1 x 1 + a 0 Koeffizienten a i und Variable x sind aus 2 {0,1} Berechnung erfolgt modulo 2 Addition, Subtraktion, Multiplikation, Division von Polynomen wie gehabt

23 Zeichenketten und Polynomarithmetik Idee: Betrachte Bitstring der Länge n als Variablen eines Polynoms Bit string: b n b n-1 …b 1 b 0 Polynom: b n x n + … + b 1 x 1 + b 0 Bitstring mit (n+1) Bits entspricht Polynom des Grads n Beispiel A xor B = A(x) + B(x) Wenn man A um k Stellen nach links verschiebt, entspricht das -B(x) = A(x) x k Mit diesem Isomorphismus kann man Bitstrings dividieren

24 Polynome zur Erzeugung von Redundanz: CRC Definiere ein Generatorpolynom G(x) von Grad g Dem Empfänger und Sender bekannt Wir erzeugen g redundante Bits Gegeben: Frame (Nachricht) M, als Polynom M(x) Sender Berechne den Rest der Division r(x) = x g M(x) mod G(x) Übertrage T(x) = x g M(x) + r(x) -Beachte: x g M(x) + r(x) ist ein Vielfaches von G(x) Empfänger Empfängt m(x) Berechnet den Rest: m(x) mod G(x)

25 CRC Übertragung und Empfang Keine Fehler: T(x) wird korrekt empfangen Bitfehler: T(x) hat veränderte Bits Äquivalent zur Addition eines Fehlerpolynoms E(x) Beim Empfänger kommt T(x) + E(x) an

26 CRC Übertragung und Empfang Empfänger Empfangen: m(x) Berechnet Rest m(x) mod G(x) Kein Fehler: m(x) = T(x), -dann ist der Rest 0 Bit errors: m(x) mod G(x) = (T(x)+ E(x)) mod G(x) = T(x) mod G(x) + E(x) mod G(x) 0 Fehlerindikator

27 CRC – Überblick Original Frame M(x) Generator Polynom G(X) r(x) = x g M(x) mod G(x) Sende T(x) = x g M(x) + r(x) Sender Kanal Empfänger Addiert Fehlerpolynom E(x) Empfang: m(x) = T(x) + E(x) Berechnet Rest (T(x) + E(x)) mod G(x) Falls Rest = 0 : Kein FehlerIf Rest 0: Fehler! Kein Fehler: E(x) = 0

28 Generator bestimmt die CRC-Eigenschaften Bit-Fehler werden nur übersehen, falls E(x) ein Vielfaches von G(x) ist Die Wahl von G(x) ist trickreich: Einzel-Bit-Fehler: E(x) = x i für Fehler an Position i G(x) hat mindestens zwei Summenterme, dann ist E(x) kein Vielfaches Zwei-Bit-Fehler: E(x) = x i + x j = x j (x i-j +1) für i>j G(x) darf nicht (x k + 1) teilen für alle k bis zur maximalen Frame-Länge

29 Generator bestimmt die CRC-Eigenschaften Ungerade Anzahl von Fehlern: E(x) hat nicht (x+1) als Faktor Gute Idee: Wähle (x+1) als Faktor von G(x) -Dann ist E(x) kein Vielfaches von G(x) Bei guter Wahl von G(x): kann jede Folge von r Fehlern erfolgreich erkannt werden

30 CRC in der Praxis Verwendetes irreduzibles Polynom gemäß IEEE 802: x 32 + x 23 + x 16 + x 12 + x 11 + x 10 + x 8 + x 7 + x 5 + x 4 + x 2 + x +1 Achtung: Fehler sind immer noch möglich Insbesondere wenn der Bitfehler ein Vielfaches von G(x) ist Implementation: Für jedes Polynom x i wird r(x,i)= x i mod G(x) berechnet Ergebnis von B(x) mod G(x) ergibt sich aus b 0 r(x,0) + b 1 r(x,1) + b 2 r(x,2) b k-1 r(x,k-1) Einfache Xor-Operation

31 Rückwärtsfehlerkorrektur Bei Fehlererkennung muss der Frame nochmal geschickt werden Wie ist das Zusammenspiel zwischen Sender und Empfänger? Bitübertragungsschicht Vermittlungsschicht Sicherungsschicht Bits Pakete Sicherungsschicht Frames From_upper(p) To_lower(p) To_upper(p) From_lower(p) to_lower, from_lower beinhalten CRC oder (bei Bedarf) Vorwärtsfehlerkorrektur

32 Einfaches Simplex-Protokoll mit Bestätigungen Empfänger bestätigt Pakete dem Sender Der Sender wartet für eine bestimmte Zeit auf die Bestätigung (acknowledgment) Falls die Zeit abgelaufen ist, wird das Paket wieder versendet Erster Lösungsansatz –SenderEmpfänger Warte From_upper (p); set_timer, to_lower(p) timeout; to_lower (p), set_timer From_lower (ack); cancel_timer Warte From_lower (p); To_upper(p), To_lower (ack)

33 Diskussion Probleme Sender ist schneller als Empfänger Was passiert, wenn Bestätigungen verloren gehen? Wird nächste Vorlesungsstunde fortgesetzt!

Lehrstuhl für Kommunikationssysteme - Systeme II34 Ende der siebten Vorlesung Ende der vierzehnten Vorlesung Falls noch Evaluationsbögen im Umlauf (vergessen abzugeben, zu Hause ausgefüllt,...) bitte nach vorne... Weiter geht es am Mittwoch, den 1. Juli mit der nächsten Vorlesung – Fortsetzung zur Sicherungsschicht Alle relevanten Informationen auf der Webseite zur Vorlesung: freiburg.de/php_veranstaltungsdetail.php?id=28 freiburg.de/php_veranstaltungsdetail.php?id=28 Vorbereitung: Lesen des Kapitels 5 zur Sicherungsschicht im Kurose&Ross oder entsprechende Seiten in der weiteren Literatur!