Er zijn drie belangrijke oorzaken van packet loss: * Slechte kwaliteit verbindingen Gelukkig heeft elk pakket een checksum (meerdere zelfs, op verschillende nivo's van de protocol stack), zodat een gecorrumpeerd pakket gedetecteerd wordt en als 'niet ontvangen' dan wel als 'gecorrumpeerd' kan worden behandeld * Overladen routers/switches/etc Dit zijn de elementen die netwerkverkeer regelen. Ze zorgen er voor dat de goede pakketjes naar de goede richtingen worden gestuurd. Elk lijntje waarover die pakketjes worden gestuurd heeft een maximale capaciteit. Goede routers en switches hebben een buffer zodat pieken opgevangen kunnen worden, maar op een gegeven moment zijn die ook vol (of zouden de pakketjes met dermate veel vertraging aankomen dat het toch geen zin meer heeft) en gaat het pakketje onderweg verloren. * Hosts die overbeladen worden Als je server te snel te veel informatie moet prepareren, kan het voorkomen dat die dat niet meer bij kan houden, zelfs al is er wel genoeg netwerk bandbreedte om de informatie terug te sturen. Ook in dat geval gaan pakketjes verloren; of eigenlijk gaan ze niet verloren, maar komt er gewoon nooit antwoord. Het is duidelijk dat reden twee de voornaamste is in ons geval.