|
||||||||||||||
| ISBN: 3423050012 ISBN: 3423050012 ISBN: 3423050012 ISBN: 3423050012 | ||||||||||||||
|
Wir empfehlen: | |||||||||||||
3.1 AcknowledgementDiese Zuverlässigkeit wird gewährleistet durch das sogenannte Acknowledgement (ACK). Hierzu wird die Sequence-Number (SEQ) verwendet. Für beide Richtungen der Datenkommunikation wird beim Verbindungsaufbau eine Anfangs-SEQ-Nummer vergeben. Mit dieser Nummer werden nun byteweise die übertragenen Daten durchnummeriert. Die SEQ-Nummer bestimmt also eindeutig die Position des jeweiligen Byte im Stream. Die ACK-Nummer wird nun verwendet, um für erhaltene Datenpakete eine Empfangsbestätigung an den Absender zurückzusenden. Dabei bezieht sich das gesendete ACK immer auf das nächste Byte, was erwartet wird. Das Byte mit der SEQ-Nummer i wird also mit der ACK-Nummer i+1 bestätigt. Es werden stets nur solche Byte bestätigt, bis zu denen alle Byte erhalten wurden. Geht der Vorgänger eines Byte verloren kann das nachfolgende Byte nicht bestätigt werden, bis der Vorgänger empfangen wurde. Weiter ist hier von Vorteil, dass es keine Auswirkungen hat, wenn einzelne ACK-Sendungen verloren gehen. Schließlich wird das verlorenen ACK durch einen bestätigten Nachfolger mitbestätigt. Das ACK gewährleistet also eine fehlerfreie und vollständige Datentransmission unter Beibehaltung der korrekten Reihenfolge der Daten im Stream. Es besteht die Möglichkeit der Autokorrektur bzw. einer Benachrichtigung des anderen Prozesses, falls keine Korrektur möglich ist.
3.2 Timer, NeusendungZur Überwachung des Datenverkehrs werden im TCP verschiedene Timer eingesetzt. Der retransmission-timer legt fest, nach welcher Zeitspanne die Neusendung eines Datenpakets stattfindet, für das keine Empfangsbestätigung eingegangen ist. Der quiet-timer dient dazu, den Empfang von Paketen zu gewährleisten, die nach dem eigentlichen Verbindungsende empfangen werden. Hierdurch wird also den "Nachzüglern" die Möglichkeit gegeben, doch noch vom Zielprozess empfangen zu werden. Diese beiden Timer werden berechnet nach dem TimeToLive-Wert, welcher bestimmt, wieviel Zeit einem Datenpaket gegeben wird, um sein Ziel zu erreichen und bestätigt zu werden. Ein weiterer Timer ist der sogenannte persistence-timer. Dieser sorgt dafür, dass während einer Fenstergröße von 0 die Aufforderung zum Weitersenden nicht verloren geht. So wird nach Ablauf des persistence-timers eine 1 Byte Sendung zur Kontrolle der Verbindung gesendet. Der keep-alive-timer gewährleistet, dass eine Verbindung nicht unterbrochen wird wenn kurze Zeit keine Daten übermittelt werden. Schließlich existiert noch der idle-timer, nach dessen Ablauf die Verbindung als unterbrochen gilt, falls keine Antwort der Gegenseite während dieser Zeit eingegangen ist.3.3 Das gleitende Fenster zur FlußsteuerungDas Acknowledgement gewährleistet mit den verschiedenen Timern eine zuverlässige Datenübertragung. Jedoch wäre es sehr ineffizient, ein einzelnes Paket zu senden und dann jedes Mal auf eine Bestätigung zu warten, bis das nächste gesendet wird. Daher verwendet man im TCP das sogenannte gleitende Fenster welches festlegt, wie viele Daten auf einmal übertragen werden. Bei jedem übertragenen Paket erfolgt ein sogenanntes window-advertisement. Hierdurch erfolgt eine ständige, automatische Anpassung an die Fähgkeiten des Netzwerks und auch verschieden starke Rechner können miteinander kommunizieren. Das Datenvolumen, das sich noch im Puffer des Empfängers befindet wird vom window abgezogen, um den Empfänger nicht zu überlasten. Das Fenster wird um so viele Byte weiter nach rechts bewegt, wie sie bestätigt wurden. Das Byte ganz links im Fenster ist also das älteste Byte für das noch keine Bestätigung vorliegt.
|
||||||||||||||
| |<< First < Previous Index Next > Last >>| | ||||||||||||||
|
Back to the topic site: StudyPaper.com/Startseite/Computer/Informatik/technische External Links to this site are permitted without prior consent. | ||||||||||||||
| Home | deutsch | Set bookmark | Send a friend a link | Copyright © | Impressum | ||||||||||||||