Commutazione di pacchetto, packets switching
Commutazione di pacchetto
Un approfondimento particolare deve essere dedicato al concetto di commutazione di pacchetto. Siamo in piena guerra fredda e gli Stati Uniti e tutto l’Occidente vivevano nell’incubo di un possibile attacco nucleare che avrebbe messo a repentaglio le reti di comunicazione mettendo tutti nell’impossibilità di prendere le opportune decisioni. Una rete dedicata con una linea telefonica che metteva in comunicazione direttamente sia il sorgente, sia il ricevente poteva subire un attacco e così interrompere, irrimediabilmente, le comunicazioni. Bisognava escogitare un altro sistema che potesse mettere, in ogni caso, in comunicazione sia il sorgente, sia il ricevente.
Osservando il funzionamento del cervello, nel caso di un ictus, gli scienziati americani, detto in parole molto semplici, si accorsero che il cervello isolava la parte malata e iniziava a ricostruire le sinapsi, ripristinando le comunicazioni (anche se in parte). Il principio di questo processo affascinò moltissimo gli scienziati che decisero di applicarlo nell’ambito delle telecomunicazioni assegnandoli il nome di commutazione di pacchetto.
È una tecnica che prevede la suddivisione di un messaggio in più parti (o pacchetti) e ogni pacchetto contiene l’indirizzo e il numero d’ordine.
I pacchetti vanno in rete attraverso un percorso non definito in precedenza. Ogni pacchetto dati, contiene una parte del messaggio infatti, seguirà una propria “strada”, “rimbalzando” tra i nodi della rete prima di raggiungere il destinatario della comunicazione. Sarà poi il nodo di destinazione a riordinare i pacchetti ricevuti e ricostruire il messaggio a mo’ di puzzle (grazie al protocollo TCP, Transmission Control Protocol). Questa tecnica comunicativa permette di massimizzare e ottimizzare l’utilizzo delle risorse di rete. A differenza della commutazione di circuito (utilizzata, ad esempio, nell’ambito della telefonia fissa) che prevede un collegamento dedicato ed univoco per ogni comunicazione in essere, nella commutazione a pacchetto il percorso tra due nodi della rete non è assegnato in maniera esclusiva o continua (il percorso utilizzato può variare nel tempo a seconda dello stato contingente della rete) e può pertanto essere utilizzato contemporaneamente da due o più “stazioni di trasmissione”.
Cosa sono i pacchetti dati
Per pacchetto dati si intende una sequenza distinta e finita di dati (solitamente una sequenza di bit) trasmessa in una rete o in una linea di comunicazione che utilizzi il modo di trasferimento a commutazione di pacchetto.
Il pacchetto rappresenta l’unità base di ogni protocollo da cui esso è generato. A seconda del livello, il termine assume significati, formati e nomi diversi: per il livello di collegamento si preferisce il termine frame, a livello di rete si chiama datagramma, in TCP si usa invece il termine segmento. Anche se può variare a seconda del protocollo cui si fa riferimento, il pacchetto è formato solitamente da tre parti: header o intestazione (contenente tutte le informazioni necessarie alla trasmissione e ricezione delle informazioni), data (contenente i dati trasmessi) e checksum (codice di controllo utilizzato per verificare l’integrità della trasmissione).
Caratteristiche della commutazione di pacchetto
La commutazione di pacchetto si sviluppa a metà degli anni ’60, nel periodo più buio della Guerra Fredda tra il blocco occidentale e il blocco sovietico. Per garantire le comunicazioni anche in caso di attacco nucleare, gli apparati di ricerca dell’esercito statunitense ideano un sistema di inoltro delle informazioni che potesse sopperire alla scomparsa improvvisa di alcuni nodi o di intere porzioni della rete. Nasce così la tecnica della commutazione di pacchetto. L’idea di base è suddividere la comunicazione in piccoli segmenti (i pacchetti dati) e inviarli al nodo di destinazione senza stabilire a priori un percorso da seguire. Ogni pacchetto può decidere in autonomia attraverso quali nodi passare e come raggiungere il destinatario, cui è affidato il compito di ricostruire il messaggio una volta ricevuti tutti i dati.
Ciò permette, come accennato, di utilizzare in maniera efficiente tutte le risorse di rete disponibili al momento. Non essendoci un percorso programmato da seguire, i pacchetti possono utilizzare tutti i nodi liberi della rete per raggiungere il nodo-destinatario, velocizzando di conseguenza le operazioni di spedizione.
Ciò permette, come accennato, di utilizzare in maniera efficiente tutte le risorse di rete disponibili al momento. Non essendoci un percorso programmato da seguire, i pacchetti possono utilizzare tutti i nodi liberi della rete per raggiungere il nodo-destinatario, velocizzando di conseguenza le operazioni di spedizione.
Alla base del funzionamento di una rete a commutazione di pacchetto troviamo le cosiddette tabelle di routing. All’interno di ogni nodo appartenente alla rete, infatti, sono registrati dinamicamente (ovvero aggiornati continuamente) lo stato di funzionamento dei vari altri nodi ad esso direttamente collegati: in questo modo è sempre possibile sapere se un nodo non è funzionante, se è occupato o se è libero. Basandosi su queste informazioni, il nodo attualmente in possesso di un particolare pacchetto dati può determinare di volta in volta il migliore percorso da far seguire ai dati in modo che raggiungano il nodo destinatario nel minor tempo possibile.

Può accadere, naturalmente, che il percorso cambi in corso d’opera. Nel caso in cui un nodo venga occupato da un altro circuito comunicativo o si liberi un nodo che accorci il percorso, un nodo intermedio detto commutatore di pacchetto può decidere di modificare il tragitto inizialmente impostato.
Le problematiche
Anche se perfezionata nel corso dei decenni, questa tecnica comunicativa comincia ad accusare diverse problematiche causate dall’età e dalla sempre maggiore complessità che contraddistingue le reti di comunicazione digitale. Due quelle di maggior entità e incidenza sulle prestazioni della rete stessa:
Ritardo. Anche se nella gran parte dei casi l’invio dei pacchetti dati procede senza intoppi, può accadere in alcuni casi che si registrino ritardi anche elevati. Questi possono essere causati da quattro fattori: tempo di elaborazione(tempo necessario ad elaborare ogni pacchetto e deciderne il percorso e quindi l’interfaccia di uscita; dipendente dal nodo); tempo di trasmissione(dipendente dalla rete, è direttamente legato alla capacità di banda e alla velocità di trasmissione della rete fisica); latenza (dipende dalla natura e dall’ingegneria del nodo: nel caso in cui i pacchetti in entrata e in uscita passino per uno switch o un router particolarmente carico di lavoro può accadere che si crei una coda di trasmissione o buffer con conseguente degrado delle prestazioni); tempo di propagazione (dipende dal mezzo fisico, ovvero dal tipo e composizione del cavo attraversato dal segnale, ed è dato dal tempo necessario alla propagazione del segnale stesso da un nodo all’altro della rete).
Perdita dei pacchetti.
Non seguendo un percorso predefinito, può accadere che alcuni pacchetti si perdano e non raggiungano mai il nodo di destinazione. Ciò può accadere per un guasto al nodo o al collegamento, per problemi di congestione della rete e per perdita deliberata per motivi di sicurezza o per ragioni di conservazione dell’efficienza della rete. Con il passare del tempo sono state sviluppate strategie e protocolli (come il protocollo TCP, ad esempio) che ottimizzano la gestione della comunicazione a pacchetti permettendo, in alcuni casi, il recupero e la rigenerazione di pacchetti persi o corrotti. Nel caso ciò non sia possibile, il nodo destinatario chiederà al mittente la ritrasmissione del pacchetto dati non ricevuto allungando così il tempo necessario perché la trasmissione dati sia completata.
Non seguendo un percorso predefinito, può accadere che alcuni pacchetti si perdano e non raggiungano mai il nodo di destinazione. Ciò può accadere per un guasto al nodo o al collegamento, per problemi di congestione della rete e per perdita deliberata per motivi di sicurezza o per ragioni di conservazione dell’efficienza della rete. Con il passare del tempo sono state sviluppate strategie e protocolli (come il protocollo TCP, ad esempio) che ottimizzano la gestione della comunicazione a pacchetti permettendo, in alcuni casi, il recupero e la rigenerazione di pacchetti persi o corrotti. Nel caso ciò non sia possibile, il nodo destinatario chiederà al mittente la ritrasmissione del pacchetto dati non ricevuto allungando così il tempo necessario perché la trasmissione dati sia completata.
Commutazione di pacchetti
Com’è la storia di questa tecnica, che è alla base di Internet, vista dai personaggi che interpretarono la commutazione a pacchetto. Leonard Kleinrock, Paul Baran e Donald Davies non sapevano che entrambi stavano lavorando allo stesso progetto, in sostanza,nello stesso momento. All’inizio degli anni ’60 Paul Baran lavorava presso la RAND corporation, dove avrebbe iniziato la sua ricerca di attrezzature che fossero in grado di resistere a un attacco nucleare. Baran voleva fare un mezzo di trasporto per informazioni vitali che non sarebbero state danneggiate da un attacco nucleare. Poi pensò a come un cervello lavora per trasmettere informazioni al corpo attraverso la rete neurale, e come anche quando c’era una cellula danneggiata il messaggio veniva indirizzato attorno alla cellula verso una destinazione appropriata. Baran ha avuto l’idea di dividere un messaggio in parti, chiamato “blocchi”, e quindi inviarlo individualmente su un supporto da ricomporre alla destinazione.
Questi “message Blocks” come li chiamava Baran avrebbero anche avuto informazioni importanti come chi lo ha inviato, a chi dovrebbe andare e in che ordine si trova il blocco. Nel 1965 Baran ottiene l’approvazione definitiva dall’Aeronautica per testare il blocco della sua teoria. La Defense Communication Agency ha preso il controllo del progetto e l’ha rovinato così che Baran non è stato in grado di completare il progetto.

Paul Baran è stato un ingegnere polacco naturalizzato statunitense. È considerato, insieme a Leonard Kleinrock e Donald Davies, uno degli inventori della commutazione di pacchetto.


Donald Watts Davies, CBE, FRS era un informatico gallese impiegato presso il National Physical Laboratory del Regno Unito. Nel 1965 sviluppò il concetto di commutazione di pacchetti, che è oggi la base dominante per le comunicazioni di dati nelle reti di computer in tutto il mondo, e lo implementò nella rete NPL
Proprio quando Paul Baran rinunciò al cambio di blocco, Donald Watts Davies, un fisico del British National Physical Laboratory, stava pensando a un sistema simile per il trasporto di informazioni attraverso una rete. Ignaro di ciò che Paul Baran stava facendo negli anni precedenti, inventò “Packet Switching” usando gli stessi principi di Barans Block Switching.


Leonard Kleinrock (New York, 13 giugno 1934) è un informatico statunitense
Professore di informatica all’UCLA, ha fornito diversi importanti contributi nel campo delle reti di calcolatori, soprattutto a livello teorico. Kleinrock ha inoltre ricoperto un importante ruolo nello sviluppo di ARPANET, rete progenitrice di Internet, stabilendo nell’ottobre 1969 la prima comunicazione tra computer.
I suoi più conosciuti e significativi lavori furono le prime ricerche sulla teoria delle code, che hanno apportato notevoli ricadute pratiche, tra cui la commutazione a pacchetto, la tecnologia che sta alla base di Internet. Il contributo iniziale fornito da Kleinrock in questo campo fu la sua tesi dottorale nel 1962, poi pubblicata sotto forma di libro nel 1964; in seguito ha scritto diverse pubblicazioni riguardanti le reti informatiche.
Egli descrisse con queste parole la sua tesi:
| (EN) «Basically, what I did for my PhD research in 1961-1962 was to establish a mathematical theory of packet networks …» | (IT) «Fondamentalmente, ciò che ho fatto nella mia ricerca di dottorato nel 1961-1962 era quello di stabilire una teoria matematica delle reti a pacchetto…» |

cosa ne pensi?