À propos de Kermit

The Kermit Project | Now hosted by Panix.com
New York City USA • kermit@kermitproject.org
…since 1981

Contenu

Dernière mise à jour :Lundi, 23 Juillet 09:29:50 2018

NOUVELLES

o   30 Octobre 2013: Transcriptions de l’Histoire Orale du projet Kermit au Musée d’Histoire de l’Ordinateur:

o   Panneau d’Histoire Orale du Projet Kermit

o    Histoire Oral ede Joe Doupnik(MS-DOS Kermit)

  • 29 Octobre 2013: L’archive du Document de Projet Kermit au Musée d’Histoire de l’Ordinateur [catalogue].
  • Le développement de C-Kermitse poursuit.

En vigueur à compter du 1er Juillet 2011…

  • Le projet Kermit à l’Université de Columbia a été annulé.
  • Un nouveau site Web du projet Kermit a été ouvert à l’adresse http://www.kermitproject.org.
  • Tous les logiciels Kermit ont reçu une licence Open Source.
  • L’archive ftp de Kermit et le site Web de Columbia resteront en place (mais ne changeront pas).

Bienvenue sur le nouveau projet Open-Source Kermit Project.

Annonce  Plan de Transition   Kermit 95   C-Kermit   E-Kermit   Autres Logiciels Kermit

QU’EST-CE QUE KERMIT ?

Kermit est le nom d’un protocole de transfert et de gestion de fichiers et d’une suite de programmes informatiques pour de nombreux types d’ordinateurs qui implémente ce protocole ainsi que d’autres fonctions de communication allant de l’émulation de terminal à l’automatisation des tâches de communication par le biais d’un langage de script multiplateforme de haut niveau. Le logiciel est indépendant du transport, fonctionnant sur des connexions TCP/IP en mode texte clair traditionnel ou sécurisé par SSH, SSL/TLS, Kerberos IV ou V, ainsi que sur des connexions de port série, modems et autres méthodes de communication (X.25, DECnet, divers protocoles LAN tels que NETBIOS et LAT, ports parallèles, etc, sur des plates-formes particulières).

Le projet Kermit a été fondé au Columbia University Computer Center (maintenant CUIT) en 1981 pour répondre à un besoin spécifiqueet jusqu’au milieu des années 1990, Kermit était le logiciel de connectivité de bureau standard de Columbia, utilisé universellement par les étudiants, les professeurs et le personnel pour connecter les micro-ordinateurs de bureau, les PC, les Macintosh et les stations de travail Unix aux installations informatiques centrales: les mainframes IBM (1963-2017), DEC SYSTEM-20s (1977-1988), CLIO (le premier système d’information de bibliothèque en ligne de Columbia, 1984-2003), et Cunix (nos serveurs Unix, 1986-présent), et aux VAX, PDP-11, Suns, et autres mini-ordinateurs ministériels. Dans les premiers temps des micro-ordinateurs et des PC, mais avant du déploiement généralisé des réseaux locaux et des postes de travail de bureau qui y étaient connectés, le logiciel Kermit reliait le bureau au courrier électronique, aux tableaux d’affichage, au partage de fichiers, au traitement de texte, à la messagerie et à d’autres aspects de la nouvelle culture en ligne qui est maintenant considérée comme allant de soi, bien avant que l’expérience n’était disponible dans la plupart des autres institutions. À Columbia, les DEC-20s et les mini-ordinateurs du département ont disparu depuis longtemps et les mainframes IBM ne sont plus utilisés que pour le backoffice, mais le logiciel Kermit est toujours utilisé pour les sessions SSH du bureau à CUNIX, et par le personnel technique pour les tâches d’administration système et réseaus; par exemple, la configuration de racks pleins de serveurs lames HP àleur arrivée, la gestion du système téléphonique de l’Université, les scripts CGI,lapagination alphadu personnel “on-call”, et ainsi de suite. De plus, bien sûr, il y a des anciens qui préfèrent simplement la sécurité et l’efficacité des sessions en mode texte pour le courrier électronique et pour accomplir leur travail; par exemple, le développement de logiciels et la gestion de sites Web.

Au fil des ans, le projet Kermit s’esttransformé en une coopérative mondiale de développement et de distribution de logiciels à but non lucratif, dont le siège social et la coordination sont situés à l’Université Columbia, puisque les logiciels Kermit ont été portés ou développés pour de plus en plus d’ordinateurs et de systèmes d’exploitation (voir la liste). Le projet Kermit est consacré à la production de logiciels de communication interplateformes, durables, stables,conformes aux normes et interopérables, et s’est activement engagé dans le processus de normalisationLes logiciels Kermit sont utilisés dans le monde entier dans tous les secteurs de l’économie: gouvernement national, gouvernement d’état et local, universités, médecine et soins de santé, ingénierie, aérospatiale, à but non lucratif et commercial.

Bien que l’émulation de terminal ait été largement supplantée par le Web pour l’accès en ligne, le logiciel Kermit continue à jouer un rôle dans d’autres applications telles que la télédétection et la collecte de données, la gestion et le dépannage de l’équipement de réseau et de télécommunications, le travail administratif, la gestion du fret et des stocks, la soumission des demandes de règlement d’assurance médicale, le transfert électronique de fonds et la production en ligne des déclarations d’impôt sur le revenu. Les logiciels Kermit sont intégrés dans les routeurs et commutateurs de réseau, dans les tours de téléphonie cellulaire, dans les équipements de diagnostic et de surveillance médicale, même dans les stimulateurs cardiaques, sans parler des caisses enregistreuses de quelques grands revendeurs “big box”. En 2002, Kermit a volé sur la Station spatiale internationale,et le logiciel Kermit est la méthode de communication utilisée par les flotteurs océaniques EM APEX (à gauche) fournissant des données en temps réel aux chercheurs et aux traqueurs d’ouragans jusqu’à ce jour(le projet sur les ouragans est entré dans une nouvelle phase élargie en 2010 sur la base d’une nouvelle version de Kermit Embedded).

Depuis les années 1980, le protocole et les logiciels Kermit ont été utilisés enusinedans les machines de découpe programmable, les presses plieuses, le laminage, les rouleaux plats, le cisaillage, la transformation du métal et du plastique, le travail du bois et d’autres machines. Par exemple, dans la fabrication du Boeing 787,où Kermit est utilisé pour contrôler une couche de bande qui forme certains composants de la carrosserie. Pour en savoir plus sur l’utilisation de Kermit dans l’usine, cliquez ici et ici.

Dans les années 1990, lelogiciel Kermit a été utilisé dans l’automatisation des bureaux de poste américains,il a joué un rôle clé dans lesélections nationales brésiliennes de 1994 (la plus importante dans l’histoire du monde jusqu’à cette époque), et il était au centre de la mission de secours de l’ONU en Bosnie,“en reliant tout le spectre des opérations du projet, depuis l’ordinateur central, les mini-ordinateurs, les ordinateurs personnels, les appareils portatifs et les lecteurs de codes à barres “.

Dans les années 1980, larobustesse du protocole de Kermit convenait idéalement au service de larévolutionverteen Afrique, de lamission spatialeconjointe Europe- URSS Giotto,et peut-être plus particulièrement au rétablissement de la communication de données entre les stations de recherche américaines en Antarctique et le continent après leur interruption en 1986 lors d’une mésaventure informatique pendant les neuf mois d’hiver antarctique. En 1988, une conférence internationale sur Kermit aété organisée à Moscou, en URSS, et des sessions Kermit ont été présentées lors d’autres conférences dans les années 1980 à Tokyo, Berne, Paris, Nashville et ailleurs.

Le protocole et le logiciel Kermit portent le nom de Kermit the Frog, star de la série télévisée The Muppet Show; le nom Kermit est utilisé avec la permission de Henson Associates, Inc.Pourquoi porte-t-il le nom de Kermit la grenouille?En mai 1981, nous avions déjà les premières implémentations du protocole de travail, mais nous n’avions pas encore de nom pour le protocole ou le logiciel. Un groupe d’entre nous en discutait (moi, Bill Catchings, Bill Schilit, Jeff Damens, je pense que c’était le groupe), sans trop s’en soucier, car nous ne nous attendions pas à ce que le logiciel se répande dans le monde entier et dure des décennies. J’étais face au mur qui montrait un calendrier des Muppets, et comme mes enfants étaient de grands fans du Muppet Show, j’ai dit: “Pourquoi pas Kermit? Trente ans plus tard (mai 2011) j’ai trouvé la page du calendrier que je regardais quand j’ai dit cela, vous pouvez la voir sur la gauche et vous pouvez cliquer dessus pour voir une image plus grande.

LOGICIEL KERMIT

Les logiciels Kermit ontété écrits pour descentaines d’ordinateurs et de systèmes d’exploitation différents, dont certains par des programmeurs volontaires dans le monde entier et d’autres par le personnel professionnel du projet Kermit. Les principales caractéristiques des programmes Kermit les plus populaires sont:

  • Établissement et maintenance de connexion pour une grande variété de méthodes de connexion (TCP/IP, X.25, LAN, port série, modem, etc).
  • Emulation de terminal.
  • Transfert de fichiers sans erreur.
  • Protocoles Internet, y compris Telnet, Rlogin, FTP et HTTP.
  • Méthodes de sécurité InternetKerberos compris, SSL/TLS, SSH et SRP.
  • Conversion de caractères lors de l’émulation de terminal et du transfert de fichiers – une caractéristique unique du logiciel Kermit.
  • Pagination numérique et alphanumérique.
  • Programmation de scripts pour automatiser des tâches compliquées ou répétitives.

L’interface utilisateur et le langage de programmation de script de Kermit sont cohérents entre les plates-formes et les méthodes de communication, ce qui permet à l’investissement dans l’apprentissage de se rentabiliser à chaque fois que vous passez d’une plate-forme à l’autre, d’une méthode de communication à l’autre.

Nos premières implémentations du logiciel Kermit sont:

C-Kermit et IBM Mainframe Kermit sont des packages basés sur l’hôte avec une polyvalence inégalée. Kermit 95 et MS-DOS Kermit sont des logiciels de communication de bureau complets qui rivalisent avec la qualité de tout ce qui se trouve sur le marché, à l’exception peut-être de la conception de l’interface utilisateur: les programmes Kermit suivent le mode texte et la commande d’antan, ce qui est déconcertant pour certaines personnes jusqu’à ce qu’elles réalisent les avantages:

  • L’ensemble de commandes est raisonnablement cohérent sur toutes les plates-formes, et presque totalement cohérent sur les plates-formes modernes telles que Windows, Mac OS X, Linux et VMS. Apprenez-le une fois, utilisez-le partout.
  • Les commandes peuvent être combinées en “macros” ou “programmes” pour automatiser n’importe quelle tâche qui peut être effectuée à la main, comme décritici.En fait, dans C-Kermit et Kermit 95, le langage de commande est un langage de programmation complet avec des variables, des structures de contrôle, des fonctions, des “sous-routines”, plus quelques surprises.
  • Vous n’avez pas besoin de connaître les commandes à l’avance ni de les taper en entier. Le style de commande est appelé “menu contextuel à la demande” (vous voyez les choix disponibles lorsque vous tapez un point d’interrogation), et les mots-clés peuvent être abrégés. Il y a beaucoup d’aide intégrée, et beaucoup plus d’aide à trouver sur le site Web de Kermit; par exemple le tutoriel C-Kermit et le tutoriel Kermit 95,juste pour commencer.
  • Les dactylographes peuvent travailler plus rapidement lorsqu’ils n’ont pas à éloigner leurs mains des touches et qu’ils souffrent moins de microtraumatismes pour la répétition du travail.
  • Certaines choses ne peuvent tout simplement pas être faites efficacement (ou pas du tout) en utilisant une interface graphique. Voici un exemple complètement aléatoire, mais ça fait ressortir le point:

Sur un PC, j’ai un répertoire qui contient des milliers d’images, ainsi que leurs vignettes. Pour chaque imagexxx.jpgil y a une vignettexxx-t.jpg.Je veux charger toutes les vignettes dans Photoshop. En utilisant la souris, cela prendrait toute la journée. Avec Kermit, vous pouvez le faire vite (à l’invite de commande Kermit) :

Et puis dans le sous-répertoire “thumbnails”, Ctrl-A pour “tout sélectionner” et glisser vers Photoshop (puis, si désiré, faire glisser les vignettes vers le répertoire d’origine avec un mouvement de souris, ou les renommer avec une commande Kermit).

Kermit 95 a été développé non seulement pour répondre aux besoins de Columbia en matière de connectivité de Windows 95 (et versions plus récentes) aux services centraux de texte, mais aussi pour collecter des fonds pour soutenir le projet Kermit. Contrairement à d’autres programmes Kermit, K95 était strictement commercial, disponible à la fois dans une version sous film rétractable (à droite) et dans des licences de droit à la copie en vracDepuis son lancement en 1995 jusqu’au milieu de l’année 2011, plus d’un quart de million de sièges sous licence en vrac ont été achetés. Environ 30 000 exemplaires emballés sous film rétractable ont été vendus, des milliers d’autres ont été achetés pour téléchargement sur e-académieet K95 a été licencié par plus de 100 universités ainsi que par des systèmes universitaires comme SUNY (64 campus avec environ 400 000 étudiants).

Le projet Kermit aété mis sur une base autofinancée en 1984, et à partir de ce moment jusqu’à son annulation en 2011, il a réalisé des revenus de 8 894 912,00 $pour l’Université, plus une subvention d’équipement (le projet Hermit) d’une valeur de3 000 000 000,00 $.

Livres Kermit   Kermit 95   C-Kermit   E-Kermit   G-Kermit   Versions du logiciel plus récentes

PROTOCOLE KERMIT

Depuis sa création en 1981, leprotocole Kermit s’estdéveloppé en un outil sophistiqué, puissant etextensible,indépendant du transport, pour le transfert et la gestion de fichiers, incorporant entre autres choses:

Le protocole Kermit utilise des paquets bien définis, séquencés, vérifiés par erreur dans chaque direction pour effectuer une session de transfert de fichiers, suivant les règles standard de stratification de protocole. Les paquets sont conçus pour une transparence maximale, de sorte qu’ils peuvent passer à travers n’importe quel moyen de communication, aussi restrictif soit-il. Le demi-duplex (arrêt et attente), le full-duplex (fenêtres coulissantes avec retransmission sélective) et le transport en continu peuvent être utilisés pour s’adapter à n’importe quelle connexion.

La caractéristique qui distingue le protocole Kermit de la plupart des autres est sa large gamme de paramètres pour permettre l’adaptation à tout type et qualité de connexion entre deux types d’ordinateur – longueur des paquets, codage des paquets, taille de la fenêtre, caractères, méthode de détection d’erreur, temps morts, pauses. La plupart des autres protocoles sont conçus pour ne fonctionner que sur certains types ou qualités de connexions, et/ou entre certains types d’ordinateurs ou de systèmes de fichiers similaires, et donc fonctionnent mal (ou pas du tout) ailleurs et offrent peu ou pas de méthodes pour s’adapter à des situations imprévues. Kermit, d’autre part, vous permet d’obtenir un transfert de fichiers réussi et la meilleure performance possible sur n’importe quelle connexion.

Contrairement à FTP ou X-, Y-, et ZMODEM (les autres protocoles avec lesquels Kermit est le plus souvent comparé), le protocole Kermit n’assume pas ou n’exige pas:

  • une connexion full-duplex;
  • une connexion transparente pour contrôler les caractères;
  • une connexion 8 bits;
  • une connexion propre;
  • de grands buffers tout au long du chemin de communication;
  • le contrôle du flux de la couche de liaison physique.

(bien que Kermit n’exige aucune de ces conditions, il peut en profiter lorsqu’elles sont disponibles). Un article de Tim Kientzle sur le protocole de Kermit dans le numéro de février 1996 du Dr. Dobb’s Journal notait que “l’approche de Kermit est plus rapide que les protocoles tels que XModem et YModem … Ce que beaucoup de gens ne réalisent pas, c’est que dans des conditions moins qu’idéales, l’approche de Kermit est beaucoup plus rapide que ZModem, un protocole avec une réputation bien méritée pour des transferts rapides sur des lignes de bonne qualité”. L’efficacité du protocole Kermit est analysée en profondeuricietici.

C’est ainsi que Kermit transfère le travail “hors de la boîte” presque à chaque fois. Et à un niveau supérieur, le langage de commande Kermit permet d’utiliser toutes sortes de critères de sélection de fichiers pratiques dans n’importe quelle combinaison, par exemple:

  • “Wildcards” et motifs pour faire correspondre les noms de fichiers
  • Sélection par dates
  • Sélection par gamme de taille
  • Seulement les fichiers texte
  • Seulement les fichiers binaires
  • Seulement les fichiers qui n’existent pas à l’autre bout ou qui sont plus récents.
  • Listes d’exceptions et modèles d’exception

pour accomplir presque tous les regroupements que vous pouvez imaginer. En transit, un fichier peut avoir ses caractères converti, il peut passer à travers un filtre, etc, et une fois que le transfert a réussi, le fichier source peut être supprimé ou renommé, le fichier de destination peut être renommé ou envoyé par la poste, et ainsi de suite.

La spécification du protocole de Kermit

La spécification du protocole de transfert de fichiers Kermit est expliqué dans le livre Kermit, A File Transfer Protocol de Frank da Cruz, avec un avant-propos deDonald Knuth (maintenant disponible en ligne en format PDF). La spécification est également disponible en ligne dans la sixième édition du Manuel du Protocole de Kermit (1986). Dans les deux cas, il manque quelques raffinements ultérieurs, mais ils incluent le mode serveur, les paquets longs, les fenêtres coulissantes, etc. La documentation pour les ajouts ultérieurs au protocole est recueillie est accessible au publicICI. Unespécification et vérification formelle du protocole Kermit a été publiée par James Huggins de l’Université du Michigan en 1995; vous pouvez le télécharger ICI.

EXEMPLE DE TRANSFERT DE FICHIERS KERMIT

Regardons le cas courant où vous avez un ordinateur de bureau Windows avec une connexion – tout type de connexion (modem, port série, Telnet régulier, Telnet sécurisé, rlogin, rlogin sécurisé, SSH) – à une session shell sur un serveur Unix (“Unix” = Linux, Mac OS X, FreeBSD, Solaris, AIX, HP-UX, etc) et vous voulez transférer un fichier entre votre PC et le serveur Unix. Votre émulateur de terminal sous Windows est Kermit 95 et le serveur Unix a installéC-Kermit ou G-Kermit,qui peut être invoqué simplement en tapant “kermit” à l’invite de l’interpréteur de commandes (ou peut-être “ckermit” et “gkermit”).

Pourtéléchargerun fichier, par exemple,message.txt, vous tapez la commande suivante à l’invite du shell:

kermit -s message.txt

Le fichier est envoyé dans le répertoire courant de Kermit 95 sur votre PC (ou dans sonrépertoire DOWNLOAD DIRECTORY si vous en avez défini un). Peu importe si le fichier est texte ou binaire; Kermit le calcule et le transfère automatiquement dans le mode approprié.

De même, si vous voulez transférer un groupe de fichiers, disons, tous les fichiers dont le nom commence par”daily”:

kermit -s daily.*

Kermit envoie chaque fichier qui correspond, passant automatiquement du mode texte au mode binaire selon les besoins de chaque fichier (daily.jpg, daily.xls, daily.txt, …).

Le transfert d’un fichier de votre PC vers Unix est tout aussi simple. Supposons que vous ayez un fichier appelé”budget.xls” dans le répertoire courant de Kermit 95 sur votre PC. Pour le télécharger vers UNIX, tapez ceci à l’invite du shell Unix :

kermit -g budget.xls

Ce sont les bases; il y a beaucoup de variations et de raffinements, par exemple :

  • Ne transférez que des fichiers plus récents que les fichiers de l’autre côté.
  • Convertir les caractères des fichiers texte de manière appropriée (par exemple entre ISO 8859-1 et Unicode UTF-8).
  • Récupérer un transfert partiel à partir du point de défaillance (mode binaire uniquement).

Pour vous éviter d’avoir à taper, vous pouvez définir des alias sur Unix (dans votre profil shell) :

alias s=”kermit -Ys”.

alias g=”kermit -Yg”.

(spour “Send”,gpour “Get”). Et puis :

s message.txt

g budget.xls

Il est intéressant de noter que vous transférez vos fichiers sur la même connexion que vous avez déjà; il n’est donc pas nécessaire d’établir une nouvelle connexion, de vous ré-authentifier ou une bureaucratie similaire. Si la connexion est sécurisée par SSH, Kerberos, SSL, TLS ou SRP, le transfert de fichiers est également sécurisé, automatiquement.

Il s’agit d’un degré de confort inégalé. Lorsque vous dites à C-Kermit sur Unix d’envoyer ou d’obtenir un fichier, son premier paquet de transfert de fichiers est reconnu automatiquement par l’émulateur de terminal de Kermit 95 et K95 passe en mode réception ou en mode serveur, selon la direction, et lorsque le transfert est terminé, K95 retourne à son écran d’émulation de terminal. S’il y a une erreur (par exemple, si vous n’avez pas les droits d’écriture dans le répertoire de destination), K95 reste dans son écran de transfert de fichiers pour que vous puissiez voir quel était le problème.

Les mêmes procédures fonctionnent également Unix-to-Unix, K95-to-VMS, Unix-to-VMS, Unix-to-VMS, VMS to Unix, ou OS/2 to VMS or Unix, tant que vous utilisez K95 ou C-Kermit comme programme terminal.

CONTROVERSIES

Voir aussi: Les idées fausses populaires.

Au fil des années, le projet Kermit et les logiciels ont fait l’objet de beaucoup de controverses, notamment:

Licence

Dès le début, nous voulions que le logiciel Kermit soit gratuit pour tout le monde. Mais à partir de 1984, l’Université Columbia nous a obligé à trouver un moyen de la rentabiliser, c’est-à-dire de payer les salaires du personnel à temps plein et à temps partiel, ainsi que l’équipement, les fournitures, le téléphone, etc. Sinon, nous ne serions pas autorisés à continuer à développer, maintenir, distribuer et supporter le logiciel, qui était alors devenu populaire dans le monde entier.

Notre solution était de garder le logiciel libre pour chaque individu et organisation pour son propre usage, mais d’exiger des entreprises de le licencier si elles allaient l’associer à un produit ou le fournir autrement à des clients; c’est-à-dire, si elles cherchaient à faire de l’argent de notre travail. De cette façon, ilspourraientgagner de l’argent, mais ils devraient le partager avec ceux qui ont fait le travail.

Lorsque le mouvement du Logiciel Libre a pris racine, ses partisans se sont vigoureusement opposés à cette approche, mais il a permis au projet Kermit de continuer encore 10 ans. Puis en 1994, avec la sortie prochaine de Microsoft Windows 95, nous avons décidé de sortir le seul et unique programme Kermit qui était 100% commercial: Kermit 95Ce produit a permis au projet Kermit de prospérer jusqu’à l’année 2003 environ, lorsque l’économie américaine et mondiale a commencé à s’effondrer, et de continuer à exister sous une forme de plus en plus réduite jusqu’en 2011, lorsque le projet Kermit à l’Université Columbia a finalement été annulé. À ce moment-là, puisque le travail de personne n’en dépendait plus, tous les logiciels Kermit sur lesquels nous avions des droits complets ont été placés sous une licence Open Source,et maintenant tout le monde est content sauf ceux qui ont perdu leur emploi et ceux qui ont appelé notre numéro de support technique gratuit chaque fois qu’ils avaient besoin d’aide. Et il y avait ceux qui se demandaient pourquoi il n’y avait jamais eu d’autre version de Kermit 95.

Kermit vs X/Y/ZMODEM

Le protocole de transfert de fichiers XMODEM a été développé ailleurs en 1977 pour le transfert de fichiers par téléphone d’un micro-ordinateur à un autre, et a donc été largement utilisé par les amateurs d’informatique, les amateurs de magazines BYTE, les utilisateurs et les administrateurs de systèmes BBS, etc. Ses successeurs, tels que YMODEM et ZMODEM, ont grandi dans la même culture, servant à peu près la même base d’utilisateurs. Dans le monde BBS, les liens de communication étaient toujours 100% transparents à toutes les 256 octets, permettant à ces protocoles d’être relativement simples et de bien fonctionnerdans cet environnement; ainsi les amateurs de la culture BBS/hobbyiste n’avaient aucune raison d’avoir besoin ou d’apprendre sur Kermit.

Le protocole Kermit, par contre, a été conçu pour les connexions de micro-ordinateurs centraux, qui étaient beaucoup moins tolérants et beaucoup plus exigeants parce que les connexions étaient rarement transparentes et que les ordinateurs sous-jacents étaient radicalement différents; par exemple, ils pouvaient utiliser des formats de fichiers et des caractères différents pour le stockage de fichiers. Kermit, alors, s’adressait davantage aux institutions – universités, hôpitaux, entreprises, agences gouvernementales – qui avaient des salles de machines avec de grands ordinateurs centraux partagés ou une diversité de mini-ordinateurs départementaux plus des utilisateurs individuels avec des PC ou des postes de travail sur leur bureau, plutôt qu’aux amateurs avec des micro-ordinateurs personnels relativement homogènes.

XMODEM était un protocole douloureusement lent, de sorte que l’impulsion était de le faire évoluer vers des protocoles de plus en plus rapides, d’où YMODEM et ZMODEM étaient conçus. Mais les nouveaux protocoles MODEM supposaient toujours une connexion (plus ou moins) 100% transparente entre deux ordinateurs identiques ou très similaires.

Lorsque YMODEM et ZMODEM sont apparus, les gens ont commencé à critiquer le protocole Kermit pour sa lenteur, comme c’était le cas à l’origine: des paquets courts parce que la plupart des mainframes ne pouvaient pas supporter de longues salves de données entrantes d’un terminal; des arrêts et attentes en demi-duplex parce que les mainframes d’IBM ne supportaient pas la communication full-duplex; des encodages imprimables pour les caractères de contrôle et des caractères 8 bits parce que ceux-ci ne pouvaient pas passer à travers le pilote du terminal du mainframe. Ainsi, le protocole original de Kermit était “le plus petit dénominateur commun” parmi toutes les plates-formes où il devait fonctionner (et bien d’autres, d’ailleurs, comme il s’est avéré). Sa principale force était qu’il était adaptable à n’importe quelle plate-forme ou méthode de communication, y compris celles où la famille XMODEM n’entrait pas du tout ; par exemple, dans le monde des mainframes d’IBM.

Pendant ce temps, certains logiciels BBS proposaient le protocole Kermit sur leurs menus de téléchargement, mais ces implémentations Kermit étaient invariablement minimales (c’est-à-dire lentes), souvent boguées et parfois totalement non fonctionnelles (voir la page d’idées fausses populaires sur les implémentations de protocoles Kermit tiers). Cela tend à renforcer l’impression au sein de la culture hobbyiste que le protocole de Kermit était lent.

Pour traiter les plaintes de performance, nous avons profité de l’extensibilité intrinsèque du protocole Kermit (dans lequel les transferts commencent par une phase de négociation des caractéristiques) pour ajouter des options pour les paquets plus longs et pour les fenêtres coulissantes full duplex avec retransmission sélective, ainsi que des options pour la compression et pour profiter des connexions transparentes et/ou sans erreur (par exemple, les connexions réseau) lorsqu’elles étaient disponibles. Ces changements ont rendu le protocole Kermit aussi rapide ou plus rapide que ZMODEM sans sacrifier son universalité, ses caractéristiques de conversion de données, sa robustesse et (ce qui est le plus important) sa rétrocompatibilité (c’est pourquoi vous ne voyez pas de protocoles séparés : XKERMIT, YKERMIT, ZKERMIT, ZKERMIT). Les changements de rendement remontent à 1993 environ; voir les points de repère.

Néanmoins, chaque camp avait ses adhérents basés en grande partie sur sa propre culture et chacun avait tendance à rejeter l’autre, une tendance qui se poursuit jusqu’à aujourd’hui. La plupart des critiques de Kermit basent leurs observations sur les logiciels Kermit du début des années 1980, ou sur les implémentations de protocoles Kermit par des tiers, qui ont tendance à mal fonctionner. Pour une discussion plus détaillée, voir la page sur les idées fausses.

En 2013, j’ai remarqué la discussion Slashdotsur l’annulation du projet Kermit à l’Université de Columbia .Il illustre bien le sujet actuel, car la discussion est dominée par les hobbyistes et les utilisateurs de BBS. Mais quelques utilisateurs avertis de Kermit y ont également contribué; voici quelques exemples:

  • Wow, à l’université et après l’université, j’ai utilisé ce protocole à tant d’endroits et tant de façons que je ne peux même pas commencer à compter. C’était un protocole très conservateur qui pouvait passer par presque tout. Une fois, je l’ai fait passer d’un ordinateur portable via une connexion modem à un commutateur de données Equinox à travers dún commutateur de données AT&T 3b5 Unix, puis de retour à l’Equinox (pour changer la vitesse de 300 baud à 9600 baud) et à nouveau à travers un convertisseur de protocole IBM 7171, pour finir avec un IBM 4361. Et il a pu transférer les fichiers apparemment. Une autre fois, j’ai dû tester un simulateur de terminal DECNET sur un Sun (l’ancienne version échouerait au milieu de la journée pendant les jours les plus chargés). J’ai donc utilisé kermit pour me connecter à l’hôte 1, puis à l’hôte 2, de nouveau à l’hôte 1, de nouveau à l’hôte 2, je pense à peu près 40 fois. Puis j’ai fait un transfert de fichiers à travers toutes les connexions. Ça a marché.
  • Au début des années 90, j’étais responsable de connecter les premières universités roumaines (Bucarest, en particulier) à Internet. Comme nous ne pouvions pas obtenir l’IP pour diverses raisons techniques, nous avons décidé de leur envoyer des courriels dans l’intervalle, du moins. Le premier essai était avec l’uucp, mais ils ne pouvaient pas s’occuper de ses opérations du côté de Bucarest. Les lignes téléphoniques n’étaient pas assez stables. Ainsi, pendant les 6 premiers mois, le courrier électronique a été envoyé à Bucarest par transfert de fichiers Kermit, déclenché par un fatras de scripts MDA, invoqués par sendmail. Kermit était beaucoup plus robuste que n’importe quel autre protocole de transfert de fichiers à cette époque, nous pensions qu’il pourrait éventuellement gérer les transferts de bits sur des cordes à linge mouillées.
  • Oui, il est beaucoup utilisé dans le monde embedded. L’un des rares outils disponibles pour récupérer un appareil RS232 briqué. Utilisé sur des choses comme le gumstix, beagleboard, et beaucoup d’autres SBC comme les appareils embedded basés sur ARM. Si vous fabriquez/commandez des versions personnalisées ou si votre propre produit d’expédition ne contient pas d’alternatives comme les capacités de démarrage sur carte MMC/SD, c-kermit est l’une des rares choses qui vous permettent de démarrer, de charger le code, puis d’aller à la console à partir d’un seul outil sur de tels appareils. J’ai sauvé mon cul (et celui de mes employés) plusieurs fois sur des appareils encastrés avec des bugs.

Dans la même discussion, certains se plaignent qu’aucune explication adéquate n’a été donnée en ce qui concerne le fait que certains modules de Kermit 95 n’ont pas pu être publiés en Open Source. L’explication était, et est,ICI.

LIENS

 

Malheureusement, la plupart des informations sur le logiciel et le protocole Kermit que l’on trouve sur les sites Web externes sont inexactes ou datées. Même l’article relativement favorable de Wikipedia secon centre sur les détails et les trivia oubliés depuis le début des années 1980 et ignore pour la plupart les progrès constants réalisés depuis lors.

Translations courtesy of Canvas Prints Australia