[Hackmeeting] RETRO-DECNET, comunicato ufficiale

Delete this message

Reply to this message
Author: asbesto
Date:  
To: hackmeeting
Subject: [Hackmeeting] RETRO-DECNET, comunicato ufficiale


From: gerr...@no.spam.mail.com
Date: Mon, 30 Jul 2007 00:20:32 GMT
Local: Mon, Jul 30 2007 2:20 am
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 son
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


-------------------------

p.s.

qui al Poetry Hacklab abbiamo, da diversi mesi, Snorry e Glorry
online 24/7 e connessi alla Retro-DECNET:

telnet medialab.freaknet.org 17023
telnet medialab.freaknet.org 17123

con giochi storici installati:

http://lab.dyne.org/PoetryVaxGames

buon divertimento! ;)


--
[ 73 de IW9HGS : freaknet medialab : radiocybernet : poetry hacklab]
[ http://freaknet.org/asbesto - http://papuasia.org/radiocybernet ]
[ NON SCRIVERMI USANDO LETTERE ACCENTATE! - NON MANDARMI ALLEGATI ]
[ *I DELETE* EMAIL > 100K, ATTACHMENTS, HTML, M$-WORD DOC and SPAM ]