QUÈ ÉS KERMIT?

Kermit és el nom d’un protocol de transferència i gestió d’arxius, i un conjunt de programes informàtics per a molts tipus d’ordinadors que implementen eixe protocol, així com altres funcions de comunicació que van des de l’emulació de terminal a l’automatització de les tasques de comunicació a través d’un llenguatge de scripting d’alt nivell multiplataforma. El programari és independent del transport, operant a través de connexions TCP/IP en el mode tradicional de text sense xifrar, o encriptats per SSH, SSL/TLS o Kerberos IV o V, així com a través de port serie, mòdems i altres mètodes de comunicació (X.25, DECnet, diversos protocols LAN com NETBIOS i LAT, ports paral·lels, etc, en determinades plataformes).

 

 

 

El Projecte Kermit va ser fundat en el Computer Center de la Universitat de Columbia (ara CUIT) el 1981 per a satisfer una necessitat específica, i fins a mediats/finals de la dècada dels 90, Kermit era el programari d’escriptori estàndard de connectivitat de Columbia, usat universalment pels estudiants, professors i empleats per a connectar microcomputadores d’escriptori, PCs, Macintosh i estacions de treball Unix a les instal·lacions informàtiques centrals: els mainframes d’IBM (1963-present), el DECSYSTEM-20s (1977-1988), CLIO (primer sistema en línia d’informació de la biblioteca de Columbia, 1984-2003), i Cunix (els nostres servidors basats en UNIX, 1986-present), i els VAXes departamentals, PDP-11s, Suns i altres minicomputadoras. En els primers dies de microordinadors i ordinadors, abans del desplegament de les xarxes d’àrea local i estacions de treball que es connectats a ells, el programari Kermit va enllaçar l’escriptori al correu electrònic, als taulers d’anuncis, a l’intercanvi d’arxius, al processament de text, a la missatgeria missatgeria i a molts altres aspectes de la nova cultura en línia que hui dia donem per fet, molt abans que l’experiència estiguera disponible en la majoria d’institucions. En Columbia, el DEC-20 i les minicomputadoras departamentals fa temps que no s’usen i els mainframes d’IBM només s’usen com backoffice, però el programari Kermit encara s’utilitza per a les sessions SSH des de l’escriptori cap a Cunix , i pel personal tècnic de sistemes i administradors de xarxa; per exemple, la configuració de racks plens de servidors blade d’HP a mesura que arriben, la gestió del sistema telefònic de la Universitat , CGI scripting, paginació alfa del personal de guàrdia, i així successivament.

 

 

 

Al llarg dels anys, el Projecte Kermit es va convertir en un esforç de desenvolupament i distribució cooperatiu de programari mundial, sense ànim de lucre, amb seu i coordinat des de la Universitat de Columbia, durant el qual el programari de Kermit va ser portat o desenvolupat per a més i més computadores i sistemes operatius (veure llista). El Projecte Kermit es dedica a la producció de programari de comunicacions multiplataforma, de llarga duració, estable, conforme als estàndards i interoperable, i ha participat activament en el procés de normalització. El programari Kermit s’utilitza a tot el món, en tots els sectors de l’economia: govern nacional, estatal i local, acadèmic, medicina i cura de la salut, enginyeria, enginyeria aeroespacial, entitats sense ànim de lucre i empreses.

 

EM-APEX ocean float

A pesar que l’emulació de terminal ha sigut desplaçada per la Web per a l’accés en línia, el programari Kermit continua exercint un paper important en altres aplicacions, com la teledetecció i recollida de dades, gestió i solució de problemes de xarxes i equips de telecomunicacions, tasques de backoffice, gestió de càrrega i inventari, enviament de peticions mèdiques segures, transferència electrònica de fons, i presentació en línia de les declaracions d’impostos sobre la renda. El programari Kermit està integrat en encaminadors i commutadors de xarxa, a les torres de telefonia cel·lular, en equips mèdics de diagnòstic i seguiment, en premses programables d’encunyació i estampat, en ferramentes per a treballar la fusta; fins i tot en els marcapassos, per no esmentar les caixes registradores d’un bon nombre de cadenes de botigues de primer nivell. En 2002 Kermit va volar en l’Estació Espacial Internacional , i s’usa programari Kermit per a la comunicació dels flotadors marins EM APEX (esquerra), que subministren dades en temps real als investigadors i seguidors d’huracans hui dia (el projecte huracà va entrar en una nova fase d’expansió en 2010, basat en una nova versió d’Embedded Kermit).

 

 

En la dècada dels 90 el programari Kermit va ser utilitzat en l’automatització de l’Oficina de Correus dels EUA, va exercir un paper clau en les eleccions nacionals del Brasil 1994 (les més grans de la història fins a eixe moment), i va ser central en la missió d’ajuda humanitària de l’ONU per a Bòsnia , unint tot l’espectre de l’operació del projecte, des de mainframes, minicomputadoras o computadores personals, a dispositius portàtils i lectors de codis de barres.

USSR Kermit sweatshirt En la dècada dels 80 la robustesa del protocol Kermit ho va fer encaixar perfectament per al seu ús en la Revolució Verda a Àfrica, en la missió espacial Giotto , (projecte conjunt entre Europa i l’URSS) i, tal vegada com a fita més important, en el restabliment de la comunicació de dades entre els centres d’investigació dels Estats Units a l’Antàrtida i el continent després que eren tallades en 1986 en un accident durant l’hivern antàrtic (de 9 mesos de duració). Es va celebrar a Moscou (URSS), en 1988, una conferència internacional sobre Kermit, i es van celebrar altres sessions sobre Kermit en més conferències al llarg de tota la dècada de 1980: Tòquio, Berna, París, Nashville, i molts llocs més.

 

Muppets Calendar page from May 1981 El protocol i programari Kermit porten el nom de la Granota Gustavo, (Kermit the Frog, en anglés), estrela de la sèrie de televisió Barri Sèsam; el nom de Kermit s’usa amb el permís d’Henson Associates, Inc. Per què el nom de Kermit the Frog? Al maig de 1981 ja teníem les primeres implementacions del protocol funcionant, però encara no teníem un nom per al protocol o per al programari. Un grup de nosaltres l’estava discutint (jo, Bill Catchings, Bill Schilit, Jeff Damens; crec que eixe va ser el grup), sense preocupar-nos molt ja que mai esperem que el programari s’estenguera per tot el món i durara més de 30 anys. Em vaig trobar mirant a una paret que tenia un calendari de Barri Sèsam, i ja que els meus fills eren fans tan grans de Barri Sèsam em vaig dir: “I Kermit?”? Trenta anys més tard (maig de 2011) em vaig trobar amb eixa pàgina del calendari que estava veient quan el vaig pensar; es pot veure a l’esquerra i pot fer clic en ella per a veure-la més gran.

 

 

El programari KERMIT

El programari Kermit ha sigut escrit per a centenars d’ordinadors i sistemes operatius diferents, alguns d’ells per programadors voluntaris de tot el món, alguns d’ells pel personal professional del Projecte Kermit. Les principals i més populars característiques dels programes de Kermit són:

Establiment i manteniment de connexió per a una àmplia varietat de mètodes de connexió (TCP/IP, X.25, LAN, port serie, mòdem, etc)
Emulació de terminal.
Transferència d’arxius sense errors
Protocols d’Internet, com Telnet, Rlogin, FTP, i HTTP.
Mètodes de seguretat d’Internet incloent Kerberos, SSL/TLS, SSH i SRP.
incloent Kerberos, SSL/TLS, SSH i SRP durant les sessions d’emulació de terminal i transferència d’arxius; una característica única del programari Kermit.
Paginació numèrica i alfanumèrica.
Programació de scripts per a automatitzar tasques complexes o repetitives.

La interfície d’usuari i el llenguatge de scripting de Kermit són consistents a través de les diferents plataformes i mètodes de comunicació, permetent que l’esforç d’aprenentatge inicial es reaprofite una vegada i una altra quan es passa d’una plataforma a una altra, d’un mètode de comunicació a un altre.

Les nostres implementacions estrela del programari Kermit són:

Kermit 95 per a Windows 95/98/EM, Windows NT/2000/XP/Vista/7 i US/2,
C-Kermit per a UNIX, VMS, VÓS, i moltes altres famílies de sistemes operatius;
E-Kermit per a sistemes encastats..
MS-DOS Kermit per a DOS i Windows 3.X;
IBM Mainframe Kermit per a VM/CMS, MVS/TSO i CICS.

C-Kermit i IBM Mainframe Kermit són paquets basats en l’host amb una versatilitat inigualada. Kermit 95 i MS-DOS Kermit són programes d’escriptori replets de funcionalitats que rivalitzen amb la qualitat de qualsevol altre paquet en el (o fora del) mercat, excepte tal vegada en vistositat de la interfície d’usuari: els programes Kermit seguixen el model d’antany de línia de comandos, la qual cosa és desconcertant per a algunes persones fins que comprenen els avantatges:

El conjunt de comandos és raonablement coherent en totes les plataformes, i quasi totalment coherent en totes les plataformes modernes, com ara Windows, Mac US X, Linux, i VMS. Aprenga-ho una vegada, use-ho en qualsevol lloc.
Els comandos poden ser combinats en “macros” o “programes” per a automatitzar qualsevol tasca que es puga fer a mà, com es descriu ací. De fet, en C-Kermit i Kermit 95, el llenguatge de comandos és un llenguatge de programació complet amb variables, estructures de control, funcions, “subrutines”, a més d’incloure algunes sorpreses.
No és necessari conéixer els comandos per endavant ni escriure’ls íntegrament. L’estil de comandos es diu “menú contextual a demanda” (es poden veure les opcions disponibles quan s’escriu un signe d’interrogació), i les paraules clau es poden abreujar. Hi ha un munt d’ajuda integrada, i es pot trobar molta més en el lloc web de Kermit, com per exemple el tutorial de C-Kermit i el tutorial de Kermit 95, per a nouvinguts.
Els mecanògrafs poden treballar més ràpid quan no tienene que moure les seues mans del teclat, i patixen menys lesions per esforç repetitiu.
Algunes coses simplement no es poden fer de manera eficient o en absolut mitjançant una interfície GUI. Heus ací un exemple a l’atzar, però totalment il·lustratiu:

En un PC tinc un directori que conté milers d’imatges, juntament amb les seues miniatures. Per cadaimagen xxx.jpg hi ha una miniatura xxx-t.jpg. Vull carregar totes les imatges en Photoshop. Amb el ratolí, això portaria tot el dia. Amb Kermit es pot fer així:

Kermit> mkdir thumbnails
Kermit> rename *-t.jpg thumbnails/

I llavors, en el subdirectori de les miniatures, Ctrl-A per a “seleccionar tot” i arrossegar-les a Photoshop (i després, si es desitja, arrossegar les miniatures de nou al directori original amb el ratolí o tornar a canviar el nom amb un sol comando Kermit).

 

The Kermit 95 2.1 shrinkwrapped retail package Kermit 95 va ser desenvolupat no sols per a satisfer les necessitats de Columbia per a la connectivitat de Windows 95 (i versions posteriors) als servicis centrals basats en text, sinó també per a recaptar fons per a donar suport al Projecte Kermit. A diferència d’altres programes de Kermit, K95 era estrictament comercial, disponible tant en format empaquetat per a ser distribuído al detall (a la dreta), com en llicències per volum amb dret a còpia . Des del seu llançament en 1995 fins a mitjan 2011, més d’un quart de milió de llocs van ser adquirits sota més de 1000 llicències, que varien en grandària des de 100 a 10.000 llocs. Es van vendre prop de 30.000 còpies empaquetades, molts milers més van ser comprades per a la seua descàrrega en l’e-academy, i K95 va ser llicenciat per més de 100 universitats, així com en sistemes universitaris de nivell estatal com SUNY (64 campus amb uns 400.000 estudiants).

El Projecte Kermit va passar a un règim d’autofinançament en 1984, i des de llavors fins a la seua cancel·lació en 2011, va aconseguir uns ingressos de $8,894,912.00 per a la Universitat, a més d’una subvenció concedida a l’equip (el Projecte Ermitañovalorada en $3,000,000.00.

El protocol Kermit

Des de la seua creació en 1981, el protocol Kermit s’ha convertit en una sofisticada i potent ferramenta independent del transport per a la transferència i gestió d’arxius, incorporant, entre altres coses:

Transmissió de grups d’arxius
Transmissió dels atributs d’arxiu (grandària, data, permisos, etc)
Conversió de noms d’arxiu, formats de registre, i conjunts de caràcters
Opcions per a la gestió de col·lisions d’arxius, incloent-hi una funció “update”
Recuperació de la transferència d’arxius (represa d’una transferència interrompuda des del punt en què va fallar)
Càrrega i descàrrega automàtica/a>
Transferència i gestió d’arxius client/servidor
Commutació automàtica a mode text/binari per cada arxiu durant la transmissió de grups d’arxius
Transferència recursiva de directoris, fins i tot entre diferents plataformes
Servicis uniformes en les connexions serie i de xarxa
Un Dimoni de servici Kermit per a Internet

El protocol Kermit utilitza paquets ben definits, seqüenciats, sense errors, en totes dues adreces per a realitzar una sessió de transferència d’arxius, seguint les regles estàndard d’un protocol per capes. Els paquets estan dissenyats per a la màxima transparència, perquè puguen passar a través de qualsevol mitjà de comunicació, sense importar el restrictiu que siga. Es poden utilitzar modes half-duplex (parada i espera), full-duplex (finestres lliscants amb retransmissió selectiva), i de streaming continu per a adaptar-se a qualsevol connexió.

La característica que distingix el protocol Kermit de la majoria dels altres és la seua àmplia gamma d’ajustos per a permetre l’adaptació a qualsevol tipus i qualitat de connexió entre dos tipus d’ordenador – longitud del paquet, codificació de paquets, grandària de la finestra, el conjunt de caràcters, mètode de detecció d’errors, pauses, expiracions. Quasi tots els altres protocols estan dissenyats per a treballar només en uns certs tipus o qualitats de connexions, i/o entre uns certs tipus de computadores o com a sistemes d’arxius, i per tant funcionen mal (o no funcionen) en altres entorns i oferixen pocs mètodes (o cap) per a adaptar-se a situacions imprevistes. Kermit, d’altra banda, li permet realitzar amb èxit una transferència d’arxius amb el rendiment més alt possible en qualsevol connexió.

A diferència de FTP o X-, I-, i ZMODEM (els altres protocols amb els quals quasi sempre es compara a Kermit) el protocol Kermit no assumix ni exigix:

una connexió dúplex completa;
una connexió que siga transparent als caràcters de control;
una connexió de 8-bit;
una connexió neta;
búferes grans durant la ruta de comunicació;
Control de flux en la capa física/d’enllaç

(encara que Kermit no requerix cap d’estes condicions, es pot beneficiar d’elles quan estan disponibles). Un article sobre el protocol Kermit de Tim Kientzle publicat en l’edició de febrer de 1996 del Dr. Dobb’s Journal nseñaló que “l’enfocament per finestres de Kermit és més ràpid que protocols com XModem i YModem… El que moltes persones no s’adonen és que, en condicions menys ideals, l’enfocament per finestres de Kermit és significativament més ràpid que ZModem, un protocol amb una reputació ben merescuda per a transferències ràpides sobre línies de bona qualitat . L’eficiència del protocol Kermit s’analitza en profunditat ací i ací .

Així, les transferències de Kermit funcionen “out of the box” quasi sempre. I a un nivell més alt, el llenguatge de comandos de Kermit permet tot tipus de criteris de selecció d’arxius que poden ser usats en qualsevol combinació, per exemple:

Ús de comodins i patrons per a seleccionar noms d’arxiu
Selecció per rangs de data
Selecció per rangs de grandària
Només arxius de text
Només arxius binaris
Només arxius que no existixen en l’altre extrem, o que són més nous
Llestes d’excepcions i patroness

per a aconseguir quasi qualsevol agrupació que puga imaginar. Durant el trànsit, es pot convertir el joc de caràcters d’un arxiu, passar-lo a través d’un filtre, etc, i quan la transferència es completa amb èxit, l’arxiu d’origen es pot esborrar o canviar de nom, l’arxiu de destí es pot esborrar o enviar per correu, etc.

The original Kermit book El protocol de transferència d’arxius de Kermit s’explica en el llibre, Kermit, un protocol de transferència d’arxius per Frank dona Cruz, amb un pròleg de Donald Knuth.

Una especificació i verificació formal del protocol Kermit va ser publicada per James Huggins, de la Universitat de Michigan, en 1995.

EXEMPLE DE LA TRANSFERÈNCIA D’ARXIUS DE KERMIT

Vegem el cas comú on té una computadora d’escriptori Windows amb una connexió – qualsevol tipus de connexió (mòdem, port serie, Telnet normal, Telnet segur, rlogin, rlogin segur, SSH) – a una sessió shell en un servidor Unix (“Unix” = Linux, Mac US X, FreeBSD, Solaris, AIX, HP-UX, etc) i desitja transferir un arxiu entre el seu PC i el servidor Unix. L’emulador de terminal en Windows és Kermit 95 i el servidor Unix té C-Kermit o G-Kermit instal·lat, que es pot invocar simplement escrivint “kermit” en l’intèrpret de comandos (o pot ser que “ckermit” o “gkermit”).

Per a descarregar un arxiu, per exemple, message.txt, escriga el següent en la línia de comandos:

kermit -s message.txt

L’arxiu s’envia al directori actual de Kermit 95 en el seu PC (o en el seu DIRECTORI DE DESARAGA si s’ha definit un). No importa si l’arxiu és de text o binari; Kermit ho esbrina automàticament i ho transferix en el mode apropiat.

De la mateixa manera, si desitja transferir un grup d’arxius, per exemple, tots els arxius els noms dels quals comencen amb : daily. :

kermit -s daily.*

Kermit envia cada arxiu que coincidisca, canviant automàticament entre el mode text i binari segons corresponga per a cada arxiu (daily.jpg, daily.xls, daily.txt…).

Carregar un arxiu des del seu PC a Unix és igual de fàcil. Supose que té un arxiu anomenat budget.xls en el directori actual de Kermit 95 en el seu PC. Per a pujar-ho a UNIX, escriga el següent en el shell d’Unix:

kermit -g budget.xls

Eixos són els fonaments; hi ha moltes variacions i millores, per exemple:

Només transferir els arxius que són més recents que els equivalents en l’altre extrem.
Convertir els jocs de caràcters dels arxius de text (per exemple, entre ISO 8859-1 i Unicode UTF-8)
Recuperar una transferència parcial des del punt que va fallar (solament en mode binari).

Pot estalviar un poc de tecleig, definint un àlies en Unix (en el seu perfil de shell):

àlies s=”kermit -Ys”
àlies g=”kermit -Yg”

(s de Send, g de Get). I llavors:

s message.txt
g budget.xls

Val la pena assenyalar que transferirà els seus arxius a través de la mateixa connexió que ja té, per la qual cosa no hi ha necessitat d’establir una nova connexió, tornar a autenticar-se, o tràmits similars. Si la connexió està assegurada per SSH, Kerberos, SSL, TLS, o SRP, llavors la transferència d’arxius és també segura.

Això marca un grau sense precedents de comoditat. Quan es demana a C-Kermit en Unix enviar o rebre un arxiu, el primer paquet de la transferència es reconeix automàticament per l’emulador de terminal de Kermit 95 i K95 canvia a mode de recepció o de servidor, depenent de l’adreça, i, quan la transferència ha acabat, K95 torna a la seua pantalla d’emulació de terminal. Si es produïx un error (per exemple, si vosté no té permisos d’escriptura en el directori de destí) K95 roman en la pantalla de transferència d’arxius perquè puga veure quin era el problema.

 

Desafortunadament, la majoria d’informació sobre el programari i el protocol Kermit que es troba en els llocs web externs és inexacte o molt antiquat. Fins i tot el relativament favorable article de Wikipedia se centra en detalls i curiositats llargament oblidades fa 30 anys i fa cas omís dels constants progressos que s’han fet des de llavors.