Il Bundle Protocol

Il Bundle protocol (di seguito abbreviato con “BP”), un nuovo protocollo introdotto nel concetto di Delay Tolerant Network è stato specificamente sviluppato per essere conforme all’architettura DTN RFC4838; le sue caratteristiche sono dettagliate nel RFC 5050. Il BP realizza la “overlay-network” e le sue funzioni si trovano ad uno strato intermedio (chiamato bundle layer) fra livello di applicazione e trasporto dello stack ISO/OSI. Nelle implementazioni, come DTN2 e ION, viene eseguito in user space, al contrario dei normali protocolli di trasporto che di norma sono compresi nel Kernel.
BP è stato concepito per essere eseguito su diversi protocolli di trasporto, come TCP/IP, UDP o altri protocolli utilizzati in reti di sensori o ancora, per quanto riguarda l’ambiente dello spazio profondo, su LTP (Licklider Transmission Protocol specificato nel RFC5325). Nonostante ciascuno di questi protocolli preveda una semantica diversa, BP offre un insieme di “converge layer adapter” (CLA) fornendo all’architettura DTN le funzioni necessarie per scambiare i messaggi (chiamati bundle) su ciascuno dei relativi protocolli.

L’immagine qui sopra mostra la posizione dei convergence layer adapter in una implementazione concettuale dell’architettura DTN, con un central forwarder, responsabile dello smistamento dei bundle tra le applicazioni, le CLA e lo storage secondo le decisioni prese dagli algoritmi di routing. Lo storage, le CLA e le applicazioni interagiscono con il BP attraverso delle interfacce che si occupano di trasportare i bundle.
In riferimento al modello ISO/OSI il bundle protocol si colloca su un nuovo livello, chiamato “bundle layer”, sopra agli strati che si occupano del trasporto e della rete e sotto le applicazioni. L’introduzione di questo nuovo strato permette a reti eterogenee, come quelle dei telefoni cellulari, le reti wireless o quelle satellitari, di comunicare in modo efficace tra di loro. Il trasferimento dei dati end-to-end attraverso queste diverse reti viene gestito dal BP, che trasferisce i bundle tra le entità che implementano l’architettura DTN. Il percorso end-to-end viene quindi suddiviso in una serie di tratte (o hop) fra nodi DTN. Le funzioni end-to-end del trasporto vengono ridefinite dall’introduzione del bundle layer, ed in particolare limitate al collegamento fra due nodi DTN (una tratta). I nodi DTN vengono di solito posti ai confini di segmenti omogenei di una rete eterogenea.
Un primo vantaggio di quest’architettura è la possibilità di sfruttare diversi protocolli di trasporto e diversi sistemi di collegamento in differenti settori della rete (ad esempio lo stack TCP/IP sulla parte cablata, protocolli ottimizzati sulle varie tratte wireless o sulle reti di sensori). Questo permette di ottimizzare l’utilizzo dei protocolli stessi per affrontare le caratteristiche specifiche dei diversi segmenti di rete.

Le caratteristiche del protocollo di trasporto end-to-end sono ora inserite in ogni nodo DTN che, come nell’immagine qui sopra, può coincidere con un segmento di una rete omogenea (A, B o C).
I dispositivi che implementano la struttura DTN e che svolgono i compiti del BP sono chiamati nodi: l’assegnamento dei nomi a questi nodi è gestito da un sistema flessibile basato su URI (Uniform Resource Identifier) che può incapsulare diversi nomi e schemi di indirizzamento della stessa sintassi di denominazione generale.
BP adotta anche una politica di memorizzazione persistente, attraverso l’uso di uno storage, per combattere le interruzioni di rete e per svolgere le funzioni di store-and-forward. Grazie a questo sistema il protocollo può occuparsi del trasferimento della responsabilità per la consegna affidabile dei bundle offrendo diverse funzionalità di diagnostica e gestione.