Home

TCPcongestiecontrole

TCPcongestiecontrole is het geheel van mechanismen binnen het Transmission Control Protocol (TCP) die congestie in netwerken detecteren en erop reageren. Het doel is om packetverlies te beperken, de doorvoer eerlijk te verdelen en de betrouwbaarheid van TCP-verbindingen te waarborgen, vooral in netwerken met variërende capaciteit en latentie.

De kern van TCPcongestiecontrole is het beheren van het congestievenster cwnd en de slow-startdrempel ssthresh. Aanvankelijk

Historisch onderscheiden TCP-varianten zoals Tahoe, Reno, New Reno en Vegas verschillende strategieën voor cwnd- en ssthresh-aanpassingen.

Moderne ontwikkelingen omvatten expliciete congestie-aanduiding (ECN), waarbij routers pakketten markeren in plaats van ze te laten

groeit
cwnd
snel
tijdens
de
slow
start,
totdat
het
de
drempel
bereikt.
Daarna
volgt
een
meer
geleidelijke,
lineaire
groei
tijdens
congestie-vermijding.
Bij
detectie
van
congestie,
meestal
door
pakketverlies
of
een
timeout,
wordt
cwnd
teruggebracht
en
wordt
de
ssthresh
aangepast.
Bij
verlies
dat
wordt
veroorzaakt
door
triple-duplicate
ACKs
kan
een
snelle
herstart
(fast
retransmit)
en
mogelijk
fast
recovery
zorgen
voor
snellere
herstel
dan
bij
een
timeout.
Cubic
is
de
dominante
variant
in
veel
moderne
systemen
zoals
Linux,
gericht
op
hogere
bandbreedtes
en
langere
RTT’s.
Deze
varianten
verschillen
in
aggressiviteit
bij
verlies
en
in
de
manier
waarop
ze
cwnd
aanpassen,
wat
invloed
heeft
op
eerlijkheid
tussen
verbindingen
en
de
robuustheid
bij
netwerkdruk.
vallen.
Een
andere
benadering
is
BBR
(Bottleneck
Bandwidth
and
RTT),
die
probeert
de
verbinding
af
te
stemmen
op
de
bottleneck-bandbreedte
en
de
RTT
in
plaats
van
louter
verlies
te
gebruiken.
TCPcongestiecontrole
blijft
evolueren
door
interoperabiliteit
met
uiteenlopende
netwerkelementen
en
door
aanpassingen
aan
snelheid
en
eerlijkheid
tussen
verbindingen.