Primo Articolo
TCP/IP, protocolli ed altri misteri
PREFAZIONE
Il TCP/IP, in campo OM, si e' diffuso parecchio negli ultimi 3
anni, sebbene non siano apparse sulla letteratura specializzata
italiana molti articoli al riguardo. Le grandi possibilit… del
sistema hanno attratto moltissimi, ma altrettanti ( o forse i
pi—) ne sono stati respinti dopo il primo approccio a causa
delle tantissime cose misteriose che circondano l'argomento e le
non sempre chiare istruzioni che accompagnano il package.
Lo scopo di questo ed altri articoli che seguiranno (forse..) Š
di buttare un po' di luce su questo argomento mettendo
particolarmente in risalto gli aspetti filosofici ( o
sistemistici ) di tutti i discorsi che riguardano le reti al
fine di disseminare le idee di fondo , le esperienze e le
prospettive che riguardano questo mondo in frenetica evoluzione.
I particolari di installazione e configurazione saranno lasciati
per ultimi perchŠ seguiamo il motto "Pensiero e Azione" nel
significato di: " Prima pensiamo e poi, di conseguanza agiamo, e
dai risultati dell'azione riprendiamo a pensare per la prossima
azione, e cosŤ in continuazione".
Nessuno comunque si aspetti da questi scritti la Pappa Pronta
!...perchŠ questo sarebbe contrario al principio:
<< Non sottrarre ad alcuno il proprio divertimento ! >>
Infatti il divertimento degli OM consiste nell'imparare
sforzandosi di realizzare e far funzionare le proprie
apparecchiature...( o no ? )
La sequenza degli argomenti sar… un po' dettata dalle necessit…
espositive e non seguir… un piano ordinato, prestabilito ed
organico semplicemente perchŠ la materia stessa Š ingarbugliata
ed in continua evoluzione. Faremo sovente dei salti in avanti
ed in dietro sperando che poi, alla fine, il quadro si illumini
e che tutti gli argomenti che riguardano la trasmissione dati
acquistino una loro collocazione nella cultura tecnica di ogni
Radioamatore.
--- * ---
Parte 1
RETI
Ma cosa sono queste reti di cui tanto si parla ?
Vediamo di darne una descrizione generale dal punto di vista di
chi le usa, poi, in seguito, penseremo a capire cosa c'e'
dentro, come funzionano e come differiscono una dall'altra.
Una rete, per l'utente, e' un corpo misterioso e complesso con
tanti punti di accesso. La rete telefonica Š certamente
l'esempio che tutti hanno sott'occhio e conoscono bene....come
utenti.
La rete telefonica si presenta all'esterno con le sue
terminazioni, i telefoni, e fornisce agli umani una serie di
servizi tutti ottenibili agendo su un'interfaccia nota : i
numeri ed i toni.
Cosa succede dentro lo sanno solo gli addetti ai lavori,
daltronde la conoscenza degli eventi e dei componenti interni
alla rete non d… alcun contributo agli utenti.
Ovviamente la rete Š composta da tanti diversi macchinari che,
lavorando di concerto, realizzano gli scopi per cui la rete Š
stata progettata e realizzata ed in realta' all'interno della
rete telefonica mondiale ci sono apparati meccanici ed
elettronici di tante marche diverse, differenti tecnologie e
differenti principi di funzionamento che, tutti assieme, danno
l'impressione all'utente che l'insieme sia una macchina unica.
(Fig. 1.1)
Le reti per la trasmissione dati si sono evolute in modi diversi
rispetto alla rete telefonica mondiale. Per la rete telefonica,
infatti, gli organismi statali delle varie nazioni, raccolti
intorno al CCITT, iniziarono subito a mettersi d'accordo in modo
da armonizzare le rispettive reti nazionali. Sebbene esistano
notevoli differenze fra le varie reti nazionali, piu' o meno fare
una telefonata in Italia e' come farla in Giappone: magari
cambia solo la probabilita' di trovare una linea libera (HI).
Le reti dati invece si sono sviluppate in casa dei vari
costruttori di computer, ognuno attento a far si che la propria
rete fosse incompatibile con quella dei concorrenti.
Soprattutto in queste reti "proprietary" le stesse CPU che
eseguono le applicazioni sono anche parte integrante del sistema
trasmissivo. L'idea di avere una rete indipendente, separata
cioŠ dai computer utenti, inizio' a svilupparsi una ventina di
anni fa in concomitanza con gli studi teorici sulla
"commutazione di pacchetto", finanziati dal DOD (il Ministero
della Difesa americano), studi poi sfociati della realizzazione
di ARPANET e successivamente del TCP/IP.
Concentriamo, innanzitutto, l'attenzione sulla differenza fra le
reti a commutazione di circuito rispetto a quelle a commutazione
di pacchetto.
In una rete a commutazione di circuito, come quella telefonica,
l'operazione di connessione fra due utenti fa si che la rete
metta a disposizione dei due utenti una serie di risorse e
queste risorse sono di uso esclusivo dei due parlatori fintanto
che la conversazione non viene abbattuta. Le risorse sono i
vari canali analogici o digitali che connettono le varie
centrali telefoniche e gli organi di scambio in ciascuna
centrale attraversata. Sia che gli utenti parlino, sia che
stiano zitti gli scatti si incrementano lo stesso perche' nessun
altro puo' usare quelle risorse.
Il grosso spreco di risorse di una tale rete puo' essere
immediatamente percepito pensando al fatto che in genere due
persone ben educate in conversazione parlano uno alla volta,
quindi il canale in ogni direzione e' in media occupato solo al
50%, senza poi pensare alle pause fra una parola e l'altra.
In una rete a commutazione di pacchetto le cose avvengono in
modo molto diverso. Le risorse tramissive vengono assegnate ai
vari utenti in modo dinamico, cioe' nessun canale Š assegnato in
esclusiva ad un utente bensŤ i dati che ognuno vuole trasmettere
viaggiano sugli stessi canali. Ovviamente, poiche' vale la legge
universale secondo cui:
" Non esistono pranzi gratis"
l'aumento di efficienza si paga con un'accresciuta complessita'
degli organi di commutazione che in questo caso sono dei
computer dedicati sui quali girano degli appositi programmi (
dei TNC in grande stile...per intenderci ).
Di reti a commutazione di pacchetto ce ne sono tanti tipi e
queste si distinguono soprattutto dal modo in cui i pacchetti
vengono instradati. Attenzione a non confondere il modo in cui
una rete si presenta all'esterno, cioŠ all'utente, rispetto ai
modi e agli algoritmi che vengono usati all'interno per
realizzare effettivamente la commutazione !
Se, infatti, oggigiorno tutte le reti pubbliche o private a
commutazione di pacchetto si presentano all'utente con
l'interfaccia standard X.25 , al loro interno funzionano in modi
totalmente differenti.
E' proprio per inquadrare le nostre reti per OM che si stanno
sviluppando che di seguito esamineremo le tecniche principali
che sono state inventate per consegnare i pacchetti ai
destinatari. Questa analisi sara' utile per capire i vantaggi e
gli svantaggi delle varie soluzioni e poter fare dei confronti
con le varie NETROM, ROSE e IP che noi usiamo.
Una rete a commutazione di pacchetto puo' essere vista come un
insieme di risorse messe a disposizione di tutti gli utenti.
Queste risorse sono, dicevamo, i canali trasmissivi, i buffer di
memoria nei nodi e la potenza elaborativa delle CPU che
costituiscono i nodi stessi. L'allocazione dinamica di queste
risorse Š appunto cio' che distingue le reti a commutazione di
pacchetto da quelle a commutazione di circuito.
Le funzioni principali che ogni rete svolge sono due e cioŠ:
- Instradamento (Routing), la capacita', cioe' di consegnare
al destinatario un pacchetto di dati utilizzando il
cammino piu' efficiente.
- Controllo del Flusso ( Flow Control) che e' la capacita' di
gestire la quantita' di servizio richiesto dagli utenti in
modo che la rete stessa non venga paralizzata
(congestionata) da una richiesta di servizio superiore
alle sue capacita' fisiche.
Il modo in cui queste due funzioni vengono realizzate Š appunto
cio' che distingue una rete dall'altra dal punto di vista degli
algoritmi di funzionamento, ma esiste un'altro tipo di
classificazione che dipende dal modo un cui successivi pacchetti
inviati da un utente all'altro vengono trattati.
Ci sono cioŠ reti di tipo DATAGRAM e reti a Canale Virtuale.
Nelle reti Datagram ogni segmento di dati viaggia attraverso la
rete in modo del tutto indipendente rispetto ai segmenti che lo
hanno preceduto. I segmenti di dati vengono appunto chiamati
datagram ed in genere, ma non sempre, coincidono con i
pacchetti. ( parlando dell' IP vedremo perche' possono non
coincidere )
Nelle reti a Canale Virtuale ( VC ) il primo pacchetto inviato
apre la strada attraverso la rete e tutti i successivi gli vanno
dietro a meno che non si interrompa un qualche canale su questo
circuito virtuale cosi' tracciato. Ovviamente in questo tipo di
rete ogni nodo deve mantenere traccia di ogni CONNESSIONE in
corso.
Nelle reti Datagram, al contrario, non esiste il concetto di
"connessione" (stiamo parlando a livello di rete !). Queste
reti sono dette "Unconnected".
Ovviamente ogni soluzione presenta vantaggi e svantaggi e su
questi argomenti si sono a lungo scontrate diverse scuole
filosofiche.
I partigiani delle reti Datagram mettono in risalto che le loro
favorite sono piu' semplici da realizzare e che ogni nodo ha
bisogno di meno memoria perche' non deve ricordare niente sulla
storia passata. Gli oppositori ribattono che il risparmio sulla
memoria viene scaricato sugli utenti che hanno bisogno di
faticare di piu' per rimettere ordine nei datagram che non Š
detto che arrivino a destinazione nello stesso ordine in cui
sono stati immessi nella rete, infatti possono aver seguito
cammini diversi con tempi diversi di attraversamento.
Allora i datagrammisti parlano di come le loro reti reagiscano
bene ai guasti ed alle interruzioni o saturazioni dei canali
trasmissivi e di rimando gli avversari ridicolizzano il fatto
che le reti datagram possono perdere per strada i dati.
Ma lasciamo perdere le discussioni filosofiche e concentriamoci,
piuttosto, su come le due funzioni principali (Forwarding e Flow
Control ), che ogni rete deve fare, possano essere realizzate in
pratica.
Da questo punto di vista le reti possono essere classificate
secondo quattro classi o "politiche" di funzionamento.
- POLITICHE ISOLATE :
Il calcolo per l'instradamento Š realizzato da ciascun nodo
indipendentemente dagli altri nodi sulla base di informazioni
residenti sul nodo stesso. I nodi non si scambiano alcuna
informazione su loro stato nŠ sulle loro conoscenze della rete.
- POLITICHE DISTRIBUITE :
Il calcolo dell'instradamento avviene in parallelo fra ciascun
nodo in maniera cooperativa. I nodi si scambiano di frequente
informazioni sul loro stato e sulla loro conoscenza della rete.
- POLITICHE CENTRALIZZATE :
In queste reti esiste un Centro di Controllo della Rete (NCC)
che ha sott'occhio lo stato globale della rete. In base alle
sue informazioni, dinamicamente aggiornate da ogni nodo, l'NCC
calcola qual'e' il cammino ottimale per ogni connessione e
distribuisce ai nodi le eventuali tabelle di instradamento o
comandi.
- POLITICHE MISTE :
In queste reti viene realizzato un misto delle politiche
precedenti. Tipici esempi riguardano un misto fra le politiche
centralizzate e quelle isolate.
Come al solito ci sono vantaggi e svantaggi in ogni tipo di
politica ed ognuna puo' essere realizzata in modo molto diverso,
quindi, per esempio, due reti a "Politica Isolata" possono
essere molto diverse una dall'altra, e soprattutto possono
essere Datagram o VC.
Che tipo di politica realizza il nodo NETROM ? e la ROSE ? e
l'IP ? Molti di voi avranno gi… la risposta, ma vediamo un po'
di dettagli di ogni tipo di politica facendo esempi con i tipi
di rete effettivamente in uso per poter capire, poi, quale si
adatta meglio all'uso radiamatoriale.
RETI A POLITICA ISOLATA
Dicevamo che queste reti possono essere realizzate con criteri
molto diversi, ed alcuni molto semplici.
Un algoritmo molto bello Š quello della "patata bollente".
Mettiamoci nei panni di un nodo isolato. Questo ha un certo
numero di canali di ingresso ed uscita che lo collegano ad
altrettanti suoi consimili.
(Fig. 1.2)
L'unica cosa che questo nodo conosce Š lo stato dei suoi buffer
di uscita, cioe' quanto sono pieni di caratteri in attesa di
essere trasmessi. Quando un nodo di questo tipo riceve un
pacchetto da instradare non fa altro che mandarlo sul buffer
meno pieno (che non sia nella direzione da cui il pacchetto Š
arrivato ). Sembra incredibile ma la cosa funziona ! ed ha il
vantaggio di richiedere un calcolo semplicissimo e rapidissimo.
Una rete di questo tipo e' estremamente dinamica e veloce. Ha
il solo svantaggio che i pacchetti potrebbero metersi a girare
in un anello chiuso di nodi. Per evitare questo inconveniente
ogni nodo attraversato incrementa di 1 un contatore posto sul
pacchetto stesso. Quando questo contatore supera un certo
valore prefissato il pacchetto stesso viene scartato. La cosa
non Š poi cosi' grave come potrebbe sembrare a prima vista. Se
un pacchetto viene perso ci sara' un'entita' (di trasporto al
quarto livello) che se ne accorgera' e richiedera' al mittente il
ri-invio di quanto non recapitato.
(Questi concetti saranno ripresi ed ampliati in seguito parlando
di TCP e del quarto livello OSI)
Pensate che non ci possa essere niente di piu' semplice della
Patata Bollente ? Vi sbagliate: L'algoritmo "Flooding"
(Inondazione) Š ancora piu' semplice.
Un nodo flooding che riceve un pacchetto lo ritrasmette su tutte
le sue porte di uscita eccetto, ovviamente, quella da cui lo ha
ricevuto. Quel pacchetto effettivamente inonda la rete e va
dappertutto e magari proprio al nodo a cui e' connesso il
destinatario. Anche in questo caso, comunque, il contatore del
numero di nodi attraversati puo' decretare la morte del
pacchetto.
I due tipi di algoritmi appena visti sono effettivamente molto
robusti ed insensibili alle variazioni della struttura della
rete per cui sono preferiti dai militari: i nodi potrebbero
essere su arei o carri armati sul campo di battaglia, e, si sa,
tali nodi hanno vita breve. Per di piu' il flooding garantisce
la consegna del pacchetto in ogni caso. Purtroppo l'efficienza
di tali reti lascia un po' a desiderare. Se si vogliono
sfruttare al meglio i canali trasmissivi bisogna usare algoritmi
pi— intelligenti e questi costano di piu' in termini di memoria,
CPU e di informazioni.
Ma le reti a politiche isolate non si fermano qui'. L' SNA IBM
ed il CSD Amdhal appartengono a questa categoria, ma le
decisioni sull'instradamento vengono prese con criteri molto
diversi. Nell'SNA, in particolare, uno o piu' cammini possibili
fra mittente e destinatario sono memorizzati, a cura del SYSOP,
(Deus ex machina) in ogni nodo. All'instaurazione della
connessione ogni nodo sceglie il cammino per lui piu' conveniente
in base a criteri di carico leggendo le informazioni nelle
tabelle approntate dal Sysop. Il metodo e' molto efficiente
nell'utilizzo dei supporti trasmissivi, ma poco incline ai
cambiamenti. Non si adatta inoltre ad una rapida connessione
con qualunque destinatario.
Anche in campo radioamatoriale la rete ROSE proposta da W2VY e
soci sembra appartenere a questa categoria. Per il poco che ne
so si direbbe che solo il SYSOP possa cambiare da casa sua le
tabelle di instradamento poiche' i nodi non si parlano fra di
loro. A differenza dell' SNA, per•, ogni nodo ha una conoscenza
parziale della rete e nelle sue tabelle ha memorizzate strade di
default a cui spedire i pacchetti che non sa come gestire, come
a dire: "Di questo pacchetto non so cosa farne. Passiamolo al
nodo adiacente XYZ e che sia lui a sbrigarsela". Appena avro'
maggiori informazioni sull'argomento le divulghero'.
E con che criterio l'IP reinstrada i propri datagram ?
Parleremo dell'argomento pi— diffusamente in seguito, ma, per
dare un assaggio gia' qui' diro' che nelle implementazioni attuali
del package di KA9Q i possibili ROUTES sono dichiarati dal Sysop
umano ed al massimo, se uno non funziona il programma ne prova
un altro. Quindi anche in questo caso siamo in presenza di una
politica isolata, almeno finche' non verranno realizzati dei veri
gateway e questi non si parleranno far di loro. Ma non temete,
ritorneremo sull'argomento.
RETI A POLITICA DISTRIBUITA
Ecco un argomento che potrebbe riempire decine di libri !
In queste reti i nodi si parlano in continuazione e si scambiano
informazioni utili alla conoscenza della struttura della rete e
sulla quantita' di traffico presente in ogni settore. In queste
reti, quindi, oltre al traffico per gli utenti, scorre un
traffico di gestione della rete stessa, quindi piu' accurate e
numerose sono le informazioni scambiate piu' largezza di banda
viene sottratta all'utenza...ma gia' lo sapevamo che i pranzi
gratis non esistono ! Le informazioni costano . Shannon e
l'entropia entrano anche qui' !
Le reti di questo tipo sono dei sistemi a retroazione nel senso
che le informazioni sullo stato attuale della rete influiscono
sulle decisioni che in nodi prendono ogni volta che devono
stabilire dove spedire un pacchetto. I sistemi a retroazione,
se ben dimensionati, sono stabili, ma se le funzioni di
retroazione non sono giuste allora tutto il sistema puo' divenire
instabile, oscillare o addirittura andare nel CAOS.
E' proprio quello che successe ad ARPANET che col suo vecchio
algoritmo (nel senso che ora usa il "nuovo") tendeva ad andare
in uno stato caotico poco adatto all'espletamento delle funzioni
di rete . ARPANET e' stato il campo di ricerca piu' interessante
sull'argomento delle reti autoadattative e ha dato il via ai
grandi sviluppi della commutazione di pacchetto. ARPANET Š una
rete datagram, quindi per ogni pacchetto viene calcolato il
cammino nodo per nodo. Ogni nodo decide su quale uscita mandare
un pacchetto sulla base di informazioni ricevute dai nodi
circostanti e sulle proprie disponibilita'. Le informazioni
riguardano i ritardi di propagazione dei pacchetti fra i nodi.
La tebella dei ritardi viene aggiornata in modo continuo e
questo provoca un traffico considerevole sulla rete, inoltre,
per forti carichi la rete tende ad essere instabile a meno di
non modificare leggermente l'algoritmo di calcolo del cammino
migliore introducendo una media temporale. Questa rete si
adatta molto bene alle variazioni di struttura.
Il "nuovo" algoritmo di ARPANET Š pi— lento e richiede pi—
memoria perchŠ ciascun nodo mantiene un database su tutta la
struttura della rete, inoltre lo scambio di informazioni fra i
nodi Š pi— diradato nel tempo in modo da evitare cambiamenti
bruschi.
Fra le reti "proprietary" la DNA Digital Š un esempio di uso
della nuova versione dell'algoritmo di ARPANET leggermente
modificato. Tale rete Š di tipo datagram, ma i nodi terminali
realizzano un VC (canale virtuale) occupandosi di riordinare i
pacchetti in arrivo ed eventualmente richiedere quelli persi.
Non vi sembra di sentir parlare della NETROM ?
Infatti la NETROM (e THENET) lavorano in modo molto simile ad
ARPANET. Anche le NETROM si parlano fra di loro e si scambiano
informazioni sui NODES conosciuti e sulle qualit… dei cammini.
Anche le NETROM tentano di memorizzare la totale struttura della
rete... peccato che abbiano a disposizione cosŤ poca memoria !
infatti dei 32K disponibili su un TNC non c'e' spazio per
memorizzare tutti i nodi del mondo. WA8DED forse non credeva
che lo sviluppo del packet sarebbe stato cosŤ rapido e capillare
per cui ha progettato una rete a dir poco provinciale. I troppi
timeout e la mancanza di una seria politica di flow control
rendono impossibile, come tutti hanno sperimentato, connessioni
con pi— di tre o quattro salti. Quindi le reti NETROM sono
fatalmente destinate a rimanere piccole reti, sicuramente
inadatte alla realizzazione di una rete per OM mondiale.
E' interessante notare che nelle NETROM, come in ARPANET, la
diffusione sulla conoscenza dei NODI avviene con una tecnica
simile al Flooding. Ogni nodo trasmette la sua lista a tutti
gli altri.
RETI A POLITICA CENTRALIZZATA
Come dicevamo queste reti si basano sull'esistenza dell' NCC,
il controllore centralizzato di rete. Tale controllore sa tutto
di quello che avviene nella rete poichŠ riceve da ogni nodo un
periodico aggiornamento sullo stato della rete stessa e con
queste informazioni calcola per ogni nuova connessione qual'Š il
cammino pi— efficiente fra due utenti oppure pu• instruire i
nodi ad eseguire particolari operazioni. TYMNET, la rete
pubblica americana a commutazione di pacchetto Š forse l'esempio
pi— noto.
Avrete subito capito che una tale rete Š entrinsecamente di tipo
VC e che se l'NCC si guasta la rete Š totalmente bloccata. In
pratica quindi gli NCC sono due o pi—, in riserva uno
dell'altro. In queste reti l'NCC puo' comportarsi almeno in due
modi diversi. In certe reti, cioŠ, l'NCC raccoglie informazioni
da ogni nodo e con queste costruisce delle tabelle di
instradamento che poi periodicamente vengono distribuite a tutti
i nodi. In questo caso il VC vengono costruiti dai singoli nodi
sulla base delle suddette tabelle. In altre reti ogni VC viene
difatto costruito dall'NCC il quale manda solo dei comandi ai
singoli nodi.
Anche in queste reti c'e' molto traffico di servizio fra i
nodi e l'NCC.
Questo tipo di rete non sembra molto adatto ai radioamatori,
che ne pensate ?
RETI A POLITICA MISTA
TRANSPAC, la rete pubblica francese a commutazione di pacchetto
Š una rete che utilizza l'NCC per disseminare ai nodi le
informazioni sullo stato di di connettivit… della rete, poi
politiche isolate sono usate da ogni nodo per reagire a
cambiamenti di traffico e a guasti.
Altre combinazioni delle politiche viste in precedednza sono
possibili. Ognuno pu• provare ad immaginare la propria.
RIFLESSIONI
Quando le reti diventano molto grandi, diciamo migliaia di nodi
e decine di migliaia di utenti, ( come potrebbe essere una rete
di tutti i radioamatori mondiali) tutte le tecniche di
instradamento che abbiamo visto fin quŤ sembrano diventare
impraticabili. Per esempio in una rete tipo ARPANET
occorrebbero in ogni nodo dei data base grandissimi ed
aggiornati in continuazione, oppure in una rete a controllo
centralizzato l'NCC dovrebbe essere un computer mostruosamente
grande e nel suo intorno ci sarebbe una quantit… di traffico
grandissima. Non oso pensare al traffico flooding in una tale
rete !
Allora come ce la caviamo ? possibile che non ci siano vie
d'uscita ?
Un modo ci sarebbe, e l'IP potrebbe giocare un ruolo chiave. Si
potrebbe realizzare, cioŠ, una rete a struttura gerarchica in
cui anche l'instradamento segue lo steso principio.
Una rete gerarchica Š costituita da tante reti regionali, queste
reti, poi, sono interconnesse fra di loro da opportuni nodi di
collegamento (Gateway) per formare un'unica rete nazionale, e
cosŤ via su gerarchie superiori. In una tale rete gli
instradamenti regionali avvengono con politiche "regionali" che
potrebbero anche essere diverse dalle politiche di instradamento
fra regioni. Una struttura di questo tipo permetterebbe di
usare le tecniche pi— opportune caso per caso.
Flow Control : Abbiamo visto cos'Š e perchŠ Š indispensabile in
ogni rete. Come questo viene realizzato nelle varie reti lo
esamineremo un'altra volta. Per ora Š importante non
dimenticarsene soprattutto quando abbiamo a che fare con un
intasamento delle nostre NETROM.
fine Parte 1