Table of Contents
Mesh netwerken worden steeds meer vertrouwd op het leveren van robuuste, schaalbare draadloze connectiviteit, vooral in omgevingen waar gecentraliseerde infrastructuur niet beschikbaar of onpraktisch is. Door het mogelijk te maken knooppunten direct met elkaar te communiceren in een gedecentraliseerd web, mesh topologieën natuurlijk weerstaan enkele punten van storing en zich aan te passen aan veranderende omstandigheden. Echter, als het aantal aangesloten apparaten en het volume van het dataverkeer blijven groeien, een aanhoudende bottleneck ontstaat: effectieve kanaalcapaciteit. Traditionele benaderingen om gegevensstroom in mesh netwerken vaak laten aanzienlijke bandbreedte onderbenut of onderhevig aan congestie. Een veelbelovende oplossing voor deze uitdaging is netwerkcodering, een techniek die fundamenteel verandert hoe knooppunten verzenden en relaisgegevens. Door intelligent meerdere datastromen te combineren bij intermediaire knooppunten, kan netwerkcodering de effectieve kanaalcapaciteit drastisch verbeteren zonder dat extra fysieke middelen nodig zijn.
Wat is Network Coding?
Netwerkcodering is een methode van gegevensoverdracht die verder gaat dan het traditionele store-and-forward paradigma. In plaats van een pakket te ontvangen en het ongewijzigd door te geven, combineert een node die netwerkcodering uitvoert meerdere binnenkomende pakketten in één enkel gecodeerd pakket met behulp van algebraïsche bewerkingen (gewoonlijk over een eindig veld, zoals GF(28) of GF(216)). De ontvanger gebruikt vervolgens een reeks gecodeerde pakketten samen met kennis van de coderingscoëfficiënten om de originele gegevens te decoderen en te herstellen. Deze aanpak werd eerst uitgebreid onderzocht voor zowel bedrade als draadloze netwerken.
In een typisch mesh netwerk, elke knooppunt forwards pakketten langs een pad naar een bestemming. Tussenliggende knooppunten zijn pure relais; ze wijzigen de inhoud niet. Netwerkcodering breekt die regel door het toestaan van relais om pakketten algebraïsch te combineren. Deze kleine verandering levert grote voordelen op in termen van doorvoer, robuustheid en efficiëntie. De meest voorkomende variant is lineaire netwerkcodering, waarbij elk uitgaande pakket is een lineaire combinatie van inkomende gegevens. De coëfficiënten voor de combinatie zijn ofwel centraal gecoördineerd of willekeurig gegenereerd (willekeurige lineaire netwerkcodering).
Hoe netwerk coding verbetert kanaalcapaciteit
Kanaalcapaciteit, in de Shannon-sector, is het maximale percentage waarmee informatie betrouwbaar kan worden doorgegeven via een communicatiekanaal. In een netwerk met mesh wordt effectieve kanaalcapaciteit vaak niet beperkt door het fysieke medium alleen maar door de inefficiënties van het expeditiesysteem. Traditionele unicast routes creëren meerdere afzonderlijke stromen die concurreren voor gedeelde vliegtijd. Deze competitie leidt tot botsingen, doorgiftes en verspilde capaciteit. Netwerkcodering beperkt deze problemen op verschillende concrete manieren.
Vermindering van de redundantie bij transmissie
Beschouw een eenvoudig twee-flow scenario waarbij knooppunt A gegevens naar knooppunt B wil sturen, en knooppunt B wil gegevens naar knooppunt A sturen, waarbij beide stromen door een tussenliggende relais R. Onder traditionele routering, R moet elk pakket van A naar B en van B naar A afzonderlijk doorsturen, waarbij twee tijdslots (of frequentieslots) worden verbruikt. Met netwerkcodering kan R de twee binnenkomende pakketten samen XOR en het gecombineerde pakket uitzenden. Zowel A als B kunnen het pakket vervolgens decoderen met behulp van hun eigen gegevens (aangezien ze weten wat ze oorspronkelijk verzonden). Dit vermindert het aantal transmissies in de helft, waardoor kanaaltijd voor ander verkeer wordt vrijgemaakt of latentie wordt verminderd. Meer complexe scenario's met meerdere stromen en meerdere relais kunnen nog grotere reducties opleveren.
De redundantiereductie helpt ook de effecten van botsingen en interferentie te verzachten. Omdat er over het algemeen minder pakketten worden overgedragen, neemt de kans op overlappende transmissies af. In dichte mesh implementaties vertaalt dit zich direct naar een hogere effectieve capaciteit. Daarnaast kan netwerkcodering pakketverliezen compenseren: één gecodeerd pakket kan informatie overbrengen van meerdere verloren fragmenten, waardoor doorgiftestrategieën efficiënter worden.
Netwerkdoorvoer verbeteren
Doorgang is een praktische maat voor de data-overdracht snelheid die een netwerk kan ondersteunen. Netwerkcodering verbetert doorvoer door het mogelijk maken van gelijktijdige transmissies die anders interfereren. In een traditionele mesh met meerdere bron-bestemmingsparen, de routing laag moet transmissies plannen om botsingen te voorkomen, vaak dwingen sequentiële gebruik van het medium. Netwerkcodering maakt het mogelijk tussenliggende knooppunten te combineren inkomende gegevens uit meerdere bronnen en verzenden het als een enkele gecodeerde stroom. De ontvangers kunnen de oorspronkelijke stromen uit decoderen van de gecombineerde gegevens, effectief toestaan meerdere sessies om dezelfde transmissie te delen. Dit parallelisme verhoogt de totale doorvoer dicht bij de theoretische capaciteit van het netwerk.
Bovendien werkt netwerkcodering synergistisch met uitzending en multicast. Een enkele gecodeerde transmissie kan meerdere ontvangers tegelijk bedienen, elk extraheren van de informatie die ervoor is bestemd. Dit is vooral waardevol in mesh netwerken waar veel knooppunten geïnteresseerd kunnen zijn in dezelfde set van gegevens, bijvoorbeeld in sensornetwerken die milieu-lezingen verzamelen of in inhoudsdistributie.
Verbetering van de veerkracht bij verliezen en mislukkingen
Draadloze kanalen zijn gevoelig voor vervagen, interferentie en tijdelijke uitval. In een conventioneel store-and-forward netwerk, een verloren pakket moet worden teruggevoerd van de bron of een tussenknoop, die verbruikt extra capaciteit en verhoogt latency. Netwerkcodering introduceert de weerstand van de wishing: omdat elk gecodeerd pakket bevat een lineaire combinatie van verschillende originele pakketten, de ontvanger kan het hele blok te herstellen zolang het ontvangt een voldoende aantal onafhankelijke gecodeerde pakketten (gelijk aan of groter dan de oorspronkelijke blokgrootte). Dit betekent dat zelfs als sommige pakketten verloren, de ontvanger niet nodig heeft om specifieke overheads te vragen; het verzamelt gewoon genoeg gecodeerde pakketten om te ontcijferen. Deze .rateless .. eigenschap maakt het kanaal effectief lijken te hebben hogere capaciteit, omdat minder overhead wordt verspild op acknedingen en overheads.
Soorten netwerkcodering die relevant zijn voor netwerken met een netwerk met een netwerk met een netwerk met een netwerk met een netwerk met een netwerk met een netwerk met een netwerk met een netwerk met een netwerk met een netwerk met een netwerk met een netwerk met een netwerk met een netwerk met een netwerk met een netwerk met een netwerk met een netwerk met een netwerk met een netwerk met een netwerk met een netwerk met een netwerk met een netwerk met een netwerk met een netwerk met een netwerk met een netwerk met een netwerk met een netwerk met een netwerk met een netwerk met een netwerk van netwerknetwerken,
Niet alle netwerkcoderingssystemen zijn even geschikt voor de dynamische, gedistribueerde aard van netten.
- Linear Network Coding . . De pakketten worden gecombineerd met lineaire vergelijkingen over een eindig veld. In een maascontext wordt de willekeurige lineaire netwerkcodering (RLNC) vaak de voorkeur gegeven omdat er geen centrale coördinatie nodig is. Elke knoop kiest onafhankelijk willekeurige coëfficiënten, codeert pakketten en stuurt ze door. Zolang de coëfficiënten aan het pakket zijn toegevoegd (of anders beschikbaar zijn), kan de bestemming decoderen met behulp van Gaussiaanse eliminatie. RLNC is robuust voor topologie verandert en werkt goed in mesh omgevingen waar paden onvoorspelbaar zijn.
- Intraflow vs. Interflow Coding . . Intraflow codering combineert pakketten die tot dezelfde datastroom behoren (bijvoorbeeld, een bestand splitsen in blokken en coderen over hen heen). Interflow codering combineert pakketten uit verschillende stromen, die capaciteit kunnen verhogen, maar vereisen zorgvuldig beheer om interferentie tussen niet-verbonden gegevens te voorkomen. In meshnetwerken is intra-flow codering eenvoudiger en vaak voldoende voor het verbeteren van effectieve kanaalcapaciteit, terwijl interflow codering kan worden gebruikt in zorgvuldige overlays (zoals COPE, een praktische implementatie voor draadloze mesh netwerken).
Voor een diepere theoretische achtergrond is het Wikipedia-artikel over netwerkcodering een uitstekend overzicht. Voor praktische implementaties in draadloze systemen wordt het onderzoeksartikel
Praktische voordelen bij Mash Network Implementaties
De theoretische voordelen van netwerkcodering vertalen zich in tastbare winsten in real-world mesh netwerken. Hier zijn enkele van de meest impactvolle voordelen:
- Verhoogde effectieve kanaalcapaciteit Door meerdere stromen te combineren in minder transmissies, kan netwerkcodering de doorvoer met 30.00% verbeteren in typische mesh scenario's, afhankelijk van verkeerspatronen en topologie. Dit betekent dat een mesh netwerk meer gebruikers of hogere datasnelheden kan ondersteunen zonder hardware te upgraden.
- Beter gebruik van gedeeld medium .In Wi-Fi mesh netwerken, bijvoorbeeld, netwerkcodering vermindert het aantal middelgrote toegang pogingen, verminderen van de stelling en verminderen van botsing waarschijnlijkheid. Dit is vooral gunstig in dichte implementaties.
- Laagste Latency . . Minder uitzettingen en parallelle decodering kunnen de eind-tot-eind vertraging verminderen. Voor vertraging gevoelige toepassingen zoals spraak over IP of real-time controle, kan de verbetering significant zijn.
- Verbeterde betrouwbaarheid .. De uitklappende correctie van de eigenschap van willekeurige lineaire codering maakt de mesh veerkrachtiger om barstige verliezen. Knooppunten kunnen sommige pakketten verliezen en nog steeds de volledige gegevens herstellen, waardoor de noodzaak van ronde-trip doorgiftes wordt vermeden.
- Ondersteuning voor Multicast en Broadcast .De netwerkcodering is inherent goed geschikt voor een-op-veel en veel-op-veel communicatie, gebruikelijk in mash toepassingen zoals videobewaking, groepschat en gedistribueerde sensing.
Netwerkexploitanten die netwerken voor slimme steden, industriële IoT of militaire communicatie inzetten, zien vaak onmiddellijke voordelen bij de integratie van netwerkcodering in de transportlaag. Bijvoorbeeld, NTT....................................................... ....... .......... ....... .................................................... ... ............ ... ... .................... ............................................................
Uitdagingen en beperkingen
Ondanks de voordelen ervan is netcodering geen zilveren kogel. De goedkeuring van netten moet rekening houden met verschillende praktische uitdagingen:
Computational Overhead
Netwerkcodering vereist wiskundige bewerkingen . Specifiek , veld rekenen (toevoeging, vermenigvuldiging) op elk pakket . Terwijl moderne processors en embedded apparaten kunnen deze operaties efficiënt , zeer lage vermogen knooppunten (bijv . , batterij-gebeuren sensoren) kan worstelen met de toegevoegde verwerkingslast . Willekeurige lineaire codering , in het bijzonder , vereist het oplossen van een lineair systeem op de ontvanger , die kan duur zijn als de blokgrootte groot is . Trade-offs bestaan: kleinere blokken verminderen de rekenkosten , maar ook verminderen codering efficiëntie .
Pakket Overhead
Om decoderen in te schakelen, moet elk gecodeerd pakket de coëfficiënten die in de lineaire combinatie worden gebruikt dragen. Daarnaast is er wat meta-informatie over het blok (bv. blok ID, generatienummer) nodig. Deze overhead kan significant zijn wanneer de lading van het pakket klein is. Bijvoorbeeld, in een netwerk met controleberichten of kleine sensorwaarden, kan de coëfficiënt overhead verdubbelen of verdrievoudigen de grootte van de pakket, eten in de capaciteit winst. Zorgvuldig ontwerp . Zoals schaarse codering of het gebruik van pseudorandom coëfficiënt generatie .
Veiligheid en integriteit
Netwerkcodering introduceert nieuwe aanvalsoppervlakken. Een tegenstander die kwaadaardige gecodeerde pakketten invoegt kan het hele combinatieproces vervuilen, waardoor decoderen van storingen of het beschadigen van gegevens. Integriteitscontroles (bijv. homomorfe berichtauthenticatiecodes of digitale handtekeningen) zijn complexer dan in opslag-en-forward netwerken omdat lineaire combinaties moeten verifieerbaarheid behouden. Onderzoek is gaande, maar huidige oplossingen voegen computational overhead toe.
Verenigbaarheid en normalisatie
De meeste bestaande netwerkprotocollen (bijv. 802.11s, Zigbee, Thread) ondersteunen geen netwerkcodering. De implementatie ervan vereist wijzigingen in de routing- of MAC-lagen, die compatibiliteit met off-the-shelf-apparaten kunnen verbreken. Bij homogene implementaties waarbij alle knooppunten netwerkcodering ondersteunen, zijn de voordelen duidelijk, maar in heterogene netwerken met oude apparaten zijn coderingswinsten beperkt tot codeerbare segmenten.
Praktische implementatiestrategieën
Voor ingenieurs en systeemarchitecten die netwerkcodering in meshnetwerken overwegen, kunnen verschillende implementatiestrategieën de voordelen maximaliseren en tegelijkertijd de uitdagingen verzachten:
- Binnenstroomcodering gebruiken .Hierdoor kan een eenvoudige blokcodering binnen één enkele stroom worden gestart. Dit is gemakkelijker te integreren en te debuggen dan interflowcodering.
- Adaptive Block Size
- Modulair integratie . . . . . netwerkcodering als een shim laag tussen het transport en netwerklagen, zodat het kan worden geïntroduceerd zonder het herschrijven van de hele stack. Veel onderzoeksprototypes gebruiken een . .network codering framework . . die pakketten onderschept.
- Gebruik Sparsity
- Combineren met geavanceerde schema . . Netwerkcodering werkt het beste wanneer de MAC-laag zich bewust is van coderingsmogelijkheden. In een mesh kan een gecentraliseerde schemar (indien mogelijk) of een gedistribueerde opportunistische schemar de transmissies die codering mogelijk maken, prioriteren.
Toepassingen in de reële wereld
Netwerkcodering is van academische theorie naar praktische implementatie in verschillende domeinen verschoven:
- Satellitecommunicatie ..Satellites met beperkte vermogen en bandbreedte gebruiken netwerkcodering om meerdere stromen van grondterminals te combineren, waardoor de spectrale efficiëntie wordt verbeterd.De DVB-S2X-standaard bevat optionele netwerkcoderingsextensies voor retourkanalen.
- Mobile Ad Hoc Networks (MANETs) . . Militaire en noodresponsteams vertrouwen op MANETs die vaak netwerkcodering bevatten om de connectiviteit in slechte omstandigheden te behouden. Bijvoorbeeld, de Amerikaanse Army .. netwerkcodering testbed toonde 50% verbetering doorvoer in de voertuigmaas scenario's.
- Wireless Sensor Networks . . Milieumonitoring en landbouw IoT systemen gebruiken netwerkcodering om gegevens van vele sensoren te verzamelen door middel van een mesh, waardoor het aantal transmissies en de levensduur van de batterij worden verminderd.
- Inhouddistributie
Een uitgebreid overzicht van implementaties is te vinden in .Network Coding for Wireless Mesh Networks: A Survey
Toekomstige richtsnoeren en conclusies
Aangezien netwerken die door slimme huizen worden aangedreven, industriële automatisering en 5G-Advanced geïntegreerde toegang/terugkoppeling zullen alleen maar toenemen. Netwerkcodering is niet alleen een belangrijke rol te spelen bij het stimuleren van doorvoer, maar ook bij het mogelijk maken van nieuwe functies zoals netwerkafsnijden en gecodeerde caching. Doorlopend onderzoek naar fysieke-laag netwerkcodering, die signaalsuperpositie in de lucht uitbuit, belooft nog grotere capaciteitswinst. Ondertussen wordt machineleren onderzocht om codeerparameters en planning in real time te optimaliseren.
Netwerkcodering biedt een krachtige en bewezen aanpak om de effectieve kanaalcapaciteit in meshnetwerken te verbeteren. Door de transmissie redundantie te verminderen, de doorvoer te verbeteren en de veerkracht tegen verliezen te verbeteren, pakt het veel van de fundamentele inefficiënties van traditionele store-and-forward routering aan. Terwijl uitdagingen in de computationele overhead, pakketoverhead, beveiliging en compatibiliteit blijven bestaan, kunnen zorgvuldige ontwerpen en gerichte implementatie aanzienlijke prestatiewinsten opleveren. Voor elk netwerk met een netwerk dat met congestie worstelt of meer apparaten wil ondersteunen zonder extra spectrum, verdient netwerkcodering serieuze aandacht.
Voor verdere lezing blijft het basisdocument van Ahlswede et al. (2000)[] een uitstekend uitgangspunt. Praktische implementaties zijn goed gedocumenteerd in het Microsoft Research paper on practical network codering.