Informatik II Rechnernetze Rechnernetze Rainer Schrader Zentrum für Angewandte Informatik Köln 3. Dezember 2008 1 / 93 Rechnernetze 2 / 93 Rechnernetze • was für „Betriebssysteme“ galt, gilt auch für „Rechnernetze”: • es ist ein Standardthema in jedem Informatik-Curriculum • wir reißen es in dieser Grundvorlesung nur kurz (zwei Vorlesungen) an Gliederung • Einführung • OSI-Modell • im Hauptstudium wird regelmäßig eine Spezialvorlesung dazu angeboten • weitere Schichtenmodelle (TCP/IP) • Internet • begleitende und weiterführende Literatur: • A. S. Tanenbaum: Computernetzwerke, 4. Auflage, Prentice Hall, 2003 • Netzwerkarchitekturen • J. F. Kurose, K. W. Ross: Computer Networking, 3rd Edition, Prentice Hall, 2005 • E. Stein: Taschenbuch Rechnernetze und Internet, 2. Auflage, Fachbuchverlag Leipzig, 2003 3 / 93 4 / 93 Rechnernetze Rechnernetze Was ist ein Rechnernetz ? • das Netz enthält interne Systeme Z1 , Z2 , . . . (Zwischensysteme), die sich entweder am Rand oder im Inneren des Netzes befinden • Rechnernetze (Rechnernetzwerke, computer networks) sind Netzwerke, deren Teilnehmer Rechner (Computer) sind • die Teilnehmer werden daher auch Endsysteme genannt • zwischen den Teilnehmern werden digitale Daten übertragen • im Allgemeinen können beliebige Teilnehmer untereinander A kommunizieren X Z2 Z1 Rechnernetz mit End− und Zwischensystemen Z5 A X Z4 Z3 B Y Netz mit Teilnehmern Netz • End- und Zwischensysteme werden als Knoten (nodes) bezeichnet • benachbarte Knoten werden durch Teilstrecken (links) direkt A, B, X, Y. B Y miteinander verbunden 6 / 93 5 / 93 Rechnernetze Rechnernetze Kommunikation zwischen Teilnehmern A • Ende-zu-Ende-Sicht: Abstraktion der Teilnehmer vom Netz, beide haben die Illusion, dass sie direkt miteinander kommunizieren Teilstreckensicht Z5 • Netzschnittstellen-Sicht: jeder Teilnehmer geht davon aus, dass er mit dem Z4 Netz kommuniziert, unabhängig davon, was innerhalb des Netzes bzw. an einem entfernten anderen Endknoten geschieht B • Teilstrecken-Sicht: Vorgänge (Abläufe) auf den Teilstrecken werden getrennt Netzschnittstellensicht Z3 Ende−zu−Ende−Sicht Y Rechnernetz mit End− und Zwischensystemen betrachtet • Anwenderdaten und Steuerinformationen werden über die jeweils betrachteten A Z2 Z1 Z4 • die Komplexität der Abläufe ist begründet durch: • • • • Teilstreckensicht Z5 B Abschnitte in allen Sichtweisen übertragen X Beispiel: Kommunikation zwischen den Teilnehmern A und Y: X Z2 Z1 Netzschnittstellensicht Z3 Ende−zu−Ende−Sicht Y eine große Teilnehmerzahl (z.B. Internet) heterogene Netzteilnehmer den Aufbau von Netzen aus (evtl. heterogenen) Teil- bzw. Subnetzen Übertragungsfehler und • die temporäre Überlastung bzw. Ausfälle von Teilstrecken und Zwischensystemen Rechnernetz mit End− und Zwischensystemen 7 / 93 8 / 93 Rechnernetze Rechnernetze • das Betreiben von Rechnernetzen ist ähnlich komplex wie das Motivation für Schichten- und Schalenmodelle Betreiben eines Rechners • bei den Betriebssystemen haben Schichtenmodelle und • teile und herrsche: ein komplexes System wird zerlegt, um es für Synthese und • ähnliches gilt bei den Netztwerken (und allgemein in der Informatik) • Unabhängigkeit der Schichten: Analyse besser beherrschbar zu machen Schalenmodelle eine wichtige Rolle gespielt • eine Schicht nutzt lediglich die Schnittstellenspezifikation zu benachbarten Schichten • der innere Aufbau der Schichten ist belanglos, solange ihr Verhalten an der Schnittstelle unverändert bleibt • somit können innere Schichten ausgetauscht/verändert werden, ohne dass das Gesamtsystem beeinflußt wird (modulares Prinzip) • Abschirmung tieferliegender Schichten: Kapselung und Reduktion der Komplexität Schichtenmodell • Standardisierung: wird erleichtert durch die Definition einzelner Schichten Schalenmodell 9 / 93 10 / 93 Rechnernetze Rechnernetze OSI-Referenzmodell • ab 1977 von der ISO (International Standardization Gliederung Organisation) entwickelt • Einführung • OSI-Modell • OSI (Open Systems Interconnection), daher ISO/OSI-Modell • Aufspaltung der komplexen Aufgabe der Kommunikation zwischen Endsystemen in weniger komplexe Teilaufgaben • weitere Schichtenmodelle (TCP/IP) • Internet • die Teilaufgaben werden einzelnen Schichten zugeordnet • die Offenheit wird durch frei zugängliche und nutzbare Standards für • Netzwerkarchitekturen den Informationsaustausch gewährleistet • offene (Teil-)Systeme können mit anderen offenen (Teil-)Systemen, die dieselben Standards verwenden, problemlos kommunizieren 11 / 93 12 / 93 Rechnernetze 7 Application 7 Anwendung 6 Presentation 6 Darstellung 5 Session 5 Kommunikationssteuerung 4 Transport 4 Transport 3 3c Internet 3 Vermittlung (Netzwerk) Rechnernetze OSI-Referenzmodell (Kurzbeschreibung) • das ISO/OSI-Modell besteht aus 7 Schichten • die unterste Schicht repräsentiert die physikalische Ebene, also die Übertragungstechnik • die Schichten 2–6 befassen sich mit zunehmend allgemeineren 3b Enhancement Funktionen der Kommunikation 3a Subnetwork Access 2 • Schicht 7 ist die Anwendungsschicht, die die Schnittstelle zwischen 2 2b Logical Link Control (LLC Kommunikation und Anwendungssystem bildet Sicherung • die Schichten 1–4 bilden zusammen das Transportsystem • die Schichten 5–7 bilden zusammen das Anwendungssystem. 2a Medium Access Control (MAC) 1 1b Media−Independent Interface (MII) 1 Bitübertragung 1a Physical Media Dependent (PMD) Unterteilung der OSI−Schichten 14 / 93 13 / 93 Rechnernetze Rechnernetze Aufgaben der Schichten des OSI-Modells Rechner 1 Rechner 2 • Schicht 1 (Bitübertragungsschicht) (physikalische Schicht, physical layer): • definiert die physikalischen und technischen Eigenschaften der Übertragungsmedien Schicht7 • Schicht 2 (Sicherungsschicht) (data link layer): Schicht6 • stellt sicher, dass auf einer Punkt-zu-Punkt Übertragungsstrecke trotz Schicht5 gelegentlicher Störungen ein fehlerfreier Bitstrom übertragen wird Schicht4 • Schicht 3 (Vermittlungsschicht) (Netzwerkschicht / network layer): Schicht3 • ist verantwortlich für die Adressierung des Zielsystems und die Wegsuche Schicht2 durch mehrere Zwischensysteme • sie ermöglicht das Internetworking (Vernetzung von Netzwerken) Schicht1 Die Schichten 1–3 stellen zusammen Verbindungen zwischen Endsystemen (Ende-zu-Ende) her. ISO/OSI−Modell der Kommunikation in offenen Systemen 15 / 93 16 / 93 Rechnernetze Rechnernetze • Schicht 4 (Transportschicht) (transport layer): • stellt sicher, dass Folgen von Datenpaketen fehlerfrei, vollständig und in Wie bei den Betriebssystemen sind die Begriffe „Protokoll” und „Dienst” von zentraler Bedeutung der richtigen Reihenfolge vom Sender zum Empfänger gelangen • bildet Netzwerkadressen auf logische Namen ab, die für den Anwender • Protokolle (einer Schicht): aussagekräftig sind • präzise Festlegungen aller Regeln, Datenformate und Funktionen, die für • Schicht 5 (Kommunikationssteuerungsschicht) (session layer): den Datenaustausch zwischen gleichrangigen Instanzen zweier Systeme gelten • sorgt für den Auf- und Abbau von Kommunikationsbeziehungen (Sitzungen bzw. sessions) • Dienste (einer Schicht): • stellt diese nach Störungen im Transportsystem wieder her • Funktionen der jeweiligen Schicht, die der nächsthöheren Schicht zur • Schicht 6 (Darstellungsschicht) (presentation layer): Verfügung gestellt werden • vereinbart die verwendeten Datenformate bzw. Datencodierungen • Schichten können somit als Dienstleister (service provider) bzw. • führt Umwandlungen zwischen verschiedenen Darstellungen durch Dienstnutzer (service user) auftreten • Schicht 7 (Anwendungsschicht) (application layer): • stellt der Anwendungssoftware Dienste zur Verfügung • aus Sicht des Anwenders ist dies die wichtigste Schicht 18 / 93 17 / 93 Rechnernetze Rechnernetze • Daten werden zu Blöcken zusammengefasst • sie werden auf verschiedenen Schichten gebildet und an andere Schichten weitergereicht • je nach Schicht bekommen diese Blöcke schichtspezifische Bezeichnungen Schicht Name Originalbezeichnung 2 Rahmen Zellen frames cells (kurze Rahmen fester Länge) 3 Pakete/Datagramme datagrams 4 Segmente segments 5–7 Nachrichten messages alle Protokolldateneinheit PDU (Protocol Data Unit) Gliederung • Einführung • OSI-Modell • Aufgaben der Bitübertragungsschicht • weitere Schichtenmodelle (TCP/IP) • Internet • Netzwerkarchitekturen • PDU’s bilden den Oberbegriff • sie besteht aus einem Vorspann (header), der Nutzlast (payload) und dem Nachspann (trailer) 19 / 93 20 / 93 Rechnernetze Rechnernetze Die Bitübertragungsschicht (physikalische Schicht, physical layer) überträgt einzelne Bits zwischen benachbarten Stationen Übertragungsmedien Aufgaben der Bitübertragungsschicht: • für Rechnernetze können verschiedene Übertragungsmedien genutzt werden • mechanisch: definiert die Schnittstelle zwischen der Station (genauer: dem Netzadapter) und dem Übertragungsmedium (in der Regel eine mehrpolige Steckverbindung) • die Vor- und Nachteile sind abhängig von den physikalischen • elektrisch: definiert die Kodierung der Bits (Spannungspegel etc.) und • grob unterscheidet man die folgenden Übertragungsmedien: Eigenschaften des jeweiligen Mediums die Datenübertragungsrate • leitungsgebunden (elektr. Kabel, Glasfaser) • funktional: legt die einzelnen Funktionen fest, die im Netzwerkadapter • leitungsungebunden (Satellitenkommunikation, Mobilfunk, Richtfunk, ) vorhanden sind • prozedural: beschreibt die Abläufe, die für die Bitübertragung erforderlich sind 22 / 93 21 / 93 Kodierung differenziert sich in: Rechnernetze Rechnernetze • Leitungskodierung: • Ziele: Bandbreiteneffizienz, Taktregenerierbarkeit • wie werden Nullen und Einsen dargestellt? Gliederung • Einführung • Einsatz von Multiplexverfahren • d.h. Übertragung von mehreren Datenströmen über einen Kanal • OSI-Modell • Aufgaben der Bitübertragungsschicht • (Zeit-, Frequenz- und Code-Multiplex) • Aufgaben der Sicherungsschicht • Kanalkodierung: • weitere Schichtenmodelle (TCP/IP) • Internet • Ziele: Erkennung und Korrektur von Fehlern • Einsatz fehlererkennender bzw. -korrigierender Codes • Netzwerkarchitekturen • Quellenkodierung: • Ziele: Datenkomprimierung • Einsatz verlustfreier (zip) und verlustbehafteter (MP3) Darstellungen 23 / 93 24 / 93 Rechnernetze Rechnernetze Im Einzelnen erledigt die Sicherungsschicht die folgenden Aufgaben: • Rahmensynchronisation: • Anfang und Ende eines Rahmens müssen erkannt werden • Flusssteuerung: • die Bitübertragungsschicht ist nur für die Übertragung einzelner Bits • der Sender darf den Empfänger nicht mit Rahmen überschwemmen, er über eine Teilstrecke zuständig muss die Empfangsbereitschaft des Empfängers berücksichtigen • die Sicherungsschicht überträgt ganze Rahmen (frames) über eine Teilstrecke • Fehlersicherung: • die Rahmen müssen fehlerfrei übertragen werden • da Übertragungsfehler grundsätzlich nicht vermeidbar sind, muss es • bei der Übertragung aufgetretene Fehler müssen behoben werden • Unterscheidung von Nutzdaten und Steuerinformation: Möglichkeiten zur Fehlererkennung und -beseitigung geben. • der Empfänger muss zwischen Nutzdaten und Steuerinformation unterscheiden können, da beide auf demselben Übertragungsweg übertragen werden sollen • Übertragungsteuerung: • eine geordnete, fehlerfreie Übertragung muss durch geeignete Mechanismen für Koordination und Kooperation sichergestellt werden 25 / 93 26 / 93 Rechnernetze Rechnernetze Rahmenbildung und Rahmensynchronisation Flusssteuerung: • die Bildung von Rahmen soll sicherstellen, dass die übertragenen Signale einer Kommunikationsbezeichnung zugeordnet und korrekt interpretiert werden können • die Flusssteuerung soll verhindern, dass ein schneller Sender einen • die Rahmensynchronisation ermöglicht die eindeutige Erkennung von langsamen Empfänger mit Daten überschwemmt Rahmenanfang und -ende • der Empfänger besitzt einen Pufferspeicher, der eine bestimmte Anzahl • dafür gibt es drei Möglichkeiten: empfangener Rahmen zwischenspeichern kann, bevor der Protokollstapel diese übernimmt • Rahmenanfang und -ende werden durch eine spezielle Markierung • große Pufferspeicher sind vorteilhaft, aber teuer • folglich benötigt der Empfänger einen Mechanismus, mit dem er den gekennzeichnet (HDLC) • der Rahmenanfang wird markiert, die Rahmenlänge wird explizit im Header angegeben (TCP) Sender veranlassen kann, eine bestimmte Zeit zu warten • die Rahmenlänge ist konstant und fest vereinbart. Damit muss nur der Rahmenanfang markiert werden (ATM) 27 / 93 28 / 93 Rechnernetze Rechnernetze Stop-and-Wait-Verfahren: • der Sender sendet genau einen Rahmen • danach wartet er auf eine Quittung des Empfängers Fenster-Verfahren: • der Sender sendet bis zu n Rahmen • danach wartet er auf eine Quittung des Empfängers • nach deren Erhalt sendet er einen weiteren Rahmen • die Rahmen haben zur eindeutigen Kennzeichnung Sequenznummern • Vorteil: geringer Aufwand für das Protokoll • Nachteil: geringer Durchsatz (insbesondere bei kurzen Rahmen auf Strecken mit langer Laufzeit) 30 / 93 29 / 93 Rechnernetze Rechnernetze Gliederung Fehlersicherung: • Einführung • OSI-Modell • Fehlererkennung: durch Paritätsbits, Prüfsummen oder fehlererkennende Codes • Aufgaben der Bitübertragungsschicht • Aufgaben der Sicherungsschicht • Fehlerkorrektur durch: • Aufgaben der Vermittlungsschicht • fehlerkorrigierende Codes • nochmalige Anforderung von verfälschten Paketen beim Sender • weitere Schichtenmodelle (TCP/IP) • Internet • Netzwerkarchitekturen 31 / 93 32 / 93 Rechnernetze Rechnernetze einzelne Aufgaben der Netzwerkschicht: • Routing: • dient der Ermittlung geeigneter Kommunikationspfade zwischen Quell- und Zielsystemen • auch als Netzwerkschicht bezeichnet • die Sicherungsschicht befasst sich mit Teilstrecken • ein Pfad kann zahlreiche Zwischensysteme enthalten • Fehlererkennung: • die Netzwerkschicht kümmert sich um Verbindungen zwischen • Fehler sollen möglichst erkannt werden Endsystemen • dazu werden auch Dienste der Sicherungsschicht genutzt • sie sorgt für deren Aufbau, den Betrieb und Abbau • Fehlerbehebung: • Fehler sollen in sinnvollem Umfang behoben werden • im einfachsten Fall können fehlerbehaftete Pakete verworfen werden • falls die Vermittlungsschicht verbindungsorientiert arbeitet, können Übertragungswiederholungen bei der Fehlerbehebung helfen 34 / 93 33 / 93 Rechnernetze Rechnernetze einzelne Aufgaben der Netzwerkschicht: einzelne Aufgaben der Netzwerkschicht: • Netzwerkverbindungen zwischen Teilnetzen: • Erhaltung der Paketreihenfolge: • eine Netzwerkverbindung kann über eine Anzahl von Teilnetzen führen • die Dienstgüten dieser Teilnetze können erhebliche Unterschiede aufweisen • die Vermittlungsschicht kann die reihenfolgerichtige Zustellung der Pakete gewährleisten • falls nicht, muss sich die darüber liegende Transportschicht darum kümmern • in solchen Fällen gibt es zwei Möglichkeiten: • Vereinbarung und Sicherstellung einer bestimmten Dienstgüte: 1. die Teilnetze werden direkt miteinander verbunden. Dann ist die Dienstgüte des Gesamtnetzes vergleichbar mit der schlechtesten Dienstgüte der Teilnetze • zu Beginn der Netzwerkverbindung wird eine Dienstgüte ausgehandelt 2. das schlechteste Teilnetz wird durch zusätzliche Funktionen mit einer höheren Dienstgüte ausgestattet, die sich im Gesamtnetz bemerkbar macht • diese soll für die Verbindungsdauer garantiert sein 35 / 93 36 / 93 Rechnernetze Rechnernetze Seit dem ersten handvermittelten Telefonnetz wurden verschiedene Vermittlungstechniken entwickelt und eingeführt. Dienstgüte: • Restfehlerrate: Verhältnis der nicht berichtigten fehlerhaften, verlorenen oder • konventionelle Kommunikationsnetze wie das öffentliche Telefonnetz duplizierten Pakete zur Gesamtzahl der Pakete verwenden das Prinzip der Leitungsvermittlung • Verfügbarkeit: diese wird hauptsächlich durch Verfügbarkeit der • für die beteiligten Kommunikationspartner wird eine eigene physische Zwischenknoten und der Teilstrecken bestimmt Verbindung aufgebaut und nach der Kommunikation wieder abgebaut • Zuverlässigkeit: Wahrscheinlichkeit, dass Pakete fehlerfrei beim richtigen • durch den Verbindungsaufbau entsteht eine Wartezeit bis zum Beginn Empfänger ankommen der Kommunikation • Durchsatz: die Anzahl der pro Zeiteinheit korrekt übertragenen Nutzdaten • dafür steht jederzeit eine garantierte Bandbreite zur Verfügung • und die Verzögerung auf dem Übertragungsweg ist konstant und • Verzögerung: ergibt sich durch die Laufzeit auf den Übertragungsstrecken und die Warte- und Bearbeitungszeiten in den durchlaufenen Routern minimal • Überlastungssteuerung: die dem Anwender zugesagte Dienstgüte soll durch • die Verbindungskosten sind proportional zur Verbindungsdauer, auch lokale Überlastung von Netzknoten und Teilstrecken nicht verschlechtert werden wenn Pausen enthalten sind 37 / 93 Paketvermittlung 38 / 93 Rechnernetze Rechnernetze • sie bildet die Basis der eigentlichen Rechnernetze • dabei werden Nutzdaten in Pakete aufgeteilt, • diese werden zusammen mit anderen Paketen im Zeitmultiplex übertragen • Teilstrecken sind über Router mit weiteren Teilstecken verbunden • die Kosten sind von der Zahl (und Länge) der übertragenen Pakete abhängig, entsprechen also der Nutzung des Netzes • verbindungslosen Paketübertragung: • Nachteil: eine nicht garantierte Bandbreite sowie eine relativ große • die Pakete werden einzeln und unabhängig voneinander übertragen variable Verzögerung • Verbindungsorientierte Paketübertragung: • der grundlegende Ablauf in einem Router besteht aus: • nutzt virtuelle Verbindungen (Kanäle), die, ähnlich wie bei Leitungsvermittlung, auf- und abgebaut werden • dem Zwischenspeichern ankommender Pakete • der Ermittlung des nächsten Zwischensystems auf dem Weg zum Ziel (Routing-Entscheidung) • die zu übertragenden Daten werden in der Regel in mehrere Pakete zerteilt, die sequentiell übertragen werden • Nachrichtenvermittlung: • und der Weitergabe (forwarding) über eine Warteschlange an der richtigen Ausgabeschnittstelle • eine vollständige Nachricht des Benutzers wird auf einmal übertragen • alle Formen der Paketvermittlung benötigen Zwischenspeicher • die Pakete werden so lange zwischengespeichert, bis sie weitergeleitet werden können 39 / 93 40 / 93 Rechnernetze Rechnernetze • beim Routing in Paketnetzen geht man davon aus, dass in jedem Routing Zieladresse im Header wird ausgewertet Zwischensystem Z (Router) eine Routing-Tabelle vorhanden ist • der Router extrahiert die in einem angenommenen Paket enthaltene − Topologie (Netzzustand) lernen − Routing−Tabelle aufstellen Zieladresse und sieht in seiner Routing-Tabelle nach, an welches nächste Zwischensystem das Paket weiterzugeben ist ankommende Pakete • falls der Zielknoten direkt mit dem Ziel verbunden ist, ist kein Zwischensystem, sondern das Ziel selbst in der Routing-Tabelle eingetragen. abgehende Pakete A select route store ... forward ... B Z4 Z1 mehere Ausgänge zu anderen Routern Z3 Z2 X store: Pakete speichern select route: Routingtabelle anwenden Ablauf beim Routing Z5 Z6 Y forward: Pakete weitergeben 41 / 93 42 / 93 Rechnernetze Rechnernetze Routing-Verfahren beschreiben, wie Routing-Tabellen erstellt werden. Ziele Routing−Tabelle für A Z1 Z2 Z3 Z4 Z5 Z6 A A Z1 Z5 Z1 Z1 Z2 B Z4 Z5 Z4 B Z4 Z3 ... ... ... ... ... ... ... X Z2 X Z6 Z5 Z2 Z2 Y Z5 Z6 Y Z3 Z3 Z3 B Routing−Verfahren Z4 Z1 Ablauf beim Routing Z5 Z3 Z2 X Z6 statische Verfahren Y adaptive Verfahren zentrale Verfahren verteilte Verfahren Link−State−Verfahren Routing−Tabelle des Beispiels • das dargestellte Routing wählt offensichtlich kürzeste Wege, auf Distanz−Vektor−Verfahren Weitere Verfahren: − nicht adaptives, isoliertes Verfahren: Fluten − lastabhängiges, isoliertes Verfahren: Hot Potato denen die kleinste Anzahl von Zwischensystemen zu durchlaufen ist • in der Praxis werden jedoch auch andere Kriterien zur Wegwahl verwendet Einteilung der Routing−Verfahren 43 / 93 44 / 93 Rechnernetze Rechnernetze • statische (nicht adaptive) Routingverfahren: Zentrale Routingverfahren: • die Routing-Tabelle wird einmal erstellt und dann nicht mehr verändert • sie wird aufgrund festgelegter Routing-Metriken ermittelt • übertragen die Ermittlung der Routing-Tabellen einer zentralen Stelle, • diese kann aufgrund ihrer umfassenden Information über den Zustand • diese Routing-Verfahren können jedoch nicht auf Veränderungen im Netz reagieren, so dass ihr Nutzen begrenzt ist des Netzes qualitativ hochwertige Routing-Entscheidungen treffen • adaptive (dynamische) Routingverfahren: • die Reaktionsgeschwindigkeit auf Veränderungen im Netz kann jedoch gering sein • die Routing-Tabellen werden regelmäßig oder bei Bedarf angepasst • sie können sich damit der aktuellen Situation im Netz anpassen • ein zentral gesteuertes Routing erfordert eine ausfallsichere Plattform, um den Ausfall der gesamten Routing-Funktion zu verhindern • Basis für die Anpassung sind ebenfalls Routing-Metriken • außerdem kann es einen Engpass bilden, der die gesamte • isolierte Routingverfahren: Übertragungsleistung des Netzes ungünstig beeinflusst • jeder Knoten verwendet nur die ihm verfügbare, lokale Information für seine Routing- Entscheidung 46 / 93 45 / 93 Rechnernetze Rechnernetze Fluten (flooding): • ist ein isoliertes, nicht adaptives Verfahren • „isoliert” bedeutet, dass jeder Knoten nur die ihm verfügbare lokale Verteilte Routingverfahren: • jede Router trifft seine Routing-Entscheidungen selbstständig auf Basis Information verwendet der ihm zur Verfügung stehenden Information • diese kann die Länge einer Warteschlange vor einer abgehenden • die Nachteile des zentralen Routing werden dabei vermieden • in der Praxis werden hauptsächlich verteilte, adaptive Routingverfahren Leitung oder den Zustand eines Nachbarn beinhalten • das Verfahren gibt jedes erhaltene Paket an alle Nachbarknoten weiter, mit Ausnahme des Knotens, von dem das Paket erhalten wurde eingesetzt • es handelt sich um ein einfaches, robustes Verfahren, das zu einer • die wichtigsten Verfahren verwenden Distanz-Vektor-Algorithmen und hohen Netzlast führt Link-State-Algorithmen • es funktioniert auch, wenn viele Knoten ausfallen • der kürzeste Weg wird immer gefunden, auch wenn später eintreffende Duplikate erkannt und verworfen werden müssen 47 / 93 48 / 93 Rechnernetze Rechnernetze hot-potato-Routing: Fluten (flooding): • ein Knoten, der ein Paket zur Weitergabe erhält, betrachtet dieses als • Fluten führt zu Duplikaten im Netz • falls deren Lebensdauer nicht begrenzt wird, wird das Netz in kürzester heiße Kartoffel, die er schnellstmöglich wieder loswerden möchte • dazu kann das Paket auf die abgehende Leitung mit der kürzesten Zeit überlastet sein Warteschlange gelegt werden • jedes Paket kann einen Zeitstempel erhalten, der es ermöglicht, es • die Folge ist, dass Pakete erhebliche Umwege nehmen können, da nach Ablauf einer bestimmten Zeitspanne zu vernichten nicht sichergestellt ist, dass die gewählte Leitung einen günstigen Weg in Richtung auf das Ziel ergibt • den Paketen kann ein „Hüpfzähler” (hop count) mitgegeben werden • beim Durchlaufen eines Zwischenknotens wird dieser um Eins erniedrigt • das hot-potato-Verfahren ist empfindlich gegen Überlast, denn es werden immer noch Pakete angenommen, wenn der Weg zum Ziel bereits verstopft ist. • beim Erreichen der Null kann das Paket vernichtet werden 49 / 93 50 / 93 Rechnernetze Rechnernetze Routing-Verfahren beschreiben, wie Routing-Tabellen erstellt werden. A Z1 B nach X über Z4,Z1und Z2 optimal 2 2 Z4 1 Link−State Verfahren: 5 B nach X über Z4,Z1und Z2 mit Kosten (Gewichtssumme) =1+2+2+1=6 optimal 2 B nach X über Z4,Z5und Z2 optimal B nach X über Z4,Z3 ,Z6 und Z2 nicht optimal B 1 Distanz−Vektor Verfahren: Endsystem X 5 Z5 4 Z2 2 Z3 2 Z 2 6 1 1 Metrik B nach X über Z4,Z5und Z2 mit Kosten =1+5+5+1=12 nicht optimal • der Distanz-Vektor-Algorithmus wird für die verteilte Berechnung von Routing-Tabellen verwendet Y • er ist auch als Bellman-Ford-Algorithmus bekannt • er wird in der regelmäßig angebotenen Vorlesung „Effiziente Zwischensystem Algorithmen” ausführlich behandelt • beim Distanz-Vektor-Verfahren wird ein kürzester Weg (mit minimaler Anzahl von Zwischensystemen („hops“) gewählt • beim Link-State-Verfahren ist jeder Teilstrecke (link) ein Gewicht bzgl. einer festgelegten Metrik (z.B. Kosten, Distanz, Bandbreite, Auslastung, etc.) zugeordnet • ein kürzester Weg ist dadurch gekennzeichnet, dass die Summe der Gewichte minimal ist 51 / 93 52 / 93 Rechnernetze Rechnernetze Idee: Link-State-Routing • jeder Knoten erzeugt zu Beginn für sich einen Routing-Vektor • die Einträge sind Tripel, die je eine Adresse mit zugehöriger Leitung und Distanz • führt ebenfalls eine verteilte Berechnung des Routings durch • jeder Knoten ermittelt den Status einer Verbindung zu seinen Nachbarn, enthalten • der Vektor wird den benachbarten Knoten mitgeteilt und zur Aktualisierung der der durch ein Gewicht in einer bestimmten Metrik ausgedrückt wird zugehörigen Routing-Tabellen genutzt • diese Nachrichten werden per Broadcast an alle Knoten gesendet • damit besitzt jeder Knoten die globale und vollständige • somit besitzt jeder Knoten lediglich lokale Informationen und keine vollständige Kenntnis über das Gesamtnetz • nach einiger Zeit (Konvergenzdauer) besitzen alle Knoten optimale Zustandsinformation über das Netz Routing-Tabellen • jeder Knoten kann nun für sich einen Graphen für das Netz erstellen • anschließend berechnet jeder Knoten seine Routing-Tabelle mit Hilfe • das Distanz-Vektor-Verfahren wird periodisch im Abstand weniger Sekunden durchgeführt • damit kann der Ausfall einzelner Knoten oder Kanten (Übertragungsstrecken) des Dijkstra-Algorithmus (den wir schon aus der Informatik I kennen) kompensiert werden • das Routing kann also wie beim Distanz-Vektor-Verfahren an den • ein Knoten, der keine periodische Routing-Information liefert, gilt als ausgefallen • die umgebenden Knoten ändern daraufhin ihre Routing-Tabellen so, dass der aktuellen Zustand des Netzes adaptiert werden ausgefallene Knoten umgangen wird, soweit bestehende Pfade dies zulassen. 53 / 93 Rechnernetze 54 / 93 Rechnernetze Grundsätzlich sind zum Umgang mit Überlast die folgenden Ansätze verwendbar: • Überdimensionierung des Netzes: Überlaststeuerung: • das Netz wird so großzügig ausgelegt, dass keine Überlast auftreten kann • ein Netz kann mit seinen Betriebsmitteln (Teilstrecken, Router) eine bestimmte • dieser Ansatz ist aus wirtschaftlichen Gründen kaum praktikabel Last (load ) bewältigen • die Überlast wird aus dem Netz entfernt: • liegt die Last nahe 100%, so liegt eine Überlast vor, auf die das Netz in geeigneter Weise reagieren muss • nur sinnvoll, wenn die Vermittlungsschicht Kriterien besitzt, welche Pakete • bei Paketnetzen kann eine Überlastsituation entstehen, wenn zu viele Pakete entfernt werden sollen gleichzeitig übertragen werden • dazu können von den höheren Schichten Pakete geeignet markiert werden • dies führt zu Wartezeiten für die Übertragung, die mit zunehmender Last stark • Quellen werden gedrosselt: zunehmen • falls keine geeigneten Maßnahmen ergriffen werden, kann eine Überlast zum • die Quellen können vom Netz aufgefordert werden, vorübergehend Kollaps führen weniger Verkehr in das Netz einzuspeisen • eine Überlaststeuerung wird die Last auf jeder Teilstrecke und in jedem Knoten • dies können die Quellen auch von sich aus tun, wenn sie eine zu hohe auf einen bestimmten Wert zu begrenzen Netzbelastung feststellen • Verfahren dieser Art werden beispielsweise in TCP genutzt • neue Kommunikationsbeziehungen werden (analog zum Telefonnetz) nur zugelassen, wenn das Netz aktuell über genügend freie Kapazitäten verfügt 55 / 93 56 / 93 Rechnernetze Rechnernetze • die Transportschicht stellt den zuverlässigen Transport von Nachrichten (Paketfolgen) zwischen zwei Endsystemen sicher Gliederung • sie setzt auf der Vermittlungsschicht auf und ist die oberste Schicht des Transportsystems, zu dem die Schichten 1-4 zählen • Einführung • sie arbeitet nur mit Endsystemen und abstrahiert von den Details des darunter • OSI-Modell liegenden Netzes • die Vermittlungsschicht steht unter der Kontrolle des Netzbetreibers, der • Aufgaben der Bitübertragungsschicht Anwender hat keinen Einfluss auf sie • Aufgaben der Sicherungsschicht • die Transportschicht kümmert sich um Probleme, die von der Vermittlungsschicht • Aufgaben der Vermittlungsschicht nicht behandelt werden. • dazu gehören die Überbrückung von Ausfällen der Vermittlungsschicht und • Aufgaben der Transportschicht Nachlieferung von Paketen, die in der Vermittlungsschicht verloren gegangen sind • weitere Schichtenmodelle (TCP/IP) • Internet • die Transportschicht kann beliebig lange Nachrichten übertragen • eine (lange) Nachricht wird in Segmente unterteilt, die einzeln übertragen • Netzwerkarchitekturen werden • beim Empfänger werden die Segmente wieder zur ursprünglichen Nachricht zusammengesetzt 58 / 93 57 / 93 Rechnernetze Rechnernetze Dienstgüte (quality of service) Gliederung • beschreibt die Qualitätsmerkmale, die ein Diensterbringer seinem Dienstnutzer zur Verfügung stellen kann • Einführung • dazu gehören • • • • • • • • • • • OSI-Modell Verbindungsaufbaudauer Ausfallwahrscheinlichkeit beim Verbindungsaufbau • Aufgaben der Bitübertragungsschicht Durchsatz • Aufgaben der Sicherungsschicht Übertragungsverzögerung • Aufgaben der Vermittlungsschicht • Aufgaben der Transportschicht Restfehlerrate Ausfallwahrscheinlichkeit beim Transfer • Aufgaben der Sitzungsschicht Verzögerung beim Verbindungsabbau • weitere Schichtenmodelle (TCP/IP) • Internet Ausfallwahrscheinlichkeit beim Verbindungsabbau Schutz der Nachrichten gegen Manipulation Priorität (Möglichkeit, vorrangige Nachrichten zu bevorzugen) • Netzwerkarchitekturen • Störausgleichsverhalten 59 / 93 60 / 93 Rechnernetze Rechnernetze Token • auch als Kommunikationssteuerungsschicht (session layer ) bezeichnet • sie bietet ihrem Benutzer (der Darstellungsschicht oder dem • ein Token ist eine Berechtigungsmarke für bestimmte Dienste • der Besitzer des Tokens hat ein exklusives Recht auf den zugehörigen Benutzerprozess) die Möglichkeit, eine Verbindung aufzubauen, über die geordnet Daten übertragen werden können Dienst • sie erfüllt dabei die folgenden Aufgaben für die Darstellungsschicht: • das Token kann die Ausführung des Dienstes zulassen oder verzögern. • die Vergabe von Token wird beim Sitzungsaufbau ausgehandelt, dabei • Einrichten und Auflösen einer Sitzungsverbindung hat der rufende Teilnehmer zu Beginn Priorität • normaler und beschleunigter Datentransfer • es gibt Token verschiedener Typen • Dialogsteuerung • Synchronisierung der Sitzungsverbindung • Daten-Token: ein Teilnehmer darf nur senden, wenn er dieses Token besitzt • Benachrichtigung über irreparable Fehler • Synchronisations- und Aktivitäts-Token: zum Setzen von Synchronisationspunkten • sie verwendet Tokens für die Berechtigungssteuerung und Synchronisation 61 / 93 62 / 93 Rechnernetze Rechnernetze Gliederung • Einführung Synchronisation • OSI-Modell • eine Gruppe von zusammengehörigen Datentauschoperationen wird zu • Aufgaben der Bitübertragungsschicht einer Aktivität (Sitzung) zusammengefasst • Aufgaben der Sicherungsschicht • Aufgaben der Vermittlungsschicht • nach Auftreten eines Fehlers in einer Kommunikationsinstanz kann eine Sitzung durch eine Synchronisation wieder in einen bekannten Zustand versetzt werden • Aufgaben der Transportschicht • Aufgaben der Sitzungsschicht • dazu dienen Haupt- und Nebensynchronisationspunkte, zu denen bei • Aufgaben der Präsentationsschicht Störungen zurückgekehrt wird • weitere Schichtenmodelle (TCP/IP) • Internet • Netzwerkarchitekturen 63 / 93 64 / 93 Rechnernetze Rechnernetze Gliederung • Einführung • OSI-Modell • auch als Darstellungsschicht presentation layer bezeichnet • sie überträgt Dateneinheiten der Anwendungsschicht unter Wahrung • Aufgaben der Bitübertragungsschicht • da in Endsystemen unterschiedliche Kodierungen vorliegen können, • Aufgaben der Transportschicht • Aufgaben der Sicherungsschicht • Aufgaben der Vermittlungsschicht ihres Informationsgehaltes wird eine einheitliche, genormte Kodierung für die Übertragung verwendet • Aufgaben der Sitzungsschicht • Aufgaben der Präsentationsschicht • Aufgaben der Anwendungsschicht • weitere Schichtenmodelle (TCP/IP) • Internet • Netzwerkarchitekturen 65 / 93 66 / 93 Rechnernetze Rechnernetze • sie stellt den Anwendern (Personen) bzw. den Anwendungsprozessen (Software), die auf ihr aufsetzen, bestimmte Dienstleistungen direkt zur Verfügung Gliederung • die Anwendungen selbst befinden sich außerhalb des OSI-Modells • die Anwendungsschicht enthält Dienste und Protokolle, die es • Einführung • OSI-Modell Anwendungen erlauben, auf das Netz zuzugreifen • weitere Schichtenmodelle (TCP/IP) • Internet • dazu gehören: • FTP (file transfer protocol ) zur Dateiübertragung • TELNET (virtuelles Terminal) • Netzwerkarchitekturen • DNS (domain name service) für die Adressierung von Host-Rechnern • HTTP (hypertetxt transfer protocol ) für WWW-Seiten 67 / 93 68 / 93 Rechnernetze Rechnernetze Das primär auf Kommunikation ausgerichtete OSI-Modell ist aufgrund zusätzlicher Konzepte für Rechnernetze erweitert worden: • Unterteilung der physikalischen Schicht in die Teilschichten: 7 − 5: 7 • PMD (Physical Media Dependent), die den Einsatz unterschiedlicher Application System 6 Übertragungsmedien ohne Auswirkung auf die übrigen Schichten erlaubt 7 − 5: Application System 7 − 5: Anwendung 5 • MII (Media Independent Interface), die mit Schicht 2 verbunden ist 4 − 1: 4 • Unterteilung der Sicherungsschicht in die Teilschichten: Transport System 3 • MAC (Media Access Control), die den Zugriff zum Übertragungsmedium steuert 2 • LLC (Logical Link Control) zur Steuerung der restlichen Funktionen dieser 4 : TCP 3 : IP 2 − 1: Subnet 4 − 3: Netzwerk/ Internet 2 − 1: Subnetzwerk 1 Schicht • Unterteilung der Netzwerkschicht in Schicht • Subnetwork Access: Abarbeitung teilnetzspezifischer Protokolle • Subnet Enhancement: Ergänzung der Teilnetzfunktionen um die OSI TCP/IP Allgemein Anforderungen von Schicht 3c (Internet) zu erfüllen Weitere Schichtenmodelle • Internet: Bearbeitung teilnetzunabhängiger Protokolle, z.B. Routing mit globalen Adressen 70 / 93 69 / 93 Rechnernetze Rechnernetze • ein Internet ist ein Netz, das aus Subnetzen (Teilnetzen) besteht, die untereinander vernetzt sind • die Verbindung zwischen Subnetzen wird durch • Achtung: der Begriff „Internet“ ist ein generischer Begriff • das Internet ist ein Internet mit einer spezifischen Implementierung, die Zwischensysteme (intermediate systems) hergestellt • die in Subnetzen vorhandenen Systeme werden hingegen als TCP/IP als Kernprotokoll verwendet Endsysteme bezeichnet; sie bieten Dienste für die Netzwerknutzer an • ein Internet kann als ein virtuelles Netzwerk bezeichnet werden • jedes Endsystem kann mit jedem anderen kommunizieren, es gibt einen A einheitlichen Adressraum und einheitliche Protokolle (zumindest auf einigen OSI-Schichten) Netz 1 X B • solche Netze werden mit Routern als Zwischensysteme realisiert • neben Routern werden auch Repeater, Bridges, und Gateways als Netz 3 Zwischensysteme eingesetzt Netz 2 Internet Y 71 / 93 72 / 93 Rechnernetze Repeater Bridge Router Rechnernetze Gateway • Adressen sind (numerische) Werte, die einen Knoten in einem Netz eindeutig bestimmen 7 • je nach OSI-Schicht existieren verschiedene Typen von Adressen 6 (Hardware-, Netzdienst-, Transportdienst-Adressen) 5 • Namen sind (logische) Werte, die anstelle einer numerischen Adresse 4 verwendet werden können 3 • z.B. entsprechen Adressen Telefonnummern und Namen den 2 entsprechenden Telefonnummerinhabern 1 • die Abbildung von Namen und Adressen wird durch Zwischensystem Namensdienste bzw. Verzeichnisdienste geleistet (in unserem Beispiel das Telefonbuch) Endsystem Zwischensysteme −−> Einordnung in das OSI−Modell 73 / 93 74 / 93 Rechnernetze Rechnernetze Zum Beispiel hat der Linux-Server solitaire.mi.uni-koeln.de an meinem Lehrstuhl die IP-Adresse • MAC-Adressen sind Hardware-Adressen • sie sind der Hardware des Netzwerkadapters in einem Netzknoten 134.95.216.16 zugeordnet die dem 32-Bit-Binärstring • TCP/IP kennt IP-Adressen und Portnummern • IP-Adressen sind die Adressen in der Netzwerkschicht im 10000110 01011111 11011000 00010000 TCP/IP-Protokoll entspricht. • Portnummern werden von TCP zur Adressierung des Die ersten 16 Bits entsprechen der darüberliegenden Dienstes benutzt Netzadresse 134.95 und die letzten 16 Bits entsprechen der Hostadresse 216.16 75 / 93 76 / 93 Rechnernetze Rechnernetze Im Laufe der Zeit hat sich die Anzahl der am Internet (zuvor ARPANET: Advanced Research Projects Agency Net) angeschlossenen Rechner rasant entwickelt: Jahr 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 Gliederung • Einführung • OSI-Modell • weitere Schichtenmodelle (TCP/IP) • Internet • Netzwerkarchitekturen Rechner 213 235 562 1.024 1.961 5.089 28.174 56.000 159.000 313.000 617.000 1.136.000 2.056.000 3.864.000 Jahr 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 Rechner 8.200.000 16.729.000 26.053.000 36.739.000 56.218.000 93.047.785 125.888.197 162.128.493 171.638.297 285.139.107 353.284.187 439.286.364 489.774.269 570.937.778 Quelle: ISC Internet Systems Consortium 78 / 93 77 / 93 Rechnernetze Rechnernetze • TCP und IP bilden den Kern der TCP/IP-Protokolle • IP (Internet Protocol ) auf der OSI-Schicht 3 und • TCP (Transmission Control Protocol ) auf der OSI-Schicht 4 • IP wird in End- und Zwischensystemen benötigt, TCP nur in Endsystemen • auf den Schichten 1 und 2 können (fast) beliebige Teilnetzwerke verwendet • das Internet ist ein globales, offenes Netzwerk • es besteht aus einer Vielzahl von Teilnetzwerken, die alle die werden, sofern deren Schnittstelle zu IP definiert ist TCP/IP-Protokolle verwenden • auf dem Internet wird eine Vielzahl von Diensten angeboten, deren ...... Eigenschaften und Verbreitung sehr unterschiedlich sind • die Standardisierung und Weiterentwicklung des Internet werden Anwendungsschicht TCP UDP Transportschicht IP ICMP Vermittlungsschicht weltweit koordiniert ARP RARP SLIP 79 / 93 Sicherungsschicht PPP 80 / 93 Rechnernetze Rechnernetze TCP (Transmission Control Protocol ) • realisiert einen Dienst für den zuverlässigen und bidirektionalen Datenaustausch zwischen zwei Benutzern IP (Internet Protocol ) • dazu muss zunächst eine Verbindung aufgebaut werden • zuverlässig bedeutet, dass der Datenstrom in jede Richtung gegen Verlust, • bietet eine unzuverlässige und datagrammorientierte Ende-zu-Ende-Übertragung • es ist verantwortlich für die Vermittlung und optional für die Segmentierung und Vervielfältigung und Reihenfolgeänderung geschützt ist • TCP ist eines der wichtigsten Protokolle im Internet Reassemblierung von Benutzerdatagrammen auf ihrem Weg über Teilnetze in Richtung auf das Zielsystem. • IP ist eines der wichtigsten Protokolle im Internet UDP (User Datagram Protocol ) • überträgt eigenständige Dateneinheiten (Data- gramme) zwischen Anwendungen • die Übertragung ist unzuverlässig, d.h. mit Verlust, Vervielfachung und ICMP (Internet Control Message Protocol ) • muss überall realisiert sein, wo IP genutzt wird • es ist zuständig für die Meldung von Fehlern, die während der Übertragung eines Reihenfolgeveränderung muss gerechnet werden • Datagramme, die bei der Übertragung verfälscht wurden, werden von UDP IP-Datagramms auftreten können erkannt und verworfen, sie erreichen also den Empfänger nicht • zusätzlich kann mittels ICMP Information über andere Systeme eingeholt • UDP kann von einigen Protokollen der Anwendungsschicht anstatt TCP • ICMP setzt auf IP auf • Nachteil dabei ist der Verzicht auf Zuverlässigkeitseigenschaften von TCP, als werden. eingesetzt werden Vorteil ergibt sich ein größerer Durchsatz • Neben TCP & UDP gibt es weitere Protokolle der Transportschicht, die im Hinblick auf bestimmte Anwendungen optimiert sind. 82 / 93 81 / 93 Rechnernetze Rechnernetze • die grundsätzliche Struktur des Internet besteht aus mehreren Ablauf einer Kommunikation im Schichtenmodell Endsystem A Daten D H Paket Backbones haben • dies trifft für große Unternehmen ebenfalls zu • die ISP bedienen kleinere Kunden über ihre Netze • zusätzlich ist auch eine hierarchische Strukturierung (großer ISP, kleiner ISP, H Datagramm T • große ISP (Internet Service Provider ) können einen direkten Zugang zu den D TCP−Segment H H Backbones (großflächige Netze mit hoher Übertragungskapazität) Endsystem B H H T Kundennetz) üblich Rahmen ISP Netz Backbone 1 H: Header (Kopf, Vorspann), D: Daten, T: Trailer (Nachspann) Peering Point • beim Sender (linke Seite) werden die Benutzerdaten der Transportschicht .... Peering Point Multibackbone Backbone n übergeben, die einen Header voranstellt • derselbe Vorgang wiederholt sich auf der Netzwerkschicht • auf der Sicherungsschicht wird dem Datagramm am Anfang ein Header und am ISP ISP Ende ein Trailer angehängt Kleines Unternehmen • beim Empfänger werden die Protokolle von unten nach oben durchlaufen, Grosses Unternehmen Header und Trailer werden entfernt 83 / 93 84 / 93 Rechnernetze Rechnernetze Netzwerkarchitekturen: Übersicht • eine Netzwerkarchitektur ist die vereinfachte Beschreibung des Netzwerkaufbaus • sie kann als Bauplan verstanden werden, der abstrakte Eigenschaften (im Gegensatz zu benutzerbezogenen Eigenschaften) beschreibt Gliederung • Architekturen lassen sich u.a. nach folgenden Kriterien unterscheiden: • Funktion: • Einführung • OSI-Modell • welche Dienste werden verknüpft? • wie eng ist die Kopplung? • weitere Schichtenmodelle (TCP/IP) • Internet • physischer Aufbau: • beteiligte Systeme • Toplogie und Art der Verbindungen • verwendete Protokoll, usw. • Netzwerkarchitekturen • logischer Aufbau: • die Gliederung in Subnetze • die Funktion der zugehörigen Knoten • angebotene Anwendungen, Ausdehnung, Zugang, … 85 / 93 86 / 93 Rechnernetze Rechnernetze Beispiel für eine logische Einteilung: funktionelle Einteilung: • ein Netz kann aus Sicht der Anwendungen gleichberechtigte • ein Datennetz (data network ) überträgt digitale Signale zwischen Paaren oder Teilnehmer miteinander verbinden Gruppen von Anwendern • solche Netze werden als peer-to-peer-Netze bezeichnet • Client-Server-Architekturen ordnen den Netzteilnehmern hingegen • Dabei können Kommunikationsbeziehungen wahlfrei zwischen beliebigen Kommunikationspartnern hergestellt werden • das Netz stellt den Anwendern die OSI-Schichten 1-3 zur Verfügung unterschiedliche Funktionen zu. • ein Rechnernetz (computer network ) verbindet autonome Rechner • es stellt den Anwendern Dienste bereit, die die OSI-Schichten 1-7 umfassen • Ziel der Rechnernetze ist die gemeinsame Nutzung von Ressourcen, die sich an Server (Dienstbringer) verschiedenen Stellen im Netz befinden Anfrage • ein verteiltes System (distributed system) verbindet autonome Rechner so, dass für dem Benutzer ein einzelnes, homogenes Systems repräsentiert wird PC Server Antwort LAN Client (Dienstnutzer) • d.h., dass die Verteilung transparent ist • das System verbirgt Ort und Art der Ausführung seiner Funktion Client Logische Sicht 87 / 93 PC Prinzip der Client−Server−Architektur physische Sicht 88 / 93 Rechnernetze Rechnernetze Beispiel für eine Klassifikation nach Anwendungen: Client-Server-Architekturen • Dialogdienste: • ein Client ist ein Dienstnutzer, der Anfragen an einen Server (Diensterbringer) • erlaubt einen fortlaufenden, bidirektionalen Nachrichtenaustausch in stellt • der Server ermittelt und überträgt die Antwort an den Client • in der Praxis werden Server-Typen eingesetzt, die bestimmte Dienste erbringen Echtzeit • z.B. Konferenzen, entfernte Verarbeitungsausführung und entsprechend benannt werden: • Nachrichtenübermittlung: • Dateiserver (file server ): speichert Dateien für eine Vielzahl von Clients • erlaubt eine Zwischenspeicherung der Nachrichten und entsprechend und gibt diese auf Anfrage heraus längere Laufzeiten • Druckerserver (print server ): erledigt Druckaufträge für die im Netz • Sender und Empfänger können asynchron (zu verschiedenen Zeiten) existierenden Clients senden bzw. empfangen • Datenbankserver (database server ): beinhaltet Datenbanken, die auf Anfrage von Clients abgefragt werden, die Ergebnisse der Abfrage werden den Clients übermittelt • Informationsabfrage: • bezweckt den Zugriff auf zentral gespeicherte Daten • Kommunikationsserver (communications server ): ermöglicht den • vrelangt leistungsfähige Abfragemechanismen und Server mit hoher Clients in einem Netz die Kommunikation in externe Netze Verarbeitungs- und Ein-Ausgabe-Leistung 89 / 93 Rechnernetze Klassifikation nach Zugang (privat/öffentlich): Klassifikation nach Ausdehnung: Name • private Netze • können im Wesentlichen ohne Vorschriften und Nutzungsgebühren von Ausdehnung/Vernetzung wenige Meter Bestandteile eines (Rechner-)Arbeitsplatzes SAN (Storage/System Area Network) ein Raum (Rechenzentrum) Komponenten eines großen Rechnersystems (z.B. Fibre Channel und HIPPI) MAN (Metropolitan Area Network) Rechnernetze • LAN’s: PAN (Personal Area Network) LAN (Local Area Network) 90 / 93 jedermann installiert und betrieben werden • weitgehend standardisiert, da nur so hinreichend große Märkte mit funktionierendem Wettbewerb und zueinander kompatiblen Produkten entstehen können • großflächige Netze (WAN, MAN): • sind auf Netzbetreiber (carrier ) angewiesen, die Netze betreiben und zur ca. 10 m bis zu einigen km von Arbeitsgruppen und Abteilungen Nutzung anbieten • Netzbetreiber sind öffentliche oder private Institutionen, die im Rahmen der rechtlichen Vorschriften tätig sind Bereich einer Großstadt (bis ca. 100km) WAN (Wide Area Network) Ausdehnung ist größer als bei MANs potenziell sehr viele Teilnehmer GAN (Global Area Network) weltweite Ausdehnung potenziell universelle Erreichbarkeit • Firmennetze (corporate networks): • ein Unternehmen betreibt oder mietet ein WAN • das Netz wirkt als scheinbar firmeneigenes Netz • VPN (Vitual Private Networks): • Netze, deren Verhalten einem privaten Netz entspricht, obwohl sie auf der Infrastruktur des Internet aufgebaut sind 91 / 93 92 / 93 Rechnernetze • soweit der kurze Einblick in die Thematik der Rechnernetze • Details bietet die entsprechende Spezialvorlesung 93 / 93