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. 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 Endsysteme 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-EndeSicht abstrahieren die Endsysteme vom Netz, sie haben beide die Illusion, dass sie direkt miteinander kommunizieren. Bei der NetzschnittstellenSicht 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 Z3 X 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 (vgl. 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. 1 22 " 1 Basiskonzepte: Strukturen Literatur zu Rechnernetzen existiert in vielen Kategorien. Zum Nachschlagen sind /1.4/ als Wörterbuch und /1.8/, /1.16/ als Lexika geeignet. Lehrbücher sind /1.3/, /1.5/, /1.6/, /1.7/, /1.9/, /1.12/, /1.14/, /1.15/, /1.17/, /1.18/ und /1.19/. Kurze Übersichten finden sich in /1.10/, /1.13/. 1.2 Das OSI-Modell 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 Schichten- und 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 gleichbleibt. 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 Das OSI-Modell 1.2.2 23 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 Modells zugeordnet sind, vgl. 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: 1 24 " " " " " " " " 1 Basiskonzepte: Strukturen 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. 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 (Ende-zu-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): Aufund 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. 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 1.2 Das OSI-Modell 25 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.3 Protokolle und Dienste, OSI-Terminologie 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 Request Protokoll der Schicht N Dienstschnitt Confirm Protokollschnitt Instanz N System B 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. 1 26 1 Basiskonzepte: Strukturen 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 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 Informationsblöcke (kurz Blöcke) 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. Rahmen werden auch als Blöcke (im engeren Sinn), kurze Rahmen mit fester Länge auch als Zellen (cell) bezeichnet. " Auf der Schicht 3 werden Blöcke als Pakete oder Datagramm (datagram) bezeichnet, zumindest wenn eine verbindungslose Kommunikation (→ Abschnitt 3.1.2) verwendet wird. " Pakete der Schicht 4 werden − insbesondere im Zusammenhang mit TCP/IP → Abschnitt 9.2 − als Segmente (segment) bezeichnet. Der Begriff Nachricht kommt hier ebenfalls vor. 1.2 Das OSI-Modell 27 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). " 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 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 konzi- 1 28 1 Basiskonzepte: Strukturen piert. Dabei wird primär die Kommunikation zwischen genau zwei Teilnehmern betrachtet (weitere Kommunikationsbeziehungen sind Multicast und Broadcast → Abschnitt 5.2.6). Zusätzliche Konzepte für Rechnernetze (→ Abschnitt 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. " 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) 1 Bitübertragung 1a Physical Media Dependent (PMD) Bild 1.8 1.3 Unterteilung der OSI-Schichten Die Schichten des OSI-Modells Pro Schicht des OSI-Modells existiert eine Vielzahl standardisierter Protokolle (→ Abschnitt 1.3.1). Da eine Anzahl von Teilaufgaben in verschiede- 1.3 Die Schichten des OSI-Modells 29 nen Schichten zu erfüllen ist, werden die zugehörigen Protokollfunktionen für sich − unabhängig von einer bestimmten Schicht − behandelt und als Protokollmechanismen bezeichnet (→ Abschnitt 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 Steckverbindungen 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 Bild 1.9 DÜE Übertragungsstrecke (Netz) DEE Schnittstelle 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 (→ Abschnitt 8.2) in öffentlichen Datennetzen. " EIA/TIA RS-232-C: Dieser Standard der EIA/TIA (→ Abschnitt 12.4) ist sehr ähnlich zu V.24. 1