Wat is netwerkcodering?
Netwerkcodering is een programmeertechniek die wordt gebruikt om de potentiële output van een computernetwerk te maximaliseren. Bij netwerkcodering spelen de knooppunten van het netwerk een actieve rol, waarbij ze pakketten informatie combineren en comprimeren voordat ze over het netwerk worden verzonden. Dit maakt een efficiënter gebruik van netwerkbronnen mogelijk, ten koste van extra overhead van de kant van de clientcomputers, die zoveel moeilijker moeten werken om de ingepakte gegevens "los te maken".
Netwerkknooppunten lijken een beetje op verkeerspolitie: ze sturen de gegevensstroom op een computernetwerk. Bij afwezigheid van netwerkcodering verplaatsen de knooppunten informatie - datapakketten - door het netwerk zonder vrijheden te nemen om die gegevens op substantiële wijze te wijzigen of te manipuleren. Ze kunnen het signaal versterken om ervoor te zorgen dat gegevens niet verloren gaan tijdens het transport, maar de daadwerkelijke pakketten blijven onaangetast.
Bij netwerkcodering hebben de knooppunten de taak om pakketten naar behoefte te combineren om de efficiëntie in het netwerk te verhogen. Als een netwerk bijvoorbeeld afzonderlijke pakketten van 100 bytes kan verzenden en twee pakketten van 50 bytes tegelijkertijd ontvangt, zal een systeem dat werkt met niet-netwerkcodering één pakket van 50 bytes verwerken en vervolgens het volgende, ze opeenvolgend doorlopen . Een netwerkcoderingsnetwerk zal daarentegen het feit registreren dat 50 bytes potentiële netwerkoverhead worden "verspild" met elk pakket, en de twee pakketten van 50 bytes combineren in een enkel pakket van 100 bytes, waardoor de gegevensoverdracht van het netwerk wordt gemaximaliseerd capaciteit.
Dit resulteert in een toename van de netwerkefficiëntie. Netwerkcodering gebruikt regelmatig meer van de beschikbare bandbreedte van het netwerk. Met andere woorden, er wordt meer van het potentieel van het netwerk gerealiseerd. Netwerkcodering heeft echter ook een keerzijde: de gecombineerde pakketten bieden extra "werk" voor de ontvangende computers.
Wanneer een computer een informatiepakket ontvangt op een niet-netwerkgecodeerd netwerk, krijgt de computer dat stuk informatie afzonderlijk en onmiddellijk te zien. Pakketten zijn in dit geval elk volledig gewijd aan een enkel proces. Het ontvangen van een informatiepakket op een netwerk gecodeerd netwerk vereist echter dat het systeem informatie met betrekking tot verschillende processen uitpakt en naar de juiste gebieden verspreidt. Dit zorgt voor extra verwerkingsverantwoordelijkheden voor de computer-CPU die de gegevens ontvangt, waardoor de stress toeneemt. Op systemen met een laag vermogen of systemen met een aantal andere gelijktijdig actieve taken, kan het extra werk leiden tot vertraging of vertraging op de computer.