Verwenden alle Dinge, die mit dem Internet verbunden sind, für die Kommunikation denselben Stapel „Anwendung - TCP - IP - Hardware“?

15

Ich bin nicht besonders Internet-versiert und IoT-Technologien sind für mich besonders verwirrend. Ich habe dieses Stanford-Whitepaper zur Internetstruktur gelesen . 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?

  • Ist das Betriebssystem wichtig?

  • Gibt es (in dieser Hinsicht) einen Unterschied zwischen dem zellularen Internet und Wifi / Ethernet?

  • Was ist mit Einzelfunktionsgeräten, die anscheinend keine Anwendungsebene haben - z. B. mit dem Internet verbundene Kameras, Lichtschalter oder Thermostate?

BestMillimeter
quelle
Related iot.stackexchange.com/questions/1119
Sean Houlihane
3
Es ist viel besser, nur eine Frage pro Frage zu stellen - das ist jedoch für diese sehr grundlegenden Fragen etwas schwierig. Wenn Sie weitere Fragen haben, sollten Sie versuchen, diese genauer zu formulieren.
Sean Houlihane
Alle Geräte haben eine Anwendungsschicht. Die Anwendungsebene für einen über das Internet verbundenen Lichtschalter ist die Software, die das Licht ein- und ausschaltet, wenn ein Befehl empfangen wird.
user253751
@immibis das klingt schrecklich umständlich, aber Protokollstapelebenen sind keine Eigenschaften, die ein Gerät besitzen kann. In TCP / IP enthält die Anwendungsschicht die Kommunikationsprotokolle und Schnittstellenmethoden, die bei der Kommunikation von Prozess zu Prozess über ein IP-Computernetzwerk verwendet werden. Ein Gerät kann ein System hosten und dieses System führt möglicherweise Anwendungen aus, ein Gerät verfügt jedoch nicht über eine Anwendungsschicht. TCP / IP selbst ist ein konzeptionelles Modell.
Juli
@SYS_V Wenn ich sage "das Gerät hat eine Anwendungsschicht", meine ich "das Gerät hat eine Softwarekomponente, die implementiert, was TCP / IP als Anwendungsschicht beschreibt"
user253751

Antworten:

26

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:

Routenwegvisualisierung

  • 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 .

TCP / IP-Protokollsuite

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.

Anwendungssoftware

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

  1. 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.


  1. 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

  1. 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:

Beschissenes TCP / IP-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 ):

Überlegenes Diagramm des TCP / IP-Stapels

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 .


  1. 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 ):

IoT und TCP / IP 1

IoT und TCP / IP 2

Weitere Informationen finden Sie in diesen Artikeln:

Die Protokolle hinter dem Internet der Dinge verstehen

IoT-Standards und -Protokolle

IoT-Technologiehandbuch

julianisch
quelle
Bei diesem Detaillierungsgrad ist meine Netadmin-Seite traurig, dass es kein Wort über TCP / IP gibt, das TCP auf IP bedeutet, TCP ist überhaupt nicht an IP gebunden, es wurde auch in IPX-Netzwerken implementiert (und dies auch, wenn es sich um ein Sigle handelt) in der Nähe waren sie 2 sehr unterschiedliche Protokolle)
Tensibai
1
@Tensibai Wäre TCP unter IPX nicht meistens dasselbe wie SPX (dh die zuverlässige und portbasierte Transportversion)? - Aber das erinnert mich daran, dass die Behauptung, dass zwei Hosts, die über das Internet (dh über verschiedene Netzwerke) kommunizieren möchten, TCP / IP implementieren müssen , nicht unbedingt zutrifft: Host A auf Netz 1 und Host B auf Netz 3 könnten sprechen zB IPX / SPX, auch wenn das Verbindungsnetz 2 reines TCP / IP ist, sofern es Tunnel-Gateways in Netz 1 und 3 gibt ...
Hagen von Eitzen
2
Nein, SPX war das Äquivalent zu TCP, aber absolut nicht mit einem TCP-System verbindbar. Aus diesem Grund wurde TCP über IPX entwickelt, um eine durchgängige TCP-Kommunikation für IP- und IPX-Systeme mit einem einfachen Layer-3-Router dazwischen zu ermöglichen . Und ja, das Internet stützt sich hauptsächlich auf IP, MPLS und Routing-Protokolle (ich vergesse wahrscheinlich einige), TCP spielt im gesamten Routing nichts ab, es zirkuliert einfach ateotd darüber.
Tensibai
@ Tensibai Wenn ich einen oder mehrere Fehler gemacht habe, lassen Sie es mich bitte wissen und ich werde mein Bestes tun, um sie zu korrigieren
Juli
@SYS_V nicht wirklich ein Fehler, einige Verknüpfungen stören mich ein wenig. Nehmen wir an, es ist aus Sicht der TCP-Kommunikation in Ordnung :) Es gibt alle erforderlichen Informationen für jemanden, der bereit ist, das Problem zu lösen. Ich denke, Sie sind ein wenig unhöflich für das OP in Ihrem ersten Absatz. Ich werde versuchen, morgen eine Bearbeitung (von einem Computer aus) vorzuschlagen, um meine Bedenken auszuräumen :)
Tensibai
12

Verwenden alle Arten von Computern - Smartphones / Fernseher / Spielkonsolen usw. dieses Format?

Damit etwas im Internet ausgetauscht werden kann, muss es irgendwo einen IP-Stack durchlaufen.

Ist das Betriebssystem wichtig?

Das IP-Protokoll wird vom RFC 791 definiert , daher muss das Betriebssystem / die Firmware dem Protokoll entsprechen, unabhängig davon, um welches Protokoll es sich handelt.

Gibt es (in dieser Hinsicht) einen Unterschied zwischen dem zellularen Internet und Wifi / Ethernet?

Vereinfacht gesagt, liegt der Unterschied hier bei dem (physikalischen) Funksignal der Schicht 1 gegenüber dem elektrischen Signal auf den Kabeln. Weitere Informationen finden Sie auf der Wikipedia-Seite zum Open Systems Interconnection-Modell (OSI-Modell) .

Sie alle dienen dazu, die Schicht 3 (Netzwerk), hier IP, auf ihre spezifischen Medien zu transponieren.

Was ist mit Einzelfunktionsgeräten, die anscheinend keine "Anwendungs" -Schicht haben - z. B. mit einer über das Internet verbundenen Kamera, Lichtschaltern oder Thermostaten?

Die Application Layer beziehen sich auf ein bestimmtes Kommunikationsprotokoll (HTTP, SSH usw.), es muss sich beispielsweise nicht um eine Anwendung wie Chrome oder Firefox handeln.
Normalerweise werden diese Protokolle über TCP implementiert , einige über UDP, wenn das Warten auf die Bestätigung nicht blockiert werden soll oder wenn das Abrufen eines veralteten Pakets keinen Sinn ergibt (Sprachanrufe, Streaming). Es gibt andere Layer-4-Protokolle, aber normalerweise für bestimmte Verwendungszwecke, wie ICMP für ping. TCP ist das Protokoll der Wahl, wenn Sie sicherstellen möchten, dass einige Daten am Ziel angekommen sind.

Bei einem "entfernten Gerät", wie dem Thermostat in Ihrem Beispiel, werden möglicherweise bereits vorhandene Protokolle wie HTTP verwendet oder es werden proprietäre Protokolle zum Senden der Daten verwendet, die sich in der Regel immer noch auf der Anwendungsebene befinden, da es sich nicht nur um einen Transport handelt Protokoll.
Es kann nur auf Schicht 4 erfolgen, aber dies erfordert die Erstellung eines neuen Protokolls, und der Overhead lohnt sich normalerweise nicht und macht das System mit anderen inkompatibel. Die Verwendung offener Standards ist meiner bescheidenen Meinung nach ein besserer Ansatz.

Tensibai
quelle
3
Vielleicht sollte klargestellt werden, dass TCP-IP in jedem Betriebssystem (von mbed / arduino bis hin zu MC Windows und Linux) ein weit verbreitetes Muss ist.
Sean Houlihane
Tatsächlich klingt es für mich so implizit für Protokolle höherer Ebenen, dass ich es vergesse.
Tensibai
Antwort 1 und Antwort 2 sind keine Antworten, und Antwort 3 wird anhand des OSI-Referenzmodells und nicht anhand der TCP / IP-Protokollsuite erläutert. Keine der Antworten in diesem Beitrag behandelt die konzeptionellen Fehler, die in der Frage gemacht wurden.
Juli
2
@ Sys_v Ich war nicht bereit, einen Novell zu schreiben :)
Tensibai
5

Obwohl es stimmt, dass jedes mit dem Internet verbundene Gerät TCP / IP (oder UDP) für die Kommunikation verwendet, ist es wirklich die nächste Stufe im Stapel, auf der die Dinge interessant werden.

Jedes moderne IoT-Gerät verwendet TLS zur Verschlüsselung und Authentifizierung. Dies verhindert (theoretisch), dass andere Personen die weitergegebenen Nachrichten beobachten oder stören. Eine wichtige Überlegung des TCP / IP-Stacks ist, dass ein Großteil der übertragenen Informationen trivial beobachtet werden kann - und dies führt oft sehr leicht zu Sicherheitslücken.

Geräte müssen keine Verbindung zum Internet "an der Quelle" herstellen, daher ist es nicht erforderlich , TCP über Bluetooth (als Beispiel) zu implementieren. Möglicherweise sehen Sie auch IoT-Geräte, die Mobiltelefonprotokolle (z. B. normale SMS oder Texte) als Endpunkt verwenden. Letztendlich werden diese Protokolle (die in gewisser Weise für die installierte Umgebung ausgewählt wurden) wahrscheinlich von einem Hub-Gerät mit dem Internet verbunden.

Sean Houlihane
quelle
In Bezug auf die Prämisse des zweiten Absatzes fürchte ich, dass wir möglicherweise sogar auf Geräte stoßen, die später als heute entwickelt wurden und die Krypto immer noch ignorieren
Hagen von Eitzen,
1
Moderne Bedeutung, die sich an den heutigen Best Practices orientiert und nicht nur einfach ist.
Sean Houlihane
4

Alle Geräte, die TCP over IP verwenden möchten, benötigen einen TCP / IP-Stack.

Das Protokoll ist standardisiert, sodass Geräte verschiedener Hersteller oder mit unterschiedlichen Betriebssystemen sich gegenseitig verstehen können.

Beachten Sie, dass TCP dafür sorgt, dass Datenpakete ankommen, oder dass der Absender über deren Verlust informiert wird. TCP wird verwendet, wenn Sie es sich nicht leisten können, Daten zu verlieren, ohne sich dessen bewusst zu sein (z. B. Kommunikation mit Ihrer Bank).

Es gibt auch UDP, das Pakete sendet und "hofft, dass sie dort ankommen". Dies kann zum Beispiel zum Streamen von Musik oder Videos verwendet werden, bei denen der Verlust einiger Frames nicht fatal ist.

Der wichtige Teil ist die Standardisierung.

Laut Mawg soll Monica wieder eingesetzt werden
quelle
2

Der Stack selbst ist ein virtuelles Konzept. Jede Schicht im Stapel verändert die letzten Bits, die über das physikalische Medium gesendet werden (Funkwellen oder andere elektronische Signale). Es gibt keine Regel, die besagt, dass jede Schicht im Stapel in einer einzelnen diskreten Code- oder Hardwareeinheit erstellt werden muss. Beispielsweise kombinieren iEthernet-Chips TCP-, IP-, MAC- und PHY-Schichten und überlassen den Entwicklern die Implementierung von TLS- und Anwendungsschichtsoftware.

Das heißt, alle Bits müssen den verschiedenen beteiligten Protokollen entsprechen. Aus diesem Grund ist es normalerweise einfacher, jede Schicht als separate Einheit zu entwerfen, damit sie unabhängig getestet und verifiziert werden können. Die meisten Geräte, einschließlich Smartphones, Smart-TVs und Spielekonsolen, beziehen ihre Chips normalerweise von Drittanbietern, die sich auf bestimmte Bereiche spezialisiert haben. Beispielsweise verwenden die meisten Telefone nur einen von wenigen verschiedenen Bluetooth-Chips. Dies bedeutet, dass sich der Hersteller nicht um die Neuerfindung des Rads bei jedem neuen Produkt kümmern muss.

In der Theorie verfügen einige kleine, spezialisierte Geräte möglicherweise nur über einen einzelnen Prozessor mit integriertem SoC (Software on Chip), der alle Netzwerkebenen (Anwendung, TLS, TCP, IP, PHY) als einzelne Codeeinheit verarbeitet. Ich kann im Moment keine konkreten Beispiele finden, aber es würde mich nicht überraschen, wenn einige kleine, stromsparende oder dedizierte Funktionsgeräte alle Schichten des Stapels zu einer einzigen Einheit zusammenfassen, um den Stromverbrauch zu senken (Verlängerung der Batterielebensdauer). Größere, kompliziertere Produkte wie Fernseher, Telefone und Spielesysteme haben wahrscheinlich mindestens drei Schichten (Anwendung, Betriebssystem und Hardware), während ein Toaster möglicherweise nur ein oder zwei Schichten hat.


Hinweis: Ich sage nicht, dass der bestimmte Toaster, den ich verknüpft habe, 1 oder 2 Schichten hat, nur dass es logisch wäre, wenn er so konzipiert wäre, dass er ein Einzweckgerät ist.

Phyrfox
quelle
Wie könnte der Toaster nicht alle Ebenen haben? Sie können ein Netzwerkkabel anschließen oder es reagiert auf WiFi-Wellen - daher wird die PHY-Schicht implementiert. In kann mit lokalen und Remote-Geräten (z. B. Ihrem iPhone) kommunizieren - daher wird die IP-Schicht implementiert. Es erfordert eine sichere Datenübertragung (das Image) - daher sollte TCP besser implementiert werden. Ein Teil muss aus den übertragenen Daten einen Sinn machen, damit wir auf jeden Fall eine Anwendungsschicht darüber haben. --- (Naja, möglicherweise nicht, wenn sie anstatt des Netzwerks Bluetooth verwenden ...)
Hagen von Eitzen
@HagenvonEitzen Die Protokolle bestimmen die Schichten, die platziert werden, aber mein Punkt ist, dass eine "Schicht" im TCP / IP-Stapel möglicherweise keine einzelne "Schicht" in einem Software- / Hardware-Stapel ist. " Ich habe ein Beispiel für einen Chipsatz gegeben, der vier Ebenen alleine implementiert. In Bezug auf Hardware / Software ist dies nur eine "Schicht" im "Stapel", die die Konnektivität implementiert. Wenn Sie diesen Chip zusammen mit einer Anwendung verwenden, die ihr eigenes TLS implementiert, entsteht ein zweischichtiger Stapel. Die physischen Komponenten stimmen nicht mit den vier im OP beschriebenen logischen Schichten überein.
Phyrfox