Es gibt einige mögliche Missverständnisse oder Missverständnisse in der Frage, die in diesem Beitrag behandelt werden.
In Abbildung 2 ist eine Darstellung des Software- "Stacks" dargestellt , den ein Computer (PC) verwenden würde, um eine Nachricht über das Internet zu erstellen, zu verarbeiten und an einen anderen Computer zu senden
Verwenden alle Arten von Computern - Smartphones / Fernseher / Spielkonsolen usw. dieses Format?
Gibt es (in dieser Hinsicht) einen Unterschied zwischen dem zellularen Internet und Wifi / Ethernet?
Was ist mit Einzelfunktionsgeräten , die anscheinend keine "Anwendungs" -Schicht haben - z. B. mit einer über das Internet verbundenen Kamera, Lichtschaltern oder Thermostaten?
Das Vorhandensein dieser Missverständnisse erfordert die Aufnahme einer Erläuterung der folgenden Punkte (um den Kontext für die nachfolgende Diskussion bereitzustellen):
- Was ist das Internet?
- Was ist die TCP / IP-Protokollsuite?
- Was ist eine Anwendung?
Dann werden die Fragen direkt beantwortet.
Beachten Sie, dass aufgrund ihrer Wichtigkeit und Komplexität eine ganze Reihe von Büchern über die TCP / IP-Protokollsuite geschrieben wurde. Die Definitionen und Erklärungen hier stammen hauptsächlich aus Wikipedia, TCP / IP Illustrated Volume 1, 2. Auflage: The Protocols by Stevens and Fall, sowie dem TCP / IP Tutorial und Technical Overview von IBM .
1. Das Internet
Das Internet ist technisch gesehen ein Wide Area Network (WAN) , aber hilfreicher ist es, es als eine Art Supernetz (ein Netzwerk von Netzwerken) oder als eine Ansammlung vieler verschiedener miteinander verbundener Netzwerke zu betrachten . Hier ist ein Bild von Routing-Pfaden durch einen Teil des Internets:
- Das Internet besteht aus vielen verbundenen Netzwerken
- Ein Netzwerk kann aus einem oder mehreren Systemen bestehen ( Host )
- Ein verbundenes System wird normalerweise auf einer Hardwareplattform ausgeführt
- Die Arten von Systemen, die mit Netzwerken verbunden sind, und die Hardware, auf der sie ausgeführt werden, unterscheiden sich erheblich
Eine unterhaltsame Lektüre zur Funktionsweise des Internets finden Sie im Arstechnica-Artikel Funktionsweise des Internets: U-Boot-Glasfaser, Gehirn in Gläsern und Koaxialkabel .
Wie können verschiedene Systeme auf verschiedenen Hardwareplattformen, die mit verschiedenen Netzwerken verbunden sind, miteinander kommunizieren? Wie ist die Kommunikation zwischen einer derart großen, heterogenen Anzahl von Systemen und Netzwerken möglich? Wie kann das alles gleichzeitig geschehen?
2. Die Internet Protocol Suite
Die Antwort liefert die Internet-Protokollsuite, auch bekannt als TCP / IP-Protokollsuite. Diese Fragen wurden während des Entwurfsprozesses der Internetarchitektur (TCP / IP Illustrated, Abschnitt 1.1: Architekturprinzipien) berücksichtigt:
Mehrere Ziele leiteten die Schaffung der Internetarchitektur. In [C88] berichtet Clark, dass das Hauptziel darin bestand, „eine effektive Technik für die Multiplexnutzung bestehender miteinander verbundener Netzwerke zu entwickeln“. Das Wesentliche dieser Aussage ist, dass die Internetarchitektur in der Lage sein sollte, mehrere unterschiedliche Netzwerke zu verbinden, und dass mehrere Aktivitäten möglich sein sollten in der Lage sein, gleichzeitig auf dem resultierenden verbundenen Netzwerk zu laufen .
Aus der Internet Protocol Suite (Wikipedia):
Die Internet Protocol Suite ist das konzeptionelle Modell und der Satz von Kommunikationsprotokollen, die im Internet und ähnlichen Computernetzwerken verwendet werden.
Die Internetprotokollsuite bietet eine End-to-End-Datenkommunikation, die angibt, wie Daten paketiert, adressiert, gesendet, weitergeleitet und empfangen werden sollen . Diese Funktionalität ist in vier Abstraktionsebenen organisiert, mit denen alle zugehörigen Protokolle nach dem Umfang des Netzwerks sortiert werden.
Eine Möglichkeit, sich die TCP / IP-Protokollsuite vorzustellen, besteht darin, anzugeben, wie Prozesse, die auf verschiedenen Systemen und in verschiedenen Netzwerken ausgeführt werden, miteinander kommunizieren können. Im Wesentlichen bietet die TCP / IP-Protokollsuite einen Standard für die Kommunikation zwischen Prozessen.
Jedes System, das die TCP / IP-Protokollsuite ordnungsgemäß implementiert, kann die bereitgestellten Funktionen verwenden, um die Kommunikation seiner Prozesse über das Internet zu ermöglichen. Tatsächlich muss ein System standardkonforme TCP / IP-Suite-Protokolle verwenden , damit Prozesse über das Internet mit anderen Prozessen kommunizieren können, die auf Remotesystemen in anderen Netzwerken ausgeführt werden .
3. Anwendungen
Aus der Anwendungssoftware (Wikipedia):
Ein Anwendungsprogramm (App oder kurz Anwendung) ist ein Computerprogramm, das zum Ausführen einer Gruppe koordinierter Funktionen, Aufgaben oder Aktivitäten zum Nutzen des Benutzers entwickelt wurde. Beispiele für eine Anwendung sind ein Textverarbeitungsprogramm, eine Kalkulationstabelle, eine Buchhaltungsanwendung, ein Webbrowser, ein Mediaplayer, ein Flugsimulator, ein Konsolenspiel oder ein Bildbearbeitungsprogramm. Die Software für Sammelbegriffe bezieht sich auf alle Anwendungen zusammen. Dies steht im Gegensatz zur Systemsoftware, die hauptsächlich mit dem Ausführen des Computers zusammenhängt.
Eine Anwendung kann als User-Space- Prozess auf einem System betrachtet werden. Zusätzlich zu den oben aufgeführten Beispielen kann dies Programme wie Computerviren (ohne Kernelmodus), Webserver, Kameraanwendungen und Programme zur Aggregation von Sensordaten umfassen.
Wenn eine Anwendung Daten über das Internet überträgt und empfängt, muss sie die Implementierung der TCP / IP-Protokollsuite ihres Hostsystems verwenden. Aus der Anwendungsschicht (Wikipedia):
In TCP / IP enthält die Anwendungsschicht die Kommunikationsprotokolle und Schnittstellenmethoden, die bei der Kommunikation von Prozess zu Prozess über ein IP-Computernetzwerk (Internet Protocol) verwendet werden. Die Anwendungsschicht standardisiert nur die Kommunikation und hängt von den zugrunde liegenden Transportschichtprotokollen ab, um Host-zu-Host-Datenübertragungskanäle einzurichten und den Datenaustausch in einem Client-Server- oder Peer-to-Peer-Netzwerkmodell zu verwalten.
Die Anwendungsschicht der TCP / IP-Protokollsuite umfasst Protokolle wie FTP (File Transfer Protocol), DNS (Domain Name System) und möglicherweise HTTP (Hypertext Transfer Protocol).
Das HTTP-Protokoll der Anwendungsschicht gibt beispielsweise an, wie Daten zwischen zwei Prozessen übertragen werden, die auf (normalerweise) verschiedenen Systemen ausgeführt werden: der Clientanwendung, einem Webbrowser und der Serveranwendung, dem Webserverprozess.
Klärung möglicher Missverständnisse
In Abbildung 2 ist eine Darstellung des Software- "Stacks" dargestellt , den ein Computer (PC) verwenden würde, um eine Nachricht über das Internet zu erstellen, zu verarbeiten und an einen anderen Computer zu senden.
Die TCP / IP-Protokollsuite ist kein Software-Stack. Aus Technopedia :
Ein Software-Stack ist eine Gruppe von Programmen, die zusammenarbeiten, um ein Ergebnis zu erzielen oder ein gemeinsames Ziel zu erreichen. Software-Stapel bezieht sich auch auf eine Reihe von Anwendungen, die in einer bestimmten und definierten Reihenfolge auf ein gemeinsames Ziel hin arbeiten, oder auf eine Gruppe von Dienstprogrammen oder Routineanwendungen, die als eine Reihe arbeiten. Installierbare Dateien, Software-Definitionen von Produkten und Patches können in einem Software-Stack enthalten sein. Einer der beliebtesten Linux-basierten Software-Stacks ist LAMP (Linux, Apache, MYSQL, Perl oder PHP oder Python). WINS (Windows Server, Internet Explorer, .NET, SQL Server) ist ein beliebter Windows-basierter Software-Stack.
Es handelt sich vielmehr um einen Protokollstack, der normalerweise vom Kernel (ebenfalls von Technopedia ) implementiert wird :
Ein Protokollstapel bezieht sich auf eine Gruppe von Protokollen, die gleichzeitig ausgeführt werden und für die Implementierung der Netzwerkprotokollsuite verwendet werden.
Die Protokolle in einem Stapel legen die Interkonnektivitätsregeln für ein geschichtetes Netzwerkmodell fest, z. B. in OSI- oder TCP / IP-Modellen. Um ein Stack zu werden, müssen die Protokolle interoperabel sein und sowohl vertikal zwischen den Schichten des Netzwerks als auch horizontal zwischen den Endpunkten jedes Übertragungssegments verbunden werden können.
Verwenden alle Arten von Computern - Smartphones / Fernseher / Spielkonsolen usw. dieses Format ?
Die TCP / IP-Protokollsuite ist eine hardware- und betriebssystemunabhängige Kommunikationsspezifikation, kein Format . Wenn ein Prozess, der auf einer Hardwareplattform ausgeführt wird, mit einem Prozess kommunizieren muss, der auf einem Remote-System auf einer anderen Hardwareplattform ausgeführt wird, und die Kommunikation über das Internet erfolgt, müssen die Systeme
- die TCP / IP-Protokollsuite korrekt implementieren und
- Für die Kommunikation zwischen den Prozessen müssen die entsprechenden Protokolle in dieser Suite verwendet werden
Gibt es (in dieser Hinsicht) einen Unterschied zwischen dem zellularen Internet und Wifi / Ethernet?
Meine Interpretation dieser Frage lautet: "Gibt es einen Unterschied in der Art und Weise, wie ein mobiles Gerät eine Verbindung zu einem GSM-Netzwerk herstellt, und in der Art und Weise, wie ein mobiles Gerät eine Verbindung zu einem WiFi-Netzwerk herstellt?"
Der Unterschied liegt in der Netzwerkschnittstellenschicht.
Diese Frage enthüllt die schlechte Darstellung der TCP / IP-Protokollsuite im Diagramm des Artikels, auf den in der Frage verwiesen wird. Als Referenz ist hier das Diagramm:
Die unterste Schicht, die als "Hardware" bezeichnet wird, sollte als Verbindungsschicht , MAC- Schicht ( Media Access Control) oder Netzwerkschnittstellenschicht bezeichnet werden .
In IBMs "TCP / IP-Lernprogramm und technischer Überblick" Seite 34:
Die Netzwerkschnittstellenschicht, auch als Verbindungsschicht oder Datenverbindungsschicht bezeichnet, ist die Schnittstelle zur eigentlichen Netzwerkhardware. Diese Schnittstelle kann eine zuverlässige Übermittlung bereitstellen oder nicht und kann paket- oder stromorientiert sein. Tatsächlich gibt TCP / IP hier kein Protokoll an, sondern kann fast jede verfügbare Netzwerkschnittstelle verwenden, was die Flexibilität der IP-Schicht veranschaulicht. Beispiele sind IEEE 802.2, X.25 (das an sich zuverlässig ist), ATM, FDDI und sogar SNA.
Hier ist eine korrekte und überlegene Darstellung (aus dem TCP / IP-Handbuch ):
Der Grund, warum die Diskussion der Netzwerkschnittstellenschicht relevant ist, besteht darin, dass es auf dieser Schicht einen Unterschied in der Art und Weise gibt, wie ein Mobiltelefon / Mobilgerät eine Verbindung zu einem GSM-Netzwerk herstellt, im Vergleich zu einem WiFi-Netzwerk.
Wenn eine Verbindung zu einem GSM-Netzwerk hergestellt wird, wird das Netzwerkschnittstellen-Schichtprotokoll, das verwendet wird, um die Verbindung zwischen dem mobilen Gerät und der Basis-Transceiver-Station (BTS) zu handhaben, typischerweise durch 3G spezifiziert
Bei der Verbindung mit einem drahtlosen WiFi-Zugangspunkt (WAP) wird das verwendete Protokoll durch den Standard IEEE 802.11 festgelegt .
Was ist mit Einzelfunktionsgeräten , die anscheinend keine Anwendungsebene haben - z. B. mit dem Internet verbundene Kameras, Lichtschalter oder Thermostate?
Wie bereits beschrieben, bieten Protokolle in der Anwendungsschicht der TCP / IP-Protokollsuite einen Standard für den Austausch von Anwendungsdaten zwischen Prozessen.
Die Ebenen sind konzeptionell. Sie befinden sich nicht in einem System oder auf einer Hardwareplattform.
Auf mit dem Internet verbundenen Kameras, Lichtschaltern und Thermostaten können Prozesse ausgeführt werden, die über das Internet mit Prozessen kommunizieren, die auf Remote-Systemen ausgeführt werden (Überprüfung auf Firmware-Updates, Datenaustausch mit einem Server usw.). Diese Prozesse oder Anwendungen verwenden die Implementierung der TCP / IP-Protokollsuite, um diese prozessübergreifende Kommunikation durchzuführen.
Die TCP / IP-Protokollsuite und eingebettete Systeme ("IoT")
Zwar gibt es eine Vielzahl unterschiedlicher Anwendungen, die unterschiedliche Protokolle der Anwendungsschicht verwenden, die auf herkömmlichen PCs oder Servern ausgeführt werden, jedoch gibt es keine allzu großen Unterschiede hinsichtlich der Art und Weise, wie die Hardwareplattformen mit ihren jeweiligen Zugriffspunkten (Netzwerkschnittstelle / Datenverbindungsschicht) verbunden sind. Dies erfolgt hauptsächlich drahtgebunden oder drahtlos über Ethernet.
Die Situation ist etwas anders, wenn es um die Vielzahl eingebetteter Systeme geht, die über TCP / IP kommunizieren. Hier ist eine Illustration davon (aus Postscapes ):
Weitere Informationen finden Sie in diesen Artikeln:
Die Protokolle hinter dem Internet der Dinge verstehen
IoT-Standards und -Protokolle
IoT-Technologiehandbuch