eh... quando si parla di retrocomputing...
Begin forwarded message: Date: Mon, 30 Jul 2007 00:20:32 GMT From: [EMAIL PROTECTED] Newsgroups: it.comp.retrocomputing,it-alt.comp.folklore Subject: WAN DECnet italiana Chi frequenta #retrocomputing (irc.azzurra.org) ne ha già certamente sentito parlare, per gli altri è giunta l'ora di scrivere questo post. La nostra storia inizia da lontano, da quando cioè alcuni di noi sono entrati in possesso di macchine DEC in grado di eseguire una qualunque versione di OpenVMS. Grazie al programma ufficiale DEC (poi Compaq ed ora HP) OpenVMS Hobbyist è possibile utilizzare liberamente il sistema operativo e una grande quantità di software aggiuntivo a costo zero e in modo perfettamente legale, per scopi NON commerciali, semplicemente facendo richiesta delle apposite chiavi di licenza, consegnate in modo automatico via mail. VMS è un fuoco che brucia lento e cova sotto la cenere, una volta acceso è molto difficile spegnerlo e il desiderio di provare tutte le funzionalità offerte dal sistema cresce inesorabilmente. Una delle feature più famose (oltre naturalmente al leggendario VAXcluster) è la rete di comunicazione DECnet, perfettamente e completamente integrata nel resto del sistema operativo in maniera veramente mirabile. Chi non l'ha vista in funzione non può capire esattamente cosa significhi. DECnet ha una storia lunga e gloriosa: un tempo, nei giorni della sua massima gloria, era sinonimo di Internet. In un'epoca in cui le reti erano appannaggio di grandi corporation o di enti di studio e ricerca, esisteva una grande rete denominata HEPnet/SPAN [1] che collegava virtualmente fra loro, e con tutti i maggiori centri di supercalcolo e di ricerca, le facoltà scientifiche di tutte le università del mondo. E' possibile rintracciare tuttora della documentazione ufficiale in cui si parla semplicemente di "Internet" o "Inter-network" intendendo questa grande rete DECnet e non l'attuale rete TCP/IP. Chi volesse passare un po' di tempo a fare ricerche sui NG con Google, scoprirebbe che ci sono tantissimi post risalenti alla seconda metà degli anni '80 in fondo ai quali, nelle signature, compare non solo l'indirizzo per la posta elettronica come la intendiamo comunemente oggi, ma anche quello per la posta DECnet, nella forma NODO::UTENTE (e magari anche l'indirizzo per la posta BITNET o UUCP). Fatta questa doverosa premessa, è facile capire come possa essere nato il desiderio di esplorare le possibilità di stabilire un collegamento DECnet fra le nostre macchine. Il problema non appariva di facile soluzione: in una rete DECnet la comunicazione fra i nodi avviene principalmente via Ethernet (esistono anche altre soluzioni, tutte molto più scomode, almeno dal nostro punto di vista). Questo significa che è molto semplice attivare un collegamento DECnet fra due macchine fisicamente vicine tra loro, ad esempio nella stessa casa, ma diventa piuttosto complesso ottenere la stessa cosa se i nodi sono distanti fra loro, magari in città diverse. Avevamo il necessario, ma non sapevamo come combinare il tutto: era ovvio che avremmo utilizzato Internet (quella TCP/IP) per veicolare i frame DECnet, ma come? Una VPN avrebbe comportato una gran quantità di problemi, altre soluzioni a base di ebtables e tun/tap apparivano impraticabili e infine erano state scartate anche certe strane soluzioni con hardware autocostruito di cui avevamo letto qualcosa. Per un po' di tempo il problema fu accantonato per mancanza di ovvie soluzioni, però il pungolo a risolvere la questione era sempre presente, tanto più che nel frattempo avevamo scoperto l'esistenza di HECnet [2], una rete DECnet amatoriale svedese simile a quella che avremmo voluto creare noi, basata però su link seriali a bassa velocità (9600 bps), più dimostrativa che utile. Nel frattempo i link diretti privati passavano di moda anche per le grandi strutture: sempre più spesso si abbandonavano le costose linee dedicate in favore di collegamenti di vario genere instradati via Internet e dunque il problema di veicolare DECnet su TCP/IP si era presentato anche ad altri, anche alle aziende. Fu su queste basi che un paio di società di software svilupparono una soluzione funzionante che comprendeva uno stack TCP/IP alternativo a quello Digital e un meccanismo per inoltrare le comunicazioni DECnet su un circuito virtuale, qualcosa di vagamente simile a una scheda Ethernet emulata. Tempo dopo queste due società si fusero e divennero l'attuale Process Software. La nuova società scelse di aderire al programma Hobbyist e rese disponibile a costo zero per scopi amatoriali la sua soluzione basata sul suo stack alternativo e sui circuiti virtuali. Fu grazie a questo software che facemmo i primi timidi tentativi di collegamento DECnet attraverso Internet. A dire il vero il funzionamento di questo sistema lasciava molto a desiderare: era molto scomodo gestire più di un collegamento per volta, la documentazione non era assolutamente chiara e l'errore PATHLOST era frequentissimo. Inoltre, problema per noi in assoluto più grave, era impossibile gestire in maniera almeno parzialmente automatica il cambio di indirizzo IP delle nostre connessioni dinamiche a Internet, cosicché ad ogni cambio di indirizzo era necessario rifare la configurazione dei tunnel. Un incubo. Ancora una volta il progetto di una DECnet amatoriale italiana finì purtroppo in fondo a un cassetto. Una grande delusione. Passa il tempo (un paio d'anni), i partecipanti di #retrocomputing interessati a VMS crescono, le macchine aumentano, viene anche formato un cluster, manca solo la DECnet. Un giorno di novembre del 2006 ci rimettiamo all'opera, a caccia di informazioni per trovare una soluzione definitiva al nostro problema. Riverifichiamo tutte le informazioni in nostro possesso in cerca di nuove idee, sperimentiamo anche il supporto IP di DECnet/OSI (dovrebbe essere l'evoluzione della DECnet classica, in pratica: un ORRORE durato un pomeriggio) e infine torniamo quasi per caso sul sito di HECnet, la rete svedese, e notiamo che nel frattempo è cresciuta, ha abbandonato i link seriali a bassa velocità e ora si appoggia a un piccolo programma in C per Linux. La soluzione è talmente semplice che non sembra possibile. Scarichiamo e compiliamo il programma, all'inizio non funziona nulla, non c'è documentazione, niente di niente, vorremmo abbandonare, ma sentiamo che quella è la Soluzione. Proviamo per ore, apriamo porte sui firewall, controlliamo il traffico con tcpdump, cambiamo mille volte la configurazione (non documentata) del programma, tentiamo tutte le opzioni possibili di NCP (Network Control Program) su VMS e alla fine la nostra costanza è premiata: due macchine, un Alpha e un VAX in due città diverse comunicano via DECnet attraverso Internet. Ce l'abbiamo fatta! I primi giorni sono pieni di euforia, ma anche di scoramento, i problemi sono tanti e a volte sembrano insormontabili: il programma è molto rigido e più di una volta si formano dei loop di rete con i frame DECnet che rimbalzano da una macchina all'altra come impazziti, fino a saturare la banda disponibile. Ma la soluzione è quella, l'abbiamo tra le mani, non può sfuggirci. Una mattina alle 7 (!) ci troviamo tutti in #retrocomputing, senza esserci dati appuntamento, e inziamo una sessione di debug condiviso: analizziamo il codice del programma riga per riga fino a capire come funziona. Lo modifichiamo più volte secondo i nostri bisogni e in una settimana arriviamo a quattro release diverse. Alla fine vinciamo noi: la DECnet esiste. Funziona perfettamente e non perde un colpo. Tecnicamente il programma si appoggia a una macchina Unix che sia sullo stesso segmento Ethernet delle macchine che devono comunicare via DECnet, cattura i frame basandosi sul MAC address e sull'Ethertype e li invia incapsulati in pacchetti UDP a un'altra macchina Unix, a destinazione, dove un'altra copia del programma fa il procedimento inverso e immette sulla Ethernet i frame che riceve via UDP. Questa soluzione ha moltissimi vantaggi sulle altre, soprattutto perché permette di non modificare assolutamente il nodo DECnet ed è indipendente da software particolari, dunque può essere utilizzata per collegare alla rete macchine di qualunque genere (vari tipi di PDP-11 o DECsystem-10 veri o emulati, tanto per fare due esempi) e con qualunque sistema operativo per il quale esista il supporto DECnet (penso ad esempio a Ultrix o anche a Linux). A circa sei mesi di distanza da quei giorni fatidici la nostra DECnet conta 31 nodi ufficialmente registrati, uniformemente distribuiti tra VAX e Alpha, con varie versioni di OpenVMS. Su ogni nodo sono attivi tutti i servizi di rete (posta, trasferimento file, accesso interattivo ai nodi remoti, etc.) e funzionano senza alcun problema. Alcuni nodi sono costantemente online e fanno da repository di software e patch per gli altri. Ognuno gestisce in autonomia i propri nodi e c'è un minimo di coordinamento solo per quanto riguarda l'assegnazione degli indirizzi, per il resto c'è la più ampia libertà. Per altre informazioni, tecniche e non, stiamo allestendo un sito all'indirizzo http://decnet.ipv7.net Che dire ancora? Chi è interessato può anche venire a trovarci su #retrocomputing, qualcuno c'è sempre. Ciao! G. (ALPHA::RPT alias 1055::RPT) [1] High Energy Physics network / Space Physics Analysis Network [2] http://www.update.uu.se/~bqt/hecnet.html _______________________________________________ ml mailing list [email protected] http://nalug.net/mailman/listinfo/ml
