Heim > häufiges Problem > Was sind die Schichten des TCP/IP-Referenzmodells?

Was sind die Schichten des TCP/IP-Referenzmodells?

青灯夜游
Freigeben: 2020-11-25 14:01:16
Original
117032 Leute haben es durchsucht

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;

Was sind die Schichten des TCP/IP-Referenzmodells?

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.

Was sind die Schichten des TCP/IP-Referenzmodells?

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.


Was sind die Schichten des TCP/IP-Referenzmodells?Das 8-Bit-Typfeld wird zur Unterscheidung des Nachrichtentyps verwendet. Es unterteilt

ICMP-Nachrichten in zwei Hauptkategorien:

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.
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.
  • UDP-Protokoll (User Datagram Protocol) ist das völlige Gegenteil des TCP-Protokolls. Es bietet unzuverlässige, verbindungslose und datagrammbasierte Dienste für die Anwendungsschicht. „Unzuverlässig“ bedeutet, dass das UDP-Protokoll nicht garantieren kann, dass die Daten korrekt vom Absender zum Ziel übertragen werden. Wenn die Daten auf halbem Weg verloren gehen oder das Ziel bei der Datenüberprüfung Datenfehler feststellt und diese verwirft, benachrichtigt das UDP-Protokoll einfach die Anwendung über den Sendefehler. Daher müssen Anwendungen, die das UDP-Protokoll verwenden, normalerweise selbst mit Logik wie Datenbestätigung, Timeout-Neuübertragung usw. umgehen. Das UDP-Protokoll ist verbindungslos, das heißt, die kommunizierenden Parteien unterhalten keine langfristige Verbindung, daher muss die Anwendung bei jedem Datenversand die Adresse des Empfängers (IP-Adresse und andere Informationen) eindeutig angeben. Datagrammbasierte Dienste sind relativ zu Stream-basierten Diensten. Jedes UDP-Datagramm hat eine Länge, und der Empfänger muss seinen gesamten Inhalt auf einmal lesen, wobei diese Länge die Mindesteinheit ist, andernfalls werden die Daten abgeschnitten.

Anwendungsschicht

Die Anwendungsschicht ist für die Handhabung der Logik der Anwendung verantwortlich.

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

Hohe Kohäsion und geringe Kopplung, jede Schicht konzentriert sich auf ihre Funktion und es besteht kaum eine Abhängigkeit von der Beziehung zwischen den Schichten.

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.

Dieser Prozess wird als Kapselung, Übertragung, Trennung und Dezentralisierung bezeichnet.

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage