Heim > häufiges Problem > Zu welchen Protokollen der Computernetzwerkarchitektur gehören TCP und UDP?

Zu welchen Protokollen der Computernetzwerkarchitektur gehören TCP und UDP?

青灯夜游
Freigeben: 2022-08-24 16:39:03
Original
11381 Leute haben es durchsucht

tcp und udp sind Protokolle der „Transportschicht“. UDP und TCP sind wichtige Protokolle in der Computertransportschicht. TCP ist verbindungsorientiert und UDP ist verbindungslos. TCP (Transmission Control Protocol) ist ein verbindungsorientiertes, zuverlässiges, Bytestrom-basiertes Transportschicht-Kommunikationsprotokoll, das durch RFC 793 der IETF definiert ist. UDP (User Datagram Protocol) bietet Anwendungen die Möglichkeit, gekapselte IP-Pakete zu senden, ohne eine Verbindung herzustellen.

Zu welchen Protokollen der Computernetzwerkarchitektur gehören TCP und UDP?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, Dell G3-Computer.

Computernetzwerkarchitektur bezieht sich auf das hierarchische Strukturmodell eines Computernetzwerks, bei dem es sich um eine Sammlung von Protokollen auf jeder Ebene und Ports zwischen den Ebenen handelt. Die Kommunikation in einem Computernetzwerk muss auf Netzwerkkommunikationsprotokollen basieren. Das weit verbreitete Open System Interconnection (OSI)-Referenzmodell, das 1997 von der International Organization for Standardization (ISO) vorgeschlagen wurde, wird üblicherweise als ISO/OSI-Referenzmodell bezeichnet.

OSI-Sieben-Schichten-Referenzmodell:

OSI unterteilt ein Netzwerksystem logisch in 7 funktional relativ unabhängige geordnete Subsysteme, sodass die OSI-Architektur aus 7 funktional relativ unabhängigen Schichten besteht. Die Zusammensetzung ist in der folgenden Abbildung dargestellt. Von niedrig nach hoch sind es die physikalische Schicht, die Datenverbindungsschicht, die Netzwerkschicht, die Transportschicht, die Sitzungsschicht, die Präsentationsschicht und die Anwendungsschicht.

Zu welchen Protokollen der Computernetzwerkarchitektur gehören TCP und UDP?

TCP/IP-Referenzmodell

TCP/IP hat 4 Schichten, nämlich die Netzwerkschnittstellenschicht, die Internetschicht, die Transportschicht und die Anwendungsschicht. Der Vergleich zwischen der TCP/IP-Hierarchie und der OSI-Hierarchie ist in der folgenden Abbildung dargestellt.

Zu welchen Protokollen der Computernetzwerkarchitektur gehören TCP und UDP?

tcp und udp gehören zu den „Transportschicht“-Protokollen der Computernetzwerkarchitektur.

Die Transportschicht des Internets verfügt über zwei Hauptprotokolle, die sich gegenseitig ergänzen. Verbindungslos ist UDP, das kaum etwas Besonderes leistet, außer Anwendungen die Möglichkeit zu geben, Pakete zu senden und es ihnen zu ermöglichen, ihre eigenen Protokolle auf der erforderlichen Ebene zu entwickeln. Das verbindungsorientierte ist TCP, das fast alles kann.

Die Transportschicht ist eine der Schlüsselschichten im gesamten Netzwerkschichtsystem. Die Netzwerkschicht sendet nur Pakete an den Zielhost, aber die eigentliche Kommunikation ist nicht der Host, sondern der Prozess im Host. Die Transportschicht stellt Kommunikationsdienste für die darüber liegende Anwendungsschicht bereit. Sie gehört zur höchsten kommunikationsorientierten Schicht, wenn zwei Hosts im Randteil des Netzwerks die Funktionen des Kernteils des Netzwerks für die End-to-End-Kommunikation nutzen Es gibt nur den Protokollstapel des Hosts. Die Transportschicht sorgt für die logische Kommunikation zwischen Prozessen. Die Transportschicht schützt die Kerndetails der darunter liegenden Netzwerkschicht vor hochrangigen Benutzern, sodass die Anwendung so aussieht, als ob sie zu Ende wäre -to-End-Logik zwischen den beiden Transportschicht-Entitäten

Obwohl IP-Pakete Pakete an den Zielhost senden können, verbleibt dieses Paket immer noch in der Netzwerkschicht des Hosts und wird nicht an den Anwendungsprozess übermittelt Während des Kommunikationsprozesses zwischen zwei Computern tauscht ein Prozess auf diesem Host Daten mit einem Prozess auf einem anderen Host aus. Aus Sicht der Transportschicht ist der eigentliche Endpunkt der Kommunikation nicht der Host, sondern der Prozess im Host. Mit anderen Worten: End-to-End-Kommunikation ist die Kommunikation zwischen Anwendungsprozessen.
Zwei wichtige Funktionen der Transportschicht:

  • Multiplexing: Anwendungsprozesse, die nicht vom Sender verwendet werden, können dasselbe Transportschichtprotokoll zur Übertragung von Daten verwenden.
  • Demultiplexing: Die Transportschicht des Empfängers löst sich ab Die Pakete können nach dem Header des Dokuments korrekt an den Zielanwendungsprozess übermittelt werden.

Der Unterschied zwischen der Netzwerkschicht und der Transportschicht: Die Netzwerkschicht sorgt für die logische Kommunikation zwischen Hosts, während die Transportschicht Bietet direkt eine End-to-End-Kommunikation für Anwendungen.

TCP und UDP

UDP und TCP sind wichtige Protokolle in der Computertransportschicht und UDP ist verbindungslos Die Portnummer in der TCP/IP-Schicht stellt einen Port dar. Die Portnummer hat nur eine lokale Bedeutung. Sie dient dazu, die Schnittstelle zwischen den einzelnen Prozessen in der Computeranwendungsschicht und der Transportschicht zu kennzeichnen. Die Portnummern zwischen verschiedenen Netzwerknummern hängen nicht zusammen. Damit Prozesse zwischen zwei Computern miteinander kommunizieren können, müssen sie die IP-Adresse (um den Computer der anderen Partei zu finden) und die Portnummer (in der Reihenfolge) kennen (um den Prozess im Computer zu finden). Die Kommunikation im Internet erfolgt über Client-Server. Wenn der Client eine Kommunikationsanfrage initiiert, muss er daher zunächst die IP-Adresse und die Portnummer des Servers der anderen Partei kennen.

UDP

Das User Datagram Protocol fügt IP-Nachrichten lediglich eine Funktion zum Multiplexen, Demultiplexen und zur Fehlererkennung hinzu.

1. Funktionen von UDP

  • UDP verbindungslos: Vor dem Senden ist keine Verbindung erforderlich.
  • UDP verwendet die Best-Effort-Zustellung und garantiert keine zuverlässige Zustellung.
  • UDP ist nachrichtenorientiert. Wie unten gezeigt, wird jeweils eine vollständige Nachricht übertragen.

Zu welchen Protokollen der Computernetzwerkarchitektur gehören TCP und UDP?

  • UDP verfügt über keine Überlastungskontrolle. Zu viele interaktive Kommunikation;
  • UDP-Header Geringer Overhead;

Das Header-Feld hat nur 8 Bytes, einschließlich Quellport, Zielport, Länge, Prüfsumme. Der 12-Byte-Pseudoheader wird vorübergehend zur Berechnung der Prüfsumme hinzugefügt.

TCP

Zu welchen Protokollen der Computernetzwerkarchitektur gehören TCP und UDP?

Transmission Control Protocol (TCP, Transmission Control Protocol) ist ein verbindungsorientiertes, zuverlässiges, Bytestrom-basiertes Transportschicht-Kommunikationsprotokoll, definiert durch RFC 793 der IETF.

TCP: Benutzernachrichtenprotokoll, verbindungsorientiert Eine Verbindung muss hergestellt werden, nachdem die Datenübertragung abgeschlossen ist.

1. TCP-Funktionen

TCP ist verbindungsorientiert und sorgt für eine zuverlässige Zustellung; Anwendungsschicht) Die Nachricht wird als Bytestrom betrachtet und der Bytestrom ist in Datenblöcke unterschiedlicher Größe organisiert. Jede TCP-Verbindung kann nur Punkt-zu-Punkt (Eins-zu-Eins) sein.

2. TCP-Verbindung

  • TCP verbindet nicht zwei Hostnummern oder Portnummern, sondern Sockets:
  • Socket = IP-Adresse: Portnummer
  • 3. TCP-Segment-Header-Format
  • Quelle Port und Zielport: jeweils 2 Bytes, schreiben Sie den Quellport bzw. den Zielport;
  • Seriennummer: 4 Bytes, TCP ist auf den Byte-Stream ausgerichtet und wird in der TCP-Verbindung übertragen. Jedes Byte des Byte-Streams ist der Reihe nach nummeriert Die Startnummer des gesamten zu übertragenden Bytestroms muss beim Aufbau der Übertragung festgelegt werden.

Bestätigungsnummer: Die Sequenznummer des nächsten zu empfangenden Segments. Beispielsweise empfängt B ein von A gesendetes Nachrichtensegment korrekt. Die Sequenznummer ist 501 und die Datenlänge beträgt 200 Byte. Daher erwartet B, dass die Sequenznummer des nächsten Nachrichtensegments 701 ist. Im von B gesendeten Bestätigungsnachrichtensegment zu A, Die Bestätigungsnummer ist 701. Datenoffset: Bezieht sich auf den Offset des Datenteils vom Anfang des Nachrichtensegments, der sich tatsächlich auf die Länge des Headers bezieht.

Bestätigung ACK: Wenn ACK=1 ist, ist das Bestätigungsnummernfeld gültig, andernfalls ist es ungültig. TCP schreibt vor, dass nach dem Verbindungsaufbau für alle übertragenen Nachrichtensegmente ACK auf 1 gesetzt sein muss.

Synchronisations-SYN: Wird zum Synchronisieren der Sequenznummer beim Verbindungsaufbau verwendet. Wenn SYN = 1 und ACK = 0, bedeutet dies, dass es sich um ein Verbindungsanforderungssegment handelt. Wenn die andere Partei dem Verbindungsaufbau zustimmt, sind SYN=1 und ACK=1 in der Antwortnachricht.

Beendigungs-FIN: Wird zum Freigeben einer Verbindung verwendet. Wenn FIN=1, bedeutet dies, dass die Daten des Absenders dieses Segments gesendet wurden und die Verbindung freigegeben werden muss.

Fenster: Der Fensterwert dient dem Empfänger als Grundlage, damit der Sender sein Sendefenster festlegen kann. Der Grund für diese Einschränkung liegt darin, dass der Daten-Cache-Speicherplatz des Empfängers begrenzt ist.

Zu welchen Protokollen der Computernetzwerkarchitektur gehören TCP und UDP?

    4. TCP-Drei-Wege-Handshake
  • Angenommen, A ist der Client und B ist der Server.
  • Zuerst befindet sich B im LISTEN-Zustand und wartet auf die Verbindungsanfrage des Clients.
  • A sendet eine Verbindungsanforderungsnachricht an B, SYN=1, ACK=0, und wählt eine anfängliche Sequenznummer x aus.
  • B empfängt die Verbindungsanforderungsnachricht. Wenn es dem Verbindungsaufbau zustimmt, sendet es eine Verbindungsbestätigungsnachricht mit SYN=1, ACK=1, die Bestätigungsnummer ist x+1 und wählt außerdem eine anfängliche Sequenznummer aus j.
  • Nach Erhalt der Verbindungsbestätigungsnachricht von B sendet A auch eine Bestätigung an B. Die Bestätigungsnummer ist y+1 und die Sequenznummer ist x+1.
Nachdem B die Bestätigung von A erhalten hat, wird die Verbindung hergestellt.

5. TCP winkt viermal

Zu welchen Protokollen der Computernetzwerkarchitektur gehören TCP und UDP?

    Die folgende Beschreibung geht nicht auf Sequenznummern und Bestätigungsnummern ein, da die Regeln für Sequenznummern und Bestätigungsnummern relativ einfach sind. Und ACK wird nicht besprochen, da ACK nach dem Verbindungsaufbau immer 1 ist.
    • A sendet eine Verbindungsfreigabenachricht, FIN=1.
    • B sendet nach dem Empfang eine Bestätigung. Zu diesem Zeitpunkt befindet sich TCP in einem halbgeschlossenen Zustand, aber A kann keine Daten an B senden.
    • Wenn B die Verbindung nicht mehr benötigt, senden Sie eine Verbindungsfreigabenachricht, FIN=1.
    • A sendet nach Erhalt eine Bestätigung, wechselt in den TIME-WAIT-Status und wartet 2 MSL (maximale Nachrichtenüberlebenszeit), bevor die Verbindung freigegeben wird.
    • B gibt die Verbindung frei, nachdem er die Bestätigung von A erhalten hat.

    Der Grund für das viermalige Winken
    Nachdem der Client die FIN-Verbindungsfreigabenachricht gesendet hat, empfängt der Server diese Nachricht und wechselt in den CLOSE-WAIT-Status. In diesem Zustand sendet der Server Daten, die noch nicht übertragen wurden. Nach Abschluss der Übertragung sendet der Server eine FIN-Verbindungsfreigabenachricht.

    TIME_WAIT
    Der Client wechselt in diesen Status, nachdem er die FIN-Nachricht vom Server erhalten hat. Zu diesem Zeitpunkt wechselt er nicht direkt in den Status CLOSED, sondern muss auch auf die vom Timer festgelegte Zeit 2MSL warten. Dafür gibt es zwei Gründe:

    • Um sicherzustellen, dass die letzte Bestätigungsnachricht eintreffen kann. Wenn B die Bestätigungsnachricht von A nicht erhält, sendet es die Anforderungsnachricht zur Verbindungsfreigabe erneut. A wartet eine gewisse Zeit, um diese Situation zu bewältigen.
    • Durch das Warten auf einen bestimmten Zeitraum können alle innerhalb der Dauer dieser Verbindung generierten Pakete aus dem Netzwerk verschwinden, sodass alte Verbindungsanforderungspakete bei der nächsten neuen Verbindung nicht angezeigt werden.

    Implementierung der zuverlässigen TCP-Übertragung

    TCP verwendet eine Timeout-Neuübertragung, um eine zuverlässige Übertragung zu erreichen. Wenn ein gesendetes Nachrichtensegment innerhalb des Timeout-Zeitraums keine Bestätigung erhält, wird das Nachrichtensegment erneut übertragen
    1. TCP-Schiebefenster
    Das Fenster ist Teil des Caches und wird zum vorübergehenden Speichern des Bytestreams verwendet. Der Sender und der Empfänger verfügen jeweils über ein Fenster. Der Empfänger teilt dem Sender seine Fenstergröße über das Fensterfeld im TCP-Segment mit. Der Sender legt seine eigene Fenstergröße basierend auf diesem Wert und anderen Informationen fest.

    Alle Bytes innerhalb des Sendefensters dürfen gesendet werden und alle Bytes innerhalb des Empfangsfensters dürfen empfangen werden. Wenn das Byte auf der linken Seite des Sendefensters gesendet und bestätigt wurde, schieben Sie das Sendefenster um einen bestimmten Abstand nach rechts, bis das erste Byte auf der linken Seite nicht mehr gesendet und bestätigt wird. Wenn die Bytes auf der linken Seite des Fensters gesendet und bestätigt und an den Host übermittelt wurden, schieben Sie das Empfangsfenster nach rechts.

    Das Empfangsfenster bestätigt nur das letzte Byte, das in der richtigen Reihenfolge im Fenster eintrifft. Die vom Empfangsfenster empfangenen Bytes sind beispielsweise {31, 34, 35}, darunter {31} in der richtigen Reihenfolge und {34, 35} ist nicht vorhanden, daher wird nur Byte 31 bestätigt. Nachdem der Absender eine Bestätigung für ein Byte erhalten hat, weiß er, dass alle Bytes vor diesem Byte empfangen wurden.

    Zu welchen Protokollen der Computernetzwerkarchitektur gehören TCP und UDP?

    2. Die TCP-Flusskontrolle erfolgt über Schiebefenster. Im Allgemeinen hoffen wir, dass der Absender Daten so schnell wie möglich sendet. Wenn der Absender jedoch Daten zu schnell sendet, wird dies der Fall sein Dies führt dazu, dass der Empfänger keine Zeit zum Akzeptieren hat. Daher muss die Flusskontrolle auf TCP hauptsächlich durch Festlegen der Größe des Schiebefensters in der vom Empfänger gesendeten Bestätigungsnachricht erfolgen Steuern Sie die Fenstergröße des Absenders und beeinflussen Sie somit die Senderate des Absenders. Setzen Sie das Fensterfeld auf 0 und der Absender kann keine Daten senden.

    3. TCP-Überlastungskontrolle

    Wenn das Netzwerk überlastet ist, gehen Pakete verloren und der Absender sendet weiterhin erneut, was zu einer höheren Netzwerküberlastung führt. Daher sollte bei einer Überlastung die Rate des Absenders kontrolliert werden. Dies ist der Flusskontrolle sehr ähnlich, der Ausgangspunkt ist jedoch ein anderer. Die Flusskontrolle soll es dem Empfänger ermöglichen, rechtzeitig zu empfangen, während die Überlastungskontrolle die Überlastung des gesamten Netzwerks reduzieren soll. Bedingungen für die Überlastungskontrolle:


    Die Überlastungskontrolle unterscheidet sich von der Flusskontrolle: Die Überlastungskontrolle soll verhindern, dass zu viele Daten in das Netzwerk eingespeist werden, damit Router oder Verbindungen im Netzwerk nicht überlastet werden , entwickelt für alle Hosts, alle Router und alle Elemente im Zusammenhang mit der Reduzierung der Netzwerkleistung. Allerdings handelt es sich bei der Flusskontrolle oft um die Kontrolle des Punkt-zu-Punkt-Verkehrs und es handelt sich um ein End-to-End-Problem Zu welchen Protokollen der Computernetzwerkarchitektur gehören TCP und UDP?

    Zu welchen Protokollen der Computernetzwerkarchitektur gehören TCP und UDP?Überlastung in TCP Der Hauptkontrollalgorithmus: langsamer Start, Überlastungsvermeidung, schnelle Neuübertragung, schnelle Wiederherstellung

    Der Absender muss eine Statusvariable namens Überlastungsfenster (cwnd) verwalten. Beachten Sie den Unterschied zwischen Überlastungsfenster und Das Absenderfenster: Das Überlastungsfenster ist nur eine Zustandsvariable. Es ist das Absenderfenster, das tatsächlich bestimmt, wie viele Daten der Absender senden kann. Zur Vereinfachung der Diskussion werden die folgenden Annahmen getroffen:

    Der Empfänger verfügt über einen ausreichend großen Empfangspuffer, sodass keine Flusskontrolle erfolgt.

    • Obwohl das Fenster von TCP auf Bytes basiert, ist die Fenstergrößeneinheit hier a Nachrichtensegment.

Zu welchen Protokollen der Computernetzwerkarchitektur gehören TCP und UDP?

1. Langsamer Start und Vermeidung von Überlastungen
Die anfängliche Ausführung des Sendens erfolgt langsam. Lassen Sie cwnd = 1, der Absender kann nur 1 Segment senden. Nach Erhalt der Bestätigung wird cwnd verdoppelt Die Anzahl der Nachrichtensegmente, die der Absender senden kann, beträgt: 2, 4, 8 ...
Beachten Sie, dass cwnd beim langsamen Start in jeder Runde verdoppelt wird, wodurch cwnd sehr schnell wächst und somit die Sendegeschwindigkeit des Absenders erhöht wird Wenn es zu schnell ist, ist die Wahrscheinlichkeit einer Netzwerküberlastung höher.

Legen Sie einen langsamen Startschwellenwert ssthresh fest. Wenn cwnd >= ssthresh ist, wird die Überlastungsvermeidung eingegeben und nur cwnd wird in jeder Runde um 1 erhöht.

Wenn eine Zeitüberschreitung auftritt, setzen Sie ssthresh = cwnd / 2 und führen Sie dann den langsamen Start erneut aus.

2. Schnelle Neuübertragung und schnelle Wiederherstellung
Auf der Empfangsseite ist es erforderlich, dass bei jedem Empfang eines Nachrichtensegments das zuletzt empfangene bestellte Nachrichtensegment bestätigt wird. Beispielsweise wurden M1 und M2 empfangen, und wenn M4 empfangen wird, sollte eine Bestätigung für M2 gesendet werden.

Wenn auf der Senderseite drei doppelte Bestätigungen empfangen werden, kann festgestellt werden, dass das nächste Segment verloren geht. Zu diesem Zeitpunkt wird eine schnelle Neuübertragung durchgeführt und das nächste Segment wird sofort erneut übertragen. Wenn beispielsweise drei M2 empfangen werden, geht M3 verloren und M3 wird sofort erneut übertragen.

In diesem Fall handelt es sich lediglich um den Verlust einzelner Segmente, nicht um eine Netzwerküberlastung. Daher wird eine schnelle Wiederherstellung durchgeführt, wobei ssthresh = cwnd / 2, cwnd = ssthresh ist. Beachten Sie, dass die Überlastungsvermeidung zu diesem Zeitpunkt direkt eingegeben wird.

Die Geschwindigkeit des langsamen Starts und der schnellen Erholung bezieht sich auf den Einstellungswert von cwnd, nicht auf die Wachstumsrate von cwnd. Der Cwnd für den langsamen Start ist auf 1 und der Cwnd für die schnelle Wiederherstellung auf ssthresh gesetzt.

Zu welchen Protokollen der Computernetzwerkarchitektur gehören TCP und UDP?

Referenz: Computer Network Fifth Edition, herausgegeben von Xie Xiren

(Lernvideo-Sharing: Einführung in das Web-Frontend)

Das obige ist der detaillierte Inhalt vonZu welchen Protokollen der Computernetzwerkarchitektur gehören TCP und UDP?. 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