Datacongestie is een soort filevorming in computernetwerken. Dit treedt op wanneer er in een subnet (een deel van een computernetwerk) in een bepaalde tijdsperiode meer informatiepakketjes (packets) worden aangeboden dan er verwerkt kunnen worden.

Werking van congestie

bewerken

Als het aantal packets dat wordt aangeboden in het netwerk binnen de verwerkingscapaciteit van dat netwerk ligt, worden ze allemaal afgeleverd (behalve enkele die door een transmissiefout worden getroffen). Dit wil zeggen dat er evenveel packets ontvangen worden als er worden verzonden.

Echter, als het aantal packets dat in een netwerk wordt aangeboden niet kan worden behandeld door de tussenliggende routers, dan ontstaat congestie: er komen packets in een wachtrij te staan, ze gaan verloren of nieuwe verbindingen worden geblokkeerd. Door deze ophoping in het netwerk gaan veel packets verloren en wordt er verwacht dat ze opnieuw zullen worden verzonden, waardoor de efficiëntie zeer sterk afneemt.

Oudere TCP-implementaties herzonden de verloren packets met een dubbele snelheid, wat de zaak alleen maar erger maakte omdat hierdoor het netwerk nog meer belast werd en het uiteindelijk geheel vastliep.

Voorzorgsmaatregelen

bewerken

Moderne netwerken gebruiken congestion control en congestion avoidance technieken om te voorkomen dat het netwerk vastloopt door congestie. Dit wordt gedaan door onder meer CSMA/CA bij 802.11 en bij Ethernet te gebruiken, TCP-vensters te verkleinen en door 'fair queuing' te gebruiken bij apparaten zoals routers. Ook kan men congestie verlichten bij bepaalde diensten door prioriteiten toe te kennen aan packets, zoals bij 802.1p.

Een andere manier om congestie te voorkomen in een netwerk is door expliciete toewijzing van netwerkbronnen op specifieke datastromen. Een voorbeeld hiervan is het gebruiken van Contention-Free Transmission Opportunities (CFTXOPs) in de ITU-T G.hn standaard, die een high-speed (tot 1Gbit/s) in LAN's ter beschikking stelt over bestaande bedrade thuisnetwerken.