Eine TCP-Verbindung verfügt über zwei EndpunkteVerbindungsaufbauSenden und Empfangen von DatenDer Client sendet ein Segment mit einer laufenden Nummer von 101, eine Bestätigung der Zahl 501, ein ACK-Bit, 1, ein SYN-Bit von Null und acht Byte Daten im Datenteil des Segments. Die ACK und SYN-Bits nicht für den Rest der Verbindung zu ändern. Der Server erkennt Erhalt der 8 Byte Daten, indem Sie ein Segment mit einer laufenden Nummer von 501 und eine Anerkennung Zahl der 109. Der Datenteil diesem Segment auch enthalten, neue Daten an den Client, die der Kunde schriftlich in einem anderen Segment gesendet werden. Die Segmente gesendet, wenn eine Verbindung können Daten ebenfalls berücksichtigt werden. Wenn dies geschieht, muss das Ziel der empfangenen Daten zu halten, bis die Verbindung hergestellt ist. Eine erfolgreiche Handshake erzählt die Quell-Computer, dass die Daten kam zu dem Zielcomputer TCP-Schicht. Es gibt noch Raum für Fehler, aber, weil der Handshake nicht garantieren können, dass die bezeichneten Prozess auf dem Zielcomputer die Daten aus der TCP-Schicht erhalten. Also absolut sicher sein, dass das Ziel der Anwendung die Daten erhalten haben, müssen Sie ein Protokoll auf Anwendungsebene zur Anerkennung bieten. Schließen einer VerbindungEine Verbindung schließen erfordert auch Handshake. Um eine Verbindung vollständig schließen, sendet jeder Computer eine FIN-Segment mit dem Control-Bit auf 1 gesetzt, um anzuzeigen, dass der Computer nicht mehr Daten zu senden hat. Jedes Ziel muss zugeben Erhalt der FIN. Netzwerk Artikel 5-5 zeigt ein Beispiel:
1. Der Client sendet ein FIN-Segment mit dem Control-Bit auf 1 gesetzt. Dies deutet darauf hin, dass der Client keine Daten mehr über diese Verbindung gesendet werden. Der Kunde kann weiterhin vom Server zu empfangen. 2. Der Server sendet ein Segment Anerkennung der eingegangenen FIN. Wenn der Server keine weiteren Daten zu senden hat, setzt sie ihre FIN-Bit auf 1 fest. Andernfalls wird der Server, Daten zu senden und stellt die FIN-Bit auf 1, wenn alle Daten gesendet wurde. 3. Der Client sendet ein Segment Anerkennung der eingegangenen FIN. Die Verbindung ist nun geschlossen. Natürlich ist es möglich, dass einer der Computer abstürzen oder aus dem Netz vor dem Ende der Handshake abgeschlossen entfernt werden. In diesem Fall kann der andere Computer entscheiden, nach einiger Zeit, um die Verbindung als abgeschlossen zu betrachten und Freigabe der Ressourcen, um die Verbindung zugeordnet. Flow ControlEin sendender Prozeß kann mehrere Segmente bereit, um ein Ziel zu senden haben. Bevor Sie jedes Segment, das Senden Prozess könnte auf eine Bestätigung für die bisherige Segment warten. Aber das ist nicht der effizienteste Weg, um Daten zu übertragen, wenn das Ziel Raum, um die Daten in mehr als einem Segment vorhanden ist. Für eine effizientere Übertragung kann der sendende Prozeß einer empfangenen Header-Window-Feld verwenden, um festzustellen, wie viel Daten ohne Warten auf eine Bestätigung zu senden. Das Ziel kann die Größe nach seinem aktuellen Zustand anpassen, indem Sie die Inhalte der Window-Feld wie erforderlich im Header sendet. Eine empfangene Bestätigungsnummer erzählt die Absender, dass der Zielort empfangen alle Daten mit Segment-Nummern bis zu einem weniger als die Acknowledgement-Nummer. Wenn der Absender keine Bestätigung erhält, kann er die Daten erneut. In der Regel zum Senden einer Strecke, die Quelle temporär des Segments Übertragung von Daten in einer Warteschlange und startet einen Timer. Auf eine Bestätigung zu erhalten, löscht die Quelle der Daten aus der Übertragung Warteschlange. Wenn die Quelle nicht eine Bestätigung erhalten, um die Zeit die Timer-Zeiten, übernimmt die Quelle, das Ziel nicht erhalten das Segment und sendet er, anhand der Daten in die Weiterverbreitung Warteschlange. Die Höhe der Zeit vor Nachsenden warten kann variieren mit dem Netzwerk. Hosts verwenden häufig die durchschnittliche Roundtrip-Zeit für eine Übertragung in einen Timeout-Wert bestimmen. Verbessern der LeistungIm Laufe der Zeit haben mehrere Methoden in den allgemeinen Gebrauch kommen dazu beitragen, dass TCP-Datentransfer effizienter zu gestalten. Die Methoden zu begrenzen, wie viele Daten ein Absender kann in einigen Situationen zu senden, und kann auch beseitigt die Notwendigkeit für eine Zeitüberschreitung warten, bevor erneut überträgt. Die Methoden sind Slow Start, Congestion Avoidance, Fast Retransmit und Fast Recovery. RFC2581: TCP Congestion Control Dokumente, die Methoden. Die Methoden müssen alle mit Angabe der Anzahl von Segmenten eine Quelle kann, bevor eine Bestätigung zu erhalten übertragen zu tun. Wenn eine Quelle wartet auf Anerkennung der vorherigen Segment, bevor das nächste Segment, der Quelle entspricht den Anforderungen des genehmigten und vorgeschlagenen Normen. Ein eingebettetes System, welches Daten selten können diese einfacher, wenn auch weniger effizienten Ansatz. Unterstützung der TCP in Embedded SystemsUnterstützung der TCP in einem eingebetteten System ist komplizierter als Unterstützung UDP. Zusätzlich zum Hinzufügen und Entfernen von Kopf-und IP-Unterstützung muss der Computer die 3-Wege-Handshake durchführen, um zu einem Remote-Host zu verbinden, erhalten Reihenfolge und Acknowledgement Nummern beim Austausch von Daten, Handshake beim Schließen einer Verbindung und reagieren auf Fehler erkannt. Schicken eine Nachricht über TCP, einem Computer in einem Ethernet-Netzwerk müssen Sie Folgendes tun: • Stellen Sie eine Verbindung mit dem 3-Wege-Handshake. • Verwenden Sie die Fenstergröße zu erhalten, wie viele Daten der Remote-Computer kann akzeptieren zu bestimmen. • Legen Sie die Quell-und Ziel-Port-Nummern, Sequenznummer, Bestätigungsnummer, Header-Länge, Quelle Fenstergröße und-Prüfsumme in den entsprechenden Stellen im TCP-Header. Die Berechnung der Prüfsumme erfordert die Kenntnis der Quell-und Ziel-IP-Adressen. • Legen Sie die zu sendenden Daten in dem Datenteil des Segments. • Legen Sie die TCP-Segment in den Daten Teil einer IP-Datagramm. Die IP-Datagramm erfordert Quell-und Ziel-IP-Adressen und Berechnung einer Prüfsumme in der Kopfzeile. • Führen Sie das IP-Datagramm an den Ethernet-Controller-Treiber für das Senden über das Netzwerk und starten Sie einen Timeout-Zähler. • Warten Sie, bis ein Acknowledgement-Nummer angezeigt wird, dass der Remote-Computer die Daten erhalten. Wenn die Bestätigung nicht vor einem Timeout kommen, erneut das Segment. Um ein Datagramm über TCP, einem Computer in einem Ethernet-Netzwerk müssen folgende erhalten: • Stellen Sie eine Verbindung mit dem 3-Wege-Handshake. • Sie erhalten ein IP-Datagramm vom Fahrer die Ethernet-Controllers. • Isolieren Sie die IP-Header des Datagramms. Die Prüfsumme berechnen und vergleichen Sie mit den erhaltenen Wert. • Wenn die Prüfsummen entsprechen, Streifen den Header der TCP-Segment. Berechnen Sie die Checksumme und vergleicht sie mit den empfangenen Wert. • Überprüfen Sie die Bestätigungsnummer erhalten, um herauszufinden, wenn das Segment vorher den Eingang der gesendeten Daten ist anzuerkennen, und wenn ja, löschen Sie die anerkannten Daten aus der Übertragung Warteschlange. • Vergleichen der empfangenen Folge, um den erwarteten Wert. Wenn die Zahlen übereinstimmen, setzen Sie die Bestätigungsnummer zur Rückkehr an den Absender in ein TCP-Segment. • Verwenden Sie die Ziel-Port-Nummer zu entscheiden, wo die Daten weiterzugeben. Darüber hinaus zu jeder Zeit, kann entweder an den Computer zu schließen oder die Verbindung zurückgesetzt und dem anderen Computer ist der Antrag zu bestätigen und kann verlangen, zu schließen oder die Verbindung von der Reset - anderen Ende gegebenenfalls. Wie die Beispiele am Anfang der Netzwerk-Tutorial zeigt, wenn Sie ein Modul mit TCP-Unterstützung verwenden, werden die Details der Schaffung der Segmente und der Umgang mit den Prüfsummen und die Reihenfolge und Anerkennung Zahlen für Sie bearbeitet. Ein Artikel eingereicht von Daniel R. Disclaimer:Unsere Website ist nicht verantwortlich für den Inhalt dieses Artikels. Webarticles ist eine kostenlose Informationsquelle. Wichtig: Dieser Artikel "Eine TCP-Verbindung verfügt über zwei Endpunkte" wurde durch ein automatisches Software übersetzt. Wir fühlen uns leid für alle Rechtschreibfehler, die möglicherweise aufgetreten sind. Vielen Dank für Ihr Verständnis.
|
|||||
| Online: 350 users browsing the articles directory |
|
|