# Delay Tolerant Network

Il Delay Tolerant Network o DTN (in inglese rete tollerante ai ritardi) è un'architettura di rete di telecomunicazioni, attualmente in fase di sviluppo, che si propone come obiettivo la possibilità di far comunicare tra loro reti indipendenti, mutuamente incompatibili e non appartenenti a Internet (definita in questo contesto come una rete globale continuamente interconnessa).
Queste reti sono caratterizzate da ritardi di trasmissione lunghi e molto variabili, da periodi di perdita delle connessioni di durata arbitrariamente lunga, da alti tassi di errore e da forte asimmetria di trasmissione dei dati nelle due direzioni. Esempi classici di questo tipo di reti sono per esempio i sistemi di comunicazione tra la Terra e i dispositivi nello spazio, come le sonde, o i sistemi di comunicazione diretta tra dispositivi nello spazio, come per esempio nel caso delle comunicazioni tra satelliti, stazioni spaziali e sonde interplanetarie per le quali i normali protocolli usati per Internet non sono adatti a far fronte a condizioni estreme come le distanze elevatissime, i ritardi di trasmissione significativi, l'oscuramento del segnale per esempio in seguito a interposizione di corpi celesti, gli elevati disturbi dovuti ai campi elettromagnetici planetari e alla radiazioni cosmiche congiunti con la perdita di potenza del segnale su distanze astronomiche eccetera.
L'applicazione dei concetti e delle tecnologie di tipo DTN permette teoricamente di interconnettere tra loro tali reti in modo da consentire lo scambio di informazioni esattamente come avviene su Internet, migliorando al tempo stesso anche la qualità e la portata delle comunicazioni. Il campo di applicazione naturale è quindi quello dell'esplorazione dello spazio e proprio per questo motivo tali studi sono supportati attivamente dalla NASA.

## Principio tecnico

L'architettura DTN definisce una serie di meccanismi che consentono di effettuare le seguenti operazioni:
* minimizzare gli effetti finali del ritardo di trasmissione e di interruzione della comunicazione, sia che avvengano all'interno di una rete o nello scambio tra reti diverse
* minimizzare gli effetti finali di errori, distorsioni e corruzione del segnale
* aggirare le incompatibilità tra le diverse reti tramite un meccanismo opportuno di traduzione dell'informazione
A differenza di Internet, che si basa su un trasferimento di dati di tipo packet switching (frantumazione dell'informazione su pacchetti che vengono poi instradati autonomamente) supportato dal protocollo TCP/IP, la DTN usa un trasferimento di tipo store and forward message switching. Con questo meccanismo, ogni nodo memorizza in modo persistente l'intero contenuto informativo (store message), o una sua segmentazione grossolana, per poi trasferirlo in blocco (forward message) al nodo successivo, a sua volta dotato della stessa capacità. Il meccanismo di trasferimento è basato su sessioni, ossia su uno scambio di informazioni che può continuare senza richiedere necessariamente un messaggio di conferma da parte del nodo ricevente, piuttosto che su conversazioni (scambio di informazioni che può continuare solo se il nodo ricevente comunica al nodo trasmittente l'avvenuta corretta ricezione del blocco elementare di dati). La memorizzazione persistente (ossia per un tempo indefinito) è fondamentale per compensare eventuali lunghi periodi di perdita di comunicazione all'interno di una rete o verso il nodo adiacente, per compensare differenze anche notevoli di velocità di trasmissione/ricezione dei dati tra nodi, per ritrasmettere il contenuto informativo in caso di necessità o di richiesta da parte del nodo successivo anche a distanza di tempo.
Il trasferimento dei dati tra nodo e nodo richiede quindi prima una ricostruzione del contenuto informativo che rimane inoltre sempre disponibile per eventuali ritrasmissioni. Se due nodi adiacenti appartengono a sottoreti diverse, l'effetto finale di questo meccanismo è che i ritardi, le perdite di comunicazione e gli errori relativi alla specifica sottorete a cui appartiene il nodo sorgente vengono compensati e resi invisibili al nodo di destinazione, che deve compensare solo i ritardi e gli errori relativi alla sola tratta di collegamento con l'altro nodo. Inoltre anche i ritardi, gli errori e le perdite di comunicazione tra reti vengono superati grazie alla ritrasmissione completa dell'informazione, consentita dalla memorizzazione permanente.
Una volta individuato il meccanismo di trasferimento, il passo successivo consiste nell'interconnessione delle varie reti, normalmente incompatibili tra loro. Questo è reso possibile individuando all'interno di ciascuna rete dei nodi di interconnessione in grado di comunicare tra di loro con meccanismo store and forward usando un protocollo comune. Non è quindi necessario estendere tale capacità a tutti i nodi di ogni singola rete, che può quindi utilizzare liberamente al suo interno i propri protocolli in modo indipendente.
Un altro meccanismo importante delle DTN è lo sfruttamento della cosiddetta "comunicazione programmata": se le sottoreti da mettere in comunicazione sono in movimento tra di loro e le loro traiettorie sono predicibili (come nel caso di reti costituite da oggetti che viaggiano sotto controllo nello spazio), allora, fornendo le DTN di un meccanismo di sincronizzazione della data e dell'ora, è possibile prestabilire i periodi di tempo favorevoli per lo scambio di informazioni e programmarne lo svolgimento nel momento più opportuno. Questo meccanismo va a integrare e in parte a sostituire il meccanismo della "comunicazione opportunistica", ossia il meccanismo che consente a due reti normalmente non in contatto di scambiare dati tra di loro nel momento stesso in cui viene rilevata la possibilità di scambiare dati, in maniera non predeterminata e apparentemente casuale.
Il risultato finale è quindi un sistema interconnesso di reti indipendenti e in linea di principio non compatibili tra loro, in cui nel passaggio da una rete all'altra il segnale viene in qualche modo "rigenerato" e ripulito da ritardi ed errori, elevando così la qualità e l'integrità dei dati ricevuti alla destinazione ultima. Questo sistema costituisce la DTN vera e propria.