Einführung in OSI

Als das ARPA-Netzwerk gerade entwickelt wurde, wollten wir es unbedingt so intelligent wie möglich machen. Doch je komplexer das Netzwerk ist, desto schwieriger ist es, es aufzubauen und zu pflegen. Als Lösung wurde vorgeschlagen, alle Netzwerkfunktionen in logische Schichten aufzuteilen.

Das Netzwerkbetriebsmodell wird als Netzwerkmodell des ISO/OSI Open Systems Interconnection Base Reference Model bezeichnet. Kurz gesagt - das OSI-Modell (Open Systems Interconnection).

OSI-Modell

Insgesamt gibt es in diesem Modell 7 Stufen. Das Zusammenspiel der Ebenen ist streng standardisiert und minimiert. Die untere Ebene hat keine Ahnung von der Existenz höherer Ebenen und deren Struktur.

Die unterste Schicht kann nur Bits senden . Nicht einmal übertragen, nämlich senden. Er hat keine Ahnung, ob sie es tun oder nicht. Gesendet und vergessen.

Eine höhere Ebene arbeitet bereits mit Gruppen von Bits – Frames – und weiß ein wenig über das physische Gerät des Netzwerks, versteht MAC-Adressen und dergleichen.

Die nächste Ebene ist Batch. Er ist noch schlauer und weiß, wie man mit Netzwerk-IP-Adressen umgeht. Usw.

Warum ist das alles notwendig? Um die Flexibilität zu maximieren.

Stellen Sie sich vor, dass jede Ebene eine Java-Schnittstelle ist und mehrere verschiedene Implementierungen haben kann. Also auch hier. Auf der physischen Ebene können Sie Bits über das Kabel, über die Luft (Wi-Fi) oder über Satellit senden, und alle anderen Ebenen wissen nicht einmal etwas davon. Und alles wird wie vorgesehen funktionieren.

OSI-Protokollstapel

Im folgenden Bild können Sie den Protokollstapel genauer betrachten :

Wenn Sie jedoch kein Systemadministrator sind, benötigen Sie keine derartigen detaillierten Protokolle. Interessanter könnte die Untersuchung des TCP- (Transmission Control Protocol) / IP- (Internet Protocol) Protokollstapels sein.

Die obersten drei Schichten im OSI-Modell, d. h. die Anwendungsschicht, die Präsentationsschicht und die Sitzungsschicht, werden im TCP/IP-Modell, das nur eine Anwendungsschicht über der Transportschicht hat, nicht gesondert unterschieden:

Verteilung der Protokolle nach Schichten des OSI-Modells

TCP/IP OSI
Angewandt Angewandt HTTP, SMTP, SNMP, FTP, Telnet, SSH, SCP, SMB, NFS, RTSP, BGP
Darstellung XDR, AFP, TLS, SSL
Sitzung ISO 8327 / CCITT X.225, RPC, NetBIOS, PPTP, L2TP, ASP
Transport Transport TCP, UDP, SCTP, SPX, ATP, DCCP, GRE
Netzwerk Netzwerk IP, ICMP, IGMP, CLNP, OSPF, RIP, IPX, DDP
geleitet geleitet Ethernet, Token Ring, HDLC, PPP, X.25, Frame Relay, ISDN, ATM, SPB, MPLS, ARP/td>
Körperlich elektrische Leitungen, Funkkommunikation, Glasfaserleitungen, Infrarotstrahlung

TCP/IP-Protokollstapel

Der TCP/IP-Protokollstapel umfasst vier Schichten:

  • Anwendungsschicht _
  • Transportschicht _
  • Internetschicht (Netzwerkschicht) (Internetschicht)
  • Verbindungsschicht (Netzwerkzugriffsschicht)

Die Protokolle dieser Schichten implementieren die gesamte Funktionalität des OSI-Modells vollständig. Die gesamte Benutzerinteraktion in IP-Netzwerken basiert auf dem TCP/IP-Protokollstapel.

Der TCP/IP-Protokollstack ist unabhängig von der physischen Hardware, was unter anderem eine völlig transparente Interaktion zwischen kabelgebundenen und kabellosen Netzwerken gewährleistet.

Auf der Anwendungsschicht werden die meisten Netzwerkanwendungen ausgeführt.

Anwendungsschicht

Für die Interaktion von Programmen gibt es High-Level-Protokolle zum Informationsaustausch. Browser arbeiten beispielsweise mit dem HTTP-Protokoll, E-Mails werden mit dem SMTP-Protokoll versendet, Telegram arbeitet mit einem eigenen verschlüsselten Protokoll.

Aber wir sind nicht sehr an privaten Protokollen interessiert. Am häufigsten stoßen Sie auf Massenprotokolle wie einen FTP-Client für FTP (Dateiübertragung), SSH (sichere Verbindung zu einem Remote-Computer), DNS (Übersetzung von Zeichen in IP-Adresse) und viele andere.

Fast alle dieser Protokolle laufen auf TCP, einige laufen jedoch zur Beschleunigung über UDP (User Datagram Protocol). Wichtig ist jedoch, dass diese Protokolle über Standardports verfügen. Beispiel:

  • 20 FTP an TCP-Port 20 (für Datenübertragung) und 21 (für Steuerbefehle)
  • 22-SSH
  • 23 - Telnet
  • 53 – DNS-Abfragen
  • 80-HTTP
  • 443 – HTTPS

Diese Ports werden von der Naming Assignment and Unique Parameters Agency (IANA) definiert.

Es gibt mehrere andere beliebte Protokolle der Anwendungsschicht: Echo, Finger, Gopher, HTTP, HTTPS, IMAP, IMAPS, IRC, NNTP, NTP, POP3, POPS, QOTD, RTSP, SNMP, SSH, Telnet, XDMCP.

Transportschicht

Transportschichtprotokolle sollen das Problem der garantierten Nachrichtenzustellung lösen.

Eine Nachricht (Datenpaket) kann irgendwo im Netzwerk gesendet und verloren gehen. In diesem Fall obliegt es der Transportschicht, diese Situationen zu überwachen und die Nachricht gegebenenfalls erneut zu senden.

Eine weitere wichtige Aufgabe des Transportschichtprotokolls besteht darin, die Reihenfolge zu steuern, in der Nachrichten eintreffen. Es kommt häufig vor, dass Nachrichten in einer Reihenfolge gesendet wurden und in einer anderen eintrafen. Und wenn man aus solchen Teilen eine große Botschaft zusammenfügt, entsteht Unsinn.

Um dies zu verhindern, zählt die Transportschicht Nachrichten entweder auf oder sendet keine neue, bis sie eine Empfangsbestätigung der vorherigen Nachricht erhalten hat. Die automatischen Routing-Protokolle, die logischerweise auf dieser Ebene vorhanden sind (da sie auf IP laufen), sind tatsächlich Teil der Protokolle der Netzwerkebene.

Das TCP-Protokoll ist ein „garantierter“ Transportmechanismus mit vorab hergestellter Verbindung, der einer Anwendung einen zuverlässigen Datenfluss bietet, sicherstellt, dass empfangene Daten fehlerfrei sind, Daten im Falle eines Verlusts erneut anfordert und die Duplizierung von Daten verhindert.

Mit TCP können Sie die Belastung des Netzwerks regulieren und die Wartezeit für Daten bei der Übertragung über große Entfernungen verkürzen. Darüber hinaus garantiert TCP, dass die empfangenen Daten in exakt der gleichen Reihenfolge gesendet wurden. Dies ist der Hauptunterschied zu UDP.

UDP ist ein verbindungsloses Datagrammprotokoll. Es wird auch als „unzuverlässiges“ Übertragungsprotokoll bezeichnet, im Sinne der Unfähigkeit, die Zustellung einer Nachricht an den Empfänger zu überprüfen, sowie der möglichen Vermischung von Paketen. Anwendungen, die eine garantierte Datenübertragung erfordern, verwenden das TCP-Protokoll.

UDP wird typischerweise in Anwendungen wie Video-Streaming und Spielen verwendet, bei denen Paketverlust toleriert wird und Wiederholungsversuche schwierig oder ungerechtfertigt sind, oder in Challenge-Response-Anwendungen (wie DNS-Abfragen), bei denen der Verbindungsaufbau mehr Ressourcen beansprucht als das erneute Senden.

Sowohl TCP als auch UDP verwenden eine Nummer, die Port genannt wird, um das Protokoll der oberen Schicht zu definieren.