Beziehung zwischen OSI-Modell und Netzwerkprotokollen

27

Wenn die meisten Networking-Studenten das OSI-Modell zum ersten Mal kennenlernen, verbringen sie viel Zeit damit, herauszufinden, in welche Ebene des Modells ein bestimmtes Protokoll passt. In diesem Forum werden viele Fragen zu OSI-Ebenen gestellt, die normalerweise wie folgt lauten:

  • Auf welcher OSI-Ebene arbeitet IS-IS?
  • Ist HTML ein Präsentations- oder Anwendungsprotokoll?
  • Sind VPN-Tunnel Schicht 2 oder 3?

Wie sollte ein Student (oder Fachmann) die Beziehung zwischen dem OSI-Modell und den Protokollen verstehen, mit denen er / sie arbeitet?

Ron Trunk
quelle

Antworten:

35

Es gibt zwei wichtige Fakten zum OSI-Modell:

  1. Es ist ein konzeptionelles Modell. Das heißt, es beschreibt eine idealisierte, abstrakte, theoretische Gruppe von Netzwerkfunktionen. Es beschreibt nichts, was jemand tatsächlich gebaut hat (zumindest nichts, was heute verwendet wird).

  2. Es ist nicht das einzige Modell. Es gibt andere Modelle, insbesondere die TCP / IP-Protokollsuite (RFC-1122 und RFC-1123), die den derzeit verwendeten Modellen sehr viel näher kommt.

Ein bisschen Geschichte: Sie haben wahrscheinlich alle von den Anfängen der Paketvernetzung gehört, einschließlich ARPANET, dem Vorgänger des Internets. Zusätzlich zu den Bemühungen des US-Verteidigungsministeriums, Netzwerkprotokolle zu erstellen, waren auch mehrere andere Gruppen und Unternehmen beteiligt. Jede Gruppe entwickelte ihre eigenen Protokolle auf dem brandneuen Gebiet der Paketvermittlung. IBM und die Telefongesellschaften entwickelten ihre eigenen Standards. In Frankreich arbeiteten Forscher an ihrem eigenen Netzwerkprojekt namens Cyclades.

Die Arbeiten am OSI-Modell begannen Ende der 1970er-Jahre, hauptsächlich als Reaktion auf den wachsenden Einfluss großer Unternehmen wie IBM, NCR, Burroughs, Honeywell (und anderer) und ihrer proprietären Protokolle und Hardware. Die Idee dahinter war, einen offenen Standard zu schaffen, der die Interoperabilität zwischen verschiedenen Herstellern gewährleistet. Da das ISO-Modell jedoch einen internationalen Geltungsbereich hatte, gab es viele konkurrierende politische, kulturelle und technische Interessen. Es dauerte weit über sechs Jahre, bis ein Konsens erzielt und die Standards veröffentlicht wurden.

In der Zwischenzeit wurde auch das TCP / IP-Modell entwickelt. Es war einfach, leicht zu implementieren und vor allem kostenlos. Sie mussten die OSI-Standardspezifikationen erwerben, um Software dafür zu erstellen. Alle Aufmerksamkeit und Entwicklungsanstrengungen richteten sich auf TCP / IP. Infolgedessen wurde das OSI-Modell nie als Protokollsatz implementiert, und TCP / IP wurde zum Standard für das Internet.

Der springende Punkt ist, dass alle heute verwendeten Protokolle die TCP / IP-Suite sind. Routing-Protokolle wie RIP, OSPF und BGP; und Host-Betriebssystem-Protokolle wie Windows SMB und Unix RPC wurden ohne Berücksichtigung des OSI-Modells entwickelt. Sie haben manchmal Ähnlichkeiten damit, aber die OSI-Standards wurden während ihrer Entwicklung nie befolgt. Der Versuch, diese Protokolle in OSI zu integrieren, ist ein Kinderspiel. Sie passen einfach nicht genau.

Das heißt nicht, dass das Modell keinen Wert hat. Es ist immer noch eine gute Idee, es zu studieren, damit Sie die allgemeinen Konzepte verstehen können. Das Konzept der OSI-Schichten ist so in die Netzwerkterminologie eingewoben, dass wir in der alltäglichen Netzwerksprache von Schicht 1, 2 und 3 sprechen. Die Definition der Schichten 1, 2 und 3 ist, wenn Sie ein wenig schielen, ziemlich gut vereinbart. Schon deshalb lohnt es sich zu wissen.

Die wichtigsten Dinge, die Sie über das OSI-Modell (oder ein anderes Modell) wissen sollten, sind:

  • Wir können die Protokolle in Schichten aufteilen
  • Schichten stellen die Einkapselung bereit
  • Ebenen sorgen für Abstraktion
  • Ebenen entkoppeln Funktionen von anderen

Die Aufteilung der Protokolle in Ebenen ermöglicht es uns, die verschiedenen Aspekte separat zu besprechen. Dies erleichtert das Verständnis der Protokolle und die Fehlerbehebung. Wir können bestimmte Funktionen leicht isolieren und sie mit ähnlichen Funktionen anderer Protokolle gruppieren.

Jede „Funktion“ kapselt (im Großen und Ganzen) die darüber liegenden Ebenen. Die Netzwerkschicht kapselt die darüber liegenden Schichten. Die Datenverbindungsschicht kapselt die Netzwerkschicht und so weiter.

Ebenen abstrahieren die darunter liegenden Ebenen. Ihr Webbrowser muss nicht wissen, ob Sie TCP / IP oder etwas anderes auf der Netzwerkebene verwenden (als ob es etwas anderes gäbe). Für Ihren Browser stellen die unteren Ebenen lediglich einen Datenstrom bereit. Wie dieser Stream angezeigt wird, ist vor dem Browser verborgen. TCP / IP weiß (oder interessiert sich nicht), ob Sie Ethernet, ein Kabelmodem, eine T1-Leitung oder einen Satelliten verwenden. Es werden nur Pakete verarbeitet. Stellen Sie sich vor, wie schwierig es wäre, eine Anwendung zu entwerfen, die all das bewältigen müsste. Die Schichten abstrahieren die unteren Schichten, so dass Software-Design und -Betrieb viel einfacher werden.

Entkopplung: Theoretisch können Sie eine bestimmte Technologie auf derselben Ebene durch eine andere ersetzen. Solange die Ebene auf dieselbe Weise mit der darüber und der darunter kommuniziert, sollte es keine Rolle spielen, wie sie implementiert ist. Zum Beispiel können wir das sehr bekannte Layer 3-Protokoll, IP-Version 4, entfernen und durch IP-Version 6 ersetzen. Alles andere sollte genauso funktionieren. Für Ihren Browser oder Ihr Kabelmodem sollte dies keinen Unterschied machen.

Das TCP / IP-Modell basiert auf der TCP / IP-Protokollsuite (Überraschung!). Es hat nur vier Ebenen und alles über dem Transport ist nur eine „Anwendung“. Es ist einfacher zu verstehen und verhindert endlose Fragen wie „Ist diese Sitzungsebene oder Präsentationsebene?“. Aber es ist auch nur ein Modell, und einige Dinge tun es nicht. Es passt auch nicht gut hinein, wie Tunneling-Protokolle (GRE, MPLS, IPSec, um nur einige zu nennen).

Letztendlich sind die Modelle eine Möglichkeit, unsichtbare abstrakte Ideen wie Adressen, Pakete und Bits darzustellen. Solange Sie dies berücksichtigen, kann das OSI- oder TCP / IP-Modell hilfreich sein, um das Netzwerk zu verstehen.

Ron Trunk
quelle
1
Ich habe mich immer gefragt, warum wir uns auf das OSI-Modell beziehen, obwohl das TCP / IP-Modell in Wirklichkeit besser zu der Rechnung passt.
Ryan Foley
5
@ RyanFoley, in vielen Fällen wahr. Wenn es jedoch um die Fehlerbehebung (und insbesondere um das Lehren) geht, ist es besser, über separate physische und Datenebenen zu verfügen, um die Probleme jeweils separat zu beheben. Zum Beispiel ist es gut, den Unterschied in einem Cisco-Gerät zwischen einer Up / Up-Schnittstelle, einer Up / Down-Schnittstelle und einer Down / Down-Schnittstelle zu kennen.
YLearn
"Zum Beispiel können wir das sehr bekannte Layer 3-Protokoll, IP-Version 4, entfernen und durch IP-Version 6 ersetzen. Alles andere sollte genauso funktionieren. Für Ihren Browser oder Ihr Kabelmodem sollte das keinen Unterschied machen. " Leider macht es einen Unterschied, weil die Abstraktionen undicht sind. Anwendungen und Transportprotokolle müssen die vom Internetprotokoll verwendete Adressierung kennen.
Peter Green
Nun, deshalb sind Models nur Models.
Ron Trunk
1
joelonsoftware.com/2002/11/11/the-law-of-leaky-abstractions Wir bauen Abstraktionen auf, um die hässlichen Details der zugrunde liegenden Sache zu verbergen, aber einige Details der zugrunde liegenden Sache lecken und verursachen Probleme. Eine solche Sache, die bis an die Spitze des Stapels durchgesickert ist, ist das Adressierungssystem.
Peter Green
2

Hier gibt es einige Verwirrung. Nur weil eine Funktion nicht zu einer Ebene zu passen scheint, heißt das nicht, dass dies nicht der Fall ist. OSI ist flexibel und ermöglicht Objekte und Unterschichten, bei denen praktische Implementierungen auf das Modell abgebildet werden. Einige der Funktionen einer Ebene können auch auf anderen Ebenen dupliziert werden. Auch muss die Verarbeitung nicht auf der Anwendungsebene erfolgen. Schließlich war OSI mehr als ein Modell, es wurde in seiner Gesamtheit von einigen Herstellern implementiert. Ich habe am DEC-Projekt gearbeitet. Praktisch bedeutet, dass heute nur bestimmte Teile von OSI verwendet werden.

SCHLUND
quelle
1

Alle IGP-Routing-Protokolle (Interior Gateway Protocols) werden auf Schicht 3 ausgeführt. Externes BGP wird auf Schicht 4 ausgeführt, während internes auf Schicht 3 ausgeführt wird.

Physical Layer - Behandelt Hardware-Netzwerkgeräte, z. B. Laptops, Mobiltelefone, Desktops. Es ist bekannt, dass Schicht 1 eine Kollisionsdomäne ist, Schicht 1-PDU (Protokolldateneinheit sind Bits).

Daten- / Verbindungsschicht - Diese Schicht betrifft Schicht-2-Switches, Broadcast-Domänen, VLANS, STP, VTP. Die Protokolldateneinheit dieser Schicht heißt Frames.

Netzwerkschicht - Dies ist, wenn Routing auftritt, die meisten Routing-Protokolle funktionieren auf dieser Schicht. Dies wird auch als IP-Schicht bezeichnet, auf der VLANS kommunizieren. Die PDU für diese Schicht wird als Pakete bezeichnet.

Transportschicht - Die Transportschicht befasst sich mit TCP- und UDP-Ports. Hier werden die Pakete von Schicht 3 an ihre Zielports gesendet. Es ist wichtig, sich daran zu erinnern, dass TCP ein verbindungsorientiertes Protokoll ist, während UDP ein verbindungsloses Protokoll ist (nicht garantierte Lieferung von Daten). Die PDU für diese Schicht sind Datagramme.

Sitzungsschicht - In der Sitzungsschicht werden die Pakete von Schicht 3 entkapselt. In dieser Schicht werden mehrere serverseitige Programmiersprachen behandelt, in denen Sie softwarebasierte Anwendungen erstellen und in -> konvertieren können

Die Präsentationsebene - In dieser Ebene geht es um die clientseitigen Codes, die Sie in Ihrem Webbrowser sehen. Wenn Sie mit der rechten Maustaste klicken und den Quellcode anzeigen, handelt es sich hauptsächlich um HTM / CSS / Javascript-Codes, mit denen Sie Ihr -> anzeigen können

Die Anwendungsschicht - Hier übersetzt die grafische Benutzeroberfläche (GUI) die HTML / CSS-Codes von Schicht 6 in diese Schicht. Was Sie in Ihrem Webbrowser sehen, ist die Front-End-GUI. Die Schicht 5, 6, 7-PDU wird als Nachricht bezeichnet.

Ich hoffe, dass diese alle OSI-bezogenen Fragen beantworten.

Auf welcher OSI-Ebene arbeitet IS-IS? - Schicht 3
Ist HTML ein Präsentations- oder Anwendungsprotokoll? - Präsentation
Sind VPN-Tunnel Layer 2 oder 3? -> L2TP ist Schicht 2 -> VPN-Tunnel funktionieren normalerweise auf Schicht 3 wie IPSEC.

chris
quelle
1
Dies beantwortet das OP nicht; Er fragte nie, was die einzelnen Ebenen taten, er fragte, was jemand über die zugrunde liegenden Konzepte verstehen sollte.
Ryan Foley
1
Informativ ist toll, aber dies ist eine Problem- / Lösungsseite. Ihre Antwort ist großartig, wenn die Frage lautete: "Was sind die verschiedenen Schichten des OSI-Modells und was macht jede?" . Die Frage bezieht sich auf die Grundlagen des OSI-Modells und nicht direkt auf das OSI-Modell. Großartige Einsicht, aber schlechte Antwort auf diese spezielle Frage.
Ryan Foley
5
Chris, ich weiß deine Antworten zu schätzen und im Großen und Ganzen hast du recht. Aber ISIS läuft auf IP, macht das Layer 4? Wie wäre es mit BGP? Es läuft auf TCP. Ist es Schicht 5? Mein Punkt ist, obgleich Sie Protokolle in die Schichten zusammendrücken können, passen sie nicht wirklich. Wenn Sie sich die OSI-Darstellungsschicht-Spezifikation ansehen würden, würde HTML meiner Meinung nach nicht ganz in Frage kommen. Sogar OSI gab zu, dass die Schicht 2 zu breit war und sie in zwei Unterschichten aufgeteilt werden musste.
Ron Trunk
2
Das OSI-Modell ist nur ein theoretisches Modell. Auch wenn das Routing-Protokoll <Name hier> (L2 | L3) -Pakete verwendet, ist es auch Teil von L7, da es sich um eine Anwendung handelt und die Routing-Tabelle und möglicherweise dieselbe Schicht dazwischen berechnet werden muss. Nicht alles ist schwarz und weiß.
Mulaz
3
@ Ron, ISIS ist kein natives IP-Protokoll. OSPF ist. (Nur um mehr Verwirrung zu stiften. :-))
John Jensen
1

HTTP (nicht HTML) hat sowohl Präsentations- als auch Anwendungsschicht. VPN-Tunnel fügen dem vorhandenen Stapel Overlay-Layer hinzu: Je nach Art kann es sich um Layer 2 oder Layer 3 handeln. Dann können Sie diese hinzugefügten Layer zweimal im Paket sehen.

alexlev2004
quelle
1
Sie können die Dinge sicherlich so benennen, wie Sie es für richtig halten, aber HTTP wurde ohne Berücksichtigung des OSI-Modells entwickelt und entspricht nicht den Spezifikationen. Das Gleiche gilt für VPNs - die OSI-Standards haben dies nie erwartet. So ist jede Ähnlichkeit, wie sie sagen, völlig zufällig.
Ron Trunk
0

Eines der wenigen Dinge, die tatsächlich aus dem OSI-Modell stammen, sind die X.509-Zertifikate und die großen LDAP-Brocken, die aus X.500 stammen. Die andere Sache ist X.400 für Messaging, MS Exchange hatte dies zumindest in 5.5, nicht sicher, ob spätere Versionen es enthalten.

Also, OSI ist ein Modell, in der Netzwerkdomäne hat es den Wettlauf gegen TCP / IP verloren und ich verstehe wirklich nicht, warum dies den Schülern noch beigebracht wird. Der Versuch, Dinge wie MPLS in dieses Modell aufzunehmen, macht keinen Sinn.

Wenn Sie dort tiefer graben, werden Sie den Schmerz großer Organisationen spüren, die versuchen, Standards durchzusetzen, schreckliche Dinge wie ASN.1 und BER ... alles zu überarbeiten.

TabTwo
quelle