Das TCP/IP-Referenzmodell ist in 4 Schichten unterteilt, nämlich: 1. Datenverbindungsschicht, die den Netzwerktreiber der Netzwerkkartenschnittstelle implementiert, um die Übertragung von Daten auf dem physischen Medium abzuwickeln; 2. Netzwerkschicht, die implementiert die Auswahl des Routings und der Weiterleitung von Datenpaketen; 3. Transportschicht, die eine End-to-End-Kommunikation für Anwendungen auf zwei Hosts bereitstellt; 4. Anwendungsschicht, die für die Verarbeitung der Anwendungslogik verantwortlich ist;
Die TCP/IP-Protokollsuite ist ein vierschichtiges Protokollsystem, das von unten nach oben aus Datenverbindungsschicht, Netzwerkschicht, Transportschicht und Anwendungsschicht besteht. Jede Schicht erfüllt unterschiedliche Funktionen und wird über mehrere Protokolle implementiert. Das Protokoll der oberen Schicht nutzt die vom Protokoll der unteren Schicht bereitgestellten Dienste.
Datenverbindungsschicht (Netzwerkschnittstellenschicht)
Die Datenverbindungsschicht implementiert den Netzwerktreiber für die Netzwerkkartenschnittstelle, um Daten auf dem physischen Medium (wie Ethernet, Token Ring usw.) zu verarbeiten. Übertragung.
Zwei häufig verwendete Protokolle in der Datenverbindungsschicht sind das ARP-Protokoll (Address Resolve Protocol, Address Resolution Protocol) und das RARP-Protokoll (ReverseAddress Resolve Protocol, Reverse Address Resolution Protocol). Sie konvertieren IP-Adressen in und von der physischen Adresse des Geräts (normalerweise eine MAC-Adresse, die von Ethernet-, Token Ring- und 802.11-Wireless-Netzwerken verwendet wird).
Die Netzwerkschicht verwendet eine IP-Adresse, um eine Maschine anzusprechen, während die Datenverbindungsschicht eine physische Adresse verwendet, um eine Maschine anzusprechen. Daher muss die Netzwerkschicht zunächst die IP-Adresse der Zielmaschine in ihre physische Adresse umwandeln, bevor sie dies kann Nutzen Sie die bereitgestellten Datenverbindungsschichten.Dafür ist das ARP-Protokoll gedacht.
Das RARP-Protokoll wird nur von bestimmten plattenlosen Workstations im Netzwerk verwendet. Aufgrund des Mangels an Speichergeräten können sich Workstations ohne Festplatten ihre eigenen IP-Adressen nicht merken, sie können jedoch die physische Adresse auf der Netzwerkkarte verwenden, um beim Netzwerkmanager (Server oder Netzwerkverwaltungssoftware) nach ihrer eigenen IP-Adresse zu fragen. Der Netzwerkadministrator, der den RARP-Dienst ausführt, verwaltet normalerweise eine Zuordnung physischer Adressen zu IP-Adressen für alle Computer im Netzwerk.Netzwerkschicht
Die Netzwerkschicht implementiert das Routing und die Weiterleitung von Datenpaketen. WAN (Wide Area Network, Wide Area Network) verwendet normalerweise viele hierarchische Router, um verteilte Hosts oder LAN (Local Area Network, Local Area Network) zu verbinden. Daher sind die beiden kommunizierenden Hosts im Allgemeinen nicht direkt, sondern über mehrere Zwischenknoten verbunden (Router) verbunden. Die Aufgabe der Netzwerkschicht besteht darin, diese Zwischenknoten auszuwählen, um den Kommunikationspfad zwischen den beiden Hosts zu bestimmen. Gleichzeitig verbirgt die Netzwerkschicht die Details der Netzwerktopologieverbindung vor dem Protokoll der oberen Schicht, sodass aus Sicht der Transportschicht und der Netzwerkanwendungen die beiden Kommunikationsparteien direkt verbunden sind.
Das Kernprotokoll der Netzwerkschicht ist das IP-Protokoll (Internet Protocol). Das IP-Protokoll bestimmt anhand seiner Ziel-IP-Adresse, wie das Datenpaket zugestellt wird. Wenn das Datenpaket nicht direkt an den Zielhost gesendet werden kann, findet das IP-Protokoll einen geeigneten Next-Hop-Router dafür und liefert das Datenpaket zur Weiterleitung an den Router. Dieser Vorgang wird mehrmals wiederholt und das Paket erreicht schließlich den Zielhost oder wird aufgrund eines Sendefehlers verworfen. Es ist ersichtlich, dass das IP-Protokoll eine Hop-by-Hop-Methode verwendet, um den Kommunikationspfad zu bestimmen.
Ein weiteres wichtiges Protokoll in der Netzwerkschicht ist das ICMP-Protokoll (Internet Control Message Protocol). Es stellt eine wichtige Ergänzung zum IP-Protokoll dar und dient vor allem der Erkennung von Netzwerkverbindungen.
Das 8-Bit-Typfeld wird zur Unterscheidung des Nachrichtentyps verwendet. Es unterteilt
Fehlermeldungen
. Diese Nachrichten werden hauptsächlich zur Reaktion auf Netzwerkfehler verwendet, z. B. „Ziel nicht erreichbar“ (Typwert 3) und „Abfragenachricht“ (Umleitung). Dieser Nachrichtentyp wird zum Abfragen von Netzwerkinformationen verwendet. Das Ping-Programm verwendet beispielsweise ICMP-Nachrichten, um zu überprüfen, ob das Ziel erreichbar ist (Typwert ist 8). Einige ICMP-Nachrichten verwenden auch ein 8-Bit-Codefeld, um verschiedene Bedingungen weiter zu unterteilen. Beispielsweise verwendet eine Umleitungsnachricht einen Codewert von 0, um eine Netzwerkumleitung anzuzeigen, und einen Codewert von 1, um eine Hostumleitung anzuzeigen. ICMP-Nachrichten verwenden ein 16-Bit-Prüfsummenfeld, um eine zyklische Redundanzprüfung (CRC) für die gesamte Nachricht (einschließlich Header und Inhalt) durchzuführen, um zu prüfen, ob die Nachricht während der Übertragung beschädigt ist. Verschiedene ICMP-Nachrichtentypen haben unterschiedliche Textinhalte.
Transportschicht
Die Transportschicht bietet eine End-to-End-Kommunikation für Anwendungen auf zwei Hosts. Anders als bei der von der Netzwerkschicht verwendeten Hop-by-Hop-Kommunikationsmethode kümmert sich die Transportschicht nur um den Ursprung und das Ziel der Kommunikation und nicht um den Übertragungsprozess des Datenpakets.
Die vertikalen durchgezogenen Pfeile stellen die physische Kommunikation zwischen den Schichten der TCP/IP-Protokollsuite dar (Datenpakete werden tatsächlich entlang dieser Linien übertragen), während die horizontalen gestrichelten Pfeile logische Kommunikationslinien darstellen. Das Diagramm beschreibt auch, wie verschiedene physische Netzwerke verbunden sind. Es ist ersichtlich, dass die Datenverbindungsschicht (Treiber) die elektrischen Details des physischen Netzwerks kapselt; die Netzwerkschicht kapselt die Details der Netzwerkverbindung; die Transportschicht kapselt eine durchgängige logische Kommunikationsverbindung für die Anwendung ist verantwortlich für das Senden und Empfangen von Daten, die Wiederverbindung nach Zeitüberschreitung der Verbindung usw. Anwendungsschicht Die Datenverbindungsschicht, die Netzwerkschicht und die Transportschicht sind für die Verarbeitung der Details der Netzwerkkommunikation verantwortlich. Dieser Teil muss sowohl stabil als auch effizient sein, daher sind sie alle im Kernelraum implementiert. Die Anwendungsschicht ist im Benutzerbereich implementiert, da sie für die Handhabung vieler Logiken verantwortlich ist, wie z. B. Dateiübertragung, Namensabfrage und Netzwerkverwaltung. Wenn die Anwendungsschicht auch im Kernel implementiert ist, wird der Kernel dadurch sehr groß. Natürlich gibt es auch einige Serverprogramme, die im Kernel implementiert sind, sodass der Code nicht zwischen Benutzerraum und Kernelraum hin- und herwechseln muss (hauptsächlich Datenkopieren), was die Arbeitseffizienz erheblich verbessert. Diese Art von Code ist jedoch komplex zu implementieren, nicht flexibel genug und nicht einfach zu übertragen. Das Telnet-Protokoll ist ein Remote-Anmeldeprotokoll, mit dem wir Remote-Aufgaben lokal erledigen können. Das OSPF-Protokoll (Open Shortest Path First) ist ein dynamisches Routing-Update-Protokoll, das für die Kommunikation zwischen Routern verwendet wird, um sich gegenseitig über ihre Routing-Informationen zu informieren. DNS-Protokoll (Domain Name Service) ermöglicht die Konvertierung von Maschinendomänennamen in IP-Adressen. Protokolle (oder Programme) der Anwendungsschicht überspringen möglicherweise die Transportschicht und nutzen direkt Dienste, die von der Netzwerkschicht bereitgestellt werden, wie z. B. Ping-Programme und OSPF-Protokolle. Protokolle (oder Programme) der Anwendungsschicht können normalerweise sowohl TCP-Dienste als auch UDP-Dienste wie das DNS-Protokoll verwenden. Über die Datei /etc/services können wir alle bekannten Protokolle der Anwendungsschicht und die Dienste der Transportschicht, die sie verwenden können, anzeigen. Die Idee hinter dem Fünf-Schichten-Protokoll: Die obere Schicht schirmt die Details der unteren Schicht ab und nutzt nur die Dienste, die sie bereitstellt. Datenpakete haben auf jeder Ebene unterschiedliche Formate. Sie werden von oben nach unten als Segmente, Datagramme und Frames bezeichnet. Die Daten werden von der Anwendungsschicht durch den Protokollstapel und den entsprechenden Header weitergeleitet Das Layer-Protokoll wird schließlich in einen Frame gekapselt und an das Übertragungsmedium gesendet. Wenn es den Router oder Zielhost erreicht, wird der Header entfernt und an den Anforderer der oberen Ebene übermittelt.
Transportschichtprotokoll: TCP-Protokoll, UDP-Protokoll. Das TCP-Protokoll (Transmission Control Protocol) bietet zuverlässige, verbindungsorientierte und streambasierte Dienste für die Anwendungsschicht. Das TCP-Protokoll verwendet Timeout-Neuübertragung, Datenbestätigung usw., um sicherzustellen, dass Datenpakete korrekt an das Ziel gesendet werden, sodass der TCP-Dienst zuverlässig ist. Beide Parteien, die über das TCP-Protokoll kommunizieren, müssen zunächst eine TCP-Verbindung herstellen und einige notwendige Datenstrukturen für die Verbindung im Kernel verwalten, wie z. B. Verbindungsstatus, Lese- und Schreibpuffer und viele Timer. Wenn die Kommunikation endet, müssen beide Parteien die Verbindung schließen, um diese Kerneldaten freizugeben. TCP-Dienste sind Stream-basiert. Streambasierte Daten haben keine Begrenzung (Länge) und fließen kontinuierlich von einem Ende der Kommunikation zum anderen. Der Sender kann Daten byteweise in den Datenstrom schreiben, der Empfänger kann sie byteweise auslesen.
Ping ist eine Anwendung, kein Protokoll. Wie bereits erwähnt, verwendet es ICMP-Nachrichten zur Erkennung von Netzwerkverbindungen und ist ein wesentliches Werkzeug zum Debuggen der Netzwerkumgebung.
Das obige ist der detaillierte Inhalt vonWas sind die Schichten des TCP/IP-Referenzmodells?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!