Das OSI-Modell

Aus Jonas Notizen Webseite
Zur Navigation springen Zur Suche springen

Quelle

https://www.youtube.com/watch?v=xiTr5B19Zd4
https://www.bmc.com/blogs/osi-model-7-layers/

Grundsatz

OSI > Open System Interconnection
"Richtlinie" welche jede Hardware/Software in der Datenkommunikations-Schicht einhalten muss.
(Bsp: Gäbe es keine großen Richtlinien, könnte es vllt. so sein das sich Apple überlegt hätte einfach ein eigenes Datenprotokoll nur für seinen Browser und ihre Webseite zu machen, und andere Geräte könnten es nicht)

Wikipedia hat eine nach Schichten geordnete Liste an Protokollen des OSI-Modells.


OSI-Model.jpg OSI-Model in detail


Anmerkung:

  • Ein Switch kann Informationen der 2 (Ethernet/..-Frame) lesen, und somit bestimmen wo es hingeht (Destination-MAC-Adress)
  • Ein Router kann Informationen der 2 (Ethernet/..-Frame) und 3 (IP-Header) lesen
  • Ein Hub kann keine Informationen lesen, sondern nur an alle anderen Ports weiterschiken. Deswegen nennt man ihn selten auch "Layer1-Gerät".

Es gibt auch sog. "Management-Switch" die dem Nutzer eine Web-Oberfläche (oA.) bieten. Diese kosten einiges und sind vollwertige Layer-7 Geräte, weil sie grundsätzlich wie ein Server fungieren können.

Schichten

#8 Nutzer

Wird of als "Scherz" gesagt, dass die meisten Probleme von der (Nicht existierenden) 8ten Layer kommen, also der Benutzer.

#7 Anwendung

Protokolle: HTTP, FTP, IRC, SSH, DNS
Die Anwendung welcher der Benutzer sieht/bedient. Beispiel: Google Chrome,

#6 Darstellung

Protokolle: SSL, SSH, IMAP, FTP, MPEG, JPEG
Übersetzung auf System-unabhängige Formate (Protokolle wie HTTP[S])

#5 Sitzung

Protokolle: APIs, Sockets, Winsock
Hier werden sog. "Checkpoints" erstellt, (RPC Protokoll) indem ein großes Daten-Packet in kleinere Packets unterteilt und einzeln nacheinander verschickt.

Gäbe es diese "CheckPoints/Packetaufteilung" nicht, und du lädst eine 10GB Datei runter, aber bei 99% geht kurz das Internet aus, müsstest du wieder komplett von vorne anfangen. Zudem sollte ein "Paket" ja nicht aus einem einzigen Paket bestehen welches das Gesamte Kabel für die Zeit bedeckt (Wie früher).

The Session Layer is responsible for a range of functions including opening, closing and re-establishing session activities, authentication and authorization of communication between specific apps and servers, identifying full-duplex or half-duplex operations and synchronizing data streams.

#4 Transport

Protokolle: TCP, UDP
Diese Schicht überwacht den Transport.

Diese Schicht bekommt von der oberen Schicht ein großes Paket an Daten übergeben, welches Sie in einzelne Pakete aufteilen/zerkleinern muss (um es über das Netzwerk schicken zu können) und sich darum kümmern, dass es beim Ziel-Host wieder richtig zusammen-gebaut wird. Heutzutage gibt es auf dieser Schicht nur 2 Protokolle: TCP und UDP.

UDP ist das simplere Protokoll dass ähnliche Merkmale wie das Internet Protokoll der Schicht 3 aufweißt:

  • Es ist Verbindungslos - Es wird vor dem Senden von Datenpaketen keine explizite Verbindung mit dem Ziel aufgebaut und die Pakete werden "ohne zu Fragen" geschickt.
  • Es geht nach dem "Best Effort"-Prinzip (unzuverlässig) - Die Paketzustellung wird nicht von vorne herein garantiert, geschweige denn wird nachgefragt ob der Ziel-Host einverstanden/bereit ist

Vorteil: weniger Overhead (Zum einem ist der Header verlgeichsweiße klein, da kein großer Aufwand betrieben wird ob es richtig ankommt. Zum anderen werden keine "sinnlosen" Pakete geschickt um sicherzustellen das der Ziel-Host bereit ist und um sich wieder zu verabschieden - siehe Drei-Wege-Handschlag: TCP)
Nachteil: Es kann nicht sichergestellt werden dass alle Daten richtig/verlustfrei ankamen.

TCP ist das komplexere Protokoll der beiden Protokolle. Sein Header ist vergleichsweise Größer, da es viele Mechanismen eingebaut hat um sicherzustellen,

  • dass der Host existiert und er das kommende Datenpaket annehmen würde,
  • dass die Daten verlustfrei ankommen,
  • dass die Daten noch-einmals geschickt werden falls es zu einem fehler/verlust kam und
  • dass der Host zu 100% weiß, wann er die aufgebaute Verbindung schließen kann - Siehe Drei-Wege-Handschlag



HTTP nutz TCP, da es fatal sein könnte wein auch schon ein kleiner Teil des Webseiten-Codes falsch ankommt und nicht-mehr/falsch funktioniert.

Die meisten Spiele nutzen UDP. Zum einen wäre der Overhead bei der riesigen Anzahl an Paketen die gleichzeitig ankommen zu groß, und zum anderen wäre es Blöd wenn der Server wegen deinem schlechten Internet will dass du zB. das "Schießen"-Paket 100 mal schickst, bis er es akzeptiert. Also wenn mal ein Moment ist "Ich habe doch geschossen" liegt es daran, das es nicht richtig ankam un es den Server nicht-mehr juckte.

Hier eine Idioten-Sichere Illustierung des Unterschiedes von TCP und UDP von meinem Berufsschulen-Lehrern:

Man könnte TCP und UDP mit einem Büroangestellten vergleichen.

  • TCP ist hierbei die "aufrichtige Dame", die sich strengsten darum kümmert dass jedes einzelne geschickte Paket richtig ankam. Sie kümmert sich darum falsche Pakete erneut zu schicken, fragt immer höflich nach ob Sie schicken darf und verabschiedet sich nach dem Schicken wieder.
  • UDP ist hierbei der "gelangweilte Herr", er schickt die Pakete einfach - nach dem Motto "Fire & Forget".

#3 Vermittlung

Protokolle: IP, ICMP, IPSec, IGMP

Die Protokolle auf dieser Ebene kümmern sich um die logische Adressierung (Heutzutage geschieht dies überwiegend durch die IPv4/IPv6-Adressen).
Weitere Protokolle auf dieser Ebene kümmern sich um das Routing (Wegfindung) der Pakete, sprich um den passenden Weg eines Paketes anhand dessen Daten (zB. Ziel-Adresse) ausfindig zu machen (Beispiel-Protokolle: RIP).

#2 Sicherung

Protokolle: Ethernet, PPP, Switch, Bridges
Auch "Datenflusskontrolle" genannt. Hier werden die Prüfsummen erstellt.

Die Protokolle auf dieser Ebene kümmern sich um die physische Adressierung (Bei Ethernet geschieht dies über die MAC-Adresse) und sind das letzte Glied in der Kette, die eigene Header/Metadaten an das die PDU anhängen dürfen.

  • Das daraus resultierende PDU, dass der untersten Schicht weiter-gegeben wird, wird "Frame" genannt.

Diese Layer und dessen Protokolle bestimmen, wie groß ein Frame maximal sein darf. Bei Ethernet wären dies 1522 Bytes.

#1 Bitübertragung

Beispiel: Kabel/Verbindungsmittel aller Art (Koax, Glasfaßer, Luft), Hubs und Repeater

Physische Ebene. Geräte auf dieser Layer sind rein für die Weiterleitung/Übertragung der ankommenden Signale auf Übertragungsmedien zuständig und können keine logischen Informationen aus dem Datenstrom gewinnen.