Supporting the community

Proiectul Kermit

Ce este Kermit?

Frank da Cruz, Universitatea Columbia, fdc@columbia.edu

125th Street and Broadway NYC
Cuprins

 

Cea mai recenta actualizare: Miercuri 17 august 2011 07:40:55

STIRI

Incepand cu 1 iulie 2011, proiectul Kermit la Columbia a incetat sa mai existe. Aceasta nu este, cu toate acestea, un dangat moarte pentru software-ul Kermit:

  • Kermit FTP si site-urile vor ramane unde sunt.
  • Tot software-ului Kermit i-a fost dat o licenta Open Source.

Exista toate motivele sa credem ca, eliberat de legaturile sale corporative si cerinta de a se sustine din venituri, precum si cu noua licenta, Kermit se va bucura de o renastere.

CE ESTE KERMIT?

Kermit este numele unui fisier de transfer si un protocolul de administrare si o suita de programe de calculator pentru multe tipuri de calculatoare care implementeaza acest protocol, precum si alte functii de comunicare, de la emulare terminal la automatizarea sarcinilor de comunicare printr-un inalt nivel intre platforma limbaj de scripting. Software-ul este independent - de transport, care opereaza peste conexiunile TCP / IP in modul text clar traditionale sau garantate prin SSH, SSL / TLS, sau Kerberos IV sau V, precum si peste portul serial conexiuni, modemuri si alte metode de comunicare ( X.25, DECnet, diverse protocoale LAN, cum ar fi NETBIOS si LAT, porturi paralele, etc, pe platforme speciale).

Proiectul Kermit a fost fondat la Universitatea Centru de Calculatoare Columbia (acum CUIT) in 1981 pentru a satisface o nevoie specifica, si pana la mijlocul anilor 1990, Kermit a fost software-ul standard la Columbia pentru conectivitate desktop, utilizate in mod universal de catre studenti, profesori si personal pentru a conectati la microcalculatoare desktop, PC, Macintosh, si statii de lucru Unix la facilitatile de calcul central: mainframe IBM (1963-prezent), a DECSYSTEM-20 (1977-1988), CLIO (primul sistem Columbia on-line de informatii pentru biblioteca, 1984-2003) si Cunix (serverele noastre de bazate pe Unix, 1986-prezent), si departamentale VAXes, PDP-11S, Sun, si alte minicalculatoare. In primele zile ale microcalculatoarelor si PC-urilor, dar inainte de implementarea pe scara larga a retelelor locale si statiile de lucru desktop care conectate la ele, software-ul Kermit lega desktop-ul la e-mail, aviziere, partajarea de fisiere, procesare de text, mesaje, precum si alte aspecte ale nouii culturi on-line, care este acum uzuala, cu mult inainte de experienta a fost disponibila la majoritatea celorlalte institutii. La Columbia, CER-20 si minicalculatoarele departamentale sunt de mult apuse, iar mainframe-urile IBM sunt acum numai pentru utilizarea backoffice, dar software-ul Kermit este inca folosit pentru sesiuni SSH de pe desktop la CUNIX, si de catre personalul tehnic pentru sistemul de administrare de retea sarcini; de exemplu, configurarea rack-uri pline de servere blade HP pe masura ce sosesc, gestionarea sistemului de telefon al Universitatii, scripting CGI, alfa paginare personalului de garda, si asa mai departe.

 

De-a lungul anilor, proiectul Kermit a crescut intr-un efort de cooperare la nivel mondial de dezvoltare si distributie de software non-profit, cu sediul la si coordonat de Universitatea Columbia, cum software-ul Kermit a fost portat sau dezvoltat pentru mai multe si mai multe calculatoare si sisteme de operare (vezi lista). Proiectul Kermit este dedicat productiei de inter-platforme, de lunga durata, stabile, standarde conforme, software-ul de comunicatii interoperabile, si a fost implicat in mod activ in procesul de standarde. Software-ul Kermit este folosit peste tot in lume, in fiecare sector al economiei: guvernul national, de stat si locale, academice, medicina si asistenta medicala, inginerie, industria aerospatiala, non-profit, si comercial.

 

EM-APEX ocean float

Desi emularea terminala a fost inlocuita in mare masura de Web pentru acces on-line, software-ul Kermit continua sa joace un rol in alte aplicatii, cum ar fi teledetectie si colectarea datelor, gestionarea si depanarea echipamentelor de retea si telecomunicatii, munca de birou, marfa si gestionarea inventarului, asigurare medicala depunere cerere, prin transfer electronic de fonduri, si depunerea on-line a declaratiilor fiscale pe venit. Software-ul Kermit este incorporat in routerele de retea si switch-uri, in turnuri de telefoane mobile, in echipamente medicale de diagnostic si monitorizare, in programabil stantare si stantare prese si unelte pentru prelucrarea lemnului, chiar si in stimulatoarele cardiace, sa nu mai vorbim de casele de marcat de destul de putine nume celebre "cutie mare" comercianti cu amanuntul. In 2002 Kermit a zburat de pe Statia Spatiala Internationala, si software-ul Kermit este metoda de comunicare folosita de flotoare ocean EM APEX (stanga) furnizarea de date in timp real pentru cercetatori uragan si cautatori in ziua de azi (proiectul uragan intrat intr-o noua faza extins in 2010, pe baza o versiune noua a Kermit Incorporat).

In anii 1990 software-ul Kermit a fost utilizat in automatizare posta SUA, acesta a jucat un rol-cheie in 1994 alegerile nationale din Brazilia (cel mai mare din istoria lumii pana la acel moment), si a fost esentiala pentru misiunea de eliberare ONU in Bosnia , „care leaga intregul spectru al operatiunii de proiect, de la mainframe, minicalculatoare, PC-uri, pentru dispozitive portabile si cititoare de coduri de bare.“

USSR Kermit sweatshirt

In anii 1980 robustetea protocolului Kermit se potriveste perfect pentru serviciul in Revolutia Verde din Africa, in comun misiunea spatiala europeana-URSS Giotto, si, probabil, mai ales in restabilind comunicarea de date intre SUA statiile de cercetare din Antarctica si pe continent dupa ce au fost taiate in 1986 intr-un incident de computer in timpul iernii antarctice de 9 luni. In 1988, o conferinta internationala pe Kermit a fost gazduit la Moscova, URSS, si sesiuni de Kermit au fost prezentate la alte conferinte pe parcursul anilor 1980 in Tokyo, Berna, Paris, Nashville, si in alta parte.

Muppets Calendar page from May 1981 Protocolul si software-ul Kermit sunt denumite dupa Kermit Broscoiul, vedeta serialului de televiziune, The Muppet show-ul; numele Kermit este folosit cu permisiunea Henson Associates, Inc. De ce este numit dupa Kermit Broscoiul? In luna mai a anului 1981 am avut deja primele implementari ale protocolului de lucru, dar nu am avut un nume pentru protocolul sau software-ul inca. Un grup de noi a discutat (eu, Bill Catchings, Bill Schilit, Jeff Damens, cred ca a fost grupul), fara sa ne pese prea mult, deoarece nu ne-am asteptat ca software-ul sa se raspandeasca in intreaga lume si dureaza mai mult de 30 de ani . S-a intamplat sa fiu cu fata la perete, care a avut un calendar Muppets pe ea, si deoarece copiii mei erau asemenea mari fani ai spectacolului Muppet am spus: „Ce zici de Kermit“? Treizeci de ani mai tarziu (mai 2011) am gasit pagina de calendar la care ma uitam cand am spus ca, il puteti vedea pe stanga si puteti sa faceti clic pe ea ca sa vedeti o imagine mai mare.

 

 

SOFTWARE-ul KERMIT

Software-ul Kermit a fost scris pentru sute de calculatoare si sisteme de operare, o parte din el de catre programatori voluntari din intreaga lume, o parte din el de catre personalul profesionist Kermit de proiect. Caracteristicile majore ale celor mai populare programe Kermit sunt:

  • stabilirea conexiunii si intretinere pentru o mare varietate de metode de conectare (TCP / IP, X.25, LAN, port serial, modem, etc).
  • Emulare terminal.
  • transfer de fisiere fara erori.
  • Protocoale de Internet, inclusiv Telnet, Rlogin, FTP, si HTTP.
  • metode de securitate pe Internet, inclusiv Kerberos, SSL / TLS, SSH, si SRP.
  • conversia de caractere-set atat in timpul emulare terminal si transfer de fisiere - o caracteristica unica a software-ului Kermit.
  • numeric si alfanumeric de paginare.
  • programare script pentru a automatiza sarcini complicate sau repetitive.

Interfata de utilizator si de programare script-ul de limbaj Kermit sunt consecvente pe toate platformele si metode de comunicare, care sa permita investitiile in procesul de invatare sa plateasca timp si din nou, pe masura ce trece de la o platforma la alta, o metoda de comunicare la altul.

premiera noastre implementari de software Kermit sunt:

  • Kermit 95 pentru Windows 95/98 / ME, Windows NT / 2000 / XP / Vista / 7, si OS / 2;
  • C-Kermit pentru UNIX, VMS, VOS, si alte cateva familii ale sistemului de operare;
  • E-Kermit pentru incorporare.
  • MS-DOS Kermit pentru DOS si Windows 3.x;
  • IBM Mainframe Kermit pentru VM / CMS, MVS / OTS, si CICS.

C-Kermit si IBM Mainframe Kermit sunt pachete bazate pe gazda, cu o gama de versatilitate fara egal. Kermit 95 si MS-DOS Kermit sunt programe software cu caracteristici complete de comunicare pentru desktop rivalizand calitatea cu orice altceva de (sau off) pe piata, cu exceptia, poate, in stridenta de interfata cu utilizatorul: programele Kermit urmeaza textul -in mod prompt si stilul- comenzii de odinioara, care este derutant pentru unii oameni, pana cand isi dau seama de avantaje:

:

  • Setul de comanda este destul de consistent pe toate platformele, si aproape in totalitate consecvent pe toate platformele moderne, cum ar fi Windows, Mac OS X, Linux si VMS. Invata-l o data, utilizati-l peste tot.
  • Comenzile pot fi combinate in „macro-uri“ sau „programe“ pentru a automatiza orice sarcina care poate fi facuta manual, asa cum este descris aici. De fapt, in C-Kermit si Kermit 95, limba de comanda este un limbaj complet de programare complet cu variabile, structuri de control, functii, „subrutine“, plus cateva surprize.
  • Nu ati cunosc comenzile in avans si nici nu le introduceti in intregime. Stilul de comanda se numeste „meniu contextual la cerere“ (vedeti optiunile disponibile atunci cand tastati un semn de intrebare), si cuvintele cheie pot fi abreviat. Exista o multime de ajutor incorporat, si o multime mai mult ajutor pentru a fi gasit pe site-ul Kermit; de exemplu tutorial C-Kermit si cel Kermit 95 tutorial, doar pentru inceput.
  • Dactilografele “prin atingere”pot lucra mai rapid atunci cand nu trebuie sa isi miste mainile departe de cheile de acasa, si sufera accidentari mai putin repetitive.
  • Anumite lucruri pur si simplu nu se pot face in mod eficient sau la toate folosind o interfata GUI. Iata un exemplu complet aleator, dar face punctul:

Pe un PC am un director care cuprinde mii de imagini, impreuna cu miniaturile. Pentru fiecare imagine xxx.jpg exista o miniatura xxx-t.jpg. Vreau sa se incarce toate miniaturile in Photoshop. Folosind mouse-ul, acest lucru ar lua toata ziua. Cu Kermit poti face ca acest lucru:
Kermit> mkdir thumbnails Kermit> rename *-t.jpg thumbnails/

Si apoi in subdirectorul miniaturi, Ctrl-A pentru a „selecta toate“ si glisati pentru Photoshop (si apoi, daca se doreste, trageti miniaturile inapoi in directorul original, cu o singura miscare mouse-ul, sau sa le redenumiti inapoi cu o singura comanda Kermit).

The Kermit 95 2.1 shrinkwrapped retail package

Kermit 95 a fost dezvoltat nu numai pentru a satisface nevoia Columbia pentru conectivitate de la Windows 95 (si mai tarziu), la serviciile bazate pe text centrale, dar, de asemenea, pentru a strange bani pentru a sprijini proiectul Kermit. Spre deosebire de alte programe de Kermit, K95 a fost strict comercial, disponibil atat in versiunea de vanzare cu amanuntul in pachet (dreapta) si in licentele in vrac de la dreaptul la copiere. De la lansarea sa in 1995 pana la jumatatea anului 2011, peste un sfert de milion de licente vrac au fost achizitionate in peste 1000 de licente variind in marime de la 100 la 10.000 de chei. Aproximativ 30.000 de exemplare au fost vandute in pachet, multe alte mii achizitionate pentru descarcare de la e-Academy, si a fost K95 licentiat in peste 100 de universitati precum si de intregi sisteme universitare in toata tara, cum ar fi SUNY (64 campusuri cu aproximativ 400.000 de studenti) licenta de site.

Proiectul Kermit a fost pus pe o baza de auto-finantare in 1984, si de atunci pana la anularea acestuia, in 2011, a realizat $ 8,894,912.00 in venituri pentru Universitatea, plus un grant de echipament (Proiectul Sihastru) in valoare de $ 3,000,000.00.

 

PROTOCOL-ul KERMIT

Inca de la inceputurile sale in 1981, protocolul Kermit s-a dezvoltat intr-un instrument sofisticat si puternic de transport independent pentru transferul de fisiere si de management, care incorporeaza, printre altele:

  • transmisie grup de fisiere
  • transmisia atributa de fisier (dimensiune, data, permisiuni, etc.)
  • Nume fisier, inregistrare format, si de conversie set de caractere
  • Optiuni de coliziune fisiere, inclusiv o caracteristica de „actualizare“
  • recuperare de transfer de fisiere (reluarea unui transfer intrerupt din punctul de esec)
  • incarcare automata si descarcare
  • / server de transfer si de gestionare a fisierelor de clienti
  • mod de comutare binar automat textului / pe-fisier in timpul transmiterii de file-grup
  • transfer recursiv de directorare de baza , chiar si intre platforme
  • Servicii uniform pe conexiunile seriale si de retea
  • Un Serviciul Daemon Kermit de Internet

Protocolul Kermit utilizeaza pachetele bine definite, esalonate, verificate erori in fiecare directie pentru a efectua o sesiune de transfer de fisiere, urmand regulile standard de stratificare de protocol. Pachetele sunt proiectate pentru transparenta maxima, astfel incat acestea sa poata trece prin orice mediu de comunicare, indiferent cat de restrictiv este. Half-duplex (opriti si asteptati), full-duplex (ferestre cu retransmisie selectiva de alunecare), precum si transportul de streaming continuu poate fi folosit pentru a se adapta la orice conexiune.

.

Caracteristica care distinge protocolul Kermit de cele mai multe altele este o gama larga de setari pentru a permite adaptarea la orice fel si calitate de conexiuni intre oricare doua tipuri de calculator - lungime de pachete, codare de pachete, dimensiunea ferestrei, set de caractere, metoda de eroare de detectare, time-out , pauze. Cele mai multe alte protocoale sunt proiectate pentru a functiona numai pe anumite tipuri sau calitati de conexiuni, si / sau intre anumite tipuri de calculatoare sau cum ar fi sisteme de fisiere, si, prin urmare, functioneaza prost (sau deloc), in alta parte si ofera putine, daca orice metode de a se adapta la neplanificate situatii. -pentru Kermit, pe de alta parte, va permite sa realizeze transferul de fisiere de succes si cea mai mare performanta posibila cu privire la orice conexiune de date.

Spre deosebire de FTP sau X, Y, si Zmodem (celelalte protocoale cu care Kermit este cel mai adesea comparat) protocolul Kermit nu presupune sau necesita:

  • o conexiune full-duplex;
  • o conexiune care este transparent pentru a controla caractere;
  • o conexiune de 8 biti;
  • o conexiune curata;
  • tampoane mari de-a lungul calea de comunicare;
  • legatura fizica a stratului de control al debitului.

(Desi Kermit nu are nevoie de nici una din aceste conditii, se poate profita de ele atunci cand acestea sunt disponibile). Un articol despre protocolul Kermit de Tim Kientzle in numarul din februarie 1996 Jurnalul Dr. Dobb a remarcat faptul ca „abordarea windowing Kermit este mai rapid decat protocoale, cum ar fi Xmodem si YModem. . . Ceea ce multi oameni nu realizeaza este faptul ca, in conditii mai putin decat ideale, abordarea windowing Kermit este mult mai rapid decat Zmodem, un protocol cu o reputatie bine meritata pentru transferuri rapide peste liniile de buna calitate.“Eficienta protocolului Kermit este analizat in profunzime aici si aici.

Astfel, transferurile Kermit functioneaza „diferit“ aproape de fiecare data. Si la un nivel mai inalt, limbajul de comanda Kermit permite tot felul de criterii de selectie de fisiere la indemana pentru a fi utilizate in orice combinatie, de exemplu:

  •  Metacaractere si modele pentru a se potrivi numele de fisiere
  • Selectarea prin intervale de date
  • Selectarea pe categorii de marime
  • Numai fisiere text
  • Numai fisierele binare
  • Numai fisierele care nu exista pe celalalt capat sau care sunt mai noi
  • liste de exceptie si modele

pentru a realiza aproape orice grupare va puteti imagina. In tranzit, un fisier poate avea un caracter set convertit, acesta poate fi trecut printr-un filtru, etc, si dupa transferul cu succes, fisierul sursa poate fi sters sau redenumit, fisierul destinatie poate fi redenumit sau trimis prin posta, si asa mai departe.

The original Kermit book Specificatiile protocolului de transfer Kermit sunt date in carte, Kermit, Un dosar de protocol de transfer de Frank da Cruz, cu o prefata de Donald Knuth.

O specificare formala si verificarea protocolului Kermit a fost publicat de James Huggins de la Universitatea din Michigan in 1995.

EXEMPLU  DE TRANSFER

Sa ne uitam cazul comun in care aveti un calculator desktop Windows cu o conexiune - orice fel de conexiune (modem, port serial, Telnet regulat, Telnet securizat, rlogin, rlogin sigure, SSH) - la o sesiune scoica pe un server Unix (“ Unix“= Linux, Mac OS X, FreeBSD, Solaris, AIX, HP-UX, etc) si doriti sa transferati un fisier intre PC si serverul Unix. Terminalul emulator de pe Windows este Kermit 95 si serverul de Unix are C-Kermit sau G-Kermit instalat, care poate fi invocata, pur si simplu prin tastarea „Kermit“ la prompt shell (sau poate „ckermit“ sau „gkermit“).

Pentru a descarca un fisier, sa zicem, message.txt, tastati urmatoarea comanda la cursor scoica:

Kermit -s message.txt

 

Fisierul este trimis la directorul curent Kermit 95 pe PC-ul (sau in directorul sau de DESCARCA daca ati definit unul). Nu conteaza daca fisierul este text sau binar; Kermit intelege si transfera in mod automat in modul corespunzator.

In mod similar, daca doriti sa transferati un grup de fisiere, spun, toate fisierele ale caror nume incep cu „de zi cu zi.“:

Kermit -s de zi cu zi. *

Kermit trimite fiecare fisier care se potriveste, comutand automat intre text si modul binar, dupa caz, pentru fiecare fisier (daily.jpg, daily.xls, daily.txt, ...)

Incarcarea unui fisier de pe PC-ul la Unix este la fel de usor. Sa presupunem ca aveti un fisier numit „budget.xls“ in directorul curent Kermit 95 pe PC. Pentru a-l incarca pe UNIX, tastati acest lucru la shell promptul Unix:

Acestea sunt elementele de baza; exista mai multe variante si rafinari; de exemplu:

  •  transfera numai fisierele care sunt mai noi decat omologii de la celalalt capat.
  • Conversia seturi de caractere de fisiere text in mod corespunzator (de exemplu, intre ISO 8859-1 si Unicode UTF-8).
  • Recuperarea unui transfer partial din punctul de esec (numai in modul binar).

Pentru a te scuti de ceva tastare, puteti defini aliasuri pe Unix (in profilul dvs. coaja):

alias s = "Kermit -Ys"

alias g = "Kermit -Yg"

(s pentrutTrimitere, g pentru primire). Si apoi:

s message.txt

g budget.xls

Este demn de remarcat faptul ca transferati fisierele pe aceeasi conexiune pe care o aveti deja; prin urmare, nu este nevoie de a face o noua conexiune, re-autentifice le sau birocratia similara. In cazul in care conexiunea este securizata prin SSH, Kerberos, SSL, TLS, sau SRP, atunci transferul de fisiere este, de asemenea, securizat.

Acest lucru marcheaza un grad neegalat de comoditate. Cand spun C-Kermit pe Unix pentru a trimite sau a obtine un fisier, primul pachet de transfer de fisiere este recunoscut automat de emulator de terminal Kermit 95 si K95 apare in oricare dintre modurile sau modul de server de a primi, in functie de directia, si cand transferul este terminat, K95 revine la ecranul sau de emulare terminale. Daca exista o eroare (de exemplu, in cazul in care nu aveti permisiunea de a scrie in directorul de destinatie) K95 ramane in ecranul sau de transfer de fisiere, astfel incat sa puteti vedea ce problema a fost.

LINK-uri

  • Kermit Bibliografie
  • Populare Prejudecati
  • Kermit Pagina principala a Proiectului
  • Software-ul Kermit pentru Unix si VMS
  • Software-ul Kermit pentru Windows
  • Kermit News 1986-1994
  • arhive grupurile de stiri Kermit 1994-2010
  • RFC 2839 ... RFC 2840
  • Automatizare
  • Mai mult de automatizare (avansat scripting FTP)
  • Standarde Activitati
  • Arhiva Software Kermit
  • Istoricul Kermit
  • Universitatea Columbia Istoria CAlculatoarelor

Din pacate, cele mai multe informatii despre software-ul Kermit si protocolul care se gaseste pe site-urile externe sunt inexacte sau foarte vechi. Chiar si articolul Wikipedia relativ favorabil se concentreaza pe detalii si generalitati uitate de acum 30 de ani si ignora in mare parte progresul constant, care a fost facut de atunci.

 


Ce este Kermit? / Frank da Cruz / kermit@columbia.edu / Cea mai recenta actualizare : 16 August 2011

Translated by: Irina Vasilescu

Link to the original page: Click Here

We love giving back to the community

We believe in helping people and that matter to us more than anything else. Since the very beginning of our company, our team have been willing and wishing to help.