Zu dieser Karteikarte gibt es einen kompletten Satz an Karteikarten. Kostenlos!
96
Was leistet Advertised Window noch?
Flußkontrolle:
* Da die Übertragung ungeordnet ist, gilt LastByteRead < NextByteExpected.
( Jedes Byte wird erst von der Applikation gelesen, wenn es selbst und alle vorherigen Bytes ebenfalls empfangen wurden.
o NextByteExpected LastByteReceived + 1
o MaxReceivedBuffer LastByteReceived - LastByteRead verhindert einen Pufferüberlauf.
o AdvertisedWindow = MaxReceivedBuffer - (LastByteReceived - LastByteRead) wobei AdvertisedWindow den noch verfügbaren Speicherplatz in seinem Puffer darstellt.
* Nimmt das AdvertisedWindow den Wert 0 an, wird der Sender blockiert. Der Sender sendet solange 1-Byte große Datenblöcke, bis ihm im ACK ein Wert 0 mitgeteilt wird. Erst dann kann er wieder normal senden.
* EffectiveWindow = AdvertisedWindow - (LastByteSend - LastByteAcked) ( ein langsam empfangender Prozess bremst bzw. unterbricht einen schnell sendenden Prozess).
* Da die Übertragung ungeordnet ist, gilt LastByteRead < NextByteExpected.
( Jedes Byte wird erst von der Applikation gelesen, wenn es selbst und alle vorherigen Bytes ebenfalls empfangen wurden.
o NextByteExpected LastByteReceived + 1
o MaxReceivedBuffer LastByteReceived - LastByteRead verhindert einen Pufferüberlauf.
o AdvertisedWindow = MaxReceivedBuffer - (LastByteReceived - LastByteRead) wobei AdvertisedWindow den noch verfügbaren Speicherplatz in seinem Puffer darstellt.
* Nimmt das AdvertisedWindow den Wert 0 an, wird der Sender blockiert. Der Sender sendet solange 1-Byte große Datenblöcke, bis ihm im ACK ein Wert 0 mitgeteilt wird. Erst dann kann er wieder normal senden.
* EffectiveWindow = AdvertisedWindow - (LastByteSend - LastByteAcked) ( ein langsam empfangender Prozess bremst bzw. unterbricht einen schnell sendenden Prozess).