civil-and-structural-engineering
Come la codifica della rete può migliorare la capacità del canale efficace nelle reti di rete
Table of Contents
Le reti Mesh sono sempre più affidate a fornire una connettività wireless robusta e scalabile, soprattutto in ambienti in cui l'infrastruttura centralizzata non è disponibile o impraticabile.Permettendo ai nodi di comunicare direttamente tra loro in un web decentralizzato, le topologie mesh resiste naturalmente a singoli punti di fallimento e adattarsi alle condizioni di cambiamento. Tuttavia, poiché il numero di dispositivi collegati e il volume del traffico di dati continuano a crescere, emerge una persistente riduzione della capacità di flusso: gestione di canalizzazione dei dati di canalizzazione dei dati di accesso ai cambiamenti di rete.
Che cosa è la rete di codifica?
Il codificatore di rete è un metodo di trasmissione dei dati che si muove oltre il tradizionale paradigma di deposito e di andata. Invece di ricevere un pacchetto e passarlo invariato, un nodo che esegue la codifica di rete combina più pacchetti in entrata in un unico pacchetto codificato utilizzando operazioni algebriche (tipicamente su un campo finito, come GF(28) o Raymond LiF(216)).
In una rete mesh tipica, ogni nodo inoltra i pacchetti lungo un percorso verso una destinazione. I nodi intermedi sono relè puri; non modificano il contenuto. Le interruzioni di codifica della rete che regolano permettendo ai relè di combinare pacchetti algebricamente. Questo piccolo cambiamento produce grandi vantaggi in termini di throughput, robustezza ed efficienza. La variante più comune è la codifica di rete lineare, dove ogni pacchetto in uscita è una combinazione lineare di dati
Come la codifica della rete migliora la capacità del canale
La capacità del canale, in senso Shannon, è il tasso massimo a cui le informazioni possono essere trasmesse in modo affidabile su un canale di comunicazione. In una rete mesh, la capacità di canale efficace è spesso ostacolata non dal mezzo fisico da solo ma dalle inefficienze del sistema di inoltro. Le vie tradizionali unicast creano flussi separati multipli che competono per il tempo di aria comune.
Riduzione della ridondanza di trasmissione
Considerare uno scenario a due portate semplice in cui il nodo A vuole inviare i dati al nodo B, e il nodo B vuole inviare i dati al nodo A, con entrambi i flussi che passano attraverso un relè intermedio R. In routing tradizionale, R deve inoltrare ogni pacchetto da A a B e da B a A separatamente, consumando due slot tempo (o slot di frequenza).
Poiché si trasmettono meno pacchetti, la probabilità di sovrapposizione delle trasmissioni diminuisce. In distribuzioni di rete dense, questo si traduce direttamente in una maggiore capacità effettiva. Inoltre, la codifica di rete può compensare le perdite di pacchetti: un singolo pacchetto codificato può trasmettere informazioni da frammenti persi multipli, rendendo le strategie di retransmission più efficienti.
Migliorare il throughput della rete
Il controllo di rete aumenta il throughput consentendo trasmissioni contemporaneamente che altrimenti interferiscano. In una rete tradizionale con coppie di destinazione a più sorgenti, lo strato di routing deve programmare trasmissioni per evitare collisioni, spesso costringendo l'uso sequenziale del mezzo. La codifica di rete consente nodi intermedi per combinare i dati in entrata da fonti multiple e inviarlo come un unico codice di calcolo dei dati.
Inoltre, la codifica della rete funziona sinergicamente con broadcast e multicast. Una trasmissione codificata unica può servire simultaneamente più ricevitori, ciascuno estraendo le informazioni destinate ad esso. Ciò è particolarmente prezioso nelle reti di rete in cui molti nodi possono essere interessati alla stessa serie di dati, ad esempio nelle reti di sensori che raccolgono le letture ambientali o nella distribuzione dei contenuti.
Migliorare la Resilienza alle Losse e ai Fallimenti
I canali wireless sono inclini a sbiadire, interferenze e interruzioni temporanee. In una rete commerciale e di andata convenzionale, un pacchetto perso deve essere ritrasmesso dalla fonte o da un nodo intermedio, che consuma capacità aggiuntive e aumenta la latenza. La codifica di rete introduce la resilienza di cancellazione: poiché ogni pacchetto codificato contiene una combinazione lineare di diversi pacchetti originali, il ricevitore può recuperare l'intero blocco fino a quando riceve un numero sufficiente di pacchetti indipendenti
Tipi di reti di codifica rilevanti per reti di rete
Non tutti i sistemi di codifica della rete sono altrettanto adatti alla natura dinamica e distribuita delle reti mesh. Le due famiglie principali sono:
- Linear Network Coding[[] – I pacchetti sono combinati con equazioni lineari su un campo finito. In un contesto mesh, la codifica lineare casuale della rete (RLNC) è spesso preferita perché non richiede un coordinamento centrale. Ogni nodo sceglie indipendentemente i coefficienti casuali, codifica i pacchetti e li inoltra. Finché i coefficienti sono allegati al pacchetto (o altrimenti reso disponibile).
- Il flusso intra-flow vs. Inter-flow Coding[] – Il codificatore Intra-flow combina pacchetti appartenenti allo stesso flusso di dati (ad esempio, la divisione di un file in blocchi e la codifica attraverso di essi).
Per una maggiore teoretica, l’articolo Wikipedia sulla codifica della rete[] fornisce una panoramica eccellente. Per implementazioni pratiche nei sistemi wireless, è altamente raccomandato il documento di ricerca “COPE: A Network Coding Approach to Wireless Mesh Networks” di Katti et al. (2007).
Vantaggi pratici in Mesh Network Deployments
I vantaggi teorici della codifica della rete si traducono in guadagni tangibili nelle reti mesh del mondo reale.
- Aumentata capacità di canale efficace[[[] – Combinando più flussi in meno trasmissioni, la codifica della rete può migliorare il throughput del 30–100% negli scenari tipici della rete, a seconda dei modelli di traffico e della topologia.
- L'uso più importante di media condivisa[[] – Nelle reti di rete Wi-Fi, ad esempio, la codifica della rete riduce il numero di tentativi di accesso medio, abbassando la contention e riducendo la probabilità di collisione.
- Latenza bassa[[] – Le ritrasmissioni e la decodifica parallela possono ridurre il ritardo end-to-end.Per applicazioni sensibili al ritardo come la voce sopra il controllo IP o in tempo reale, il miglioramento può essere significativo.
- Affidabilità migliorata[ – La proprietà di correzione della cancellazione della codifica lineare casuale rende la rete più resistente alle perdite dirompenti. I nodi possono perdere alcuni pacchetti e recuperare i dati completi, evitando la necessità di ritrasmissioni di andata e ritorno.
- Supporto per Multicast e Broadcast[[] – La codifica di rete è intrinsecamente adatta per una comunicazione one-to-many e molti-to-many, comune in applicazioni di rete come videosorveglianza, chat di gruppo e rilevamento distribuito.
Gli operatori di rete che utilizzano reti di rete per le smart cities, l’IoT industriale o le comunicazioni militari spesso vedono guadagni immediati quando si integrano la codifica della rete nello strato di trasporto. Ad esempio, []NTT dispiegamento della rete codificante nella backhaul wireless[[]]] ha dimostrato fino al 40% di miglioramento della produttività in condizioni realistiche.
Sfide e limitazioni
Nonostante i suoi vantaggi, la codifica della rete non è un proiettile d'argento. L'adozione nelle reti di rete deve tener conto di diverse sfide pratiche:
Sovraccarico computazionale
La codifica di rete richiede operazioni matematiche, in particolare, aritmetiche di campo (addizione, moltiplicazione) su ogni pacchetto. Mentre i processori moderni e i dispositivi incorporati possono gestire queste operazioni in modo efficiente, nodi molto bassi (ad esempio, sensori a batteria) possono lottare con il carico di elaborazione aggiunto.
Overhead del pacchetto
Per abilitare la decodifica, ogni pacchetto codificato deve portare i coefficienti utilizzati nella sua combinazione lineare. Inoltre, è necessario un certo numero di meta-informazione sul blocco (ad esempio, blocco ID, numero di generazione) che può essere significativo quando il carico di pagamento del pacchetto è piccolo. Ad esempio, in una rete di rete che trasporta messaggi di controllo o piccole letture del sensore, il coefficiente di overhead potrebbe raddoppiare o triplicare la dimensione del pacchetto, mangiando nel guadagno di capacità rado.
Sicurezza e integrità
Un avversario che inserisce pacchetti codificati malevoli può inquinare l'intero processo di combinazione, causando guasti decodifica o dati corrotti. I controlli di integrità (ad esempio, codici di autenticazione dei messaggi o firme digitali) sono più complessi che nelle reti store-and-forward perché le combinazioni lineari devono preservare la verificabilità. La ricerca è in corso, ma le soluzioni attuali aggiungono la sovraccarico computazionale.
Compatibilità e standardizzazione
La maggior parte dei protocolli di rete mesh esistenti (ad esempio, 802.11s, Zigbee, Thread) non supporta nativamente la codifica della rete. L'implementazione richiede modifiche agli strati di routing o MAC, che possono rompere la compatibilità con i dispositivi off-the-shelf. In implementazioni omogenee in cui tutti i nodi supportano la codifica della rete, i vantaggi sono chiari, ma in reti eterogenee con dispositivi legacy, i miglioramenti codificabili.
Strategie pratiche di attuazione
Per gli ingegneri e gli architetti di sistema considerando la codifica della rete nelle reti mesh, diverse strategie di distribuzione possono massimizzare i benefici, mitigando le sfide:
- Utilizza la codifica Intra-flow[[] – Inizia con la codifica semplice del blocco all'interno di un unico flusso.
- Adaptive Block Size[[] – Regolare il numero di pacchetti per blocco in base alle condizioni del canale e alla capacità computazionale. I blocchi più piccoli riducono la latenza e la sovraccarica sui canali rumorosi; i blocchi più grandi migliorano l'efficienza sui collegamenti stabili.
- Integrazione modulare[ – Implement network coding as a shim layer tra i livelli di trasporto e di rete, in modo da poter essere introdotto senza riscrivere l'intero stack. Molti prototipi di ricerca utilizzano un “quadro di codifica della rete” che intercetta i pacchetti.
- Usa Sparsity[[] – In codifica lineare casuale, utilizzare vettori a coefficiente ridotto (cioè, la maggior parte dei coefficienti sono zero) per ridurre sia il calcolo che il coefficiente di sovraccarico.
- ]Combina con Advanced Scheduling[[[]] – La codifica della rete funziona meglio quando lo strato MAC è a conoscenza delle opportunità di codifica. In una rete, un programmatore centralizzato (se possibile) o un programmatore opportunistico distribuito può dare priorità alle trasmissioni che consentono la codifica.
Applicazioni reali nel mondo
La codifica di rete si è spostata dalla teoria accademica alla distribuzione pratica in diversi domini:
- Comunicazione intelligente[[] – Satelliti con potenza limitata e larghezza di banda di utilizzo rete codifica per combinare più flussi da terminali terrestri, migliorando l'efficienza spettrale. Lo standard DVB-S2X include estensioni di codifica di rete facoltative per i canali di ritorno.
- Mobile Ad Hoc Networks (MANETs)[] – I team di risposta militare e di emergenza si affidano a MANET che spesso incorporano codifica della rete per mantenere la connettività in condizioni degradate. Ad esempio, il fondo di codifica della rete dell'esercito americano ha mostrato il miglioramento del 50% del rendimento negli scenari di rete veicolare.
- Reti Sensori Wireless[[] – I sistemi IoT ambientali e agricoli utilizzano la codifica della rete per aggregare i dati da molti sensori attraverso una rete, riducendo il numero di trasmissioni e prolungando la durata della batteria.
- Content Distribution[] – Nelle reti di rete urbana che offrono Wi-Fi pubblico, gli aiuti di codifica della rete nella distribuzione di contenuti popolari (ad esempio, aggiornamenti software, mappe) a molti utenti contemporaneamente.
Un'indagine completa sulle implementazioni si può trovare in "Network Coding for Wireless Mesh Networks: A Survey" di [A. Al-Nuaimi et al. (2013).
Le direzioni e la conclusione del futuro
Come le reti mesh proliferano - guidato da case intelligenti, automazione industriale e 5G-Advanced access/backhaul integrato - la domanda di una maggiore capacità di canale efficace si intensificherà solo. La codifica della rete è in grado di svolgere un ruolo chiave non solo nel migliorare il throughput, ma anche nel consentire nuove funzionalità come la pianificazione della rete e il caching codificato.
Con la riduzione della ridondanza di trasmissione, migliorando il throughput e migliorando la resilienza alle perdite, si rivolge a molte delle inefficienze fondamentali del tradizionale routing store-and-forward. Mentre le sfide nel controllo computazionale, la sovraccarico dei pacchetti, la sicurezza e la compatibilità rimangono, la progettazione attenta e la distribuzione mirata possono produrre significativi guadagni di prestazioni.
Per ulteriori informazioni, il documento di base Ahlswede et al. (2000)[]] rimane un ottimo punto di partenza.