The Kermit Project | Now hosted by Panix.com
New York City USA • kermit@kermitproject.org
…since 1981
Frank da Cruz, fdc@kermitproject.org
Contenuto
- CHE COS’È KERMIT?
- SOFTWARE KERMIT
- PROTOCOLLO KERMIT
- ESEMPIO DI TRASFERIMENTO DI FILE
- CONTROVERSIE
- LINK
Ultimo aggiornamento:Lunedì 23 Luglio 09:29:50 2018
NOVITÀ
- 30 ottobre 2013:Trascrizioni di storia orale delprogetto Kermit presso il Museo di Storia del Computer:
o Pannello Storico Orale del Progetto Kermit
o Storia orale di Joe Doupnik(Kermit MS-DOS)
- 29 Ottobre 2013: L’Archivio Documentale del Progetto Kermit presso il Museo di Storia del Computer [catalogo].
- Prosegue losviluppo del Permesso di autorizzazione C-Kermit.
In vigore dal1° luglio 2011…
- Il progetto Kermit alla Columbia University è stato annullato
- Un nuovo sito web del Progetto Kermit è stato aperto all’ indirizzo http://www.kermitproject.org.
- A tutto il software Kermit è stata data unalicenza Open Source.
- L’archivio ftp e il sito web di Kermit in Columbia rimarranno in funzione (ma non cambieranno).
Benvenuti nel nuovo progetto Open-Source Kermit.
Annuncio Roadmapdi Transizione Kermit 95 C-Kermit E-Kermit Altrosoftware Kermit
CHE COS’È KERMIT?
Kermit è il nome di un protocollo di trasferimento e gestione dei file e di una suite di programmi per molti tipi di computer che implementano tale protocollo, oltre ad altre funzioni di comunicazione che vanno dall’emulazione terminale all’automazione delle attività di comunicazione attraverso un linguaggio di scripting multipiattaforma di alto livello. Il software è indipendente dal trasporto, opera su connessioni TCP/IP in modalità tradizionale clear-text o protette da SSH, SSL/TLS, Kerberos IV o V, così come su connessioni porta seriale, modem e altri metodi di comunicazione (X.25, DECnet, vari protocolli LAN come NETBIOS e LAT, porte parallele, ecc, su piattaforme particolari).
Il progetto Kermit è stato fondato nel 1981 presso il Centro Computazionale della Columbia University (oraCUIT)per soddisfare un’esigenza specifica. Fino alla metà degli anni ’90 Kermit era il software di connettività desktop standard della Columbia, utilizzato universalmente da studenti, docenti e personale per connettersi dai microcomputer desktop, PC, Macintosh e workstation Unix alle strutture informatiche centrali: i mainframe IBM (1963-2017), i DECSYSTEM-20s(1977-1988),CLIO (il primo sistema di informazione per biblioteche online della Colombia, 1984-2003), Cunix (i nostri server basati su Unix, 1986), i VAX, PDP-11, Sun e altri minicomputer dipartimentali.All’inizio dei microcomputer e dei PC, ma prima della diffusione delle reti locali e delle workstation desktop ad essi collegate, il software Kermit collegava il desktop a e-mail, bacheche, file sharing, elaborazione di testi, messaggistica e altri aspetti della nuova cultura on-line che ora è data per scontata, molto prima che l’esperienza fosse disponibile presso la maggior parte delle altre istituzioni. Alla Columbia, le DEC-20 e i minicomputer dipartimentali sono ormai lontani e i mainframe IBM sono ora solo per uso backoffice, ma il software Kermit è ancora utilizzato per le sessioni SSH dal desktop al CUNIX, e dal personale tecnico per le attività di amministrazione di sistema e di rete, ad esempio, per la configurazione di rack pieni di server blade HP, lagestione del sistema telefonico dell’Università,script CGI, alpha pagingdel personale di guardia, e così via. Inoltre, naturalmente, ci sono le vecchie guardie che semplicemente preferiscono la sicurezza e l’efficienza dellesessioni di shell in modalità testo per e-maile quindi fare il loro lavoro a questa maniera, ad esempio per sviluppare software e gestire il sito web.
Nel corso degli anni, il Progetto Kermit ècresciuto fino a diventare una cooperativa mondiale per lo sviluppo e la distribuzione di software senza scopo di lucro, con sede e coordinamento presso la Columbia University,in quanto il software Kermit è stato portato o sviluppato per un numero sempre maggiore di computer e sistemi operativi (vedi elenco). Il progetto Kermit è dedicato alla produzione di software di comunicazione multipiattaforma di lunga durata,stabile, conforme agli standard e interoperabile, ed è stato attivamente impegnato nel processo di standardizzazione. Il software Kermit è utilizzato in tutto il mondo in ogni settore dell’economia: governo nazionale, governo statale e locale, università, medicina e sanità, ingegneria, aerospaziale, no-profit e commerciale.
Sebbene l’emulazione terminale sia stata in gran parte soppiantata dal Web per l’accesso online, il software Kermit continua a svolgere un ruolo in altre applicazioni come il telerilevamento e la raccolta dati, la gestione e la risoluzione dei problemi delle apparecchiature di rete e di telecomunicazione, il lavoro di back office, la gestione del carico e dell’inventario, la presentazione di richieste di rimborso di assicurazione medica, il trasferimento elettronico di fondi e la presentazione online delle dichiarazioni dei redditi. Il software Kermit è integrato nei router e switch di rete, nelle torri di telefonia cellulare, nelle apparecchiature di diagnostica e monitoraggio medico, anche nei pacemaker cardiaci, per non parlare dei registratori di cassa di alcuni grandi distributori di “big box”. Nel 2002, Kermit ha volato sulla Stazione Spaziale Internazionale e il software Kermit è il metodo di comunicazione utilizzato daigalleggianti oceanici EM APEX (a sinistra) fornendo dati in tempo reale ai ricercatori e agli inseguitori di uragani fino ad oggi(il progetto è entrato in una nuova fase di espansione nel 2010 basata su una nuova versione di Kermit Integrato).
A partire dagli anni ’80, il protocollo e il software Kermit sono stati utilizzati infabbricaper la fustellatura programmabile, le presse piegatrici, la laminazione, il rullo piatto, la cesoiatura, la lavorazione di metalli e plastica, la lavorazione del legno e altre macchine. Ad esempio, nella produzione del Boeing 787, dove Kermit viene utilizzato per controllare uno Stratodi Nastroche forma alcuni componenti della cabina. Potete leggere di più su come viene usato Kermit al piano della fabbricaquie qui.
Negli anni ’90 il software Kermit è stato utilizzato per l’Automazione delle Poste Statunitensi, has volto un ruolo chiave nelle elezioni nazionali brasilianedel 1994(le più grandi nella storia del mondo fino a quel momento), ed è stato al centro della missione di soccorso delle Nazioni Unite in Bosnia,“collegando l’intero spettro delle operazioni del progetto, dal mainframe, minicomputer, PC, ai dispositivi palmari e lettori di codici a barre”.
Negli anni ’80 la robustezza del protocollo Kermit lo rendeva ideale per il servizio nella Rivoluzione Verdein Africa, la missione spaziale congiunta Europa-USSR Giottoe forse soprattutto per ristabilire la comunicazione dei dati tra le stazioni di ricerca statunitensi in Antartide e nel continente, dopo che furono tagliate nel 1986 in un incidente informatico nell’inverno antartico di 9 mesi. Nel 1988, una conferenza internazionale su Kermit è stata ospitata a Mosca, URSS, e le sessioni Kermit sono state presentate in altre conferenze nel corso degli anni ’80 a Tokyo, Berna, Parigi, Nashville, e altrove.
Il protocollo e il software Kermit prendono il nome da Kermit the Frog, protagonista della serie televisiva The Muppet Show; il nome Kermit è utilizzato con il permesso di Henson Associates, Inc.Perché prende il nome da Kermit la Rana? Nel maggio del 1981 avevamo già le prime implementazioni del protocollo funzionanti, ma non avevamo ancora un nome per il protocollo o per il software. Un gruppo di noi ne stava discutendo (io, Bill Catchings, Bill Schilit, Jeff Damens, penso che quello fosse il gruppo), senza preoccuparsi troppo, dato che non ci aspettavamo mai che il software si diffondesse in tutto il mondo e durasse per decenni. Mi è capitato di trovarmi di fronte al muro che aveva un calendario dei Muppets su di esso e, siccome i miei figli erano fan sfegatati del Muppet Show ho detto: “Che ne dici di Kermit?” Trent’anni dopo (maggio 2011) ho trovato la pagina del calendario che stavo guardando quando ho detto quella cosa, la si può vedere a sinistra e vi si può fare clic per ingrandirla.
SOFTWARE KERMIT
Il software Kermit è stato scritto percentinaia dicomputer e sistemi operativi diversi, alcuni pezzi da programmatori volontari di tutto il mondo, altri dallo staff professionale de Progetto Kermit. Le caratteristiche principali dei programmi Kermit più popolari sono:
- Creazione e manutenzione di connessione per un’ampia varietà di metodi di connessione (TCP/IP, X.25, LAN, porta seriale, modem, ecc.).
- Emulazione terminale.
- Trasferimento dei file senza errori.
- Protocolli Internet tra cui Telnet, Rlogin, FTPe HTTP.
- Metodi di sicurezza Internettra cui Kerberos, SSL/TLS, SSH e SRP.
- Laconversione dei set di caratteridurante l’emulazione terminale e il trasferimento dei file – caratteristiche uniche del software Kermit.
- Divisione numerica e alfanumerica.
- Programmazione di script per automatizzare attività complicate o ripetitive.
L’interfaccia utente e il linguaggio di programmazione degli script di Kermit sono coerenti tra le piattaforme e i metodi di comunicazione, consentendo di investire nell’imparare a pagare il tempo libero (invece che lavorare e basta), oppure facilitando lo spostamento da una piattaforma all’altra, da un metodo di comunicazione all’altro.
Le nostre prime implementazioni software Kermit sono:
- Kermit 95per Windows 95/98/ME, Windows NT/2000/XP/Vista/7/8/10 e OS/2;
- C-Kermit per UNIX,VMS, VOS e molte altre famiglie di sistemi operativi;
- E-Kermitper l’integrazione.
- Kermit MS-DOSper DOS e Windows 3.x;
- IBM Mainframe Kermit per VM/CMS, MVS/TSO e CICS.
C-Kermite IBM Mainframe Kermitsono pacchetti basati su host con una gamma ineguagliabile di versatilità.Kermit 95eMS-DOS Kermitsono programmi software di comunicazione desktop completi che rivaleggiano con la qualità di qualsiasi altro prodotto presente sul mercato, tranne forse per l’appariscenza dell’interfaccia utente: I programmi Kermit seguono lo stile “prompt-and-command” in modalità testo di un tempo, il che è sconcertante per alcune persone fino a quando non ne comprendono i vantaggi:
- Il set di comandi è ragionevolmente coerente in tutte le piattaforme e quasi totalmente coerente nelle piattaforme moderne come Windows, Mac OS X, Linux e VMS. Imparatelo una volta, usatelo ovunque.
- I comandi possono essere combinati in “macro” o “programmi” per automatizzare qualsiasi operazione che può essere eseguita a mano, come descritto diseguito.Infatti, in C-Kermit e Kermit 95, il linguaggio di comando è un linguaggio di programmazione completo con variabili, strutture di controllo, funzioni, “sottoprogrammi” e alcune sorprese in più.
- Non è necessario conoscere i comandi in anticipo né digitarli completamente. Lo stile del comando è chiamato “menu sensibile al contesto su richiesta” (si vedono le scelte disponibili quando si digita un punto interrogativo) e le parole chiave possono essere abbreviate. Ci sono molti aiuti integrati e ci sono molti altri manuali sul sito web Kermit; per esempio iltutorial C-Kermite iltutorial Kermit 95,solo per i principianti.
- Le dattilografe a contatto possono lavorare più velocemente quando non devono allontanare le mani dai tasti e soffrono di meno lesioni da sforzo ripetitivo.
- Alcune cose non possono essere fatte in modo efficiente o per niente usando un’interfaccia GUI. Ecco un esempio completamente casuale, ma che rende l’idea:
Su un PC ho una directory che contiene migliaia di immagini, con le loro miniature. Per ogni immaginexxx.jpgè disponibile una miniaturaxxx-t.jpg.Voglio caricare tutte le miniature in Photoshop. Utilizzando il mouse, questo avrebbe preso tutto il giorno. Con Kermit puoi farlo in questo modo (al prompt dei comandi di Kermit):
mkdir thumbnails
rename *-t.jpg thumbnails/
E poi, nella sottodirectory delle miniature, Ctrl-A per “selezionare tutte” e trascinarle in Photoshop (e quindi, se si desidera, trascinarle indietro nella directory originale con un solo movimento del mouse, o rinominarle nuovamente con un solo comando Kermit).
Kermit 95 è stato sviluppato non solo per soddisfare il bisogno di connettività della Columbia con Windows 95 (e aggiornamenti futuri) ai servizi centrali basati su testo, ma anche per raccogliere fondi a sostegno del Progetto Kermit. A differenza di altri programmi Kermit, K95 era strettamente commerciale, disponibile sia in versione retail “shrinkwrapped”(a destra) che inlicenze bulk rights-to-copy.Dalla sua pubblicazione nel 1995 fino alla metà del 2011, sono stati acquistati oltre 250.000 slot per le licenze bulk e oltre 1000 licenze di dimensioni comprese tra 100 e 10.000 slot. Sono state vendute circa 30.000 copie in formato ridotto, molte altre migliaia sono state acquistate per il download dall’e-academye il K95 è stato concesso in licenza da oltre 100 università e da interi sistemi universitari statali come il SUNY (64 campus con circa 400.000 studenti).
Il progetto Kermit è stato messo su una base di autofinanziamento nel 1984, e da allora fino alla sua cancellazione nel 2011, ha realizzato 8.894.912,00 dollariin entrate per l’Università, più una borsa di attrezzature (il Progetto Hermita) per un valore di$ 3.000.000,00.
Libri su Kermit Kermit 95 C-Kermit E-Kermit G-Kermit Versione aggiornata del software
PROTOCOLLO KERMIT
Fin dalla sua nascita nel 1981, il protocollo Kermit si èsviluppato in uno strumento sofisticato, potente edestensibile, indipendente dal trasporto, per il trasferimento e la gestione dei file, che comprende, tra le altre cose:
- Trasmissione di più file in un’unica operazione.
- Trasmissione attributi file (dimensione, data, permessi, ecc.)
- Nome del file, formato di registrazione e conversione dei set di caratteri
- Opzioni di collisione dei file, inclusa una funzione di “aggiornamento”
- Trasferimento di file di recupero (ripresa di un trasferimento interrotto in modalità binaria dal punto di guasto)
- Uploade download automatici
- Trasferimento e gestione file client/server
- Commutazione automatica del testo per file/modo binariodurante la trasmissione di gruppi di file
- Trasferimento ricorsivo directory-albero, anche tra piattaforme diverse
- Servizi uniformi su connessioni seriali e di rete
- Un Daemon del servizio KermitsuInternet
Il protocollo Kermit utilizza pacchetti ben definiti, sequenziati e controllati in ogni direzione per effettuare una sessione di trasferimento file, seguendo le regole standard di stratificazione del protocollo. I pacchetti sono progettati per la massima trasparenza, in modo da poter passare attraverso qualsiasi mezzo di comunicazione, non importa quanto sia restrittivo. L’half-duplex (stop e attesa), il full-duplex (finestre scorrevoli con ritrasmissione selettiva) e il trasporto a flusso continuo possono essere utilizzati per adattarsi a qualsiasi connessione.
La caratteristica che distingue il protocollo Kermit dalla maggior parte degli altri protocolli è la sua vasta gamma di impostazioni per consentire l’adattamento a qualsiasi tipo e qualità di connessione tra due tipi di computer – lunghezza del pacchetto, codifica dei pacchetti, dimensione della finestra, set di caratteri, metodo di rilevamento degli errori, timeout, pause. La maggior parte degli altri protocolli sono progettati per funzionare solo su determinati tipi o qualità di connessioni, e/o tra determinati tipi di computer o sistemi di file simili, e quindi funzionano male (o per niente) altrove e offrono pochi o nessun metodo per adattarsi a situazioni non pianificate. Kermit, d’altra parte, permette di ottenere un trasferimento di file di successo e le massime prestazioni possibili su qualsiasi connessione.
A differenza di FTP o X-, Y- e ZMODEM (gli altri protocolli con cui Kermit è più spesso confrontato), il protocollo Kermit non assume o richiede:
- una connessione full-duplex;
- una connessione trasparente ai caratteri di controllo;
- un collegamento a 8 bit;
- una connessione pulita;
- grandi buffer lungo tutto il percorso di comunicazione;
- controllo di flusso fisico-strato.
(anche se Kermit non richiede nessuna di queste condizioni, può decisamente approfittarne quando disponibili). Un articolo sul protocollo Kermit di Tim Kientzle, apparso sul numero di febbraio 1996 del Dr. Dobb’s Journal osservava che “l’approccio di windowing di Kermit è più veloce di protocolli come XModem e YModem … Quello di cui molte persone non si rendono conto è che in condizioni non ideali, l’approccio di windowing di Kermit è significativamente più veloce di ZModem, un protocollo con una meritata reputazione per i trasferimenti veloci su linee di buona qualità”. L’efficienza del protocollo Kermit viene analizzata in modo approfondito qui e qui.
Così i trasferimenti Kermit funzionano in maniera “fuori dal comune”, quasi ogni volta. E ad un livello superiore, il linguaggio dei comandi Kermit permette di usare tutti i tipi di utili criteri di selezione dei file, per esempio, in qualsiasi combinazione:
- Cartellini e modelli per abbinare i nomi dei file
- Selezione per intervalli di date
- Selezione in base alle dimensioni
- Solo file di testo
- Solo file binari
- Solo file che non esistono all’altro capo o che sono più recenti
- Elenchi e modelli di eccezioni
per realizzare quasi tutti i raggruppamenti che possiate immaginare. In transito, un file può avere il suo set di caratteri convertiti, può essere passato attraverso un filtro ecc. Al termine del trasferimento, il file di origine può essere eliminato o rinominato, il file di destinazione può essere rinominato o inviato, e così via.
Specifiche del protocollo Kermit
Le specifiche del protocollo di trasferimento dei file Kermit sono riportate nel libro Kermit, A File Transfer ProtocolFrank da Cruz, con una prefazione di Donald Knuth (ora disponibile online in formato PDF). La specifica è disponibile anche online nella sesta edizione del Manuale del Protocollo di Kermit (1986). Entrambi mancano di alcuni dei miglioramenti successivi, ma includono la modalità server, pacchetti lunghi, finestre scorrevoli, ecc. La documentazione per le successive aggiunte al protocollo è raccolta e disponibile al pubblico QUI. Unaspecifica formale e la verificadel protocollo Kermit è stata pubblicata da James Huggins dell’Università del Michigan nel 1995; è possibile scaricarla QUI.
ESEMPIO DI TRASFERIMENTO DI FILE KERMIT
Diamo un’occhiata al caso comune in cui si dispone di un computer desktop Windows con una connessione – qualsiasi tipo di connessione (modem, porta seriale, Telnet normale, Telnet sicuro, rlogin, rlogin sicuro, SSH) – a una sessione di shell su un server Unix (“Unix” = Linux, Mac OS X, FreeBSD, Solaris, AIX, HP-UX,ecc)e si desidera trasferire un file tra il PC e il server Unix. Il vostro emulatore di terminale su Windows è Kermit 95e il server Unix ha C-KermitoG-Kermit installati, che possono essere richiamati semplicemente digitando “kermit” al prompt della shell (o anche “ckermit” o “gkermit”).
Perscaricareun file, ad esempiomessage.txt, digitare il seguente comando al prompt della shell:
kermit -s message.txt
Il file viene inviato alla directory corrente di Kermit 95 sul vostro PC (o alla sua DIRECTORY DI DOWNLOAD,se ne avete definita una). Non importa se il file è di testo o binario; Kermit lo calcola e lo trasferisce automaticamente nella modalità appropriata.
Allo stesso modo, se si desidera trasferire un gruppo di file, ad esempio, tutti i file i cui nomi iniziano con”daily”:
kermit -s daily.*
Kermit invia ogni file che corrisponde, passando automaticamente dalla modalità testo a quella binaria come appropriato per ogni file (daily.jpg, daily.xls, daily.txt, …).
Caricareun file dal PC a Unix è altrettanto facile. Si supponga di avere un file chiamato”budget.xls” nella directory corrente di Kermit 95 sul proprio PC. Per caricarlo su UNIX, digitarlo al prompt della shell Unix:
kermit – g budget.xls
Queste sono le basi; ci sono molte varianti e raffinatezze, per esempio:
- Trasferire solo i file più recenti rispetto alle controparti all’altro capo.
- Convertire i set di caratteri dei file di testo in modo appropriato (ad es. tra ISO 8859-1 e Unicode UTF-8).
- Recupero di un trasferimento parziale dal punto di guasto (solo in modalità binaria).
Per risparmiare un po’ di digitazione, potete definire degli alias su Unix (nel vostro profilo shell):
alias s=”kermit -Sì”.
alias g=”kermit -Yg”.
(sper Send,g per Get). E poi:
s Messaggio.txt
g budget.xls
Vale la pena notare che si stanno trasferendo i file sulla stessa connessione già esistente, quindi non c’è bisogno di fare una nuova connessione, ri-autenticarsi, o altra burocrazia simile. Se la connessione è protetta da SSH, Kerberos, SSL, TLS o SRP, anche il trasferimento dei file è sicuro, automaticamente.
Si tratta di un grado di convenienza senza pari. Quando dite a C-Kermit su Unix di inviare o ottenere un file, il suo primo pacchetto di trasferimento file viene riconosciuto automaticamente dall’emulatore di terminale di Kermit 95 e K95 si apre in modalità di ricezione o modalità server, a seconda della direzione, e quando il trasferimento è finito, K95 ritorna alla sua schermata di emulazione terminale. Se si verifica un errore (ad esempio, se non si dispone di un’autorizzazione di scrittura nella directory di destinazione) K95 rimane nella schermata di trasferimento dei file in modo da poter mostrare il problema.
Le stesse procedure funzionano anche con Unix-to-Unix, K95-to-VMS, Unix-to-VMS, VMS to Unix, o OS/2 to VMS o Unix, a patto che si utilizzi K95 o C-Kermit come programma di terminale.
CONTROVERSIE
Vedere anche: Giudizi Erronei Comuni.
Nel corso degli anni, il Progetto Kermit e il rispettivo software sono stati oggetto di varie controversie, in particolare:
Licenza
Fin dall’inizio volevamo che il software Kermit fosse libero per tutti. Ma a partire dal 1984, la Columbia University ci ha costretti a trovare un modo per farsi pagare da solo, cioè dovevamo pagare gli stipendi del personale a tempo pieno e a tempo parziale, per attrezzature, forniture, telefono, ecc. Altrimenti non ci sarebbe stato permesso di continuare a sviluppare, mantenere, distribuire e supportare il software, che ormai era diventato popolare in tutto il mondo.
La nostra soluzione era quella di mantenere il software libero per ogni individuo e organizzazione per il suo uso personale, ma di richiedere alle aziende di concederlo in licenza, raggruppandolo con un prodotto o fornendolo in altro modo ai clienti; in altre parole, se stavano cercando di fare soldi tramite il nostro lavoro. In questo modoavrebbero potutofare soldi, ma avrebbero dovuto condividerli con coloro che hanno fatto effettivamente il lavoro.
Mentre il movimento del Software Libero si radicava, i suoi sostenitori si opposero strenuamente a questo approccio, ma questo permise al progetto Kermit di continuare per altri 10 anni. Poi nel 1994, con l’imminente rilascio di Microsoft Windows 95, abbiamo deciso di rilasciare l’unico programma Kermit che era al 100% commerciale: Kermit 95.Questo prodotto ha permesso al Progetto Kermit di prosperare fino a circa il 2003, quando l’economia statunitense e mondiale ha iniziato a crollare, e di continuare ad esistere in forma sempre più ridotta fino al 2011, quando il Progetto Kermit della Columbia University è stato finalmente cancellato. A quel punto, poiché il lavoro di nessuno dipendeva più da questo, tutto il software Kermit, di cui avevamo i diritti completi, fu posto sotto una licenza Open Source,e ora tutti sono contenti tranne coloro che hanno perso il lavoro e coloro che hanno chiamato il nostro numero gratuito di supporto tecnico ogni volta che avevano bisogno di aiuto. C’è anche chi si chiede perché non ci sia mai stato un altro rilascio di Kermit 95.
Kermit vs X/Y/ZMODEM
Il protocollo XMODEM è stato sviluppato altrove nel 1977 per il trasferimento di file tramite connessioni telefoniche da un microcomputer ad un altro, e quindi ha trovato largo uso tra gli hobbisti di computer, i fan delle riviste BYTE, gli utenti e gli amministratori di sistemi BBS,e simili. I suoi successori, come Y MODEM e ZMODEM, sono cresciuti nella stessa cultura, servendo all’incirca la stessa base di utenti. Nel mondo BBS, i collegamenti di comunicazione erano sempre trasparenti al 100% a tutti i valori da 256 byte, permettendo a questi protocolli di essere relativamente semplici e di funzionare ancora benein quell’ambiente; quindi gli intenditori della cultura BBS /hobbistica non avevano motivo di avere bisogno di Kermit o di conoscerla.
Il protocollo Kermit, d’altra parte, è stato progettato per connessioni micro-mainframe, che erano molto meno tolleranti e molto più impegnative, perché le connessioni erano raramente trasparenti, e i computer sottostanti erano radicalmente diversi, ad esempio, potevano utilizzare diversi formati di file e set di caratteri per l’archiviazione dei file. Kermit, quindi, si rivolgeva più alle istituzioni – università, ospedali, aziende, agenzie governative – che disponevano di sale macchine con grandi computer centrali condivisi o di una varietà di minicomputer dipartimentali più singoli utenti con PC o workstation sulle loro scrivanie, piuttosto che agli hobbisti tutti con microcomputer personali relativamente omogenei.
XMODEM era un protocollo dolorosamente lento, quindi l’impulso è stato quello di evolverlo in protocolli sempre più veloci, ovvero YMODEM e ZMODEM. Ma i più recenti protocolli MODEM presupponevano ancora una connessione (più o meno) trasparente al 100% tra due computer identici o molto simili.
Come apparvero YMODEM e ZMODEM, la gente cominciò a criticare il protocollo Kermit per essere lento, come in effetti era nella sua forma originale: pacchetti corti perché la maggior parte dei mainframe non poteva resistere a lunghi colpi di dati in arrivo da un terminale; semi-duplex stop and wait perché i mainframe IBM non supportavano la comunicazione full-duplex; codifiche stampabili per i caratteri di controllo e caratteri a 8 bit perché questi non potevano passare attraverso il driver del terminale del mainframe. Così il protocollo originale Kermit diventò un “minimo comune denominatore” tra tutte le piattaforme dove doveva girare (e molte di più, come si è poi scoperto). Il suo principale punto di forza era che era adattabile a qualsiasi piattaforma o metodo di comunicazione, compresi quelli in cui la famiglia XMODEM non si adattava affatto; per esempio, nel mondo dei mainframe IBM.
Nel frattempo, alcuni pacchetti software BBS offrivano il protocollo Kermit nei loro menu di Upload e Download, ma quelle implementazioni Kermit erano sempre minime (cioè lente), spesso buggate, e talvolta totalmente non funzionanti (si veda la pagina dei Giudizi Erronei Comunisulle implementazioni del protocollo Kermit di terze parti). Questo tendeva a rafforzare l’impressione, all’interno della cultura hobbistica, che il protocollo Kermit fosse lento.
Per risolvere i problemi di prestazioni, abbiamo sfruttato l’estensibilità intrinseca del protocollo Kermit (in cui i trasferimenti iniziano con una fase di negoziazione delle caratteristiche) per aggiungere opzioni per pacchetti più lunghi e per finestre scorrevoli full-duplex con ritrasmissione selettiva, nonché opzioni per la compressione e per sfruttare connessioni trasparenti e/o prive di errori (ad esempio, connessioni di rete) quando erano disponibili. Queste modifiche hanno reso il protocollo Kermit più veloce di ZMODEM senza sacrificarne l’universalità, le caratteristiche di conversione dei dati, la robustezza e la (più importante) retro-compatibilità (ecco perché non si vedono protocolli separati: XKERMIT, YKERMIT, ZKERMIT). Le variazioni dei risultati risalgono al 1993 circa; si vedano i parametri di riferimento.
Mai come in quel momento aveva ogni campo i suoi spiriti aderenti, basati in gran parte sulla propria cultura, e ciascuno tendeva a respingere l’altro, una tendenza che continua fino ad oggi. La maggior parte dei critici di Kermit basa le proprie osservazioni sul software Kermit dei primi anni ’80, o su implementazioni di protocolli Kermit di terze parti, che tendono a funzionare male. Per una discussione più dettagliata, vedere la pagina Giudizi Erronei Comuni.
Nel 2013 ho notato ladiscussione di Slashdot sulla cancellazione del Progetto Kermit presso la Columbia University.Illustra molto bene l’argomento attuale, poiché la discussione è dominata dagli hobbisti e dagli utenti della BBS. Ma hanno contribuito anche alcuni utenti esperti di Kermit; ecco alcuni esempi:
- Wow, nei miei giorni di college e post college ho usato quel protocollo in così tanti posti e in così tanti modi che non posso nemmeno cominciare a contare. Si è trattato di un protocollo molto conservatore, che è riuscito a far funzionare quasi tutto. Una volta l’ho fatto passare da un computer portatile tramite una connessione modem ad uno switch dati Equinox, poi ad un AT&T 3b5 Unix, e poi di ritorno all’Equinox (per cambiare la velocità da 300 baud a 9600 baud), fino ad un convertitore di protocollo IBM 7171 o IBM 4361. E il bello è che trasferiva effettivamente i file. Un’altra volta ho dovuto testare un simulatore di terminale DECNET su un Sun (la vecchia versione falliva a metà giornata nei giorni più affollati). Così ho usato kermit per connettermi a host1, poi a host2, di nuovo a host 1, di nuovo a host2, una cosa come 40 volte. Poi ho fatto un trasferimento di file attraverso tutte le connessioni. Ha funzionato.
- All’inizio degli anni ’90 mi hanno dato il compito di collegare a Internet le prime università rumene (Bucarest, in particolare). Dal momento che non abbiamo potuto ottenere IP in corso per vari motivi tecnici, abbiamo deciso di dargli delle e-mail nel frattempo. Meglio di nulla. Il primo tentativo è stato con uucp, ma non riuscivano a gestire le sue operazioni sul lato Bucarest. Le linee telefoniche non erano abbastanza stabili. Così, per i primi 6 mesi, le email sono state inviate a Bucarest tramite il trasferimento di file Kermit, innescato da un miscuglio di script MDA, invocati tramite sendmail. Kermit era molto più robusto di qualsiasi altro protocollo di trasferimento di file in quel periodo, tanto che credevamo sarebbe stato in grado di gestire trasferimenti di bit su linee di vestiario bagnato.
- Sì, è molto usato nel mondo embedded (integrazione). Uno dei pochi strumenti disponibili per il recupero di un dispositivo basato solo su RS232. Utilizzato su gumstix, beagleboard e molti altri dispositivi integrati basati su SBC come ARM. Se si creano / ordinano versioni personalizzate, il proprio prodotto di spedizione non contiene alternative come capacità di avvio della scheda MMC / SD, c-kermit è una delle poche cose là fuori che consente di avviare e caricare il codice, per poi usare la console su tali dispositivi. Kermit ha salvato il culo a me e a molti miei impiegati svariate volte, su quelli che erano dispositivi di integrazione bloccati o difettosi.
Nella stessa discussione c’è chi lamenta il fatto che non sia stata data una spiegazione adeguata del perché alcuni moduli di Kermit 95 non possano essere rilasciati in Open Source. La spiegazione era, ed è,QUI.
LINK
- Bibliografia di Kermit
- Giudizi Erronei Comuni
- Home Page del Progetto Kermit
- Software Kermit per Unix e VMS
- Software Kermit per Windows
- Notizie Kermit 1986-1994
- Archivi dei newsgroup Kermit 1994-2010
- Archivio progetti Kermit presso il CHM
- RFC 2839…RFC 2840
- Automazione
- Più automazione (script FTP avanzato)
- Norme Attività
- L’Archivio Software Kermit
- Storia di Kermit
- Storia informatica della Columbia University
Sfortunatamente, la maggior parte delle informazioni sul software e sul protocollo Kermit che si trovano sui siti web esterni sono imprecise o gravemente datate. Anche l’articolo relativamente favorevole di Wikipediasi concentra su dettagli e banalità a lungo dimenticate dai primi anni ’80 e per lo più ignora i costanti progressi compiuti da allora.
Translations courtesy of Wall Art Melbourne