De twee belangrijkste doeleinden voor aanpassing aan vertraging bij de ontvanger in TCP zijn:
1. Congestie vermijden: Als de ontvanger aanzienlijke vertraging detecteert, duidt dit op mogelijke congestie in het netwerk. Door zich aan deze vertraging aan te passen, kan de ontvanger de zender indirect een signaal geven om de transmissiesnelheid te verlagen. Dit voorkomt dat de afzender het netwerk overbelast en pakketverlies veroorzaakt. De ontvanger communiceert de congestie niet rechtstreeks, maar de impliciete congestie als gevolg van de hoge vertraging beïnvloedt de congestiecontrolemechanismen van de zender (zoals langzame start en algoritmen voor het vermijden van congestie).
2. Bufferbeheer: Een ontvanger moet binnenkomende gegevens bufferen voordat deze naar de applicatie worden doorgegeven. Als de ontvanger een aanzienlijke vertraging detecteert, kan dit erop duiden dat de toepassing gegevens langzamer verwerkt dan de zender deze verzendt. Door zich aan deze vertraging aan te passen, kan de ontvanger zijn buffergrootte (of de leveringssnelheid aan de applicatie) aanpassen om bufferoverflow (pakketverlies) te voorkomen, terwijl een redelijk bufferbezettingsniveau behouden blijft.
In wezen zijn beide doeleinden gericht op het handhaven van een evenwicht tussen efficiënte gegevensoverdracht en het vermijden van overbelasting van het netwerk of de ontvanger, waardoor uiteindelijk betrouwbare communicatie wordt gegarandeerd. Ze werken indirect; de ontvanger vertelt de zender niet expliciet dat hij langzamer moet gaan, maar de zender leidt de noodzaak af op basis van waargenomen vertragingen en zijn eigen algoritmen. |