5.Vorlesung Netzwerke



Ähnliche Dokumente
6. Vorlesung Netzwerke

6.Vorlesung Netzwerke

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

4. Foliensatz Computernetze

4. Foliensatz Computernetze

Übungsblatt 8. Aufgabe 1 Datentransferrate und Latenz

Einführung in IP, ARP, Routing. Wap WS02/03 Ploner, Zaunbauer

Idee des Paket-Filters

Übung 6. Tutorübung zu Grundlagen: Rechnernetze und Verteilte Systeme (Gruppen MI-T7 / DO-T5 SS 2015) Michael Schwarz

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

Switching. Übung 7 Spanning Tree. 7.1 Szenario

das Spanning Tree-Protokoll

Unterrichtsbeispiele Sek.1 zum Themenbereich Computernetze

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

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

8. Bintec Router Redundancy Protocol (BRRP) 8.1 Einleitung

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

9. Foliensatz Betriebssysteme und Rechnernetze

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

EasyWk DAS Schwimmwettkampfprogramm

IAC-BOX Netzwerkintegration. IAC-BOX Netzwerkintegration IACBOX.COM. Version Deutsch

Netzwerk- Konfiguration. für Anfänger

IRF2000 Application Note Lösung von IP-Adresskonflikten bei zwei identischen Netzwerken

Technical Note ewon über DSL & VPN mit einander verbinden

Thema: VLAN. Virtual Local Area Network

BRÜCKENTYPEN FUNKTION UND AUFGABE

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version Deutsch

Switch: - nicht konfigurierbare (unmanaged) - konfigurierbare (managed)

Guide DynDNS und Portforwarding

CCNA Exploration Network Fundamentals. Chapter 6 Subnetze

Die Subnetzmaske/Netzwerkmaske

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

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

HBF IT-Systeme. BBU-NPA Übung 4 Stand:

Konfigurationsanleitung Access Control Lists (ACL) Funkwerk. Copyright Stefan Dahler Oktober 2008 Version 1.0.

1 von :04

Einführung in die. Netzwerktecknik

Grundlagen Funktionsweise Anhang Begriffserklärungen. DHCP Grundlagen. Andreas Hoster. 9. Februar Vortrag für den PC-Treff Böblingen

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Grundlagen der Technischen Informatik. 2. Übung

Zeichen bei Zahlen entschlüsseln

Kommunikations-Management

WLAN Konfiguration. Michael Bukreus Seite 1

Modul 13: DHCP (Dynamic Host Configuration Protocol)

Erstellen von Mailboxen

16. Übungen 154 1x1_Networking by Cisco 1x1_Networking by Cisco 155

Theoretische Grundlagen der Informatik WS 09/10

Aufgabe 12.1b: Mobilfunknetzwerke

DNÜ-Tutorium HS Niederrhein, WS 2014/2015. Probeklausur

Routing im Internet Wie findet ein IP Paket den Weg zum Zielrechner?

Primzahlen und RSA-Verschlüsselung

Seite Wireless Distribution System (Routing / Bridging) 3.1 Einleitung

Netzwerk einrichten unter Windows

1 topologisches Sortieren

Öffnen Sie den Internet-Browser Ihrer Wahl. Unabhängig von der eingestellten Startseite erscheint die folgende Seite in Ihrem Browserfenster:

How-to: Webserver NAT. Securepoint Security System Version 2007nx

Man unterscheidet zwischen LAN (Local Area Network) und WAN (Wide Area Network), auch Internet genannt.

Herzlich Willkommen bei der nfon GmbH

Anleitung zur Konfiguration eines NO-IP DynDNS-Accounts mit der TOOLBOXflex-3.2

Anbindung des eibport an das Internet

Printserver und die Einrichtung von TCP/IP oder LPR Ports

ICMP Internet Control Message Protocol. Michael Ziegler

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Netzwerke 3 Praktikum

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

VRRP. Bild zeigt die Adressangaben in einem IP-Paket bei dessen Übermittlung über die Grenze eines IP-Subnetzes hinweg.

Ether S-Net Diagnostik

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

Einführung in. Logische Schaltungen

1 Konto für HBCI/FinTS mit Chipkarte einrichten

Erklärung zum Internet-Bestellschein

Gefahren aus dem Internet 1 Grundwissen April 2010

Hilfestellung. ALL500VDSL2 Rev.B & ALL02400N. Zugriff aus dem Internet / Portweiterleitung / Fernwartung. Router. Endgeräte. lokales.

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

FTP-Leitfaden RZ. Benutzerleitfaden

METTLER TOLEDO ETHERNET-Option

Stefan Dahler. 1. Remote ISDN Einwahl. 1.1 Einleitung

Anleitung zur Nutzung des SharePort Utility

Chapter 8 Ethernet-Switching. CCNA 1 version 3.0 Wolfgang Riggert,, FH Flensburg auf der Grundlage von

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer

Root-Server für anspruchsvolle Lösungen

IEEE 802.1x Authentifizierung. IEEE 802.1x Authentifizierung IACBOX.COM. Version Deutsch

Prof. Dr. Klaus Lang, Fachhochschule Bingen. rwho rhosts.. NIS YP ... NFS RIP/OSPF/EGP ARP/RARP SLIP/PPP. Modem/V24/ISDN

ANYWHERE Zugriff von externen Arbeitsplätzen

Outlook 2013

Wie macht man einen Web- oder FTP-Server im lokalen Netzwerk für das Internet sichtbar?

IP routing und traceroute

Port-Weiterleitung einrichten

Faxen über das Internet aus Win-CASA so einfach geht s!

Anleitung zur Installation des Printservers

Black Box erklärt. Subnetzmasken

Anleitung Grundsetup C3 Mail & SMS Gateway V

Leitfaden zur Einrichtung za-mail mit IMAP auf dem iphone

Kontrollfragen: Internet

Virtual Private Network

HowTo: erweiterte VLAN Einrichtung & Management von APs mittels des DWC- 1000/DWS-4026/DWS-3160

Lizenzen auschecken. Was ist zu tun?

Aufruf der Weboberflache des HPM- Warmepumpenmanagers aus dem Internet TIPPS

Transkript:

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 1/78 5.Vorlesung Netzwerke Christian Baun Hochschule Darmstadt Fachbereich Informatik christian.baun@h-da.de 1.11.2011, 8.11.2011, 15.11.2011

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 2/78 Wiederholung vom letzten Mal Bitübertragungsschicht Kodierung von Daten Non-Return to Zero (NRZ) Non-Return to Zero Invert (NRZI) Return-to-Zero (RZ-Kodierung) Unipolare RZ-Kodierung Alternate Mark Inversion (AMI-Kodierung) B8ZS Manchesterkodierung Manchester II-Kodierung Differentielle Manchesterkodierung 4B5B 6B6B 8B10B 8B6T 5-PAM

Heute Sicherungsschicht Adressierung MAC-Adressen, Adressauflösung mit ARP Rahmen erzeugen, Markierung von Anfang und Ende der Rahmen Zeichenzählung Zeichenstopfen mit Anfangs- und Endzeichen Bitstopfen mit einem speziellen Bitmuster als Anfangs- und Endbegrenzer Verstöße gegen die Kodierregeln mit ungültigen Signalen Fehlererkennung Zweidimensionale Parität Zyklische Redundanzprüfung Fehlerkorrektur Hamming-Abstand Flusskontrolle Stop-and-Wait-Protokoll Schiebefensterprotokoll Sliding-Window-Protokoll Bridges Schleifen im LAN Spanning Tree Algorithmus Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 3/78

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 4/78 Sicherungsschicht Aufgaben der Sicherungsschicht (Data Link Layer): Zuverlässige (fehlerfreie) Übertragung sicherstellen Zugriff auf das Übertragungsmedium regeln Geräte: Bridge, Layer-2-Switch (Multiport-Bridge) Protokolle: Ethernet, Token Ring, FDDI

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 5/78 Adressierung auf der Sicherungsschicht Jeder Knoten (Hosts und Router) hat eine Adresse auf der Ebene der Sicherungsschicht Bei den Adressen handelt es sich um die MAC-Adressen MAC = Media Access Control Die MAC-Adressen der Sicherungsschicht sind nicht zu verwechseln mit den (IP-)Adressen der Vermittlungsschicht Mit dem Protokoll Address Resolution Protocol (ARP) kann man IPv4-Adressen in MAC-Adressen übersetzen Bei IPv6 wird das Neighbor Discovery Protocol (NDP) verwendet, dessen Funktionalität identisch ist und das ähnlich arbeitet

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 6/78 MAC-Adressen Nennt man auch physische Adressen Länge: 48 Bit (6 Byte) Damit sind 2 48 Adressen möglich Werden normalerweise in hexadezimaler Schreibweise wiedergegeben Üblich ist eine byteweise Schreibweise, wobei die einzelnen Bytes durch Bindestriche oder Doppelpunkte voneinander getrennt werden Beispiel: 00:16:41:52:df:d7 Sollen dauerhaft einem Gerät zugewiesen sein und eindeutig sein Es ist aber auch möglich, die MAC-Adresse softwaremäßig zu ändern

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 7/78 MAC-Broadcast-Adresse Möchte ein Gerät einen Rahmen explizit an alle anderen Geräte im LAN senden, fügt er im Rahmen in das Feld der Ziel-Adresse die MAC-Broadcast-Adresse ein Bei der Broadcast-Adresse haben alle 48 Bit den Wert 1 Hexadezimale Schreibweise: FF-FF-FF-FF-FF-FF Rahmen, die im Zielfeld die Broadcast-Adresse tragen, werden nicht in ein anderes LAN übertragen

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 8/78 Aufbau von Rahmen in der Sicherungsschicht Die Abbildung zeigt den Aufbau von Ethernet-Datenrahmen nach dem heute üblichen Standard IEEE 802.3 (mit 802.1Q VLAN-Tag)

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 9/78 Geräte mit MAC-Adressen Alle Netzwerkgeräte, die auf Schicht 2 explizit adressiert werden sollen, brauchen eine MAC-Adresse Leitet ein Netzwerkgerät (z.b. Repeater oder Hub) Netzwerkpakete nur weiter, ist es auf der Sicherungsschicht nicht sichtbar und braucht somit auch keine MAC-Adresse Bridges und Switche untersuchen die Rahmen der Sicherungsschicht, um das Netzwerk physisch in mehrere Kollisionsdomänen aufzuteilen, nehmen aber selbst nicht aktiv an der Kommunikation teil Sie brauchen also für die Basisfunktionalität keine MAC-Adresse Ein Switch braucht dann eine MAC-Adresse, wenn er selbst über das Rechnernetz administriert wird oder Monitoring-Dienste anbietet (z.b. über HTTP) Bridges und Switche brauchten auch dann eine MAC-Adresse, wenn sie den Spanning Tree Algorithmus zur Vermeidung von Schleifen in redundant ausgelegten Rechnernetzen verwenden Bridges und Switche untersuchen die Rahmen auf Korrektheit

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 10/78 Eindeutigkeit von MAC-Adressen (1/2) Die IEEE verwaltet die ersten 24 Bit des MAC-Adressraums Diese Herstellerkennungen (Organizationally Unique Identifier = OUI) sind in einer Datenbank der IEEE einsehbar http://standards.ieee.org/develop/regauth/oui/public.html Die übrigen 24 Bit werden von den Herstellern selbst für jede Schnittstelle selbst festgelegt Das ermöglicht 2 24 = 16.777.216 individuelle Geräteadressen Jeder Hersteller kann über die 24 Bit hinter der Herstellerkennung frei verfügen MAC-Adressen Hersteller MAC-Adressen Hersteller MAC-Adressen Hersteller 00-20-AF-xx-xx-xx 3COM 00-03-93-xx-xx-xx Apple 00-0C-6E-xx-xx-xx Asus 00-00-0C-xx-xx-xx Cisco 00-50-8B-xx-xx-xx Compaq 08-00-2B-xx-xx-xx DEC 00-01-E6-xx-xx-xx Hewlett-Packard 00-02-55-xx-xx-xx IBM 00-02-B3-xx-xx-xx Intel 00-04-5A-xx-xx-xx Linksys 00-09-5B-xx-xx-xx Netgear 00-04-E2-xx-xx-xx SMC

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 11/78 Eindeutigkeit von MAC-Adressen (2/2) Neben den Herstellerkennungen existiert auch ein kleiner MAC-Adressbereich, der für Privatpersonen und kleine Firmen oder Organisationen vorgesehen ist, die nur wenige Adressen benötigen Dieser Adressbereich heißt Individual Address Block (IAB) Der Adressbereich beginnt mit 00-50-C2 Darauf folgen 3 weiteren Hex-Ziffern (12 Bits), die für jede Organisation vergeben werden Das ermöglicht 2 12 = 4.096 individuelle Geräteadressen Noch kein Weihnachtsgeschenk für die Freundin oder für Mutti? Bei der IEEE können die Preise für die Registrierung eigener MAC-Adressbereiche eingesehen werden http://standards.ieee.org/develop/regauth/oui/index.html http://standards.ieee.org/develop/regauth/iab/index.html Eine eigene Herstellerkennung (OUI) kostet (Stand 2011) einmalig $ 1.750 Ein eigener IAB kostet (Stand 2011) einmalig $ 600

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 12/78 Sicherheit von MAC-Adressen Besonders in lokalen Funknetzen (WLANs) wird häufig mit einem MAC-Filter die MAC-Adresse als Zugangsschutz zur Basisstation (Access Point) verwendet Im Prinzip eine gute Idee, da die MAC-Adresse ein eindeutiges Identifikationsmerkmal eines Netzwerkgeräts ist Der Schutz ist aber gering, da die MAC-Adressen softwaremäßig geändert werden kann Dieses Vorgehen nennt man MAC-Spoofing Mit MAC-Adressen unter Linux arbeiten Eigene MAC-Adresse(n) auslesen: ip link oder ifconfig MAC-Adresse(n) vom Nachbarn (meistens der Router) auslesen: ip neigh MAC-Adresse setzen: ip link set dev <Interface> addr <MAC-Adresse> Alternativ: ifconfig <Interface> promisc und dann: ifconfig <Interface> hw ether <MAC-Adresse>

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 13/78 Adressauflösung innerhalb des lokalen Subnetzes Das Protokoll ARP (Address Resolution Protocol) übersetzt IP-Adressen (Schicht 3) in MAC-Adressen (Schicht 2) Will ein Knoten Daten an einen Empfänger senden, gibt er dessen IP an Nun muss die Adressauflösung erfolgen Um an die MAC-Adresse eines Geräts zu kommen, versendet ARP einen Rahmen mit der MAC-Broadcast-Adresse als Zieladresse Dieser Rahmen wird von jedem Netzwerkgerät entgegengenommen und ausgewertet Der Rahmen enthält die IP-Adresse des gesuchten Geräts Fühlt sich ein Gerät mit dieser IP-Adresse angesprochen, schickt es eine ARP-Antwort an den Sender Die gemeldete MAC-Adresse wird im lokalen ARP-Cache des Senders gespeichert Der ARP-Cache dient zur schnelleren Adressauflösung Hat der sendende Knoten mit ARP die MAC-Adresse des Empfängers herausgefunden, konstruiert er damit den (Ethernet-)Rahmen Im Rahmen muss die MAC-Adresse des Empfängers angegeben sein

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 14/78 ARP-Cache Der lokale ARP-Cache ist eine Tabelle mit den 4 Spalten Protokolltyp (IP) Protokolladresse des Senders (IP-Adresse) Hardware-Adresse des Sender (MAC-Adresse) Ablaufzeit Time To Live (TTL) Aktuelle Linux-Distributionen verwerfen Einträge im ARP-Cache nach ca. 5 Minuten Wird ein Eintrag in der Tabelle verwendet, wird die TTL verlängert Unter Linux kann der ARP-Cache mit arp oder arp -a angezeigt und verändert werden Mit arping kann man manuell Anforderungen zur Adressauflösung versenden

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 15/78 Adressauflösung außerhalb es lokalen Subnetzes (1/2) Ist eine IP nicht im gleichen Subnetz, geht ARP über den Gateway Findet ARP die MAC-Adresse des Gateway nicht im ARP-Cache, wird eine lokale ARP-Adressauflösung via Broadcast gestartet Ist die Hardware-Adresse des Gateways bekannt, schickt der Sender das erste Datenpaket an den Empfänger Der Router überprüft, ob sich die IP des Empfängers in einem angeschlossenen Subnetz befindet Wenn ja, ermittelt er anhand der lokalen ARP-Adressauflösung die MAC-Adresse des Empfängers und leitet das Datenpaket weiter Ist das Ziel in einem entfernten Subnetz, überprüft der Router seine Routing-Tabelle, ob ein Weg zum Ziel bekannt ist Ist kein Weg zum Ziel bekannt, steht dem Router auch ein Gateway zu Verfügung Der Router führt für sein Gateway eine ARP-Adressauflösung durch und leitet das Datenpaket an dieses weiter Das wiederholt sich so oft, bis das Datenpaket sein Ziel erreicht oder die TTL 0 ist und das Datenpaket verworfen wird

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 16/78 Adressauflösung außerhalb es lokalen Subnetzes (2/2) Erreicht das Datenpaket den Empfänger, schreibt die betreffende Station seine Rückantwort an den Sender In der Antwort wird falls möglich ein Gateway vermerkt, über das die beiden Stationen miteinander kommunizieren Das vermeidet weitere ARP-Adressauflösungen und somit Broadcasts

Aufbau von ARP-Paketen Das ARP-Paket schließt sich an den Ethernet-MAC-Header an Das Typfeld im Ethernetframe wird auf 0x0806 gesetzt Bit 0-7 Bit 8-15 Bit 16-23 Bit 24-31 Hardwareadresstyp Protokolladresstyp (1 für Ethernet) (0x0800 = 2048 für IPv4-Adressen) Hardwareadressgröße Protokolladressgröße Operation (6 für Ethernet) (4 für IPv4-Adressen) (1 für ARP-Anforderung, 2 für ARP-Antwort) Quell-MAC-Adresse Quell-MAC-Adresse Quell-IP-Adresse Quell-IP-Adresse Ziel-MAC-Adresse Ziel-MAC-Adresse Ziel-IP-Adresse Die Quell-MAC-Adresse ist die MAC-Adresse des Senders bei einer ARP-Anforderung und die MAC-Adresse des antwortenden Hosts bei einer ARP-Antwort Die Ziel-MAC-Adresse ist in einer ARP-Anforderung gleichgültig und enthält in einer ARP-Antwort die MAC-Adresse des anfragenden Hosts Die Quell-IP-Adresse ist bei einer ARP-Anforderung die IP des anfragenden Host und bei einer ARP-Antwort die IP des antwortenden Hosts Die Ziel-IP-Adresse ist bei einer ARP-Anforderung die IP-Adresse des gesuchten Hosts und bei einer ARP-Antwort die IP-Adresse des anfragenden Hosts Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 17/78

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 18/78 Rahmen erzeugen Damit die Sicherungsschicht der Vermittlungsschicht Dienste anbieten kann, muss sie selbst die Dienste der Bitübertragungsschicht in Anspruch nehmen Die Bitübertragungsschicht auf Seiten des Empfängers nimmt einen Bitstrom auf und versucht ihn weiterzuleiten Der Bitstrom ist nicht zwingend fehlerfrei Bits können fehlen oder hinzugekommen sein Bits können verschiedene Werte angenommen haben Die Sicherungsschicht muss die Fehler erkennen und nach Möglichkeit korrigieren

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 19/78 Prüfsummen Die Sicherungsschicht übernimmt den Bitstrom von der Vermittlungsschicht und unterteilt diesen in Rahmen (sog. Frames) Für jeden Rahmen berechnet die Sicherungsschicht eine Prüfsumme Der Empfänger muss für jeden Rahmen die Prüfsumme neu berechnen Stimmt die neu berechnete Prüfsumme nicht mit der im Rahmen enthaltenen Prüfsumme überein, weiß die Sicherungsschicht, das ein Fehler vorliegt und verwirft den Rahmen

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 20/78 Markierung der Rahmen Zur Markierung von Anfang und Ende der Rahmen existieren verschiedene Vorgehensweisen: Zeichenzählung Zeichenstopfen mit Anfangs- und Endzeichen Bitstopfen mit einem speziellen Bitmuster als Anfangs- und Endbegrenzer Verstöße gegen die Kodierregeln der Bitübertragungsschicht mit ungültigen Signalen

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 21/78 Markierung der Rahmen mit Zeichenzählung Im Header des Rahmens steht die Anzahl der Zeichen im Rahmen Problem: Wird das Zeichenzählfeld während der Übertragung verändert, ist für der Empfänger die Synchronisation nicht mehr möglich Aus diesem Grund wird das Verfahren kaum noch angewandt

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 22/78 Zeichenstopfen mit Anfangs- und Endzeichen Jeder Rahmen beginnt mit der ASCII-Zeichenfolge DLE STX und endet mit DLE ETX DLE = Data Link Escape STX = Start of TeXt ELX = End of TeXt Kommt ein DLE in den Nutzdaten vor, wird es durch ein zusätzliches DLE-Zeichen maskiert So weiß der Empfänger, das dieses DLE nicht als Einleitung eines STX oder ELX dient Die Sicherungsschicht des Empfängers entfernt das gestopfte DLE aus den empfangenen Daten, bevor diese an die Vermittlungsschicht übergeben werden

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 23/78 Zeichenstopfen mit Anfangs- und Endzeichen Beispiel

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 24/78 Bitstopfen mit einem speziellen Bitmuster Jeder Rahmen hat ein spezielles Bitmuster als Anfangs- und Endbegrenzer Jeder Rahmen beginnt und endet mit: 01111110 Vorteile: Rahmen können beliebig viele Zeichen enthalten Beliebige Zeichensätze können verwendet werden Entdeckt die Sicherungsschicht des Senders 5 aufeinanderfolgende Einsen im Bitstrom von der Vermittlungsschicht, fügt (stopft) sie automatisch eine Null in den Bitstrom Erkennt die Sicherungsschicht des Empfängers 5 aufeinanderfolgende Einsen und eine Null im ankommenden Bitstrom, wird das gestopfte Null-Bit wieder entfernt

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 25/78 Bitstopfen mit einem speziellen Bitmuster Beispiel Verliert der Empfänger durch einen Übertragungsfehler den Anfang oder das Ende eines Rahmens, wartet er das nächste Erscheinen des Bitmusters und erkennt die nächste Rahmengrenze Damit ist der Sender wieder mit dem Empfänger synchron

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 26/78 Verstöße gegen die Kodierregeln mit ungültigen Signalen Abhängig von der verwendeten Kodierung kann man ungültige Signale als Rahmengrenzen verwenden Beispiel: Manchesterkodierung Ein High/Low-Paar (fallende Flanke) entspricht einer 0 Ein Low/High-Paar (steigende Flanke) entspricht einer 1 High/High und Low/Low werden nicht für Daten verwendet Bei Token Ring markieren High/High und Low/Low die Rahmengrenzen Vorteil Kein Stopfen nötig Geringerer Datentransfer zwischen Sender und Empfänger Nachteil Bei High/High und Low/Low kommt es nicht zum Pegelwechsel zur Taktrückgewinnung (Synchronisierung) Wenn aber wegen eines High/High oder Low/Low schon der Takt zwischen Sender und Empfänger verloren geht, müssen die Uhren krass unterschiedlich (falsch) gehen

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 27/78 Markierung der Rahmen in der Praxis Häufig wird eine Kombination aus Zeichenzählung und anderen Methoden verwandt Mit dem Zeichenzählfeld wird das Rahmenende bestimmt Nur wenn an dieser Stelle der passende Begrenzer steht und die Prüfsumme des Rahmens korrekt ist, wird der Rahmen akzeptiert

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 28/78 Fehlerursachen Bei der Übertragung von Bitfolgen kann es zu Fehlern kommen Typische Fehlerursachen sind Signalverformung Dämpfungseffekt des Übertragungsmediums Rauschen Thermisches und elektronisches Rauschen Nebensprechen Unerwünschter Einfluss benachbarter Kanäle (z.b. kapazitive Kopplung) Kapazitive Kopplung nimmt mit wachsender Frequenz zu Kurzzeitstörungen Mehrere Bits hintereinander fehlerhaft (Burstfehler) Kosmische Strahlung Mangelhafte bzw. nicht ausreichende Isolierung Fehler müssen mindestens erkannt werden Je nach Anwendungsfall ist es nötig, das Fehler korrigiert werden Fehlererkennung und -korrektur sind Aufgaben der Sicherungsschicht

Übung zum Zeichenstopfen BISYNC ist ein zeichenorientiertes Verbindungsprotokoll von IBM BISYNC-Rahmen sind wie folgt aufgebaut Steuerzeichen markieren die Struktur des Rahmens Kommen die Steuerzeichen ETX und DLE im Nutzdatenteil (Body) vor, werden sie von der Sicherungsschicht durch ein DLE-Zeichen geschützt Steuerzeichen SOH STX ETX DLE SYN HEX-Wert 01 02 03 10 16 Wie lauten die Nutzdaten der folgenden BISYNC-Rahmen? 1 16 16 01 99 98 97 96 95 02 A1 A2 A3 A4 A5 03 A0 B7 2 16 16 01 99 98 97 96 95 02 01 02 10 03 04 05 03 76 35 3 16 16 01 99 98 97 96 95 02 10 03 10 10 10 03 03 92 55 Quelle: Jörg Roth. Prüfungstrainer Rechnernetze: Aufgaben und Lösungen. Vieweg (2010) Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 29/78

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 30/78 Fehlererkennung Zur Fehlererkennung beim Empfänger wird jedem Rahmen vom Sender eine Prüfsumme angefügt So können fehlerhafte Rahmen vom Empfänger erkannt und entweder verworfen oder sogar korrigiert werden Ein erneutes Anfordern verworfener Rahmen sieht die Sicherungsschicht nicht vor Möglichkeiten der Fehlererkennung: Zweidimensionale Parität Cyclic Redundancy Check (CRC)

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 31/78 Zweidimensionale Parität Eindimensionale Parität Zu jedem 7-Bit-Abschnitt wird ein zusätzliches Paritätsbit addiert, um die Anzahl der Einsen im Byte auszugleichen Gerade Parität setzt das achte Bit (Paritätsbit) bei Bedarf auf 1 oder 0, um eine gerade Anzahl von Einsen im Byte zu erwirken Ungerade Parität setzt das achte Bit (Paritätsbit) bei Bedarf auf 1 oder 0, um eine ungerade Anzahl von Einsen im Byte zu erwirken Zweidimensionale Parität Neben den Paritätsbits in jedem Byte existiert für jeden Rahmen noch ein zusätzliches Paritätsbyte Der Inhalt des Paritätsbyte ist das Ergebnis der Paritätsberechnung quer über jedes Byte des Rahmens

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 32/78 Prüfsummenverfahren Cyclic Redundancy Check (CRC) Zyklische Redundanzprüfung (CRC) basiert darauf, das man Bitfolgen als Polynome mit den Koeffizienten 0 und 1 schreiben kann Ein Rahmen mit k Bits wird als Polynom vom Grad k 1 betrachtet Das werthöchste Bit ist der Koeffizient von x k 1 Das nächste Bit ist der Koeffizient für x k 2... Beispiel: Die Bitfolge 10011010 wird dargestellt als: M(x) = 1 x 7 + 0 x 6 + 0 x 5 + 1 x 4 + 1 x 3 + 0 x 2 + 1 x 1 + 0 x 0 = x 7 + x 4 + x 3 + x 1 Das Senden und Empfangen von Nachrichten kann man sich als Austausch von Polynomen vorstellen Polynome in der Mathematik Ein Polynom ist eine Summe von Vielfachen von Potenzen mit natürlichzahligen Exponenten einer Variablen

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 33/78 Prüfsummenverfahren (Vorgehensweise) Sender und Empfänger müssen ein Generatorpolynom bzw. Divisor-Polynom C(x) vereinbaren C(x) ist ein Polynom vom Grad k Sei z.b. C(x) = x 3 + x 2 + 1 = 1101, dann ist k = 3 Das Generatorpolynom ist also vom Grad 3 Der Grad des Generatorpolynoms entspricht der Anzahl der Bits minus eins Das Generatorpolynom wird vom Protokoll festgelegt Die Auswahl des Generatorpolynoms legt fest, welche Fehlerarten erkannt werden Es existieren einige Generatorpolynome, die sich für verschiedene Netzwerkumgebungen eignen Soll für einen Rahmen die CRC-Prüfsumme berechnet werden, werden n Nullen an den Rahmen angehängt n entspricht dem Grad des Generatorpolynoms

Prüfsummenverfahren (Beispiel) Quelle: Wikipedia Generatorpolynom: 110101 Rahmen (Nutzdaten): 11011 Rahmen mit Anhang: 1101100000 Übertragener Rahmen (Codepolynom): 1101100101 Das Generatorpolynom hat r Stellen, also werden r 1 = n Nullen ergänzt. Hier ist r = 6 Der Rahmen mit Anhang wird von links nur mit XOR durch das Generatorpolynom dividiert 1 XOR 1 = 0, 1 XOR 0 = 1, 0 XOR 1 = 1, 0 XOR 0 = 0 Der Rest (Restpolynom) ist die Prüfsumme Die Prüfsumme wird an die Nutzdaten angehängt Der Rest muss aus n Bits bestehen n ist der Grad des Generatorpolynoms 1101100000 110101 ------vvvv 0000110000 110101 ------ 101 (Rest) Ergebnis: 00101 wird an den Rahmen angehängt Übertragener Rahmen (Codepolynom): 1101100101 Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 34/78

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 35/78 Prüfsummenverfahren (Beispiel) Quelle: Wikipedia Übertragener Rahmen (Codepolynom): 1101100101 Generatorpolynom: 110101 Der Empfänger des Rahmens kann überprüfen, ob er korrekt angekommen ist Mit Division (ausschließlich mit XOR) durch das Generatorpolynom werden fehlerhafte Übertragungen erkannt Bei der Division mit XOR immer mit der ersten gemeinsamen 1 anfangen! Der Rest der Division ist gleich null Also ist kein Fehler aufgetreten 1101100101 110101 ------vvvv 110101 110101 ------ 000000

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 36/78 Prüfsummenverfahren (Beispiel) Quelle: Wikipedia Übertragener Rahmen (Codepolynom): 1001100101 Generatorpolynom: 110101 Korrekte Übertragung: 1101100101 Der Rest der Division ist ungleich null Also ist ein Fehler während der Übertragung aufgetreten 1001100101 110101 ------v 100110 110101 ------v 100111 110101 ------v 100100 110101 ------v 100011 110101 ------ 10110

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 37/78 Auswahl gängiger CRC-Generatorpolynome Name C(x) CRC-5 x 5 + x 2 + 1 CRC-8 x 8 + x 2 + x 1 + 1 CRC-10 x 10 + x 9 + x 5 + x 4 + x 1 + 1 CRC-12 x 12 + x 11 + x 3 + x 2 + 1 CRC-CCITT x 16 + x 12 + x 5 + 1 CRC-16 x 16 + x 15 + x 2 + 1 CRC-24 x 24 + x 23 + x 18 + x 18 + x 14 + x 11 + x 10 + x 7 + x 6 + x 5 + x 4 + x 3 + x 1 + 1 CRC-32 x 32 + x 26 + x 23 + x 22 + x 16 + x 12 + x 11 + x 10 + x 8 + x 7 + x 5 + x 4 + x 2 + x + 1 CRC-64 x 64 + x 4 + x 3 + x 1 + 1 USB nutzt CRC-5 ISDN nutzt CRC-8 Ethernet nutzt CRC-32 X.25-kompatible WANs über das Telefonnetz nutzen CRC-CCITT ATM nutzt CRC-8, CRC-10 und CRC-32 Asynchronous Transfer Mode (ATM) ATM ist eine Übertragungsart, bei der der Datenverkehr in kleine Pakete mit fester Länge kodiert wird. ATM wird in lokalen Hochleistungsnetzen und in Backbones genutzt.

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 38/78 Fehlerkorrektur Die Existenz von Übertragungsfehlern kann mit CRC-Prüfsummen nachgewiesen werden Sollen Fehler nicht nur erkannt, sondern auch korrigiert werden können, müssen die zu übertragenen Daten entsprechend kodiert werden Fehlerkorrektur kann man mit dem Hamming-Abstand realisieren Vergleicht man 2 Bitfolgen, kann man feststellen, wie viele Bits nicht übereinstimmen z.b. 10100110 und 10110101 In diesem Fall sind 3 Bit verschieden Um festzustellen, wie viele Bits nicht übereinstimmen, verknüpft man beide Bitfolgen mit XOR und zählt die Einsen im Ergebnis Hamming-Abstand: Anzahl der Bitpositionen, in denen sich 2 Bitfolgen unterscheiden Benannt nach dem Mathematiker Richard Wesley Hamming (1915-1998)

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 39/78 Hamming-Abstand Vorgehen: Position der Prüfbits Bits einer Bitfolge werden beginnend mit 1 von links durchnummeriert Bits, die Potenzen von 2 sind (1, 2, 4, 8, 16, usw.) sind Prüfbits Die übrigen Bits sind die Nutzdaten Beispiel: 8 Bit Nutzdaten: 01001100 Position: 1 2 3 4 5 6 7 8 Nutzdaten: 0 1 0 0 1 1 0 0 Position: 1 2 3 4 5 6 7 8 9 10 11 12 zu übertragende Daten:?? 0? 1 0 0? 1 1 0 0 Nun müssen noch die Werte der Prüfbits ermittelt werden

Hamming-Abstand Vorgehen: Werte der Prüfbits Die Werte der Prüfbits muss der Sender ermitteln Jeder Bit-Position in der Übertragung wird die Positionsnummer zugeordnet Die Positionsnummer ist in diesem Beispiel 4-stellig, da wir 4 Prüfbits haben Beispiele: Position: 1 = Wert: 0001 Position: 2 = Wert: 0010 Position: 3 = Wert: 0011 Position: 4 = Wert: 0100 Position: 5 = Wert: 0101... Als nächstes werden die Werte derjenigen Nutzdatenpositionen, die 1 in unserer Übertragung sind, mit XOR zusammen gerechnet Im Beispiel Positionsnummer 5, Positionsnummer 9 und Positionsnummer 10 Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 40/78

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 41/78 Hamming-Abstand Vorgehen: Werte der Prüfbits Position: 1 2 3 4 5 6 7 8 9 10 11 12 zu übertragende Daten:?? 0? 1 0 0? 1 1 0 0 Die Werte derjenigen Nutzdatenpositionen, die 1 sind, mit XOR zusammenrechnen 0101 Position 5 1001 Position 9 XOR 1010 Position 10 -------- = 0110 Das Ergebnis sind die Werte der Prüfbits Diese werden in die Übertragung eingefügt Position: 1 2 3 4 5 6 7 8 9 10 11 12 zu übertragende Daten: 0 1 0 1 1 0 0 0 1 1 0 0

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 42/78 Hamming-Abstand Vorgehen: Empfangene Daten prüfen Empfänger kann überprüfen, ob eine Bitfolge korrekt ist Berechnete und empfangene Nutzdatenbits mit dem Wert 1 werden mit XOR verknüpft Die Prüfbits sind Position 1, 2, 4 und 8 empfangene Daten: 1 2 3 4 5 6 7 8 9 10 11 12 0 1 0 1 1 0 0 0 1 1 0 0 0101 Position 5 1001 Position 9 XOR 1010 Position 10 -------- 0110 Prüfbits berechnet XOR 0110 Prüfbits empfangen -------- = 0000 => Korrekte Übertragung

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 43/78 Hamming-Abstand Vorgehen: Empfangene Daten prüfen empfangene Daten: 1 2 3 4 5 6 7 8 9 10 11 12 0 1 0 1 0 0 0 0 1 1 0 0 1001 Position 9 XOR 1010 Position 10 -------- 0011 Prüfbits berechnet XOR 0110 Prüfbits empfangen -------- = 0101 => Wert der Position 5 => Bit 5 ist falsch! Mögliche Ergebnisse der Berechnung: Positionswert des veränderten Bits 0 wenn die Übertragung fehlerfrei war Wurden 2 oder mehr Bits verändert, kann nur noch eine Aussage darüber getroffen werden, dass Bits verändert wurden Die Positionen können so nicht ermittelt werden

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 44/78 Fazit zur Fehlererkennung Kodierungen mit Fehlerkorrektur sind u.a. da sinnvoll, wo Sendewiederholungen nicht angefordert werden können Üblicherweise wird aber die reine Fehlererkennung bevorzugt Wird ein Fehler erkannt, wird der Rahmen einfach verworfen Ein erneutes Anfordern eines fehlerhaften Rahmens sehen die etablierten Protokolle der Sicherungsschicht nicht vor! Bei Fehlererkennung müssen weniger Prüfbits übertragen werden Darum ist Fehlererkennung effizienter als Fehlerkorrektur Siehe Modellrechnung zur Fehlererkennung/-korrektur auf der nächsten Folie

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 45/78 Modellrechnung zur Fehlererkennung/-korrektur Rahmengröße einer Übertragung: 1.000 Bit 1 Megabit (1.000 Blöcke) soll übertragen werden Fehlererkennung Zum Erkennen eines fehlerhaften Blocks genügt 1 Paritätsbit Nach je 1.000 Blöcken muss ein Extrablock (1.001 Bit) übertragen werden Ein Megabit erfordert daher 2.001 Prüfbits Fehlerkorrektur Um 1.000 Bits korrigieren zu können, sind 10 Prüfbits notwendig Die Prüfbits sind Position 1, 2, 4, 8, 16, 32, 64, 128, 256 und 512 1 Megabit erfordert daher 10.000 Prüfbits

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 46/78 Übung 1 Sie haben 8 Bit Nutzdaten (10011010) vorliegen Ermitteln Sie die zu übertragenden Daten (Nutzdaten inklusive Prüfbits) 2 Überprüfen Sie, ob die folgenden Nachrichten korrekt übertragen wurden: 1 00111101 2 101110100010 3 001101100100 4 0001101100101101

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 47/78 Zuverlässige Übertragung durch Flusskontrolle Übertragungsfehler können erkannt und einige korrigiert werden Können Fehler nicht korrigiert werden, müssen Rahmen verworfen werden Verworfene Rahmen müssen erneut übertragen werden Flusskontrolle ermöglicht dem Empfänger dynamisch zu steuern, mit welcher Geschwindigkeit die Gegenseite Blöcke senden darf Das verhindert, das langsame Empfänger von schnellen Sendern mit Daten überschüttet werden Grundlegende Mechanismen: Bestätigungen (Acknowledgements, ACK) Zeitschranken (Timeouts) Bekannte Verfahren sind u.a. Stop-and-Wait-Protokoll Schiebefensterprotokoll (Sliding-Window-Protokoll) Die Flusskontrolle heißt in der Literatur auch Datenflusskontrolle oder Rahmenflusskontrolle

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 48/78 Stop-and-Wait-Protokoll Nach der Übertragung wartet der Sender auf ein ACK Kommt kein ACK beim Sender in einer bestimmten Zeit an, kommt es zum Timeout Wird der Timeout erreicht, wird der Rahmen erneut gesendet

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 49/78 Stop-and-Wait-Protokoll Jeder Rahmen hat eine 1 Bit lange Sequenznummer Diese Sequenznummer kann den Wert 0 oder 1 annehmen Die Nummer ändert sich für jeden Rahmen Wird ein Rahmen erneut übertragen, weil kein ACK beim Sender eingegangen ist oder der Timeout vor dem ACK abgelaufen ist, kann der Empfänger anhand der Sequenznummer feststellen, ob es sich um ein Duplikat handelt Duplikate verwirft der Empfänger, bestätigt sie aber beim Sender Nachteil dieses Protokolls: Da nur nach einem ACK oder Timeout ein neuer Rahmen gesendet wird, ist der Durchsatz gegenüber der Leitungskapazität gering

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 50/78 Schiebefensterprotokoll (Sliding-Window-Protokoll) Ein Fenster ermöglicht dem Sender die Übertragung einer bestimmten Menge von Rahmen, bevor eine Bestätigung zurück erwartet wird Beim Eintreffen einer Bestätigung wird das Sendefenster verschoben und der Sender kann weitere Rahmen aussenden Ziel: Leitungs- und Empfangskapazität optimal auslasten Es sollen so viele Rahmen wie möglich gesendet werden können

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 51/78 Schiebefensterprotokoll Vorgehensweise: Sender Sender weist jedem Rahmen eine Sequenznummer zu Sender verwaltet folgende Variablen: Größe des Sendefensters: Send Window Size (SWS) Bestimmt die obere Grenze gesendeter und nicht bestätigter Nachrichten Letzte empfangene Bestätigung: Last ACK Received (LAR) Zuletzt gesendeter Rahmen: Last Frame Sent (LFS) Sender gewährleistet: LFS - LAR SWS Sendefenster verschiebt sich mit jeder eingehenden Bestätigung Der bestätigte Rahmen fällt aus dem Fenster heraus und ein neu zu sendender Rahmen wird in das Fenster aufgenommen Sendefenster enthält zu jeder Zeit nur unbestätigte Rahmen

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 52/78 Schiebefensterprotokoll Vorgehensweise: Empfänger Analog zum Sender verwaltet auch der Empfänger ein Schiebefenster Beide Fenster müssen nicht unbedingt die gleiche Größe haben Fenstergröße kann im Laufe der Zeit variieren Empfänger verwaltet folgende Variablen: Empfangsfenstergröße: Receive Window Size (RWS) Obere Grenze der außer der Reihe angenommenen Rahmen Sequenznummer des größten annehmbaren Rahmens: Largest Acceptable Frame (LAF) Sequenznummer des zuletzt empfangenen und bestätigten Rahmens: Last Frame Received (LFR) Alle Rahmen bis einschließlich LFR wurden empfangen und bestätigt Empfänger gewährleistet: LAF - LFR RWS

Schiebefensterprotokoll Vorgehensweise Die Abbildung zeigt das Raumzeit-Diagramm für ein Sliding-Window-Verfahren mit SWS=3 Im gezeigten Szenario sind alle Übertragungen erfolgreich Die Größe des Fensters beim Sender ist abhängig vom durch den Empfänger angegebene Maximum und von der Netzbelastung Jede Bestätigung für einen erfolgreich übertragenen Rahmen enthält einen Wert, der angibt, für welche Menge an weiteren Datenpaketen der Empfänger noch Kapazität frei hat Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 53/78

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 54/78 Übung In einem Sliding-Window-Protokoll gelten folgende Festlegungen: Fenstergrößen: SWS = RWS = 4 Timeout: 7 Zeiteinheiten Sender sendet 1 Rahmen pro Zeiteinheit, wenn möglich Übertragungszeit für Rahmen und Bestätigungen: je 2 Zeiteinheiten Verarbeitungszeit beim Empfänger: 1 Zeiteinheit Rahmen-Empfang bis zur Aussendung der Bestätigung Die Umlaufzeit (Round-Trip-Zeit) ist somit 5 Zeiteinheiten Verarbeitungszeit beim Sender: 1 Zeiteinheit Bestätigung-Empfang bis zur potentiellen neuen Rahmen-Aussendung Es werden kumulative Bestätigungen verwendet Bestätigt werden nur nur lückenlos empfangene Folgen von Rahmen Zeichnen Sie das Raumzeit-Diagramm der Rahmen 1 bis 8, wenn... 1 alle Übertragungen erfolgreich verlaufen 2 alle Übertragungen außer der ersten Übertragung von Rahmen 2 erfolgreich verlaufen Quelle: Jörg Roth. Prüfungstrainer Rechnernetze: Aufgaben und Lösungen. Vieweg (2010)

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 55/78 Übung Lösung Quelle: Jörg Roth. Prüfungstrainer Rechnernetze: Aufgaben und Lösungen. Vieweg (2010)

Geräte der Bitübertragungsschicht: Bridges Eine Bridge ist ein Netzwerkgerät, dass die Rahmen von einem oder mehreren Netzwerken in ein oder mehrere andere Netzwerke weiterleitet Bridges arbeiten im Promiscuous Mode Alle Rahmen werden angenommen Einfache Bridges leiten alle Rahmen von den Eingängen der Bridge an alle Ausgänge weiter Bridges arbeiten auf Schicht 2 (Sicherungsschicht) Leiten die Rahmen anhand der MAC-Adressen der Netzwerkgeräte weiter Haben typischerweise nur 2 Schnittstellen (Ports) Layer-2-Switches (Multiport-Bridges) arbeiten auch auf Schicht 2 Haben typischerweise zwischen 4 und 48 Schnittstellen Router hingegen arbeiten auf Schicht 3 (Vermittlungsschicht) Leiten die Pakete anhand der IP-Adressen weiter Ein LAN, dass über eine oder mehrere Bridges erweitert wird, heißt erweitertes LAN Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 56/78

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 57/78 Lernende Bridges (1/2) Optimierung: Lernende Bridges Nicht jeder Rahmen muss weitergeleitet werden Kommt z.b. ein Rahmen von Gerät B für Gerät A an Port 1 der Bridge an, muss die Bridge diesen Rahmen nicht über Port 2 weiterleiten Gerät Port A 1 B 1 C 1 X 2 Y 2 Z 2 Bridges müssen lernen, welche Netzwerkgeräte über welchen Port erreichbar sind Administratoren könnten die Tabellen in den Bridges pflegen Die Pflege der Tabellen wäre sehr aufwändig

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 58/78 Lernende Bridges (2/2) Besser Lösung: Intelligente Tabellenverwaltung Bridges pflegen ihre Tabellen selbst Vorgehensweise Bridges merken sich die Quellen der Rahmen Wenn Gerät A ein Rahmen an einen anderen Host sendet, merkt sich die Bridge, dass der Rahmen von Host A an Port 1 einging So kann sich die Bridge mit der Zeit eine Weiterleitungstabelle aufbauen Beim Hochfahren der Bridge ist die Tabelle leer Die Einträge werden erst im Laufe der Zeit erfasst Alle Einträge leben nur eine bestimmte Zeit (Time to Live TTL) Die Tabelle ist nicht unbedingt vollständig Das ist aber egal, weil sie nur der Optimierung dient Existiert für ein Gerät kein Eintrag in der Tabelle leitet die Bridge den Rahmen in jedem Fall weiter

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 59/78 Schleifen im LAN Ein potentielles Problem von LANs sind Schleifen Netze sollten auf der Sicherungsschicht zu jedem möglichen Ziel immer nur einen Pfad haben Man will vermeiden, dass Rahmen dupliziert werden und mehrfach am Ziel eintreffen Das würde zu Fehlfunktionen in darüber liegenden Netzwerkschichten führen und die Leistung des Netzes vermindern oder könnte sogar zu einem Komplettausfall führen Andererseits werden redundante Netzpfade häufig als Backup für den Fehlerfall (Ausfall einer Strecke) verwendet Gründe für das Entstehen von Schleifen: Unachtsame Administratoren Absicht zum Ausgleich gestörter Verbindungen (Redundante Leitung)

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 60/78 Beispiel für den Ausfall eines LAN durch Schleifen (1/5) Das komplette Beispiel stammt aus dem Buch Computernetzwerke von Rüdiger Schreiner Hanser (2009) Ein Rahmen wird in einem LAN mit Schleifen über verschiedene Wege zu mehreren Ports einer Bridge geleitet Die Bridge sieht die MAC-Adresse des Geräts überall Die Bridge kann nicht wissen, wo das Gerät angeschlossen ist Alle Bridges leiten alle Rahmen für ein Gerät nicht mehr an einen entsprechenden Port weiter, sondern in alle Richtungen Zahl der Rahmen im Netzwerk nimmt schnell zu Netzwerk bricht zusammen Im Beispiel versucht Knoten A Datenrahmen an Knoten B zu senden Das Beispiel funktioniert auch mit den anderen Knoten

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 61/78 Beispiel für den Ausfall eines LAN durch Schleifen (2/5) Knoten A sendet einen Rahmen Der Rahmen passiert Bridge 1 Bridge 1 trägt den Standort von Knoten A in ihre Tabelle ein Der Rahmen passiert Bridge 2 Auch Bridge 2 trägt den Standort von Knoten A in ihre Tabelle ein Der Rahmen passiert Bridge 3 Auch Bridge 3 trägt den Standort von Knoten A in ihre Tabelle ein

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 62/78 Beispiel für den Ausfall eines LAN durch Schleifen (3/5) Der Rahmen passiert Bridge 4 Auch Bridge 4 trägt den Standort von Knoten A in ihre Tabelle ein Nun kommt es zur Schleife Der Rahmen kehrt zu Bridge 1 zurück Bridge 1 glaubt nun, dass Knoten A auf beiden Seiten der Bridge installiert ist Bridge 1 kann Rahmen von Knoten A nun nicht mehr sinnvoll weiterleiten Das ist nicht der einzige mögliche Weg, den Rahmen in dieser Topologie zurücklegen können

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 63/78 Beispiel für den Ausfall eines LAN durch Schleifen (4/5) Der Rahmen hat auch einen anderen Weg genommen Zuerst passierte der Rahmen Bridge 1 Dann passierte der Rahmen Bridge 4 Dann passierte der Rahmen Bridge 3

Beispiel für den Ausfall eines LAN durch Schleifen (5/5) Dann passierte der Rahmen Bridge 2 Auch hier kommt der Rahmen wieder zu Bridge 1 zurück Es hat sich auch hier eine Schleife gebildet Nun senden die Bridges alle Rahmen von Knoten A in jede Richtung Es kommt zu einer Flut von Rahmen und das Netzwerk bricht zusammen Kommunikation wird unmöglich Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 64/78

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 65/78 Schleifen im LAN handhaben Bridges müssen in der Lage sein, Schleifen korrekt zu handhaben Eine Lösung: Spanning Tree Algorithmus Man kann sich ein erweitertes LAN wie einen Graphen vorstellen, der möglicherweise Schleifen (Zyklen) umfasst Der Spaning Tree ist ein Teilgraph dieses Graphen, der alle Knoten abdeckt, aber keine Zyklen enthält Es werden nur einige Kanten entfernt

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 66/78 Spanning Tree Algorithmus (1/3) Quelle: Peterson, Davie. Computernetze Entwickelt von Radia Perlman bei DEC In der Abbildung sind mehrere Schleifen Der Spanning Tree Algorithmus ist ein Protokoll, dass von einer Gruppe Bridges angewandt wird, um sich auf einen Spannbaum (Spanning-Tree) für ein bestimmtes LAN zu einigen Das LAN wird durch das Entfernen von Ports auf einen zyklenfreien Baum reduziert Knoten = Bridges Kanten = Ports Es ist auch möglich, dass einzelne Bridges dann gar nicht weiterleiten Der Algorithmus ist dynamisch Fällt eine Bridge aus, wird ein neuer Spanning Tree konfiguriert

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 67/78 Spanning Tree Algorithmus Vorbedingung Jede Bridge hat eine eindeutige 8 Byte lange Kennung (Bridge-ID) Es existieren 2 unterschiedliche Darstellungen der Bridge-ID 1 Aufbau der Bridge-ID (früher) Die Bridge-ID besteht aus der Bridge Priority (2 Byte) und der MAC-Adresse (6 Byte) des Bridge-Ports mit der niedrigsten Port-ID Die Bridge Priority kann selbst festgelegt werden und hat einen beliebigen Wert zwischen 0 und 65.536 2 Aufbau der Bridge-ID (heute) Grund: Heute arbeitet man auch mit virtuellen lokalen Netzen (VLANs) Anteil der MAC-Adresse (6 Byte) ist unverändert Die Bridge Priority (ursprünglich 2 Byte) wird nun unterteilt 4 Bit stellen die Bridge Priority dar Das ergibt 16 mögliche Werte Darum muss der Wert der Bridge Priority 0 oder ein Vielfaches von 4.096 sein Die übrigen 12 Bit kodieren die VLAN-ID Mit 12 Bit kann man 4.096 unterschiedliche VLANs ansprechen

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 68/78 Spanning Tree Algorithmus Vorgehensweise 1 Der Algorithmus wählt die Bridge mit der niedrigsten Bridge Priority in der Kennung (Bridge-ID) als Wurzel des Baums Ist die Bridge Priority bei mehreren Bridges identisch, wird als ergänzendes Kriterium die MAC-Adresse benutzt Auch hier gewinnt wieder die Bridge mit der niedrigeren Zahl Die Wurzel leitet Rahmen immer über alle ihre Ports weiter Dann berechnet jede Bridge den kürzesten Weg zur Wurzel und Fokus: Die Ports der Bridge, die auf dem Weg zur Wurzel liegen 2 Für jedes LAN wählen alle daran angeschlossenen Bridges eine Bridge, die für die Weiterleitung der Rahmen in Richtung Wurzel zuständig ist Dieses Bridge heißt dann designierte Bridge Es wird die Bridge ausgewählt, die der Wurzel am nächsten liegt Haben 2 oder mehr Bridges eines LAN den gleichen Abstand zur Wurzel, wird die Bridge mit der kleinsten Kennung die designierte Bridge Da jede Bridge an mehr als ein LAN angeschlossen ist, nimmt sie mit jedem Port bei der Auswahl für jede verbundene LAN teil

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 69/78 Spanning Tree Algorithmus (2/3) B1 ist die Wurzel, weil sie die kleinste Kennung hat Quelle: Peterson, Davie. Computernetze B3 und B5 sind an LAN A angeschlossen B5 wurde vom Spanning Tree Algorithmus als designierte Bridge für LAN A ausgewählt, weil sie näher an der Wurzel liegt als B3 B5 und B7 sind an LAN B angeschlossen und haben beide den gleichen Abstand zur Wurzel B1 B5 wurde vom Spanning Tree Algorithmus als designierte Bridge für LAN B ausgewählt, weil sie eine kleinere Kennung hat als B7 So wie hier beschrieben, können Menschen vorgehen, aber kein Rechner

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 70/78 Spanning Tree Algorithmus (3/3) Probleme bei der beschriebenen Vorgehensweise: Bridges in einem erweiterten LAN können nicht die gesamte Topologie eines Netzes sehen Bridges können nicht in andere Bridges sehen und deren Kennungen ausfindig machen Bridges können nur Konfigurationsnachrichten austauschen Auf Basis der Konfigurationsnachrichten kann jede Bridge für sich entscheiden, ob sie die Wurzel ist, oder die designierte Bridge für ein LAN Die Konfigurationsnachrichten heißen BPDU-Frames BPDU = Bridge Protocol Data Unit Die Konfigurationsnachrichten enthalten folgende Informationen: 1 Kennung X der Bridge, die die Nachricht sendet 2 Kennung Y der Bridge, die die sendende Bridge für die Wurzel hält 3 Entfernung d von der sendenden Bridge zur Wurzel (Y ) in Hops

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 71/78 Spanning Tree Algorithmus - Realität (1/3) Anfangs hält sich jede Bridge für die Wurzel und sendet eine Konfigurationsnachricht über alle Ports, mit der sie sich als Wurzel mit der Entfernung 0 zur Wurzel identifiziert Erhält eine Bridge eine Konfigurationsnachricht über einen Port, prüft die Bridge, ob diese neue Nachricht besser als die momentan für diesen Port gespeicherte beste Konfigurationsnachricht ist Eine neue Konfigurationsnachricht gilt als besser, wenn... sie eine Wurzel mit einer kleineren Kennung identifiziert sie eine Wurzel mit gleicher Kennung, jedoch kürzerer Entfernung identifiziert die Kennung der Wurzel und die Entfernung gleich sind, aber die sendende Bridge eine kleinere Kennung hat Ist eine neue Konfigurationsnachricht besser als die momentan für diesen Port gespeicherte Konfiguration, wird... die alte Konfiguration verworfen die neue Konfiguration gespeicherte ein Hop auf die Entfernung zur Wurzel addiert

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 72/78 Spanning Tree Algorithmus - Realität (2/3) Empfängt eine Bridge eine Konfigurationsnachricht, aus der hervorgeht, dass sie nicht die Wurzel ist (weil die Nachricht von einer Bridge mit kleinerer Kennung stammt), hört sie mit dem Senden von Konfigurationsnachrichten auf Die Bridge leitete nun nur noch Konfigurationsnachrichten anderer Bridges weiter, nachdem Sie 1 Hop auf die Entfernung addiert hat Empfängt eine Bridge eine Konfigurationsnachricht, aus der hervorgeht, dass sie nicht die designierte Bridge für das LAN an diesem Port ist (weil die Nachricht von einer Bridge stammt, die näher an der Wurzel liegt, oder eine kleinere Kennung hat), hört sie mit dem Weiterleiten von Konfigurationsnachrichten über diesen Port auf Irgendwann hat sich das System stabilisiert Nur noch die Wurzel erzeugt dann Konfigurationsnachrichten Nur die designierten Bridges leiten diese Konfigurationsnachrichten dann über die entsprechenden Ports weiter

Spanning Tree Algorithmus Beispiel Alle Bridges booten nach einem Stromausfall gleichzeitig Alle Bridges haben den Anspruch die Wurzel zu sein 1 B3 empfängt (B2, 0, B2) B3 akzeptiert B2 als Wurzel da 2 < 3 2 B3 addiert 1 zur von B2 angekündigten Entfernung (0) B3 sendet (B3, 1, B2) in Richtung B5 3 Inzwischen akzeptiert B2 als Wurzel B1, weil B1 eine kleinere Kennung hat B2 sendet (B2, 1, B1) in Richtung B3 4 B5 akzeptiert B1 als Wurzel B5 sendet (B5, 1, B1) in Richtung B3 Quelle: Peterson, Davie. Computernetze 5 B3 akzeptiert B1 als Wurzel und stellt fest, dass B2 und B5 näher als sie selbst an der Wurzel liegen B3 beendet das Weiterleiten von Nachrichten an ihre beiden Ports Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 73/78

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 74/78 Spanning Tree Algorithmus - Realität (3/3) Ist das System stabilisiert, sendet nur die Wurzel in festen Abständen noch die Konfigurationsnachrichten über alle ihre Ports Die übrigen Bridges leiten diese Konfigurationsnachrichten wie beschrieben weiter Fällt eine Bridge aus, erhalten die im Baum hinter der Bridge liegenden Bridges keine Konfigurationsnachrichten mehr Nach Ablauf einer bestimmten Wartezeit, geben sich diese Bridges wieder jeweils als Wurzeln aus und der Algorithmus startet von vorne mit der Auswahl einer Wurzel und einer Bridge für jedes LAN Der Spanning Tree Algorithmus ist in der Lage, nach dem Ausfall einer Bridge den Baum neu zu konfigurieren Der Algorithmus ist aber nicht in der Lage Rahmen über alternative Wege zu leiten, wenn eine Bridge überlastet ist

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 75/78 Übung Die Abbildung zeigt die physischen Verbindungen eines Netzwerks Alle Bridges booten nach einem Stromausfall gleichzeitig 1 Welche Ports bzw. Bridges werden nicht verwendet? 2 Was passiert, falls eine der Bridges B4, B6 oder B7 ausfällt?

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 76/78 Beispiel für Bridges im Alltag WLAN-Bridge WLAN-Bridges ermöglichen die Integration von Geräten mit RJ45-Netzwerkanschluss (z.b. Drucker, Desktops, Spielkonsolen,... ) in ein lokales Funknetz (WLAN) Verbindet ein kabelgebundenes Netzwerk mit einem Funknetz Bildquelle: Google Bildersuche

Beispiel für Bridges im Alltag Laser-Bridges Ermöglichen per Laserstrahl den Datenaustausch zwischen 2 Gebäuden Auf jedem Gebäude steht eine Laser-Sende-/Empfangseinheit In jedem Gebäude steht ein Netzport Die Bridge leitet Datenrahmen auf Schicht 2 (Sicherungsschicht) anhand der MAC-Adressen der Netzwerkgeräte weiter Beide Netzports liegen auf Schicht 3 (Vermittlungsschicht) im selben logischen Netz Bildquelle: http://www.made-in-zelenograd.com Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 77/78

Christian Baun 5.Vorlesung Netzwerke Hochschule Darmstadt WS1112 78/78 Kollisionsdomäne Bridges und Switche Bridges und Switche teilen Kollisionsdomänen Bridges arbeiten auf der Sicherungsschicht (Schicht 2) leiten Rahmen von einem physischen Netzwerk zu einem anderen Unterteilen Netzwerke in Netzwerksegmente und filtern Datentransfers anhand der MAC-Adresse Jedes Netzwerksegment ist eine eigene Kollisionsdomäne Somit sinkt die Anzahl der Kollisionen pro Netzwerksegment (Layer-2-)Switches sind Multiport-Bridges mit > 2 Schnittstellen Jeder Port eines Switches bildet eine Kollisionsdomäne Voll geswitchtes Netz = An jedem Port hängt nur eine Station Netzwerk ist frei von Kollisionen Stand der Technik