Leseprobe Erich Stein Taschenbuch Rechnernetze und Internet ISBN: 978-3-446-40976-7 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-40976-7 sowie im Buchhandel. © Carl Hanser Verlag, München 1 Basiskonzepte: Strukturen 1.1 Rechnernetze Rechnernetze (auch als Rechnernetzwerke, computer networks, bezeichnet) sind Netzwerke, deren Endsysteme Rechner (computer) sind. Zwischen den Endsystemen werden digitale Daten übertragen. Im Allgemeinen können beliebige Endsysteme untereinander kommunizieren. Hinweis: Zwischensysteme werden kollektiv auch als Netzwerkelemente (NE, Network Element bzw. Network Device, wenn die technische Realisierung im Vordergrund steht) bezeichnet. Die wichtigsten NEs sind Router und Switches, im Kapitel 10 werden einige weitere erklärt. Telekommunikationsnetze dienen im Gegensatz dazu primär der Kommunikation zwischen Personen, die analoge Signale austauschen, wenn auch die Übertragung in digitaler Form geschieht. Bild 1.1 zeigt die grundsätzliche Anordnung, die von sämtlichen Details abstrahiert. Das Netz wird – wie üblich – durch eine Wolke symbolisiert. An ihm sind die Endsysteme (Endknoten) A, B, X, Y angeschlossen. Ein Endsystem (im Zusammenhang mit der technischen Realisierung auch als Endgerät bezeichnet) stellt dem Anwender (Benutzer, User) die Dienste des Netzes zur Verfügung. Der (abstrakte) Anwender besteht aus einem Softwareprozess, der von einem (menschlichen) Anwender interaktiv genutzt werden kann (→ Bild 5.1 und 5.10). A B Netz X Y Bild 1.1 Netz mit Endsystemen A, B, . . . Bei genauerer Betrachtung (→ Bild 1.2) enthält das Netz interne Systeme Zi (i = 1, 2, . . . ), die sich entweder am Rand oder im Innern des Netzes befinden. Diese können allgemein als Zwischensysteme bezeichnet werden. Die Art der Zwischensysteme kann je nach Netz sehr unterschiedlich sein. End- und Zwischensysteme werden als Knoten (nodes) bezeichnet. Benachbarte Knoten werden durch Teilstrecken (links) direkt miteinander verbunden. 1.1 Rechnernetze 21 Die Kommunikation zwischen den Endsystemen (z. B. A und Y) kann aus verschiedenen Sichten betrachtet werden. Bei der Ende-zu-Ende-Sicht abstrahieren die Endsysteme vom Netz, sie haben beide die Illusion, dass sie direkt miteinander kommunizieren. Bei der Netzschnittstellen-Sicht geht jedes Endsystem davon aus, dass es mit dem Netz kommuniziert. Was innerhalb des Netzes oder an seinem entfernten Ende geschieht, interessiert hier nicht. Bei der Teilstrecken-Sicht werden die Vorgänge (Abläufe) auf den Teilstrecken (sofern diese unterscheidbar sind) getrennt betrachtet. A B Z1 Z4 Z5 Z2 Z6 X Z3 Y Teilstreckensicht Netzschnittstellensicht Ende-zu-Ende-Sicht Bild 1.2 Rechnernetz mit End- und Zwischensystemen In allen Sichten werden Nutzdaten (Anwenderdaten) und Steuerinformation (Anforderungen, Quittungen etc.) über die jeweils betrachteten Abschnitte (→ Bild 1.2) übertragen. Die Abläufe sind kompliziert, da in der Regel die folgenden Anforderungen und Probleme bestehen: große Anzahl von Endsystemen (Beispiel: das globale Internet) heterogene (verschiedenartige) Endsysteme Aufbau von Netzen aus (evtl. heterogenen) Teilnetzen bzw. Subnetzen Information kann bei der Übertragung verfälscht werden vorübergehende Überlastung bzw. Ausfälle von Teilstrecken oder Zwischensystemen. Rechnernetze besitzen breite Anwendungsfelder, da elektronische Geräte häufig durch einen oder mehrere Rechner realisiert sind. Der Austausch digitaler Daten ist zwar die grundlegende Anwendung, jedoch werden zunehmend digitalisierte Sprach- und Bildsignale ebenfalls über Rechnernetze übertragen. Anwendungen werden insbesondere in den Kapiteln 5 und 11 behandelt. Literatur zu Rechnernetzen existiert in vielen Kategorien. Zum Nachschlagen sind /1.4/ als Wörterbuch und /1.8/, /1.19/ als Lexika geeignet. Lehrbücher sind /1.3/, /1.5/, /1.6/, /1.7/, /1.10/, /1.14/, /1.16/, /1.18/, /1.21/, /1.22/ und /1.23/. Kurze Übersichten finden sich in /1.12/, /1.15/. 1 22 1 Basiskonzepte: Strukturen 1.2 Das OSI-Modell und seine Erweiterungen 1.2.1 Schichtenmodelle Schichtenmodelle und in anderer, aber gleichwertiger Darstellung auch Schalenmodelle (→ Bild 1.3) spielen in der Kommunikationstechnik und allgemein in der Informatik an verschiedenen Stellen eine wichtige Rolle. Schichtenmodell Schalenmodell Bild 1.3 Schichtenund Schalenmodelle Ihre Bedeutung verdanken sie den folgenden Überlegungen: Teile und herrsche: Ein komplexes System wird zerlegt, um es für Synthese und Analyse besser beherrschbar zu machen. Unabhängigkeit der Schichten: Eine Schicht nutzt nur die Schnittstellenspezifikation zur unmittelbar darunter liegenden Schicht. Das heißt, der innere Aufbau der Schichten ist belanglos, solange ihr Verhalten an der Schnittstelle gleich bleibt. Damit kann eine Schicht ausgetauscht oder ihr innerer Aufbau (Hard- oder Software) verändert werden, ohne dass das Gesamtsystem beeinflusst wird. Somit können Schichten modular (baukastenartig) kombiniert werden. Abschirmung tiefer liegender Schichten: Eine Schicht „sieht“ nur das Verhalten der unmittelbar darunter liegenden Schicht, nicht aber das der anderen Schichten. Damit wird die wahrgenommene Komplexität des Systems reduziert (Kapselung oder Geheimnisprinzip). Standardisierung: Die Definition einzelner Schichten erleichtert die Standardisierung. Eine Schicht kann wesentlich schneller und leichter standardisiert werden als ein komplexes Gesamtsystem. 1.2.2 Das OSI-Referenzmodell Die ISO (International Standardization Organization) hat ab 1977 das ISO/OSI-Modell der Kommunikation in offenen Systemen entwickelt (OSI steht für Open Systems Interconnection). Ziel war es, die komplexe Aufgabe der Kommunikation zwischen verschiedenartigen Endsystemen in weniger komplexe Teilaufgaben zu zergliedern, die den einzelnen Schichten des Mo- 1.2 Das OSI-Modell und seine Erweiterungen 23 dells zugeordnet sind (→ Bild 1.4). Insgesamt sind 7 Schichten vorhanden. Die unterste Schicht 1 repräsentiert die physikalische Ebene, also die Übertragungstechnik. Die Schichten 2–6 befassen sich mit zunehmend allgemeineren Funktionen der Kommunikation. Schicht 7 ist die Anwendungsschicht, die die Schnittstelle zwischen Kommunikations- und Anwendungssystem bildet. Die Schichten 1–4 werden zusammen als Transportsystem, die Schichten 5–7 als Anwendungssystem bezeichnet. Dies hat aber nichts mit der eigentlichen Anwendungssoftware (Anwenderprogramm bzw. Anwendungsprozess) zu tun, die im ISO/OSI-Modell nicht betrachtet wird. Rechner 1 Anwenderprozess Rechner 2 Anwenderprozess Anwendungsschicht Schicht 7 Darstellungsschicht Schicht 6 Sitzungsschicht Transportschicht Schicht 5 Schicht 4 Netzwerkschicht Sicherungsschicht Physische Schicht Schicht 3 Schicht 2 Schicht 1 Umfang des OSI-Modells Übertragungsstrecke Bild 1.4 Das ISO/OSI-Modell der Kommunikation in offenen Systemen Offene (Kommunikations-)Systeme bestehen aus (Hard- und Software-)Komponenten verschiedener Hersteller und sind bezüglich ihres Teilnehmerkreises und ihrer Ausdehnung nicht begrenzt. Die Offenheit wird durch einen Satz von offenen, d. h. frei zugänglichen und nutzbaren Standards für den Informationsaustausch gewährleistet. Offene Teilsysteme können mit anderen offenen Teilsystemen, die dieselben Standards verwenden, problemlos kommunizieren. Die sieben Schichten des OSI-Modells (→ Bild 1.4) haben folgende Aufgaben: Schicht 1, Bitübertragungsschicht (physische Schicht, physical layer): Hier werden die physikalischen und technischen Eigenschaften der Übertragungsmedien definiert. Schicht 2, Sicherungsschicht (data link layer): Stellt sicher, dass auf einer Punkt-zu-Punkt-Übertragungsstrecke trotz gelegentlicher Störungen ein fehlerfreier Bitstrom übertragen wird. 1 24 1 Basiskonzepte: Strukturen Schicht 3, Vermittlungsschicht (auch Netzwerkschicht, network layer): Sie leistet die Adressierung des Zielsystems und die Wegesuche durch mehrere Transitsysteme (Zwischensysteme) hindurch. Das heißt, sie ermöglicht das Internetworking (Vernetzung von Netzwerken). Die Schichten 1–3 stellen zusammen eine Verbindung zwischen Endsystemen (Endezu-Ende) her. Schicht 4, Transportschicht (transport layer): stellt sicher, dass Folgen von Datenpaketen fehlerfrei, vollständig und in der richtigen Reihenfolge vom Sender zum Empfänger gelangen. Sie bildet Netzwerkadressen auf logische Namen ab, die für den Anwender aussagekräftig sind. Schicht 5, Kommunikationssteuerungsschicht (session layer): Auf- und Abbau von Kommunikationsbeziehungen (auch als Sitzung oder session bezeichnet) sowie deren Wiederherstellung nach Störungen im Transportsystem. Schicht 6, Darstellungsschicht (presentation layer): Vereinbarung der verwendeten Datenformate bzw. -codierungen und Umwandlungen zwischen verschiedenen Darstellungen. Schicht 7, Anwendungsschicht (application layer): Stellt der Anwendungssoftware Dienste zur Verfügung. Aus Sicht des Anwenders ist dies die wichtigste Schicht. Sie ist am leichtesten durch Betrachtung der einzelnen Dienste zu verstehen. Hinweis: Das OSI-Modell lässt sich durch die folgende Analogie verständlicher machen: Ein Manager möchte einem Geschäftspartner, der eine andere Sprache spricht, eine Nachricht zusenden. Der Manager ist mit dem Anwendungsprozess, der die Kommunikation anstößt, gleichzusetzen. Er spricht die Nachricht auf ein Diktiergerät. Seine Sekretärin bringt die Nachricht auf Papier und übersetzt diese in die Fremdsprache. Die Sekretärin wirkt somit als Darstellungsschicht. Danach gibt sie die Nachricht an den Lehrling, der den Versand der Nachricht verwaltungstechnisch abwickelt und damit die Sitzungsschicht repräsentiert. Der Hauspostmitarbeiter (gleich Transportschicht) bringt den Brief auf den Weg. Dazu klärt er mit der Netzwerkschicht (gleich Briefpost), welche Übertragungswege bestehen, und wählt den geeigneten aus. Der Postmitarbeiter bringt die nötigen Vermerke auf dem Briefumschlag an und gibt ihn weiter an die Verteilstelle, die der Sicherungsschicht entspricht. Von dort gelangt der Brief zusammen mit anderen in ein Transportmittel (LKW, Flugzeug) und nach eventuell mehreren Zwischenschritten zur Verteilstelle, die für den Empfänger zuständig ist. Auf der Seite des Empfängers wird dieser Vorgang nun in umgekehrter Reihenfolge durchlaufen, bis der Geschäftspartner den Brief schließlich in seiner Postmappe vorfindet. Diese grobe Analogie zeigt allerdings nicht auf, welche Möglichkeiten der Fehlerüberprüfung und -behebung das OSI-Modell vorsieht, da diese beim Briefversand nicht bestehen. In /1.1/ findet sich eine sehr ausführliche Behandlung des OSI-Modells. 1.2 Das OSI-Modell und seine Erweiterungen 1.2.3 25 Protokolle und Dienste, OSI-Terminologie 1 Die Begriffe Protokoll (protocol) und Dienst (service) sind grundlegend. Protokolle (einer Schicht) sind präzise Festlegungen aller Regeln, Datenformate und Funktionen, die für den Datenaustausch zwischen gleichrangigen Instanzen zweier Systeme gelten. Eine Instanz (entity) ist eine bestimmte Schicht N in einem System (End- oder Zwischensystem). Die Gesamtheit der Protokolle aller Schichten wird als Protokollstapel (protocol stack) bezeichnet. Dienste (einer Schicht) sind Funktionen der jeweiligen Schicht, die der nächsthöheren Schicht zur Verfügung gestellt werden. Schichten können somit als Diensterbringer (service provider) bzw. Dienstnutzer (service user) aufgefasst werden. Bild 1.5 zeigt zwei Instanzen A, B der Schichten N, die über ein Protokoll der Schicht N kommunizieren. Die beiden Instanzen sind gleichberechtigt und werden deshalb als Peers bezeichnet. Jede Instanz benötigt zur Realisierung der Kommunikation die Dienste ihrer Schicht N − 1, die ihrerseits auf die Schicht N − 2 zugreift. Der Vorgang wird fortgesetzt, bis Schicht 1 erreicht ist. Schicht N Instanz N System A Protokoll der Schicht N Protokollschnitt Instanz N System B Dienstschnitt Request Confirm Indication Response Schichten N − 1 ... 1 Bild 1.5 Protokolle und Dienste Dienste werden mittels einer Anzahl von Dienstprimitiven (service primitives) realisiert: Request (Anforderung): Eine Instanz (ein Dienstnutzer) veranlasst einen Diensterbringer zu einer bestimmten Operation, die ein Ereignis auslöst. Indication (Anzeige): Eine Instanz wird über ein Ereignis informiert. Response (Antwort): Eine Instanz antwortet auf eine Indication. Confirm (Bestätigung): Eine Instanz wird über das Ergebnis ihrer Anforderung informiert. Diese vier Dienstprimitive bilden zusammen einen bestätigten Dienst. Ein unbestätigter Dienst verwendet nur Request und Indication. Eine Dienstfunktion besteht aus einer bestimmten Folge von Dienstprimitiven. Zur Darstellung 26 1 Basiskonzepte: Strukturen der zeitlichen Abläufe werden Zeitdiagramme verwendet (→ Bild 1.6). Die Dienstprimitive können in verschiedenen Diensten genutzt werden, z. B. CONNECT für den Verbindungsaufbau, DATA für den Datentransport und DISCONNECT für den Verbindungsabbau. A Schicht N Diensterbringer Schichten N − 1, ..., 1 Connect.Request B Schicht N Connect.Indication Connect.Response Connect.Confirm Zeit Bild 1.6 Bestätigter Dienst im Zeitdiagramm Zudem muss die jeweils betrachtete Schicht genau spezifiziert werden. Statt der Nummer der Schicht werden Kennbuchstaben verwendet: P (für Presentation Layer, Schicht 6), S (für Session, 5), T (für Transport, 4), N für Network, 3) und DL (für Data Link, 2). Somit werden z. B. für einen Verbindungsaufbau auf der Transportschicht die folgenden Dienstprimitive benötigt: T-CONNECT.request, T-CONNECT.indication, T-CONNECT.response und T-CONNECT.confirm. Auf den verschiedenen Schichten werden Blöcke (eine bestimmte Anzahl von Bits) gebildet und an andere Schichten weitergereicht. Je nach Schicht sind spezifische Bezeichnungen für diese Blöcke üblich, auch wenn sie nicht immer einheitlich verwendet werden. Auf der Schicht 2 wird der Begriff Rahmen (frame) verwendet. Kurze Rahmen fester Länge werden auch als Zellen bezeichnet. Auf der Schicht 3 werden Blöcke als Pakete oder Datagramm (datagram) bezeichnet, zumindest wenn eine verbindungslose Kommunikation (→ 3.1.2) verwendet wird. Pakete der Schicht 4 werden – insbesondere im Zusammenhang mit TCP/IP (→ 9.2) – als Segmente (segment) bezeichnet. Der Begriff Nachricht kommt hier ebenfalls vor. Pakete der höheren Schichten 5–7 werden häufig pauschal als Nachrichten (message) bezeichnet. Pakete, Rahmen, Datagramme und Segmente sind dadurch gekennzeichnet, dass sie eine festgelegte, maximale Länge aufweisen. Im Gegensatz dazu können die Nachrichten, die ein Anwendungsprozess über ein Rechnernetz übertragen haben möchte, sehr viel länger oder im Grenzfall beliebig lang sein (z. B. bei kontinuierlichen Signalen Sprache und Bewegtbild). OSI besitzt eine eigene Terminologie für Informationsblöcke (→ Bild 1.7). 1.2 Das OSI-Modell und seine Erweiterungen Schicht N + 1 Schicht N IDU (Interface Data Unit) ICI (Interface Control Information) ID (Interface Data) UD (User Data) Schicht N + 1 PCI (Protocol Control Information) ID ICI IDU Schicht N PDU (Protocol Data Unit) Peer A 27 1 Nutzdaten Steuerinformationen Nutzdaten + Steuerinformationen Peer B Bild 1.7 Zur Terminologie des OSI-Modells Eine PDU (Protokolldateneinheit, Protocol Data Unit) ist ein Paket, das zwischen gleichrangigen Instanzen (der Schicht N) zweier Systeme ausgetauscht wird. Zur Kennzeichnung der betrachteten Schicht wird deren Kennbuchstabe vorangestellt (z. B. APDU: Application PDU, TPDU: Transport PDU). Eine PDU besteht üblicherweise aus drei Feldern: Vorspann (header), Nutzlast (payload) und Nachspann (trailer). Alle drei Felder können zur Übertragung von Protokollinformation (Protocol Control Information, PCI) genutzt werden. Benutzerdaten (SDU, Service Data Unit) können nur im Nutzlastfeld transportiert werden. Dies führt zur Unterscheidung von Daten-PDUs und Kontroll-PDUs, je nachdem, ob Benutzerdaten übertragen werden oder nicht. 1.2.4 Erweiterungen des OSI-Modells Das OSI-Modell wurde ursprünglich für vermaschte Weitverkehrsnetze mit Paketvermittlung und verbindungsorientierter Kommunikation konzipiert. Dabei wird primär die Kommunikation zwischen genau zwei Teilnehmern betrachtet (weitere Kommunikationsbeziehungen sind Multicast und Broadcast (→ 5.2.6). Zusätzliche Konzepte für Rechnernetze (→ 5.1) haben zur Erweiterung des OSI-Modells Anlass gegeben /1.3/, /1.5/. Zur Beschreibung lokaler Netze wurde die Sicherungsschicht (Schicht 2) unterteilt in die Teilschichten MAC (Media Access Control, steuert den Zugriff zum Übertragungsmedium) und LLC (Logical Link Control, restliche Funktionen der Schicht 2). Die Netzwerkschicht (Schicht 3) besteht aus drei Teilschichten: Subnetwork Access (Schicht 3a). Sie arbeitet die teilnetzspezifischen Protokolle ab. 28 1 Basiskonzepte: Strukturen Subnet Enhancement (Schicht 3b). Sie ergänzt Funktionen der Teilnetze so, dass die Anforderungen der Schicht 3c erfüllt werden. Internet (Schicht 3c). Bearbeitet teilnetzunabhängige Protokolle wie Routing mit globaler Adressierung. Die physische Schicht (Schicht 1) wird ebenfalls weiter unterteilt. Die Definition einer Teilschicht PMD (Physical Media Dependent) erlaubt den Einsatz unterschiedlicher Übertragungsmedien ohne Auswirkungen auf die übrigen Schichten. Die Teilschicht PMD ist über die Teilschicht MII (Media Independent Interface) mit der Schicht 2 verbunden. Bild 1.8 fasst die Teilschichten zusammen. 7 Application 7 Anwendung 6 Presentation 6 Darstellung 5 Session 5 Kommunikationssteuerung 4 Transport 4 Transport 3 3c Internet 3b Enhancement 3a Subnetwork Access 3 Vermittlung (Netzwerk) 2 2b Logical Link Control (LLC) 2a Medium Access Control (MAC) 2 Sicherung 1 1b Media-Independent Interface (MII) 1a Physical Media Dependent (PMD) 1 Bitübertragung Bild 1.8 Unterteilung der OSI-Schichten 1.3 Die Schichten des OSI-Modells Pro Schicht des OSI-Modells existiert eine Vielzahl standardisierter Protokolle (→ 1.3.1). Da eine Anzahl von Teilaufgaben in verschiedenen Schichten zu erfüllen ist, werden die zugehörigen Protokollfunktionen für sich – unabhängig von einer bestimmten Schicht – behandelt und als Protokollmechanismen bezeichnet (→ 1.3.2). 1.3.1 Protokolle pro Schicht 1.3.1.1 Schicht 1 Auf der Schicht 1 werden physikalische Eigenschaften einer Übertragungsstrecke beschrieben, z. B. die Eigenschaften des Übertragungsmediums, das verwendete Übertragungsverfahren sowie Bauform und Belegung der Steck- 1.3 Die Schichten des OSI-Modells 29 verbindungen zwischen DEE und DÜE (→ Bild 1.9). Die Datenendeinrichtung (DEE, engl.: DTE, Data Terminal Equipment) ist das Endgerät (z. B. Arbeitsplatzrechner) des Benutzers, die Datenübertragungseinrichtung (DÜE, engl.: DCE, Data Communications Equipment) kann je nach Übertragungsverfahren ein Modem, ein ISDN-Adapter oder ein sonstiger Netzadapter sein. DEE DÜE Schnittstelle DÜE Übertragungsstrecke (Netz) DEE Schnittstelle Bild 1.9 DEE und DÜE Wichtige Standards für die Schicht 1 sind u. a.: ITU-T V.24: List of Definitions for Interchange Circuits between DTE and DCE. Beschreibt die Schnittstelle zwischen DEE und DÜE für die asynchrone Datenübertragung über Fernsprechleitungen. X.21: Interface between DTE and DCE for Synchronous Operation on Public Data Networks. Beschreibt die Schnittstelle zwischen DEE und DÜE für die synchrone Datenübertragung über öffentliche Datennetze. Dabei wird die DEE aus dem Netz getaktet. ITU-T X.21bis: Use of Public Data Networks of DTE which is Designed for Interfacing to Synchronous V-Series Modems. Beschreibt die Schnittstelle zwischen DEE und synchronen Modems der V-Serie (→ 8.2) in öffentlichen Datennetzen. EIA/TIA RS-232-C: Dieser Standard der EIA/TIA (→ 12.4) ist sehr ähnlich zu V.24. 1.3.1.2 Schicht 2 Die Schicht 2 realisiert eine fehlerfreie Punkt-zu-Punkt-Übertragung ganzer Rahmen zwischen benachbarten Stationen. Dabei können entweder zwei Stationen direkt miteinander oder mehrere Stationen über ein Bussystem verbunden sein (→ Bild 1.10). Das Bussystem wirkt als Diffusionsnetzwerk, d. h. jede Station kann das Signal jeder anderen Station direkt, ohne das Durchlaufen von zwischengeschalteten Systemen empfangen. Die Standards dieser Schicht leisten eine zeichenorientierte oder eine bitorientierte Übertragung (→ 2.6.2.2) oder werden in LANs verwendet (→ 6.1). BSC (Binary Synchronous Communication) und DDCMP (Digital Data Communications Message Protocol) sind ältere, zeichenorientierte Pro- 1