Rechnernetze I. Rechnernetze I. 3 Direktverbindungsnetze SS 2012

Ähnliche Dokumente
Rechnernetze 1 Vorlesung im SS 07

Rechnernetze I SS Universität Siegen Tel.: 0271/ , Büro: H-B Stand: 15.

Rechnernetze I. SoSe Universität Siegen Tel.: 0271/ , Büro: H-B Stand: 20.

Rechnernetze I. Rechnernetze I. 3 Direktverbindungsnetze SS 2014

Rechnernetze I. Rechnernetze I. 3 Direktverbindungsnetze SS 2016

Rechnernetze I. Rechnernetze I. 3 Direktverbindungsnetze. SoSe 2018

Strukturen von Rechnernetzen

Rechnernetze II WS 2013/2014. Betriebssysteme / verteilte Systeme Tel.: 0271/ , Büro: H-B 8404

Rechnernetze II WS 2013/2014. Betriebssysteme / verteilte Systeme Tel.: 0271/ , Büro: H-B 8404

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

Sicherungsschicht (Ethernet)

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

Computeranwendung in der Chemie Informatik für Chemiker(innen) 4. Netzwerke

Der Backoff-Algorithmus

Rechnernetze I SS Universität Siegen Tel.: 0271/ , Büro: H-B Stand: 7.

Systeme II 7. Woche Funkprobleme und Ethernet

Grundlagen Rechnernetze und Verteilte Systeme IN0010, SoSe 2018

2 Sicherungsschicht (Data Link Layer)

Zyklische Codes Rechnernetze Übung SS2010

Zugriffsverfahren CSMA/CD CSMA/CA

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

Rechnernetze I. Rechnernetze I. 1 Einführung SS Universität Siegen Tel.: 0271/ , Büro: H-B 8404

Netzwerktechnologien 3 VO

Datenübertragung. Kommunikationstechnik, SS 08, Prof. Dr. Stefan Brunthaler 33

Übungen zu Rechnerkommunikation Wintersemester 2010/2011 Übung 8

Rechnernetze I SS Universität Siegen Tel.: 0271/ , Büro: H-B Stand: 31.

Thema: RNuA - Aufgaben

Vorlesung "Verteilte Systeme" Sommersemester Verteilte Systeme. Empfänger Kommunikationssystem. Netzwerk

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

Systeme II 3. Die Datensicherungsschicht

Hauptdiplomklausur Informatik. September 2000: Rechnernetze

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

Systeme II. 6. Vorlesungswoche

31 Polynomringe Motivation Definition: Polynomringe

Abschlussklausur. Computernetze. 14. Februar Legen Sie bitte Ihren Lichtbildausweis und Ihren Studentenausweis bereit.

Codierung Fehlerdetektion

Abschlussklausur. Netzwerke. 13. Juli Legen Sie bitte Ihren Lichtbildausweis und Ihren Studentenausweis bereit.

Übungsklausur WS 13/14

Bitübertragungsschicht

Themen. MAC Teilschicht. Ethernet. Stefan Szalowski Rechnernetze MAC Teilschicht

Abschlussklausur. Computernetze. Bewertung: 10. Juni Name: Vorname: Matrikelnummer:

Neuaufsetzen bei Übertragungsfehlern. Hier nur noch MAC-Layer: Kapitel 3: Lokale Netze und Weitverkehrsnetze Seite 210

Fehlererkennung und -behandlung. Paritätsverfahren

Rechnernetze I SS Universität Siegen Tel.: 0271/ , Büro: H-B Stand: 25.

5. Foliensatz Computernetze

(LANs) NET 4 Teil Local Area Networks 1

Fehlerdetektion. Cyclic Redanduncy Check. Grundlagen der Rechnernetze Übertragungssicherung 7

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

Systeme II 4./5. Woche Sicherungsschicht. Christian Schindelhauer Technische Fakultät Rechnernetze und Telematik Albert-Ludwigs-Universität Freiburg

Grundlagen der Telematik AMW Übungsaufgaben

Prof. Dr. Christian Baun 10. März Errata zur 1. Auflage von Computernetze kompakt. Erschienen 2012 bei Springer Vieweg. ISBN:

Übung 2 - Media Access Control (MAC)

Rechnernetze I SS Universität Siegen Tel.: 0271/ , Büro: H-B Stand: 21.

6.Vorlesung Netzwerke

Grundlagen der Rechnernetze

Error detection and correction

Technische Informatik - Eine Einführung

Übungsblatt 8. Aufgabe 1 Datentransferrate und Latenz

Rechnernetze II WS 2012/2013. Betriebssysteme / verteilte Systeme Tel.: 0271/ , Büro: H-B 8404

Vorlesung "Verteilte Systeme" Wintersemester 2000/2001. Verteilte Systeme. Empfänger Kommunikationssystem. Netzwerk

2. Übung zur Vorlesung Rechnernetze 1, WS05/ (Abgabe am )

Die Mathematik in der CD

Systeme II 7. Die Datensicherungsschicht (Teil 5)

Übung zu Drahtlose Kommunikation. 8. Übung

Grundlagen der Technischen Informatik. Hamming-Codes. Kapitel 4.3

Betriebssysteme und Netze

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

Übung zu Drahtlose Kommunikation. 1. Übung

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

Klausur Rechnernetze für Studierende des Studiengangs Scientific Programming und Auszubildende zum Beruf des Math.-Tech. Software-Entwicklers

Neuaufsetzen bei Übertragungsfehlern. Lehrstuhl für Informatik 4. Hier nur noch MAC-Layer: Kapitel 3: Netze. Lehrstuhl für Informatik 4

Rechnernetze I. Rechnernetze I. 1 Einführung SS Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/ , Büro: H-B 8404

Informations- und Kommunikationssysteme

Modul 4: Fast- und Gigabit- Ethernet

Grundlagen der Rechnernetze. Übertragungssicherung

Vorlesung: MSD3, Netzwerke WS 2007/08 Kapitel 2 Direktverbindungsnetzwerke Session 04

Rechnernetze 2. Grundlagen

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

Fehlererkennung. Fehlererkennung

Im Vorlesungsskript (5) auf Seite 7 haben wir folgendes Bild:

5. Foliensatz Computernetze

5.) Nach erfolgreicher Übertragung entfernt der Sender seinen Daten-Rahmen vom Ring. Wodurch kann ein verwaister Rahmen entstehen?

01/06/2011. Rechnernetze Übung 6. Frank Weinhold Professur VSR Fakultät für Informatik TU Chemnitz Juni Hello

Rechnernetze I. Rechnernetze I. 2 Protokolle und Protokollhierharchie SS 2012

OSI-Schichtenmodell. Martin Fechtner

2 Kommunikationssysteme. vs2 1

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

Dienste der Sicherungsschicht

Transkript:

Rechnernetze I SS 2012 Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 14. Mai 2012 Betriebssysteme / verteilte Systeme Rechnernetze I (1/12) i Rechnernetze I SS 2012 3 Direktverbindungsnetze Betriebssysteme / verteilte Systeme Rechnernetze I (3/12) 59

3 Direktverbindungsnetze... Inhalt (1) Hardware-Bausteine: Knoten und Verbindungsleitungen Modulation Codierung Framing Fehlererkennung und Fehlerkorrektur Peterson, Kap. 2.1 2.4 Betriebssysteme / verteilte Systeme Rechnernetze I (3/12) 60 3 Direktverbindungsnetze... Inhalt (2) Sicherungsprotokolle Stop-and-Wait-Algorithmus Sliding-Window-Algorithmus Reihenfolgeerhaltung und Flußkontrolle Medienzugriffssteuerung (MAC) Ethernet (CSMA-CD) Token-Ring Peterson, Kap. 2.5, 2.6, 2.7.2 Betriebssysteme / verteilte Systeme Rechnernetze I (3/12) 61

3.1 Hardwarebausteine OSI: 1 Aufbau eines Knotens CPU Netzwerkadapter: Bindeglied zwichen CPU/Speicher und Netzwerk-Link Cache Netzwerk adapter zum Netzwerk Speicher E/A Bus Betriebssysteme / verteilte Systeme Rechnernetze I (3/12) 62 3.1 Hardwarebausteine... Verbindungs leitungen Übertragen Signale als elektromagnetische Wellen Typische Attribute: Frequenz- bzw. Wellenlängenbereich (Bandbreite) Dämpfung (max. Kabellänge) Richtung des Datenflusses Simplex: nur in eine Richtung Vollduplex: in beide Richtungen, gleichzeitig Halbduplex: in beide Richtungen, abwechselnd Grundlegende Arten: Kupferkabel Glasfaserkabel (Lichtwellenleiter) Drahtlose Verbindung (Funk, IR) Betriebssysteme / verteilte Systeme Rechnernetze I (3/12) 63

3.1 Hardwarebausteine... Kupferkabel: Koaxialkabel Aufbau: Innenleiter aus Kupfer Isolation Außenleiter aus Kupfergeflecht Schutzhülle aus Kunststoff Hohe Bandbreite, geringe Dämpfung, teuer Basisband-Kabel (digitale Übertragung, 1 Kanal, <500m) Beispiele: Ethernet 10Base5, 10Base2 Breitband-Kabel (analoge Übertragung, mehrere Kanäle, mehrere km) Beispiel: Fernsehkabel Betriebssysteme / verteilte Systeme Rechnernetze I (3/12) 64 3.1 Hardwarebausteine... Kupferkabel: Twisted-Pair (verdrilltes) Kabel Aufbau: Adernpaar Kabelmantel Adern Adernpaarschirm Kabelschirm geschirmt (S/STP, F/STP,...) ungeschirmt (UTP) Geringe Kosten, relativ gute Bandbreite Beispiel: Ethernet 10BaseT, 100BaseT Betriebssysteme / verteilte Systeme Rechnernetze I (3/12) 65

3.1 Hardwarebausteine... (Animierte Folie) Glasfaserkabel Glas kern Kunststoff mantel Kunststoff mantel Glas mantel Kunststoff mantel Glas kern Glas mantel Führung von Lichtwellen durch Totalreflexion Bandbreite im Bereich Gb/s, Länge im Bereich km Varianten: Multimode-Faser Monomode-Faser hohe Bandbreite, teuer (Laserdioden) Betriebssysteme / verteilte Systeme Rechnernetze I (3/12) 66 3.2 Modulation OSI: 1 Zur Übertragung müssen Binärdaten in analoge elektrische Signale (elektromagnetische Wellen) umgesetzt werden Umsetzung in zwei Schritten: Binär daten Codierung Binärdaten / Digitalsignal Modulation Analog signal Modulation: Variation von Frequenz, Amplitude und/oder Phase einer Welle zur Überlagerung der (Träger-)Welle mit dem Nutzsignal z.b. bei Funk, Modem, Breitbandkabel,... (entfällt bei Basisband-Übertragung) Betriebssysteme / verteilte Systeme Rechnernetze I (3/12) 67

3.2 Modulation... 0 1 0 1 1 0 0 1 0 0 1 Digitalsignal Amplituden modulation (AM) Frequenz modulation (FM) Phasen modulation (PM) Phasensprung Betriebssysteme / verteilte Systeme Rechnernetze I (3/12) 68 3.3 Codierung OSI: 1 Übertragung eines Bitstroms zwischen zwei Knoten: Signalisierungskomponente (Codierung/Decodierung) Knoten A Adapter Signal Bitstrom Adapter Knoten B Einfachste Codierung: Non-Return to Zero (NRZ): 1 ˆ= high, 0 ˆ= low Probleme: Festlegung der Schwelle zwischen high und low Synchronisation (Taktwiederherstellung) wo ist die Grenze zwischen zwei Bits? Betriebssysteme / verteilte Systeme Rechnernetze I (3/12) 69

Anmerkungen zu Folie 69: Man unterscheidet zwischen Leitungscodierung und Kanalcodierung. In diesem Abschnitt wird ausschließlich die Leitungscodierung betrachtet! Die Kanalcodierung dient dazu, einen Bitstrom bei der Übertragung über gestörte Kanäle durch Hinzufügen von Redundanz gegen Übertragungsfehler zu schützen. 3.3 Codierung... Abhilfe: Codierungen mit Taktwiederherstellung Bits 0 0 1 0 1 1 1 1 0 1 0 0 0 0 1 0 Takt NRZ Manchester NRZI NRZI: Non Return to Zero Inverted Betriebssysteme / verteilte Systeme Rechnernetze I (3/12) 70

Rechnernetze I SS 2012 03.05.2012 Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 14. Mai 2012 Betriebssysteme / verteilte Systeme Rechnernetze I (4/12) i Organisatorisches Übungseinteilung Die Montags-Gruppe wurde geschlossen Die Donnerstags-Gruppe wurde geteilt: 14:15-15:45, H-F 112, 14-tägig, gerade Wochen, ab 03.05. 14:15-15:45, H-F 112, 14-tägig, ungerade Wochen, ab 10.05. Bitte melden Sie sich über das Web-Formular ggf. um! Betriebssysteme / verteilte Systeme Rechnernetze I (4/12) ii

3.3 Codierung... Manchester-Codierung Bitstrom wird mit Taktsignal EXOR-verknüpft Anwendung z.b. bei 10 Mb/s Ethernet Problem: NRZI Baudrate (Rate, mit der das Signal abgetastet werden muß) ist doppelt so hoch wie die Bitrate verschwendet Bandbreite Signal wird bei jedem 1-Bit invertiert Problem: keine Taktwiederherstellung bei aufeinanderfolgenden Nullen möglich Betriebssysteme / verteilte Systeme Rechnernetze I (4/12) 71 3.3 Codierung... 4B/5B-Codierung 4 Datenbits werden auf 5-Bit Codeworte so abgebildet, daß nie mehr als 3 aufeinanderfolgende Nullen übertragen werden müssen jedes der 5-Bit Codeworte hat höchstens eine Null am Anfang höchstens zwei Nullen am Ende Übertragung der Codeworte mit NRZI Overhead nur noch 25% Bei schnellen Netzen (z.b. Fast Ethernet, GBit-Ethernet) oder auch schnellen Modems werden noch effizientere Verfahren zur Taktrückgewinnung eingesetzt Betriebssysteme / verteilte Systeme Rechnernetze I (4/12) 72

Anmerkungen zu Folie 72: Die genaue Codetabelle der 4B/5B-Codierung ist: Daten codierte Daten (4 Bit) (5 Bit) 0000 11110 0001 01001 0010 10100 0011 10101 0100 01010 0101 01011 0110 01110 0111 01111 Daten codierte Daten (4 Bit) (5 Bit) 1000 10010 1001 10011 1010 10110 1011 10111 1100 11010 1101 11011 1110 11100 1111 11101 3.4 Framing OSI: 2 Wir betrachten nun die Übertragung von Datenblöcken (hier: Frames) zwischen Rechnern: Knoten A Adapter Bitstrom Frames Adapter Knoten B Motivation: im Fehlerfall müssen nur einzelne Frames neu übertragen werden Zentrale Aufgabe: Erkennung, wo ein Frame im Bitstrom anfängt und wo er aufhört dazu: Framegrenzen müssen im Bitstrom erkennbar sein Betriebssysteme / verteilte Systeme Rechnernetze I (4/12) 73

3.4 Framing... Byte-Count Methode Frame-Header enthält Länge des Datenteils Beispiel: Frame im DDCMP-Protokoll, DECNET: 8 8 8 14 42 16 SYN SYN Class Count Header Body CRC Problem: was passiert, wenn die Länge fehlerhaft übertragen wird? Frame-Ende wird nicht korrekt erkannt SYN-Zeichen am Beginn jedes Frames, um (wahrscheinlichen!) Anfang des Folgeframes zu finden Verwendet u.a. beim ursprünglichen Ethernet Betriebssysteme / verteilte Systeme Rechnernetze I (4/12) 74 3.4 Framing... Sentinel-Methode Frame-Ende wird durch spezielles Zeichen markiert Beispiel: Frame im BISYNC-Protokoll (IBM): 8 8 8 8 8 16 SYN SYN SOH Header STX Body ETX CRC Problem: Das Endezeichen kann auch im Datenteil (Body) vorkommen Lösung: Byte-Stuffing ersetze ETX im Datenteil durch DLE ETX ersetze DLE im Datenteil durch DLE DLE verwendet u.a. bei PPP Betriebssysteme / verteilte Systeme Rechnernetze I (4/12) 75

3.4 Framing... Sentinel-Methode... Lösung: Bit-Stuffing Eindeutigkeit durch Einfügen von Bits in den Bitstrom erreicht Beispiel (HDLC-Protokoll): Anfangs- und Endemarkierung ist 01111110 2 nach 5 aufeinanderfolgenden 1-Bits wird vom Sender ein 0-Bit in den Bitstrom eingeschoben wenn Empfänger 5 aufeinanderfolgende 1-Bits gelesen hat: nächstes Bit = 0: ignorieren, da eingeschoben nächstes Bit = 1: sollte Endemarkierung sein (prüfe, ob die 0 folgt; falls nicht: Fehler) Lösung: Nutzung ungültiger Codeworte Anfang und Ende durch Codeworte markiert, die sonst nicht vorkommen (z.b. bei 4B/5B-Codierung) Betriebssysteme / verteilte Systeme Rechnernetze I (4/12) 76 3.5 Fehlererkennung und korrektur OSI: 2 Ziel: Übertragungsfehler in Frames erkennen bzw. korrigieren Fehlerbehandlung kommt später ( 3.6) Vorgehensweise: Hinzufügen von Redundanzbits (Prüfbits) zu jedem Frame Theoretischer Hintergrund: Hamming-Distanz Hamming-Distanz d = Minimale Anzahl von Bits, in denen sich zwei Worte eines Codes unterscheiden d f +1 f Einzelbitfehler erkennbar d 2 f + 1 f Einzelbitfehler korrigierbar Beispiel: Paritätsbit führt zu d = 2 Betriebssysteme / verteilte Systeme Rechnernetze I (4/12) 77

3.5 Fehlererkennung und korrektur... (Animierte Folie) Zweidimensionale Parität Erweiterung der einfachen Parität Beispiel: 6 Worte á 7 Bit Erkennt alle 1, 2, 3 sowie die meisten 4-Bit-Fehler Erlaubt auch die Korrektur von 1-Bit-Fehlern Daten 0 1 0 1 0 0 1 1 1 1 0 1 0 0 1 1 0 1 1 1 1 0 0 0 0 1 1 1 0 0 1 1 0 1 0 0 Paritäts bits 0 1 1 1 1 0 1 1 1 1 1 0 Paritäts byte 1 1 1 1 0 1 1 0 Betriebssysteme / verteilte Systeme Rechnernetze I (4/12) 78 3.5 Fehlererkennung und korrektur... CRC (Cyclic Redundancy Check) Ziel: hohe Warscheinlichkeit der Fehlererkennung mit möglichst wenig Prüfbits Basis des CRC-Verfahrens: Polynomdivision mit Modulo-2-Arithmetik (d.h. Add./Subtr. entspricht EXOR) Idee: jede Nachricht M kann als Polynom M(x) aufgefaßt werden, z.b. M = 1 0 0 1 1 0 1 0 (Bits 7, 4, 3, 1 sind 1) M(x) = x 7 + x 4 +x 3 +x 1 wähle Generatorpolynom C(x) vom Grad k erweitere M um k Prüfbits zu Nachricht P, so daß P(x) ohne Rest durch C(x) teilbar ist Betriebssysteme / verteilte Systeme Rechnernetze I (4/12) 79

3.5 Fehlererkennung und korrektur... (Animierte Folie) CRC (Cyclic Redundancy Check)... Beispiel zur Polynomdivision Nachricht M: 10011010 3 Prüfbits (k = 3) Generator C: 1101 Divisionsrest R wird an die Nachricht M angefügt Versendete Nachricht P: 10011010101 Diese Nachricht ist durch den Generator ohne Rest teilbar: 1 0 0 0 1 1 0 1 R(x) = M(x) mod C(x) (M(x) R(x)) mod C(x) = 0 1 0 0 1 1 0 1 0 0 0 0 1 1 0 1 1 0 0 1 Generator 1 1 0 1 1 0 1 1 1 1 0 1 1 1 0 0 1 1 0 1 1 0 0 0 1 1 0 1 Nachricht um 3 Bit erweitert 1 0 1 Rest Betriebssysteme / verteilte Systeme Rechnernetze I (4/12) 80 3.5 Fehlererkennung und korrektur... CRC (Cyclic Redundancy Check)... Wahl des Generatorpolynoms? So, daß möglichst viele Fehler erkannt werden! Beispiel für ein übliches CRC-Polynom: CRC-16: x 16 + x 15 + x 2 + 1 CRC-16 erkennt: alle Ein-und Zweibitfehler alle Fehler mit ungerader Bitanzahl alle Fehlerbündel mit Länge 16 Bit Gründe für den Einsatz von CRC: Gute Fehlererkennung Sehr effizient in Hardware realisierbar Betriebssysteme / verteilte Systeme Rechnernetze I (4/12) 81

3.6 Sicherungsprotokolle OSI: 2(4) Problem: Empfänger kann Fehler in Frames entdecken, aber i.a. nicht korrigieren Frames können auch ganz verloren gehen z.b. bei Verlust der Frame-Synchronisation oder durch überlasteten Switch / Router Frames müssen deshalb ggf. neu übertragen werden Betriebssysteme / verteilte Systeme Rechnernetze I (4/12) 82 3.6 Sicherungsprotokolle... Basismechanismen zur Lösung: Bestätigungen (Acknowledgements, ACK) spezielle Kontrollframes, die an Partner zurückgesandt werden bei Duplex-Verbindung auch Huckepackverfahren (Piggyback): Timeouts Bestätigung wird im Header eines normalen Frames übertragen wenn nach einer bestimmten Zeit kein ACK eintrifft, überträgt der Sender den Frame erneut Betriebssysteme / verteilte Systeme Rechnernetze I (4/12) 83

3.6.1 Stop-and-Wait-Algorithmus Ablauf bei fehlerfreier Übertragung Sender wartet nach der Übertragung eines Frames, bis ACK eintrifft Erst danach wird der nächste Frame gesendet Sender Timeout Frame ACK Frame Empfänger ACK Zeit Frame ACK... Betriebssysteme / verteilte Systeme Rechnernetze I (4/12) 84 3.6.1 Stop-and-Wait-Algorithmus... (Animierte Folie) Ablauf bei Übertragungsfehler Falls ACK nicht innerhalb der Timout-Zeit eintrifft: Wiederholung des gesendeten Frames Sender Empfänger Sender Empfänger Frame Frame Timeout Zeit Timeout Timeout ACK Frame Frame Timeout ACK ACK Betriebssysteme / verteilte Systeme Rechnernetze I (4/12) 85

3.6.1 Stop-and-Wait-Algorithmus... Was passiert, wenn ACK verloren geht oder zu spät eintrifft? Der Empfänger erhält den Frame mehrfach Er muß dies erkennen können! Daher: Frames und ACKs erhalten eine Sequenznummer Bei Stop-and-Wait reicht eine 1 Bit lange Sequenznummer d.h. abwechselnd 0 und 1 Timeout Timeout Sender Frame 0 ACK 0 Frame 0 ACK 0 Empfänger Duplikat OK Betriebssysteme / verteilte Systeme Rechnernetze I (4/12) 86 3.6.2 Sliding-Window-Algorithmus (Animierte Folie) Motivation Problem bei Stop-and-Wait: Leitung wird nicht ausgelastet (siehe Übungsaufgabe!) Um Leitung auszulasten: Sender Empfänger Sender sollte die Datenmenge senden, die dem Verzögerungs(RTT)- Bandbreiten-Produkt entspricht, bevor er auf das erste ACK wartet dann mit jedem ACK einen neuen Frame senden RTT Zeit......... Betriebssysteme / verteilte Systeme Rechnernetze I (4/12) 87

3.6.2 Sliding-Window-Algorithmus... (Animierte Folie) Funktionsweise Jeder Frame erhält eine Sequenznummer Der Sender besitzt ein Schiebefenster (Sliding Window): LAR < SWS... 3 4 6 7 8 9 10 11 12 5... LFS Jeder Eintrag steht für einen gesendeten Frame LAR: Last Acknowledgement Received bis zu diesem Frame (incl.) wurden alle quittiert LFS: Last Frame Sent LFS LAR < SWS SWS: Sender Window Size max. SWS Frames werden ohne ACK abgeschickt Betriebssysteme / verteilte Systeme Rechnernetze I (4/12) 88 3.6.2 Sliding-Window-Algorithmus... (Animierte Folie) Funktionsweise... Der Empfänger hat ebenfalls ein Sliding Window: < RWS LAF LFR < RWS 4 5 8...... 7 LFR LAF Jeder Eintrag steht für einen empfangenen Frame LFR: Last Frame Received alle Frames n mit n LFR wurden korrekt empfangen und quittiert LAF: Largest Acceptable Frame Frame n wird nur akzeptiert, wenn LFR < n LAF RWS: Receiver Window Size Anzahl der Pufferplätze beim Empfänger Betriebssysteme / verteilte Systeme Rechnernetze I (4/12) 89

3.6.2 Sliding-Window-Algorithmus... Quittierung von Frames Akkumulatives Acknowledgement: ACK für Frame n gilt auch für alle Frames n Zusätzlich negative Acknowledgements möglich: Wenn Frame n empfangen wird, aber Frame m mit m < n noch aussteht, wird für Frame m ein NACK geschickt Alternative: selektives Acknowledgement: ACK für Frame n gilt nur für diesen Frame Betriebssysteme / verteilte Systeme Rechnernetze I (4/12) 90 3.6.2 Sliding-Window-Algorithmus... Was kann der Sliding-Window-Alogrithmus leisten? Sicherung der Übertragung nicht quittierte Pakete werden nochmal übertragen Wiederherstellung der korrekten Frame-Reihenfolge Empfänger gibt nur die Frames mit Sequenznummer LFR an die obere Schicht weiter Flußkontrolle (durch kleine Erweiterung) Empfänger teilt Sender Anzahl freier Pufferplätze mit, Sender paßt SWS entsprechend an Mögliche Kritik: Separations of Concerns verschiedene Funktionen in einem einzigen Mechanismus implementiert Betriebssysteme / verteilte Systeme Rechnernetze I (4/12) 91

Rechnernetze I SS 2012 10.05.2012 Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 14. Mai 2012 Betriebssysteme / verteilte Systeme Rechnernetze I (5/12) i 3.6.2 Sliding-Window-Algorithmus... Problem in der Praxis Begrenzte Anzahl von Bits für die Sequenznummer im Frame-Header z.b. bei 3 Bits nur Nummern 0... 7 möglich Reicht ein endlicher Bereich an Sequenznummern aus? ja, abhängig von SWS und RWS: falls RWS = 1: NSeqNum SWS + 1 falls RWS = SWS: NSeqNum 2 SWS (NSeqNum = Anzahl von Sequenznummern) aber nur, wenn die Reihenfolge der Frames bei der Übertragung nicht verändert wird! diese Bedingung ist bei Direktverbindungen erfüllt Betriebssysteme / verteilte Systeme Rechnernetze I (5/12) 92

3.7 Medienzugriffssteuerung (MAC) OSI: 2 In vielen LANs: Knoten greifen auf ein gemeinsames Medium zu Zugriff muß geregelt werden, um Kollisionen zu vermeiden: zu jeder Zeit darf nur jeweils ein Knoten senden Typische Verfahren: CSMA/CD (Ethernet) Tokenbasierte Verfahren (Token-Ring) CSMA/CA (WLAN, CAN-Bus, Rechnernetze 2) Betriebssysteme / verteilte Systeme Rechnernetze I (5/12) 93 3.7.1 Ethernet Erfolgreichste LAN-Technologie der letzten Jahre Im Folgenden: Grundlagen, 10 Mb/s und 100 Mb/s Ethernet Ursprünglich Mehrfachzugriffsnetz: alle Rechner nutzen eine gemeinsame Verbindungsleitung Heute: Punkt-zu-Punkt Verbindungen Bob Metcalfe Xerox, 1976 Betriebssysteme / verteilte Systeme Rechnernetze I (5/12) 94

3.7.1 Ethernet... (Animierte Folie) Verkabelung 10Base5 (max. 500m) OSI: 1 10BaseT / 100BaseTx (100m) Hub / Switch Hub: Verstärker und Verteiler (OSI-Schicht 1) Switch: Vermittlungsknoten (OSI-Schicht 2) Betriebssysteme / verteilte Systeme Rechnernetze I (5/12) 95 3.7.1 Ethernet... Physikalische Eigenschaften 10Base5 (10 Mb/s) Segmente aus Koaxialkabel, je max. 500m Segmente über Repeater (Hub mit 2 Ports) verbindbar 100BaseTx (100 Mb/s) Twisted-Pair Kabel, je max. 100m Sternförmige Verkabelung mit Hubs / Switches Backbone Repeater...... max. 4 Repeater zw. zwei Knoten erlaubt Manchester-Codierung 4B5B-Codierung Betriebssysteme / verteilte Systeme Rechnernetze I (5/12) 96

3.7.1 Ethernet... OSI: 2 Frame-Format 64 48 48 16 Präambel Ziel adresse Quell adresse Typ/ Länge Body 32 CRC Adressen (MAC-Adressen): Identifizieren die Netzwerkkarte 6 Byte (48 Bit) lang, weltweit eindeutig jeder Hersteller erhält ein eindeutiges 24 Bit Präfix und vergibt eindeutige Suffixe Adresse ff:ff:ff:ff:ff:ff als Broadcast-Adresse Niedrigstwertiges Bit = 1: Multicast-Adresse Die Netzwerkkarte bestimmt, welche Frames sie empfängt Betriebssysteme / verteilte Systeme Rechnernetze I (5/12) 97 Anmerkungen zu Folie 97: MAC-Adressen werden in der Regel byteweise in hexadezimaler Notation aufgeschrieben, wobei die einzelnen Bytes typischerweise durch Doppelpunkte oder Bindestriche getrennt werden. Bei Ethernet MAC-Adressen (nach IEEE 802.3) wird dabei das niedrigstwertige Byte zuerst notiert. Ein Beispiel für eine Multicast-Adresse wäre daher: 01:00:0c:cc:cc:cc Das Multicast -Bit ist damit Teil des Hersteller-Präfixes, ebenso wie ein weiteres spezielles Bit, das die Adresse als lokal bzw. weltweit eindeutig kennzeichnet. Im ursprünglichen Ethernet-Standard von Xerox war die Länge des Datenteils im Header angegeben. Im aktuellen Standard ist hier der Frame-Typ gespeichert (d.h. an welches Schicht-3 Protokoll der Empfänger die Nutzdaten übergeben soll). Das Frame-Ende wird durch die Schicht 1 erkannt (Fehlen eines (Takt-)Signals bei 10 Mb/s Ethernet, ungültiger 4B5B-Code bei 100 Mb/s Ethernet) und an Schicht 2 weitergemeldet.

3.7.2 CSMA/CD OSI: 2 Begriffsdefinition Zugangsprotokoll zum gemeinsamen Übertragungsmedium beim Ethernet Carrier Sense Multiple Access jede Netzwerkkarte prüft zunächst, ob die Leitung frei ist, bevor sie einen Frame sendet Collision Detection wenn die Leitung frei ist, sendet die Netzwerkkarte ihren Frame dabei erkennt der Sender Kollisionen mit Frames, die andere Netzwerkkarten evtl. gleichzeitig senden bei Kollision: Abbruch des Sendens, nach einiger Zeit neuer Sendeversuch Betriebssysteme / verteilte Systeme Rechnernetze I (5/12) 98 3.7.2 CSMA/CD... CSMA/CD Algorithmus Sendeversuch Medium abhören Warten gemäß Backoff Strategie ENDE Medium frei? nein ja Fertig? nein ja Daten senden und Medium abhören JAM Signal senden nein Kollision? ja Betriebssysteme / verteilte Systeme Rechnernetze I (5/12) 99

Anmerkungen zu Folie 99: Das JAM-Signal dient dazu, die Kollision zu verlängern, damit auch alle anderen Stationen die Chance haben, die Kollision zu erkennen. Auch ein Hub, der eine Kollision erkennt (weil an mindestens zwei Eingängen ein Signal empfangen wird), gibt ein JAM-Signal an alle Ausgänge weiter. 3.7.2 CSMA/CD... Exponential Backoff -Strategie Aufgabe: Bestimmung der Wartezeit zwischen Kollision und erneutem Sendeversuch Ziel: erneute Kollision möglichst vermeiden Vorgehensweise: c = Anzahl der bisherigen Kollisionen für aktuellen Frame warte s 51,2 µs (bei 10 Mb/s), wobei s wie folgt bestimmt wird: falls c 10: wähle s { 0, 1,..., 2 c -1 } zufällig falls c [11, 16]: wähle s { 0, 1,..., 1023 } zufällig falls c = 17: Abbruch mit Fehler damit: neue Sendeversuche zeitlich entzerrt, Wartezeit an Netzlast angepaßt Betriebssysteme / verteilte Systeme Rechnernetze I (5/12) 100

3.7.2 CSMA/CD... (Animierte Folie) Kollisionserkennung: Worst-Case Szenario Signal 00000000 1111111101 00000000 1111111101 00000000 1111111101 laufzeit d A B t = 0: A beginnt, einen Frame zu senden t = d ǫ: B beginnt ebenfalls, einen Frame zu senden t = d: A s Frame kommt bei B an Kollision! t = 2 d: B s (Kollisions-)Frame kommt bei A an wenn A zu diesem Zeitpunkt nicht mehr sendet, erkennt A keine Kollision Betriebssysteme / verteilte Systeme Rechnernetze I (5/12) 101 3.7.2 CSMA/CD... Sichere Kollisionserkennung Um Kollisionen immer erkennen zu können, definiert Ethernet: maximale RTT: 512 Bit-Zeiten 51,2 µs bei 10 Mb/s, 5,12 µs bei 100 Mb/s legt maximale Ausdehnung des Netzes fest, z.b. 200m bei 100BaseTx mit Hubs minimale Framelänge: 512 Bit (64 Byte), zzgl. Präambel kleinere Frames werden vor dem Senden aufgefüllt Das stellt im Worst-Case Szenario sicher, daß Station A immer noch sendet, wenn B s Frame bei ihr ankommt damit erkennt auch Station A die Kollision und kann ihren Frame wiederholen Betriebssysteme / verteilte Systeme Rechnernetze I (5/12) 102

3.7.3 MAC im Token-Ring OSI: 2 (Animierte Folie) Netze mit Ringtopologie, z.b. IBM Token-Ring, FDDI Das Token (spezielle Bitfolge) umkreist den Ring Ein Knoten, der senden will, kann das Token ergreifen und dann senden Frame umkreist den Ring und wird vom Sender wieder entfernt jeder Knoten reicht den Frame weiter der Empfänger macht sich eine Kopie Das Token kann nur für bestimmte Zeit behalten werden danach muß der Knoten das Token wieder freigeben Betriebssysteme / verteilte Systeme Rechnernetze I (5/12) 103 3.7.3 MAC im Token-Ring... Diskussion Mit gegebener Token-Haltezeit THT kann jeder Knoten garantiert nach Ablauf der Zeit TRT AnzahlKnoten THT + RingLatenz seinen Frame senden Daher: Eignung für Realzeitanwendungen Mit CSMA/CD sind keine derartigen Garantien möglich Andererseits: bei unbelastetem Netz kann ein Knoten bei CSMA/CD immer sofort senden Betriebssysteme / verteilte Systeme Rechnernetze I (5/12) 104

3.8 Zusammenfassung Hardware: Knoten, Leitungen (Kupfer, Glasfaser, Funk) Codierung und Modulation Umsetzen des Bitstroms in ein elektrisches Signal wichtig: Taktwiederherstellung Framing: Erkennung des Anfangs / Endes eines Datenblocks Fehlererkennung und -korrektur Betriebssysteme / verteilte Systeme Rechnernetze I (5/12) 105 3.8 Zusammenfassung... Sicherungsprotokolle Stop-and-Wait-Algorithmus Sliding-Window-Algorithmus bessere Auslastung der Leitung auch: Reihenfolgeerhaltung und Flußkontrolle Medienzugriffssteuerung (MAC) Ethernet (CSMA-CD) Token-Ring: garantierte maximale Sendeverzögerung Nächste Lektion: Paketvermittlung, LAN-Switch / Bridge Betriebssysteme / verteilte Systeme Rechnernetze I (5/12) 106