Kapitel 1. Vernetzungsmodelle

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

Mod-el: Substantiv: 1-strukturelle Gestaltung, 2-eine Miniaturdarstellung, 3-ein Beispiel zur Nachahmung oder Imitation

Das Merriam-Webster-Wörterbuch

Grundlegende Netzwerkarchitekturen und -konstruktionen sind ein guter Ausgangspunkt, um zu verstehen, wie Kommunikationssysteme funktionieren, auch wenn das Thema ein bisschen langweilig ist. Architekturen basieren normalerweise auf einem Modell, das zeigt, wie Protokolle und Funktionen zusammenpassen. In der Vergangenheit gab es viele Modelle, die für diesen Zweck verwendet wurden, wie z. B. die Systems Network Architecture (SNA-IBM), AppleTalk, Novell Netware (IPX/SPX) und das Open System Interconnection (OSI) Modell. Die meisten dieser Modelle sind aufgrund der Popularität von TCP/IP in Vergessenheit geraten. TCP/IP steht für Transmission Control Protocol/Internet Protocol und repräsentiert eine Reihe von Protokollen, die in fast allen modernen Kommunikationssystemen verwendet werden. Wie der Name schon sagt, ist dies die Sprache des Internets. In diesem Kapitel geht es um das praktische TCP/IP-Modell, wobei das OSI-Modell als Referenzpunkt dient.

Was ist ein Modell?

Ein Modell ist eine Möglichkeit, die Funktionen und Merkmale eines Systems zu organisieren, um seinen strukturellen Aufbau zu definieren. Ein Entwurf kann uns helfen zu verstehen, wie ein Kommunikationssystem Aufgaben erfüllt, um eine Protokollsuite zu bilden. Damit wir uns die Modelle besser vorstellen können, werden Kommunikationssysteme oft mit dem Postsystem verglichen(Abbildung 1-1). Stell dir vor, du schreibst einen Brief und bringst ihn zur Post. Irgendwann wird die Post sortiert und dann über ein Transportsystem zu einem anderen Postamt gebracht. Von dort aus wird er sortiert und an einen Briefträger übergeben, der ihn an sein Ziel bringt. Auf seinem Weg wird der Brief an mehreren Stellen bearbeitet. Jeder Teil des Systems versucht, dasselbe zu erreichen - die Zustellung der Post. Aber jeder Teil hat seine eigenen Regeln, die er befolgen muss. Während des Transports befolgt der Lkw die Regeln der Straße, wenn der Brief zur nächsten Stelle zur Bearbeitung gebracht wird. Inspektoren und Sortierer sorgen dafür, dass die Post dosiert und sicher zugestellt wird, ohne sich groß um Ampeln oder Blinker zu kümmern.

Abbildung 1-1. Postsystem

Bei einem Kommunikationssystem ist das nicht viel anders, denn die auf einem Computer erstellten Nachrichten werden verarbeitet und übermittelt, wobei jedes beteiligte Gerät eine bestimmte Funktion erfüllt und bestimmte Regeln für die Übertragung befolgt. Abbildung 1-2 zeigt ein typisches Szenario, in dem zwei Computer durch ihre Netzwerkkarten über ein Netzwerkgerät verbunden sind. Zwei Personen kommunizieren über eine Anwendung wie z. B. ein Instant Messaging- oder E-Mail-Programm. An einem bestimmten Punkt müssen wir entscheiden, wie diese Kommunikation genau gehandhabt werden soll. Wenn du den Brief abschickst, kannst du den Umschlag nicht in einer beliebigen Sprache adressieren oder die Postleitzahl ignorieren, genauso wenig wie der Fahrer des Postwagens auf der falschen Seite der Straße fahren kann.

Abbildung 1-2. Kleines Kommunikationsnetzwerk

Wie wird also der Auftrag der einzelnen Geräte oder Verbindungen bestimmt? Eine Anwendung auf der Benutzerebene sollte nicht für die Wahl der Kodierungsreihenfolge oder des Signaltyps zwischen Client und Server verantwortlich sein. Der Brief entscheidet nicht, ob er mit dem Flugzeug oder mit dem Schiff verschickt wird. Auch die Netzwerkkarte (NIC) ist nicht für die Erstellung des Nachrichtenkopfes zuständig, genauso wie es dem Postsortiersystem egal ist, ob du beim Schreiben eines Briefes einen Bleistift oder einen Kugelschreiber benutzt.

Modelle werden üblicherweise in einer hierarchischen oder schichtweisen Struktur organisiert. Jede Schicht hat eine Reihe von Funktionen zu erfüllen. Um diese Funktionen zu erfüllen, werden Protokolle erstellt, und deshalb sind jeder Schicht auch Protokolle zugeordnet. Die Protokolle werden zusammen als Protokollsuite bezeichnet. Die unteren Schichten sind oft mit Hardware und die oberen Schichten mit Software verbunden. Zum Beispiel arbeitet Ethernet auf den Schichten 1 und 2, während das File Transfer Protocol (FTP) ganz oben im Modell angesiedelt ist. Das gilt sowohl für das TCP/IP- als auch für das OSI-Modell. Der Netzwerkverkehr kann auch anhand dieser Schichten betrachtet werden, von denen viele mit einem Paketaufzeichnungstool wie Wireshark sichtbar sind. In Abbildung 1-3 sind die wichtigsten Schichten des TCP/IP-Modells in einer Nachricht dargestellt, die an einen Webserver geht.

Abbildung 1-3. Paket mit den Schichten

Warum ein Modell verwenden?

Bevor wir zu weit gehen, lass uns einen kleinen Realitätscheck machen. Ein Modell beschreibt die gesamte Struktur. Zu Beginn des Kapitels habe ich festgestellt, dass viele Netzwerkmodelle "den Weg des Dodo gegangen sind". Es mag in jedem Modell gute Ideen gegeben haben, aber am Ende haben alle ein bestimmtes Modell verwendet - TCP/IP. So entwickelten sowohl Apple als auch IBM zunächst ihre eigenen Protokollsuiten, stiegen dann aber aufgrund der Popularität auf TCP/IP um. Dieser Abschnitt erklärt die historische Verwendung der Modelle und bietet eine modernere Sichtweise.

Selbst ein einfaches Kommunikationssystem ist eine komplizierte Umgebung, in der täglich Tausende oder sogar Millionen von Transaktionen stattfinden. Zusammengeschaltete Systeme sind noch viel komplexer. Eine einzige elektrische Störung oder ein Software-Konfigurationsfehler kann den Abschluss dieser Transaktionen verhindern.

Modelle bieten einen Ausgangspunkt, um zu bestimmen, was getan werden muss, um die Kommunikation zu ermöglichen oder um herauszufinden, wie Systeme, die verschiedene Protokolle verwenden, miteinander verbunden werden können. Sie helfen auch bei der Fehlersuche. Wie würde zum Beispiel ein Novell NetWare-Client, auf dem IPX/SPX läuft , mit einer IBM AS/400 über ein TCP/IP-basiertes Netzwerk kommunizieren? In Abbildung 1-4ist ein Szenario dargestellt, in dem mehrere verschiedene Plattformen miteinander kommunizieren müssen. Windows-Knoten basieren auf der TCP/IP-Protokollsuite, können aber bei Bedarf auch Novell NetWare-Client-Software zur Netzwerkauthentifizierung ausführen. Novell hat Internetworking- und Transportprotokolle namens IPX und SPX entwickelt. Am anderen Ende des Netzwerks kommuniziert der IBM-Großrechner über die im SNA-Modell verwendeten Protokolle. Stellen Sie sich den Programmier- und Mehraufwand vor, der erforderlich ist, um alle Transaktionen zwischen diesen verschiedenen Architekturen zu verwalten.

Abbildung 1-4. Topologie der gemischten Architektur

Ein anderes Beispiel ist ein Netzwerk von Apple-Computern, die mit AppleTalk arbeiten und sich mit einem Netzwerk von Windows-Rechnern verbinden, auf denen TCP/IP läuft.

Wie ich bereits sagte, ist TCP/IP heute die vorherrschende Architektur. Die Komplexität derKommunikation zwischen den Plattformen wird durch TCP/IP drastisch reduziert. Protokollsysteme wie AppleTalk, NetWare und SNA gelten als veraltet. Dennoch ist es nach wie vor von entscheidender Bedeutung, die Protokollschichten eines bestimmten Kommunikationsgeräts zu verstehen oder zu wissen, wie Prozesse im Netzwerk interagieren können. Bei der Fehlerbehebung von Standardproblemen oder potenziellen Sicherheitsbedrohungen bieten die Modelle und die dazugehörigen Schichten logische Bezugspunkte, um den Prozess zu beginnen. Man würde sich nicht mit den Routing-Protokollen befassen, wenn das Link-Licht dunkel ist.

OSI-Modell

Das OSI-Modell ist ein sogenanntes Referenzmodell. Das bedeutet, dass dieses Modell eine Methode bietet, mit der Standards und Protokolle verglichen werden können, um die Konnektivität und Konsistenz zu verbessern. Entwickler können ein Referenzmodell nutzen, um zu verstehen, wie Übertragungen aufgebaut sind, und Methoden zur Übersetzung zwischen Systemen entwickeln.

Das OSI-Basismodell ist in der ISO/IEC (International Standards Organization/International Electrotechnical Commission) 7498 standardisiert, die die meisten der hier verwendeten Definitionen enthält. Diese beiden Organisationen haben einen Gemeinsamen Technischen Ausschuss (JTC) gegründet, der sich mit Fragen der Informationstechnologie befasst. Dieses Modell wurde in Zusammenarbeit mit der ITU-T entwickelt und auch als ITU-T-Empfehlung X.200 gedruckt. Die ITU-T ist der Bereich der Internationalen Fernmeldeunion (International Telecommunications Union-Telecom). Nachdem wir nun genug von den Akronymen haben, kommen wir zum Standard.

Die erste Version von ISO/IEC 7498 wurde 1984 verfasst. Sie wurde 1994 durch die Version 2 ersetzt, mit zusätzlichen Korrekturen nach diesem Datum. ISO/IEC 7498 besteht aus vier Teilen:

  • Teil 1 - Das Grundmodell

  • Teil 2 - Sicherheitsarchitektur

  • Teil 3 - Benennung und Adressierung

  • Teil 4 - Rahmenbedingungen

Dieser Abschnitt befasst sich mit dem grundlegenden Modell, das in Abschnitt 6 von 7498-1 als sieben Schichten definiert ist: Anwendung, Präsentation, Sitzung, Transport, Netzwerk, Datenverbindung und Physik. Abbildung 1-5 zeigt diese Schichten und die Verbindung zu einem ähnlich strukturierten offenen System. Ein offenes System ist ein System, das sich an diese Architektur hält.

Abbildung 1-5. Die OSI-Schichten

Abschnitt 6 des Dokuments enthält auch die Leitprinzipien für Schichten, wie z. B.:

  • Nicht so viele zu schaffen, dass die Entwicklung des Systems schwierig wird

  • Verringerung der Anzahl von Interaktionen über eine Schichtgrenze

  • Zusammenfassen ähnlicher Funktionen und Trennen grundlegend unterschiedlicher Funktionen

  • Identifizierung derjenigen, die einen Nutzen daraus ziehen können, dass sie in Hardware oder Software angesiedelt sind

Darüber hinaus umfasst das OSI-Framework als Ziele die Verbesserung aktueller Standards, Flexibilität und die Eigenschaft, "offen" zu sein, was einfach bedeutet, dass Systeme gegenseitig akzeptierte Standards für den Informationsaustausch haben. Jede in 7498-1 definierte Schicht enthält Einzelheiten über die Funktionen und Prozesse, die auf dieser Schicht ablaufen. Es ist erwähnenswert, dass dieses ISO/IEC/ITU-T-Dokument ausdrücklich festlegt:

Es ist nicht die Absicht dieses Referenzmodells, als Implementierungsspezifikation zu dienen oder als Grundlage für die Beurteilung der Konformität tatsächlicher Implementierungen zu dienen oder einen ausreichenden Detaillierungsgrad zu bieten, um die Dienste und Protokolle der Zusammenschaltungsarchitektur genau zu definieren.

Das OSI-Modell legt also keine Protokolle, Dienste oder Regeln fest, die in einem Kommunikationssystem verwendet werden sollen, aber es beschreibt die Ideen und Prozesse, die erforderlich sein können. Abschnitt 7 von 7498-1 enthält einige Angaben zu den einzelnen Schichten, die wir im Folgenden zusammenfassen (wenn du schwere Maschinen fährst, sei vorsichtig!):

Anwendung (Schicht 7)

Bietet die einzige Möglichkeit für die Anwendung, auf die OSI-Umgebung (OSIE) zuzugreifen, ohne dass eine Schicht darüber liegt. Die Funktionen werden in den Verbindungsmodus und den verbindungslosen Modus unterteilt. Zu den Einrichtungen des Verbindungsmodus gehören Dienstgüte (QoS), Sicherheit, Identifizierung der Parteien, Fehlerkontrolle und Dialogmodus. Die verbindungslosen Funktionen sind im Wesentlichen eine Untermenge der bereits erwähnten Funktionen, ohne Fehlerkontrolle und Sicherheit.

Präsentation (Schicht 6)

Kümmert sich um die Darstellung und Aufbewahrung der Daten, die von den Entitäten der Anwendungsschicht bereitgestellt werden. Die Darstellungsschicht konzentriert sich insbesondere auf eine Syntax, die für beide Seiten akzeptabel ist und den Zugang zu den darüber und darunter liegenden Schichten erleichtert.

Sitzung (Schicht 5)

Legt sowohl Vollduplex- als auch Halbduplex-Betriebsarten fest. Diese Schicht stellt die Mittel (Auf- und Abbau) für die kommunizierenden Knoten bereit, um die zwischen ihnen übertragenen Daten zu synchronisieren und zu verwalten. Es wird eine Zuordnung zwischen den Adressen der Transportschicht und der Sitzungsschicht (Session Service Access Point) hergestellt. Es gibt Unterstützung für eine Vielzahl von Session-to-Transport-Adressen. Der Großteil der Aufgaben auf dieser Schicht umfasst verbindungsorientierte Übertragungen, aber auch verbindungslose Übertragungen werden unterstützt.

Transport (Schicht 4)

Protokolle auf dieser Schicht sind End-to-End-Protokolle zwischen kommunizierenden OSI-Knoten und befassen sich hauptsächlich mit der kostengünstigen und zuverlässigen Übertragung von Daten. Eine einzelne Adresse der Transportschicht kann mit vielen Sitzungsadressen verknüpft werden und bietet die für jede Sitzungseinheit erforderliche Leistung. Zu den grundlegenden Funktionen gehören der Aufbau und derAbbau von Transportverbindungen, die Datenübertragung und QoS. Diese Schicht ist zwar nicht für das Routing zuständig, aber sie entspricht der Adressierung der Netzwerkschicht. Alle Modi beherrschen die Fehlerkontrolle, aber im verbindungsorientierten Modus ist eine Sequenzkontrolle erforderlich.

Netzwerk (Schicht 3)

Stellt die Mittel für die Verwaltung von Netzwerkverbindungen zwischen offenen Systemen bereit. Diese Schicht ist nicht für die Aushandlung von QoS-Einstellungen zuständig, sondern konzentriert sich auf das Routing zwischen Netzen und Teilnetzen. Die Adressen der Netzwerkschicht identifizieren die Transporteinheiten auf eindeutige Weise. Die Netzwerkschicht ist auch für die Fehlerkontrolle, die Sequenzierung und die Zuordnung zu den Data-Link-Adressen zuständig.

Datenverbindung (Schicht 2)

Verantwortlich für den Aufbau der Datenverbindung zwischen den Einheiten der Netzwerkschicht. Die verwendeten Adressen sind innerhalb der offenen Systemgruppe der Geräte eindeutig. Wie bei den meisten OSI-Schichten werden verbindungslose und verbindungsorientierte Modi verwendet. Zusätzlich zu den Schnittstellen mit der Netzwerkschicht kann die Data Link-Verbindung auf einer oder mehreren Schnittstellen der physikalischen Schicht aufbauen.

Physikalisch (Schicht 1)

Wie in den meisten Modellen enthält die physikalische Schicht der OSI die elektrischen, mechanischen und funktionalen Mittel, um physikalische Verbindungen zwischen Geräten der Schicht 2 herzustellen. Die Schnittstelle wird weitgehend durch das Medium bestimmt, aber die Übertragungen auf Bitebene müssen in ihre physikalischen Dienstdateneinheiten organisiert werden.

OSI - Jenseits der Schichten

Es ist üblich, die Diskussion über das OSI-Referenzmodell auf die Spezifikationen der sieben Schichten zu beschränken. Obwohl diese Ideen hier besprochen wurden, bietet das OSI-Modell auch potenziell wertvolle Einblicke in den Entwurf und die Implementierung von Netzwerkmodellen und -protokollen. Die Architekten dieses Modells haben viel Zeit damit verbracht, darüber nachzudenken und aufzuzählen, was auf den einzelnen Schichten gefordert wird und was notwendig ist, um mit den unmittelbar darüber und darunter liegenden Schichten zu kommunizieren. In Abschnitt 5 von 7498-1 werden zum Beispiel die verschiedenen Aspekte des Layering diskutiert. Dazu gehören unter anderem die folgenden:

  • Kommunikation zwischen Peer-Einheiten, einschließlich der folgenden:

    • Modi der Kommunikation (Verbindung oder verbindungslos)

    • Beziehungen zwischen den Diensten, die an jeder angrenzenden Schichtgrenze angeboten werden

    • Moduskonvertierungsfunktionen (vor allem Transport- und Netzwerkschichten)

  • Identifikatoren wie N-Adressen - eindeutige Namen, die verwendet werden, um eine Gruppe von Dienstzugangspunkten auf einer bestimmten Ebene zu identifizieren

  • Eigenschaften von Dienstzugangspunkten

  • Definitionen und Beschreibungen von Dateneinheiten

  • Elemente des Schichtbetriebs:

    • Verbindungen zu/von

    • Multiplexing

    • Durchflusskontrolle

    • Segmentierung

    • Sequenzierung

    • Danksagung

    • Auswahl des Protokolls

    • Verhandlungsmechanismen

    • Verbindungsaufbau und -abbau

    • Qualität der Dienstleistung

    • Fehlererkennung

Neben diesen allgemeinen Aspekten der Kommunikation innerhalb eines Schichtenmodells wird jede einzelne Schicht an geeigneter Stelle näher erläutert. Der Abschnitt, der sich mit der Transportschicht befasst, beschreibt zum Beispiel den Verbindungsaufbau und -abbau, die Datenübertragung, die Funktionen innerhalb der Schicht, die Adressierung, das Multiplexing/Splitting und die Verwaltung. Bei Bedarf (wenn eine Eins-zu-Eins-Zuordnung zwischen Diensten/Adressen nicht immer gegeben ist), enthält eine Schichtenbeschreibung auch Einzelheiten zur Aushandlung der Verbindungen zwischen den Schichten oder sogar Unterschichten.

OSI/ITU-T-Protokolle

Bisher haben wir ein Schichtenmodell untersucht und die Aufgaben der einzelnen Schichten beschrieben. Was ist mit den eigentlichen Protokollen? Für jedes Protokoll, das im TCP/IP-Modell verwendet wird, gibt es eine entsprechende (und vielleicht noch komplexere) Version in der OSI/ITU-T-Architektur. Um den Zugriff auf das Referenzmaterial zu erleichtern, bezieht sich dieser Abschnitt auf die ITU-T X-Reihe von Standards.

Wie bereits erwähnt, ist das Modell selbst in ITU-T X.200 beschrieben. Die Schichten werden ebenfalls beschrieben, detailliertere Spezifikationen sind in X.211-X.217bis enthalten. Diese zusätzlichen Dokumente ähneln den RFCs für einzelne Protokolle, da sie die Regeln und Richtlinien für die Entwicklung von Protokollen enthalten, einschließlich Zustandsdiagrammen und primitiven Definitionen. Sowohl für die Netzwerk- als auch für die Transportschicht wird besonderes Augenmerk auf die verbindungslose und verbindungsbasierte Kommunikation gelegt. Einer der Hauptunterschiede zwischen diesen beiden Formen der Übertragung ist die Steuerung des Informationsflusses zwischen den Endpunkten. Es ist interessant, dass die beiden heute verwendeten Protokolle der Schicht 4 - TCP und das User Datagram Protocol (UDP) - auf genau dieselbe Weise voneinander unterschieden werden, wobei TCP als verbindungsorientiert und UDP als verbindungslos bezeichnet wird. TCP legt großen Wert auf Sequenznummern und stellt sicher, dass alle Pakete am Ziel ankommen. Bei UDP ist das nicht der Fall.

Abbildung 1-6 stammt aus ITU-T X.220 und zeigt die zu verwendenden Protokolle. Das Originaldiagramm ist ziemlich groß, deshalb wird hier nur ein Teil davon gezeigt. Obwohl es schon etwas älter ist (1993 geschrieben), gibt es einen Einblick in die Struktur des Modells. Viele der Protokolle sind veraltet, aber wir können die Modularität des Protokollstapels erkennen, die den Austausch von Teilsystemen erleichtert. Auf den unteren Schichten wurde X.25 zum Beispiel durch Frame Relay und ATM ersetzt. Diese wiederum wurden durch die Übertragungsstandards ersetzt, die wir heute verwenden.

Abbildung 1-6. OSI/ITU-T-Protokolle

In der Praxis sind die OSI/ITU-T-Protokolle nicht annähernd so häufig anzutreffen wie die für das TCP/IP-Modell spezifizierten Protokolle, obwohl es Ausnahmen gibt. Einige Wide Area Network (WAN) -Verbindungen verwenden weiterhin diese Spezifikationen, und natürlich gibt es auch noch traditionelle Telefonsysteme. Eines der besten Beispiele für einen ITU-T-Standard, der auch dann noch Bestand hat, wenn immer mehr Kommunikation auf TCP/IP umgestellt wird, ist vielleicht der Bereich Voice over IP (VoIP). H.323, Q.931 und G.711 sind immer noch ein wichtiger Bestandteil der heutigen VoIP-Übertragungen, wie in Abbildung 1-7 dargestellt. H.225 ist ein Teil von H. 323.

Abbildung 1-7. In VoIP verwendete ITU-T-Protokolle

Einführung in TCP/IP

Das Internet und fast alle Netzwerke, die heute genutzt werden, sind auf das TCP/IP-Modell standardisiert. Es wird oft als die Sprache des Internets bezeichnet, da die Anwendungen in der Regel auf dieser Protokollsuite aufgebaut sind. Abbildung 1-8 zeigt das TCP/IP-Modell und einige der bekannteren Protokolle und die entsprechenden Schichten. Auf Schicht 4 (der Transportschicht) gibt es eigentlich zwei Protokolle - TCP und UDP. Obwohl dieses Modell seinen Namen mit dem ersteren teilt, basieren viele Vorgänge auf UDP, so dass Schicht 4 von beiden Protokollen gemeinsam genutzt wird. Die Schichten 1 und 2 werden durch das lokale Netzwerkprotokoll geregelt, aber Schicht 3 gehört zu IP, wobei das Internet Control Message Protocol (ICMP) und das Internet Group Membership Protocol (IGMP) Bestandteile der IP-basierten Vorgänge sind.

Abbildung 1-8. Das TCP/IP-Modell und die Protokolle

Das TCP/IP-Modell schreibt kein bestimmtes Protokoll vor, das auf den unteren (LAN-)Schichten ausgeführt werden muss. In der Vergangenheit wurden Netzwerke auf vielen Technologien aufgebaut, darunter Fiber Distributed Data Interface (FDDI), LocalTalk, Token Ring, Ethernet und drahtlose Protokolle aus der 802.11-Standardfamilie. Heute haben nur noch Ethernet und 802.11 in ihren verschiedenen Formen überlebt, und selbst diese haben bestimmte Varianten eliminiert. So gibt es zum Beispiel kaum noch Ethernet auf Basis von Koaxialkabeln und 802.11-Frequenzsprungverfahren.

In einem typischen Netzwerk werden die meisten Entscheidungen bezüglich der Protokolle - zumindest für die Schichten 1-4 - für dich getroffen, und die wirkliche Variation liegt in den Anwendungen, die du einsetzen willst. Dieses Argument gilt sogar für fortschrittliche Technologien wie die Sprachkommunikation, bei der traditionelle leitungsvermittelte Telefonsysteme schnell durch VoIP ersetzt werden. Die Dominanz des TCP/IP-Modells lässt sich mit einem Tool von Wireshark nachweisen. Wenn du die Protokollverteilung für ein bestimmtes Netzwerksegment untersuchst, erhältst du ein Bild (siehe Abbildung 1-9) der verwendeten Protokolle.

Abbildung 1-9. Windows und Mac OS Protokollverteilung

Links sind die Paketaufzeichnungsdaten eines Windows-Rechners zu sehen, rechts die Daten einer Mac OS-Plattform. Nahezu 100 Prozent des erfassten Layer-3-Verkehrs ist IPv4, mit einem kleinen Anteil an IPv6. Auf Layer 4 dominieren TCP und UDP, aber auch ARP und 802.1x tragen dazu bei. In den gesammelten Daten fehlen die Protokolle aller anderen Modelle.

Wenn man das TCP/IP- und das OSI-Modell vergleicht, kann man sagen, dass die Funktionen gleich sind, aber die Struktur unterschiedlich ist. Abbildung 1-10 zeigt eine Gegenüberstellung der Schichten des OSI- und des TCP/IP-Modells. Die Schichten 5-7 des OSI-Modells entsprechen der Schicht 5 des TCP/IP-Modells.

Abbildung 1-10. Das TCP/IP- und das OSI-Netzwerkmodell

TCP/IP und die RFCs

Das TCP/IP-Modell wird in den RFCs 1122 und 1123 vorgestellt. Diese 1989 veröffentlichten Dokumente enthalten die gleichen Details wie die ISO/IEC-Norm. Ein Blick auf die Daten des Standards, die historische Entwicklung und den Unterschied in der Komplexität zwischen den beiden Modellen gibt Aufschluss darüber, warum sich TCP/IP gegenüber dem OSI-Modell durchgesetzt hat. Wenn du die Lektüre des früheren OSI-Abschnitts überlebt hast, könntest du den Eindruck gewinnen, dass das OSI-Modell im Vergleich zu TCP/IP sehr komplex ist. Ein kurzer Blick auf die "begleitenden" RFCs, die mit den RFCs 1122 und 1123 einhergehen, zeigt ebenfalls ein hohes Maß an Komplexität. Um aus RFC 1122 zu zitieren:

Dieser RFC listet die Standardprotokolle auf, die ein mit dem Internet verbundener Host verwenden muss, und verweist auf die RFCs und andere Dokumente, die die aktuellen Spezifikationen für diese Protokolle beschreiben. Er korrigiert Fehler in den referenzierten Dokumenten und fügt zusätzliche Diskussionen und Anleitungen für Implementierer hinzu.

Für jedes Protokoll enthält dieses Dokument auch einen expliziten Satz von Anforderungen, Empfehlungen und Optionen. Der Leser muss sich darüber im Klaren sein, dass die Liste der Anforderungen in diesem Dokument selbst unvollständig ist. Die vollständigen Anforderungen an einen Internet-Host sind in erster Linie in den Standardprotokollspezifikationen mit den in diesem RFC enthaltenen Korrekturen, Änderungen und Ergänzungen definiert.

Wie beim OSI-Modell hat jede Schicht des TCP/IP-Modells eine bestimmte Anzahl von Aufgaben. Während die meisten dieser Aufgaben in RFC 1122 definiert sind, stammen die Aufgaben der Anwendungsschicht aus RFC 1123. Ein wesentlicher Unterschied zwischen den beiden Modellen ist, dass RFC 1122 bestimmte Protokolle für die verschiedenen Schichten vorschreibt. Im Folgenden werden einige der wichtigsten Anforderungen an die einzelnen Schichten aufgeführt:

Bewerbung

Die oberste TCP/IP-Schicht kombiniert die OSI-Anwendungs- und Darstellungsschicht und umfasst benutzerbasierte und Support-/Verwaltungsprotokolle. Elemente auf dieser Schicht müssen Folgendes leisten:

  • Unterstützung von Flexibilität (Namensgebung und Länge) bei Hostnamen

  • Domainnamen entsprechend zuordnen

  • Umgang mit DNS-Fehlern

Telnet, FTP, Trivial FTP, das Simple Mail Transport Protocol (SMTP) und das Domain Name System (DNS) haben alle spezifischere zusätzliche Anforderungen.

Transport

Diese Schicht bietet End-to-End-Kommunikationsdienste, die entweder auf TCP (verbindungsorientiert) oder UDP (verbindungslos) basieren. TCP befasst sich viel mehr mit Sequenznummern und Handshaking als UDP. Die Elemente dieser Schicht müssen folgende Aufgaben erfüllen:

  • Weitergabe von IP-Optionen und Internet Control Message Protocol-Nachrichten an die Anwendungsschicht

  • Prüfsummen handhaben und manipulieren können

  • Unterstützung von IP-Adressen, einschließlich lokaler und Wildcard-Adressen, wie Broadcast-, Multicast- und Unicast-Ziele

  • Fenstergröße als Zahl ohne Vorzeichen behandeln

  • Verwalte die Fenstergröße effektiv und erlaube 0 Fenstergröße

  • Unterstützt dringende Daten und einen Zeiger auf das letzte Oktett der dringenden Daten

  • Unterstützt TCP-Optionen

  • Anständiges Öffnen von Verbindungen

  • Unzulässige Verbindungsanfragen stillschweigend verwerfen

  • Wiederholte Übertragungen nach empfohlenen Algorithmen behandeln

  • Befolge die empfohlenen Verfahren, wenn du ACKs (Bestätigungen) generierst

  • Zuverlässiger Umgang mit Verbindungsfehlern

Internet

Die Internetschicht spezifiziert die Verwendung von IP, ICMP und dem Internet Group Management Protocol. Es handelt sich dabei um ein verbindungsloses "Best-Effort"-Protokoll, das sich mit der Adressierung, der Art des Dienstes (ToS), der Sicherheit und der Fragmentierung befasst. Es verlässt sich auf die Protokolle der oberen Schicht, um eine genaue Zustellung zu gewährleisten. Die Elemente dieser Schicht müssen folgende Aufgaben erfüllen:

  • Fernes Multihoming handhaben

  • die entsprechende Gateway-Spezifikation erfüllen, falls verwendet

  • Unzulässige IP- und ICMP-Pakete verwerfen

  • Alle Formen der Adressierung, einschließlich Subnetze, richtig handhaben

  • Paket-IDs beibehalten

  • Unterstützung von ToS und Reassemblierung

  • Unterstützung von Routing-Optionen für die Quelle

Link

Dies ist die Netzwerkschnittstelle, die Framing und Medienzugriff umfasst, um direkt mit dem Netzwerk zu kommunizieren, an das sie angeschlossen ist. Elemente auf dieser Schicht müssen:

  • Den ARP-Cache löschen

  • ARP-Floods verhindern

  • Senden und Empfangen von RFC 894-gekapselten Datagrammen (sollte auch IEEE 802 unterstützen)

  • ARP in Ethernet- und IEEE 802-Netzwerken verwenden

  • Übertragungen der Verbindungsschicht an die Internetschicht melden

  • Empfangen von IP ToS-Werten

Physisch

Normalerweise definiert die Netzwerkkarte oder der Port den Physical Layer. Jedes LAN-Protokoll hat in seiner Spezifikation die elektrischen und mechanischen Eigenschaften für die Kommunikation über die Verbindung festgelegt. Dazu gehören Dinge wie Spannungspegel, Kodierung, Pinbelegung und die Form der Schnittstelle.

Nicht alle Anforderungen wurden tatsächlich in den Protokollsuiten auf den Hosts und Netzwerkgeräten umgesetzt. IP-Hosts sollten zum Beispiel viel aktiver sein, wenn es darum geht, Ausfälle von Gateways oder Next Hops zu erkennen. Wenn ein Gateway fehlschlägt, können die Hosts jedoch nicht mit Zielen außerhalb ihres Netzwerks kommunizieren.

Die praktische Seite von TCP/IP

Die in diesem Kapitel besprochenen Modelle werden normalerweise von der obersten Schicht (Anwendung) abwärts gezeichnet. Wireshark zeigt sie in umgekehrter Reihenfolge an, wie in Abbildung 1-11 zu sehen ist, in der die Protokolle der Schichten 1-5 gekennzeichnet sind. Dieses Paket stammt von einem VoIP-Gespräch. Am unteren Ende des Modells sehen wir Ethernet Typ II (auch Ethernet Typ 2 oder Ethernet II genannt). Ethernet als Protokoll existiert auf den Schichten 1 und 2, wobei die Schicht 2 den Rahmen (Fehlerkontrolle, Adressierung usw.) und die Ethernet-Netzwerkschnittstelle die Eigenschaften der physikalischen Schicht (Schicht 1) definiert.

Abbildung 1-11. Beispiel für das Real-Time Transport Protocol (RTP) mit TCP/IP-Protokollen

Darüber hinaus lassen sich die Layer-2-LAN-Protokolle in zwei große Bereiche unterteilen: Logical Link Control (LLC) und Media Access Control (MAC). Diese werden innerhalb des Modells zu Sublayern. Zu den Funktionen der LLC-Schicht gehören der Frame-Aufbau, die Fehlerkontrolle und die Adressierung. Die MAC-Schicht definiert die Leitungsdisziplin und die Netzwerkübertragung. Dazu gehört insbesondere eine Methode, mit der festgestellt wird, welcher Knotenpunkt wie lange in der Leitung ist, um zu kommunizieren. In Abbildung 1-12 sind diese TCP/IP-Sublayer dargestellt. Sublayer gibt es auch im OSI-Modell.

Abbildung 1-12. Schicht-2-Subschichten

Verkapselung

Die Verkapselung ist die Methode, mit der die verschiedenen Schichten interagieren und Informationen im Protokollstapel nach oben und unten weitergeben. Eine von einer Anwendung erzeugte Nachricht muss für die Übertragung formatiert werden. Auf dem sendenden Knoten legt die obere Schicht eine Verpackung um die Nachricht, die die Anwendung beschreibt, mit der die Nachricht erstellt wurde. Dies wird als Header bezeichnet. Das Paket und der Header werden dann an die nächst niedrigere Schicht weitergegeben. Jede Schicht führt ihre eigene erforderliche Verkapselung durch, zu der auch ein Header gehört.

Wenn die Nachricht das untere Ende des Protokollstapels erreicht, hat sie bereits mehrere dieser Umhüllungen. Dieser Prozess ist die Verkapselung. Um die Verarbeitung zu erleichtern, enthält jeder Header Informationen über den Inhalt. So gibt der Ethernet-Header einen Hinweis darauf, dass er IP eingekapselt hat, der IP-Header zeigt an, dass er TCP transportiert und so weiter. Die grundlegende Verkapselung und die spezielle Verkapselung für das Paket in Abbildung 1-11 sind in Abbildung 1-13 dargestellt.

Abbildung 1-13. Verkapselung

Am empfangenden Knotenpunkt läuft derselbe Prozess ab, allerdings in umgekehrter Reihenfolge: Jede Schicht, beginnend mit der untersten, verarbeitet die entsprechenden Informationen und entfernt die äußerste Umhüllung, bevor sie die Nachricht an die nächsthöhere Schicht weitergibt. So geht es weiter, während die Nachricht den Stapel hinaufwandert, bis das letzte Stück der Verpackung entfernt ist. Dieser Vorgang wird als Entkapselung bezeichnet .

Das in Abbildung 1-14 gezeigte Paket wurde erweitert, um die Kopfzeilen sichtbar zu machen. Jede Schicht enthält einen Code, der den Inhalt der eingekapselten Daten kennzeichnet. Ethernet verwendet den Code 0800, um anzuzeigen, dass IP eingekapselt ist. Auf Schicht 3 verwendet IP den Code 17, um anzuzeigen, dass es UDP eingekapselt hat. Auf Schicht 4 verwendet UDP Portnummern, um die Daten an den richtigen Prozess oder die richtige Anwendung weiterzuleiten. Der Empfänger nutzt diese Informationen, um die Daten richtig zu analysieren und zu entkapseln.

Abbildung 1-14. HTTP-Paket

Adressierung

Die in vernetzten Systemen verwendete Adressierung kann auch an Schichten und Geräte gebunden sein, wie in Abbildung 1-14 dargestellt. Einige Protokolle erfordern eine Adressierung als Teil ihrer grundlegenden Funktion. Ein Ethernet-Switch zum Beispiel verarbeitet Layer-2-Frames, die Adressen enthalten, die Hardware- oder MAC-Adressen genannt werden. Die MAC-Quelladresse in Abbildung 1-14 lautet zum Beispiel 00:11:25:43:49:97. Das Internetprotokoll verwendet IP-Adressen auf Schicht 3, die von Routern verarbeitet werden. In diesem Fall lautet die Quelle 192.168.1.1 und das Ziel 239.255.255.250. Sowohl TCP als auch UDP kommunizieren über Portnummern auf Schicht 4. Eine TCP/UDP-Nachricht enthält also nicht nur die Portnummern, die für die Kommunikation mit einer Anwendung erforderlich sind, sondern auch die IP- und MAC-Adressen, die für die Übertragung notwendig sind. Wenn der Netzwerkadministrator diese Zusammenhänge versteht, ist er besser in der Lage, die Infrastruktur aufzubauen, Fehler zu beheben oder zu sichern. Wenn sich der Administrator z. B. Sorgen um das Port-Scanning auf Layer 4 macht, ist es unwahrscheinlich, dass er Lösungen findet, indem er mit den Netzwerk-Switches auf Layer 2 arbeitet.

Ausrüstung

Die Schichtung des Modells kann auch einen Überblick über die Zuständigkeiten der Geräte geben. Jedes Gerät in einem Netzwerk ist für eine bestimmte Aufgabe konzipiert. Sie sind unterschiedlich intelligent und verarbeiten den Datenverkehr auf verschiedene Weise. Die Anwendung der Schichten auf die Geräte macht die Auswirkungen auf den Datenverkehr und die Fähigkeiten der Geräte an einem bestimmten Ort leichter verständlich. Router und Switches bilden die Bausteine fast jedes Netzwerks. Sie haben zwar viele individuelle Merkmale und können für eine Vielzahl von Funktionen konfiguriert werden, aber unabhängig vom Hersteller bieten sie alle die gleichen Basisdienste, wenn du sie anschließt. Die Beziehung zwischen den Geräten, der Adressierung und den Schichten ist in Abbildung 1-15 dargestellt.

Abbildung 1-15. Ausrüstung und Adressierungsschichten

Switches arbeiten auf Layer 2 und leiten LAN-Frames auf der Grundlage der in den Frames enthaltenen MAC-Adressen weiter. Außerdem führen sie für jeden Rahmen eine Fehlerprüfung durch. Switches bieten ein gewisses Maß an Netzwerksegmentierung, da die Verarbeitung von MAC-Adressen zu einer Kontrolle des Netzwerkverkehrs führt. Switches verfügen über eine Reihe von Verwaltungsfunktionen, wie z. B. die Unterstützung von SNMP und virtuellen lokalen Netzwerken (VLANs).

Router arbeiten auf Schicht 3 und verarbeiten IP-Pakete. Sie lesen Layer-2-Frames, wenn ihre MAC-Adressen in den Frames auftauchen, aber ihre Hauptaufgabe ist es, IP-Pakete an das richtige Ziel zu bringen. Dabei berechnet der Router die Prüfsumme des IP-Headers und kann auf alle QoS- oder Fragmentierungsinformationen im Paket reagieren. Viele Router unterstützen auch fortschrittliche Funktionen wie Firewalling, VPN-Abschluss (Virtual Private Network), Authentifizierung und NAT (Network Address Translation).

Der Begriff Gateway hat mehrere Bedeutungen. Router und Netzwerk-Hosts sind mit einem Standard-Gateway konfiguriert, aber eigentlich ist das ein Router. Es wird als Standard-Gateway bezeichnet, weil dies der Netzwerkpfad zum Rest der Welt ist. Das traditionellere Gateway, das auf Schicht 4 existiert, ist ein Gerät, das zur Konvertierung zwischen Systemen verwendet wird, die nicht dasselbe Netzwerkmodell haben. Diese Art von Umgebung ist in Abbildung 1-4 dargestellt und erfordert eine Protokollübersetzung, damit die Netzwerkknoten kommunizieren können. Man könnte sagen, dass es sich hierbei um ein weiteres altes Gerät handelt, aber mit dem Aufkommen von VoIP erlebt das Gateway ein Comeback. Die Sprache des öffentlichen Telefonnetzes (PSTN) ist Signaling System 7 (SS7). Damit ein IP-basiertes VoIP-Telefon mit einem herkömmlichen Telefon kommunizieren kann, wird ein Gateway benötigt, das sowohl TCP/IP als auch SS7 versteht.

Nicht alle Geräte passen in eine Schublade. Ein Access Point wird manchmal auch als Wireless Hub bezeichnet, weil er bestimmte Arten von Datenverkehr überall hin sendet. Wie ein Ethernet-Switch kennt der Access Point jedoch nicht nur die MAC-Adressen, sondern nutzt sie auch, um einige Weiterleitungsentscheidungen zu treffen. In jüngerer Zeit hat das Aufkommen von Multilayer-Switching die Grenze zwischen der Verarbeitung von Frames auf Layer 2 und einigen Funktionen auf höherer Ebene wie dem Routing verwischt. Abbildung 1-16 zeigt ein Beispiel dafür, wie diese Geräte und Adressen innerhalb der Grenzen der Protokollschichten interagieren.

Abbildung 1-16. Beziehung zwischen Ausrüstung und Adressierung

Zusammenfassung

Das OSI- und das TCP/IP-Modell bieten eine Architektur, in der die Funktionen und Regeln für die Kommunikation, die Adressierung und die Ausrüstung organisiert sind. Das OSI-Modell ist in ITU-T X.200 standardisiert, und die Begleitdokumente X.211-X.217 und X.220 enthalten die Spezifikationen für die Entwickler und Protokolle. Das TCP/IP-Modell wird in RFC 1122 beschrieben, in dem die erforderlichen Protokolle für Hosts, die im Netzwerk kommunizieren, aufgeführt sind.

Das OSI-Modell, das heute in erster Linie als Referenzmodell gilt, wird nur noch selten verwendet. Das TCP/IP-Modell ist die Sprache des Internets. Die Einführung der IP-basierten Kommunikation in vielen Systemen, wie z. B. VoIP, wird die Verwendung des OSI-Modells weiter einschränken - ein Faktor, der auch großen Unternehmen wie Apple und Novell nicht entgangen ist, die das TCP/IP-Modell übernommen haben.

Moderne Praktiker und Forscher sind gut beraten, wenn sie die Standards für Kommunikationsanforderungen unter verschiedensten Bedingungen verstehen. Diese Architekturen helfen uns, die Entwicklung von Kommunikationsstandards besser zu verstehen.

Zusätzliche Lektüre

  • ISO/IEC 7498-1: "Information Technology-Open Systems Interconnection-Basic Reference Model: Das Grundmodell"

  • ITU-T X.200: "Information Technology-Open Systems Interconnection-Basic Reference Model": Das Grundmodell"

  • ITU-T X.220: "Verwendung von Protokollen der X200-Serie in CCITT-Anwendungen"

  • RFC 1122: "Requirements for Internet Hosts-Communication Layers"

  • RFC 1123: "Anforderungen für Internet-Hosts - Anwendung und Unterstützung"

Fragen überprüfen

  1. Wie nennt man den Prozess, bei dem ein Protokoll der oberen Schicht in ein Protokoll der unteren Schicht eingewickelt wird?

  2. Nenne vier Kommunikationsmodelle.

  3. Welche beiden Dokumente beschreiben die Standardisierung des OSI-Modells?

  4. Wie viele Schichten gibt es im OSI- bzw. TCP/IP-Modell?

  5. Nenne die Schichten des OSI-Modells.

  6. Nenne die Schichten des TCP/IP-Modells.

  7. In welchen beiden Dokumenten wird die Verwendung des TCP/IP-Modells vorgestellt und erläutert?

  8. In beiden Standards werden zwei Formen der Kommunikation beschrieben. Diese Formen sind vor allem Teil der Schichten 3 und 4. Was sind sie?

  9. Netzwerkadministratoren haben normalerweise die Möglichkeit, jedes beliebige Protokoll zu verwenden, unabhängig von der jeweiligen Schicht. Richtig oder falsch?

  10. Ein großer Unterschied zwischen der Dokumentation des TCP/IP- und des OSI-Standards besteht darin, dass der TCP/IP-RFC die zu verwendenden Protokolle festlegt, die Dokumentation des OSI-ITU-T-Modells jedoch nicht. Richtig oder falsch?

  11. Gib für jeden Adresstyp oder jedes Gerät die entsprechende Schicht an (Schicht 2, Schicht 3 oder Schicht 4):

    1. Schalter

    2. Router

    3. Gateway

    4. MAC-Adresse

    5. IP-Adresse

    6. Portnummer

Rückblick Antworten

  1. Verkapselung

  2. TCP/IP, OSI, SNA, AppleTalk, Novell (IPX/SPX)

  3. ISO/IEC 7498 und ITU-T X.200

  4. 7, 5

  5. Anwendung, Präsentation, Sitzung, Transport, Netzwerk, Datenverbindung, physikalisch

  6. Anwendung, Transport, Internet, Datenverbindung, Physikalisch

  7. RFCs 1122 und 1123

  8. Verbindungsmodus (orientiert) und verbindungsloser Modus

  9. Falsch

  10. Wahr

  11. a) Schicht 2, b) Schicht 3, c) Schicht 4, d) Schicht 2, e) Schicht 3, f) Schicht 4

Labor-Aktivitäten

Aktivität 1 - Untersuchung der Verkapselung

Materialien: Wireshark und eine Netzwerkverbindung

  1. Beginne eine Erfassung.

  2. Erledige mehrere verschiedene Transaktionen von deinem Computer aus.

  3. Halte die Erfassung an und untersuche die einzelnen Pakete.

  4. Finde Beispiele für die folgenden Punkte: ARP, ICMP, TCP, UDP und IPv6.

  5. Beschreibe diese Pakete in Bezug auf ihre Verkapselung oder ihre Protokollstapel.

Aktivität 2 - Verteilung von Protokollen

Materialien: Wireshark und eine Netzwerkverbindung

  1. Starte ein Capture und lass es einige Minuten lang laufen (je länger, desto besser).

  2. Erledige so viele verschiedene Transaktionen wie möglich von deinem Computer aus.

  3. Wähle im Menü Statistik in Wireshark die Option Protokollhierarchie.

  4. Untersuche die Verteilung der Protokolle und versuche, die verwendeten Modelle und den Umfang des Datenverkehrs für jedes Protokoll zu bestimmen. Welches ist das häufigste Protokoll der oberen Schicht? Wodurch wurde es erzeugt?

Aktivität 3 - Entwicklung eines Protokolls/einer Architektur

Entwickle anhand der in diesem Kapitel besprochenen Modelle eine Reihe von Regeln oder Parametern, die ein Gespräch zwischen zwei Menschen beschreiben, die sich noch nie getroffen haben. Zu den Überlegungen könnten die Art der Kommunikation, die Sprache, die nonverbale Kommunikation, die Zugangsmethode, die Körpersprache, die Mimik, die Geschwindigkeit und die Aushandlung der Parameter gehören.

Get Paketführer für Kernnetzprotokolle now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.