Про Kermit

Оригінал статті: kermitproject.org

Frank da Cruz, [email protected]

125-а вулиця та Бродвей, Нью-Йорк

НОВИНИ

Набуло чинності з 1 липня 2011 року

  • Проект Керміта в Колумбійському університеті було скасовано
  • Відкрито новий веб-сайт проекту “Керміт” за адресою http://www.kermitproject.org.
  • Все програмне забезпечення Керміт отримало ліцензію з відкритим кодом.
  • Архів і веб-сайт Kermit ftp у Колумбії залишаться на місці (але не змінюватимуться).

Ласкаво просимо до нового проекту Керміт з відкритим кодом.

Оголошення Перехідна дорожня карта  Kermit 95 C-Kermit E-Kermit Інше програмне забезпечення Kermit

ЩО ТАКЕ KERMIT?

Kermit – це назва протоколу передачі файлів та управління ними та набору комп’ютерних програм для багатьох типів комп’ютерів, що реалізує цей протокол, а також інших комунікаційних функцій, починаючи від емуляції терміналу і закінчуючи автоматизацією комунікаційних завдань через перехід високого рівня – мова сценаріїв платформи. Програмне забезпечення не залежить від транспорту, працює через з’єднання TCP / IP у традиційному режимі чистого тексту або захищене SSH, SSL / TLS або Kerberos IV або V, а також через з’єднання послідовних портів, модеми та інші способи зв’язку (X.25, DECnet, різні протоколи локальної мережі, такі як NETBIOS та LAT, паралельні порти тощо на певних платформах).

Проект Керміт був заснований в Комп’ютерному центрі Колумбійського університету (нині CUIT) в 1981 році для задоволення конкретних потреб, і до середини та кінця 90-х років Керміт був стандартним програмним забезпеченням для підключення до настільних комп’ютерів Columbia, які універсально використовувалися студентами, викладачами та персоналом для підключення з настільними мікрокомп’ютерами, ПК, Macintoshes та робочими станціями Unix з центральними обчислювальними засобами: мейнфреймами IBM (1963-2017), DECSYSTEM-20 (1977-1988), CLIO (перша інтерактивна бібліотечна інформаційна система Columbia, 1984-2003) та Cunix (наші сервери, що базуються на Unix, з 1986 року по сьогоднішній день), а також до відомчих VAX, PDP-11, Suns та інших міні комп’ютерів. У перші дні використання мікрокомп’ютерів та ПК, але до широкого розгортання локальних мереж та настільних робочих станцій, які підключалися до них, програмне забезпечення Kermit пов’язувало робочий стіл з електронною поштою, дошками оголошень, спільним використанням файлів, обробкою тексту, обміном повідомленнями та іншими аспектами нової культури онлайн, яка зараз сприймається як само собою зрозуміле, задовго до того, як досвід був доступний у більшості інших установ. У Колумбії DEC-20 та відомчі мінікомп’ютери давно вже відійшли, і мейнфрейми IBM тепер призначені лише для використання в режимі доменів, але програмне забезпечення Kermit все ще використовується для сеансів SSH від робочого столу до CUNIX, та технічним персоналом для виконання системних та мережевих завдань; наприклад, налаштування стійок, заповнених серверами блейд-серверів HP, коли вони надходять, управління телефонною системою університету, сценарії CGI, альфа-сторінки для персоналу по виклику, тощо. Плюс, звичайно, старожили, які просто віддають перевагу безпеці та ефективності сеансів оболонки в текстовому режимі для електронної пошти та для того, щоб зробити свою роботу; наприклад, розробка програмного забезпечення та управління веб-сайтами.

Протягом багатьох років проект Kermit перетворився на всесвітню спільну діяльність з розробки та розповсюдження некомерційного програмного забезпечення, штаб-квартира якої знаходиться і координується в Колумбійському університеті, оскільки програмне забезпечення Керміт було перенесено на все більшу кількість комп’ютерів та операційних систем (див. перелік). Проект Kermit присвячений виробництву міжплатформенного, довготривалого, стабільного, сумісного із стандартами програмного забезпечення для взаємодії, і брав активну участь у процесі стандартів. Програмне забезпечення Kermit використовується у всьому світі в усіх галузях економіки: національному уряді, державному та місцевому уряді, академічному уряді, медицині та охороні здоров’я, машинобудуванні, аерокосмічній, некомерційній та комерційній.

Океанський поплавок EM-APEX

Незважаючи на те, що емуляція терміналів в основному витіснена Інтернетом для онлайн-доступу, програмне забезпечення Kermit продовжує відігравати роль в інших додатках, таких як дистанційне зондування та збір даних, управління та усунення несправностей мережевого та телекомунікаційного обладнання, робота з бек-офісом, управління вантажами та інвентарем, подання позовів про медичне страхування, електронний переказ коштів та подання декларацій з податку на прибуток через Інтернет. Програмне забезпечення Kermit вбудоване в мережеві маршрутизатори та комутатори, у вишки стільникових телефонів, у обладнання для медичної діагностики та моніторингу, навіть у кардіостимулятори, не кажучи вже про каси немало відомих роздрібних торговців “великої скриньки”. У 2002 році Керміт вилетів на Міжнародну космічну станцію, а програмне забезпечення Керміта є методом зв’язку, яким користуються Океанські плаваючі апарати EM APEX (ліворуч), що постачають дані в режимі реального часу дослідникам ураганів і трекерам до цього дня (проект урагану вступив у нову розширену фазу в 2010 році на основі нової версії Embedded Kermit).

Боїнг 787

Починаючи з 1980-х років, протокол і програмне забезпечення Kermit використовуються на заводських поверхах у програмованому штампному пресі, прес-гальмі, ламінуванні, плоскокатаному зсуві, різці, обробці металу та пластику, деревообробній та інших машинах. Наприклад, при виготовленні Boeing 787, де Kermit використовується для управління стрічковим шаром, який утворює певні компоненти кузова. Детальніше про те, як Керміт використовується на фабриці, ви можете прочитати тут і тут.

У 90-х роках програмне забезпечення Kermit використовувалося в автоматизації поштових відділень США, воно відіграло ключову роль у виборах у Бразилії в 1994 році (найбільших в історії на той час) і було центральним для місії ООН з надання допомоги в Боснії, “Пов’язуючи весь спектр операцій проекту, починаючи від мейнфрейму, міні-комп’ютера, ПК, закінчуючи портативними пристроями та пристроями зчитування штрих-кодів”

Світшот СРСР "Керміт"

У 1980-х роках надійність протоколу Керміта ідеально підходила йому для служіння в Зеленій революції в Африці, спільної в Європі та СРСР космічної місії Джотто, і, можливо, найбільш значущою для відновлення передачі даних між американськими дослідницькими станціями в Антарктиді та на материку після того, як вони були обірвані в 1986 році внаслідок нещасного випадку з комп’ютером під час 9-місячної антарктичної зими. У 1989 р. В Москві (СРСР) відбулася міжнародна конференція з питань Керміта, і сесії Керміта були представлені на інших конференціях протягом 1980-х рр. В Токіо, Берні, Парижі, Нешвілі та інших місцях.

Сторінка календаря маппет з травня 1981 року

Протокол і програмне забезпечення Керміта названі на честь Жаби Керміта, зірки телевізійного серіалу “Маппет-шоу”; ім’я Kermit використовується з дозволу Henson Associates, Inc. Чому воно назване на честь Жаби Kermit? У травні 1981 року ми вже працювали з першими реалізаціями протоколу, але у нас ще не було назви протоколу чи програмного забезпечення. Група з нас обговорювала це (я, Білл Кетчінгс, Білл Шиліт, Джефф Даменс, я думаю, що це була група), насправді не надто турбуючись, оскільки ми ніколи не очікували, що програмне забезпечення пошириться по всьому світу і триватиме десятки років. Я випадково зіткнувся зі стіною, на якій був мапетський календар, і оскільки мої діти були такими великими шанувальниками Маппет-шоу, я сказав: Як щодо Керміта? Через тридцять років (травень 2011 р.) ч знайшов сторінку календаря, на яку я дивився, коли сказав, що її можна побачити ліворуч і натиснути на неї, щоб побачити більше зображення.

ПРОГРАМНЕ ЗАБЕЗПЕЧЕННЯ KERMIT

Програмне забезпечення Kermit розроблено для сотень різних комп’ютерів та операційних систем, частина з них – програмістами-добровольцями у всьому світі, частина – професійним персоналом проекту Kermit. Основними особливостями найпопулярніших програм Kermit є:

  • Встановлення та обслуговування з’єднання для широкого спектру методів підключення (TCP / IP, X.25, локальна мережа, послідовний порт, модем тощо).
  • Емуляція терміналу.
  • Безпомилкова передача файлів.
  • Інтернет-протоколи, включаючи Telnet, Rlogin, FTP та HTTP.
  • Методи Інтернет-безпеки, включаючи Kerberos, SSL / TLS, SSH та SRP.
  • Перетворення набору символів під час емуляції терміналу та передачі файлів – унікальна особливість програмного забезпечення Kermit.
  • Числове та буквено-цифрове підкачування.
  • Програмування сценаріїв для автоматизації складних або повторюваних завдань.

Користувацький інтерфейс Kermit та мова програмування сценаріїв узгоджуються між платформами та методами комунікації, що дозволяє інвестуванню в навчання окупитися час від часу, коли ви переходите з однієї платформи на іншу, один спосіб спілкування на інший.

Наші прем’єрні реалізації програмного забезпечення Kermit:

  • Kermit 95 для Windows 95/98/ME, Windows NT /2000/ XP / Vista / 7/8/10 та OS / 2;
  • C-Kermit для UNIX, VMS, VOS та деяких інших сімейств операційних систем;
  • E-Kermit для вбудовування.
  • MS-DOS Kermit для DOS та Windows 3.x;
  • Керміт IBM Mainframe для VM / CMS, MVS / TSO та CICS.

C-Kermit та IBM Mainframe Kermit – це пакети, що базуються на хості та мають неперевершений спектр універсальності. Kermit 95 і MS-DOS Kermit – це повнофункціональні програми для обміну даними з настільними комп’ютерами, які конкурують за якістю будь-чого іншого на (або поза ним) ринку, за винятком, можливо, флексії інтерфейсу користувача: програми Kermit дотримуються текстового режиму командних рядків ще з того часу, що бентежить деяких людей, поки вони не зрозуміють всі переваги:

  • Набір команд є досить послідовним на всіх платформах і майже повністю узгоджується на сучасних платформах, таких як Windows, Mac OS X, Linux та VMS. Вивчіть це один раз, використовуйте скрізь.
  • Команди можуть бути об’єднані в “макроси” або “програми” для автоматизації будь-якого завдання, яке можна виконати вручну, як описано тут. Насправді в C-Kermit та Kermit 95 мова команд є повноцінною мовою програмування зі змінними, структурами управління, функціями, “підпрограмами”, а також кількома сюрпризами.
  • Вам не потрібно знати команди заздалегідь і не вводити їх повністю. Стиль команди називається “контекстне меню на вимогу” (ви бачите доступні варіанти, коли набираєте знак питання), а ключові слова можна скорочувати. Існує велика кількість вбудованої довідки, і набагато більше допомоги можна знайти на веб-сайті Kermit; наприклад, підручник з C-Kermit та Kermit 95, лише для початку.
  • Сенсорні друкарки можуть працювати швидше, коли їм не доводиться відводити руки від клавіш дому, і вони менше страждають від повторної напруги.
  • Деякі речі просто неможливо зробити ефективно або взагалі за допомогою графічного інтерфейсу. Ось цілком випадковий приклад, але він має сенс:

На ПК у мене є каталог, що містить тисячі зображень разом із їх ескізами. Для кожного зображення xxx.jpg є мініатюра xxx-t.jpg. Я хочу завантажити всі ескізи у Photoshop. За допомогою миші це зайняло б цілий день. За допомогою Kermit ви можете зробити це так (у командному рядку Kermit):

mkdir thumbnails

rename *-t.jpg thumbnails/

А потім у підкаталозі ескізів Ctrl-A, виберіть «виділити все», і перетягніть у Photoshop (а потім, за бажанням, перетягніть ескізи назад до вихідного каталогу одним рухом миші або перейменуйте їх назад за допомогою однієї команди Kermit).

Упакований в роздріб упаковку Kermit 95 2.1

Kermit 95 був розроблений не лише для задоволення потреб Колумбії у підключенні від Windows 95 (і пізніших версій) до центральних текстових служб, а й для збору грошей на підтримку проекту Kermit. На відміну від інших програм Kermit, K95 був суто комерційним, доступний як у роздрібній упакованій версії (праворуч), так і в масових ліцензіях на право копіювання. З моменту його випуску в 1995 році до середини 2011 року було придбано понад чверть мільйонів ліцензійних місць для масових ліцензій у понад 1000 ліцензій розміром від 100 до 10000 місць. Було продано близько 30 000 упакованих копій, ще тисячі придбано для завантаження з електронної академії, а K95 отримав ліцензію на сайт понад 100 університетів, а також цілих загальнодержавних університетських систем, таких як SUNY (64 студентських містечка з близько 400 000 студентів).

Проект “Керміт” був заснований на самофінансуванні в 1984 році, і з того часу і до його скасування в 2011 році він отримав 8 894 912,00 доларів США доходу для університету, плюс грант на обладнання (проект “Ерміт”) на суму 3 000 000,00 доларів. З 1984 р., коли розпочався “бізнес” Керміта, і до 1998 р., коли Інтернет захопив світ, ми здійснили 31 591 поставку програмного забезпечення Керміта на магнітних носіях (переважно 10-дюймові котушки з 9-доріжковою магнітною стрічкою); 4679 з них міжнародні до 107 різних країн, включаючи деякі, які вже не існують, такі як СРСР та Югославія, а до інших, яких ви, можливо, навіть не очікуєте, такі як Нова Каледонія.

Kermit книги  Kermit 95  C-Kermit  E-Kermit  G-Kermit  Поточні версії програмного забезпечення

ПРОТОКОЛ KERMIT

З моменту свого створення в 1981 році протокол Kermit перетворився на складний, потужний та розширюваний транспортно-незалежний інструмент для передачі та управління файлами, що включає, серед іншого:

Протокол Kermit використовує чітко визначені, послідовні, перевірені помилками пакети в кожному напрямку, щоб здійснити сеанс передачі файлів, дотримуючись стандартних правил шарування протоколів. Пакети розроблені для максимальної прозорості, тому вони можуть передавати будь-який комунікаційний носій, яким би обмежувальним він не був. Напівдуплекс (зупинка та очікування), повнодуплексний (розсувні вікна з вибірковою ретрансляцією) та безперервне потокове переміщення можуть бути використані для адаптації до будь-якого з’єднання.

Особливістю, яка відрізняє протокол Kermit від більшості інших, є широкий діапазон налаштувань, що дозволяють адаптувати до будь-якого виду та якості зв’язку між будь-якими двома типами комп’ютерів – довжина пакета, кодування пакетів, розмір вікна, набір символів, метод виявлення помилок, час очікування, робить паузи. Більшість інших протоколів призначені для роботи лише з певними видами або якостями з’єднань та/або між певними видами комп’ютерів або подібними файловими системами, і тому, погано працюють (або взагалі не працюють) в інших місцях і пропонують декілька, якщо такі є способи адаптації до незапланованих ситуацій. Kermit, навпаки, дозволяє досягти успішної передачі файлів і максимально можливої продуктивності на будь-якому з підключень.

На відміну від FTP або X-, Y- та ZMODEM (інші протоколи, з якими найчастіше порівнюється Kermit), протокол Kermit не передбачає і не вимагає:

  • повнодуплексне з’єднання;
  • з’єднання, яке є прозорим для керування символами;
  • 8-бітове з’єднання;
  • чисте з’єднання;
  • великі буфери по всьому шляху зв’язку;
  • управління потоком фізичного рівня зв’язку.

(Хоча Керміт не вимагає жодної з цих умов, він може скористатися ними, коли вони будуть доступні). У статті, присвяченій протоколу Керміта, Тім Кіенцле у лютому 1996 р. У журналіДоктор Добб” зазначається, що “підхід до віконних процесів Керміта швидший за протоколи, такі як XModem та YModem… Багато людей не усвідомлюють, що за менш ніж ідеальних умов підхід до віконних процесів Керміта значно швидший, ніж ZModem, протокол із заслуженою репутацією для швидких передач через якісні лінії. Ефективність протоколу Керміта детально аналізується тут і тут.

Таким чином Керміт виконує роботу “нестандартно” майже щоразу. А на вищому рівні командна мова Kermit дозволяє використовувати всілякі зручні критерії вибору файлів у будь-якій комбінації, наприклад:

  • Узагальнюючі символи та шаблони, що відповідають іменам файлів
  • Вибір за діапазонами дат
  • Вибір за діапазонами розмірів
  • Тільки текстові файли
  • Тільки двійкові файли
  • Тільки файли, яких не існує на іншому кінці або, які є новішими
  • Списки та шаблони винятків

Виконати майже будь-яке групування, яке ви можете собі уявити. При передачі файл може перетворити набір символів, його можна пропустити через фільтр тощо, а після успішної передачі вихідний файл можна видалити або перейменувати, файл призначення можна перейменувати або надіслати поштою тощо.

Специфікація протоколу Керміта

Оригінальна книга Керміта

Специфікація протоколу передачі файлів Керміта наведена в книзі Фернка да Круза, Керміт, Протокол передачі файлів, з передмовою Дональда Кнута (тепер доступна в Інтернеті у форматі PDF). Специфікація також доступна в Інтернеті у шостому виданні Посібника з протоколу Керміта (1986). В обох не вистачає деяких пізніших уточнень, але вони включають режим сервера, довгі пакети, розсувні вікна тощо. Документація для подальших доповнень до протоколу збирається та є загальнодоступною ТУТ. Формальна специфікація та верифікація протоколу Керміт був опублікований Джеймсом Хаггінс Університету штату Мічиган в 1995 році; завантажити його можна ТУТ.

ПРИКЛАД ПЕРЕДАЧИ ФАЙЛІВ KERMIT

Давайте розглянемо поширений випадок, коли у вас є настільний комп’ютер із будь-яким з’єднанням (модем, послідовний порт, звичайний Telnet, захищений Telnet, rlogin, захищений rlogin, SSH) – до сеансу оболонки на сервері Unix (” Unix “= Linux, Mac OS X, FreeBSD, Solaris, AIX, HP-UX тощо), і ви хочете перенести файл між своїм ПК та сервером Unix. Вашим емулятором терміналу в Windows є Kermit 95, а на сервері Unix встановлено C-Kermit або G-Kermit, який можна викликати, просто ввівши “kermit” у командному рядку (або, можливо, “ckermit” або “gkermit”).

Щоб завантажити файл, скажімо, message.txt, введіть таку команду в наступному рядку:

kermit -s message.txt

Файл буде надісланий до поточного каталогу Kermit 95 на вашому ПК (або до його ЗАГАЛЬНОГО КАТАЛОГУ, якщо ви його визначили). Не має значення, текстовий чи двійковий файл; Керміт розбирається і автоматично передає у відповідному режимі.

Подібним чином, якщо ви хочете перенести групу файлів, скажімо, усі файли, імена яких починаються на „daily”:

kermit -s daily. *

Kermit надсилає кожен відповідний файл, автоматично перемикаючись між текстовим та двійковим режимами відповідно до кожного файлу (daily.jpg, daily.xls, daily.txt, …)

Завантажити файл з ПК на Unix так само просто. Припустимо, у вас є файл під назвою “budget.xls” у поточному каталозі Kermit 95 на вашому ПК. Щоб завантажити його в UNIX, введіть це в підказці оболонки Unix:

kermit -g budget.xls

Це основи; є багато варіацій та уточнень; наприклад:

  • Передайте лише файли, новіші за аналоги з іншого боку.
  • Перетворюйте набори символів текстових файлів належним чином (наприклад, між ISO 8859-1 та Unicode UTF-8).
  • Відновити часткову передачу з місця відмови (лише двійковий режим).

Щоб заощадити набравши текст, ви можете визначити псевдоніми в Unix (у своєму профілі оболонки):

alias s=”kermit -Ys”
alias g=”kermit -Yg”

(s для Відправки, g для Отримання). І потім:

s message.txt
g budget.xls

Варто зазначити, що ви передаєте свої файли за тим самим з’єднанням, яке вже є; таким чином, немає необхідності встановлювати нове з’єднання, повторно аутентифікувати себе або подібну бюрократію. Якщо з’єднання захищене SSH, Kerberos, SSL, TLS або SRP, то передача файлів також захищена автоматично.

Це свідчить про неперевершений ступінь зручності. Коли ви говорите C-Kermit на Unix щоб надсилати або отримувати файл, його перший пакет передачі файлів автоматично розпізнається емулятором терміналу Kermit 95 і K95 з’являється в режим прийому або в режимі сервера, залежно від напрямку та часу передачі. закінчивши, K95 повертається до екрану емуляції терміналу. Якщо сталася помилка (наприклад, якщо у вас немає дозволу на запис у цільовому каталозі), K95 залишається на екрані передачі файлів, щоб ви могли побачити, в чому проблема.

Ті самі процедури також працюють Unix-to-Unix, K95-to-VMS, Unix-to-VMS, VMS to Unix або OS / 2 для VMS або Unix, якщо ви використовуєте K95 або C-Kermit в якості свого терміналу програми.

ПРОТИПОКАЗАННЯ

Також див.: Популярні помилки.

Протягом багатьох років проект Керміта та програмне забезпечення були предметом різних суперечок, зокрема:

Ліцензія

З самого початку ми хотіли, щоб програмне забезпечення Kermit було безкоштовним для всіх. Але починаючи з 1984 року, Колумбійський університет змусив нас знайти спосіб, щоб його окупити; тобто виплачувати заробітну плату персоналу, що працює повний та неповний робочий день, а також за обладнання, витратні матеріали, телефон тощо. Інакше нам не буде дозволено продовжувати розробляти, підтримувати, поширювати та підтримувати програмне забезпечення, яке до того часу мало стати популярними у всьому світі.

Наше рішення полягало в тому, щоб забезпечити безкоштовне програмне забезпечення для кожної особи та організації для його/її власного використання, але вимагати від компаній ліцензувати його, якщо вони збираються пов’язати його з продуктом або іншим чином надати його клієнтам або клієнтам; тобто якщо вони прагнули заробляти гроші на нашій праці. Таким чином вони могли заробляти гроші, але їм довелося б ділитися ними з тими, хто виконував роботу.

Оскільки рух за вільне програмне забезпечення прижився, його прихильники різко заперечували проти такого підходу, але це дозволило проекту Керміта продовжуватись ще 10 років. Потім, у 1994 році, з майбутнім випуском Microsoft Windows 95, ми вирішили випустити одну і єдину програму Kermit, яка була на 100% комерційною: Kermit 95. Цей продукт дозволив Проекту Керміта процвітати приблизно до 2003 року, коли економіка США та світової економіки почала руйнуватися, і продовжувати існувати у дедалі меншій формі до 2011 року, коли проект Керміта в Колумбійському університеті був остаточно скасований. На той момент, оскільки нічия робота від цього вже не залежала, все програмне забезпечення Kermit, на яке ми мали повні права, було розміщено під ліцензією з відкритим кодом, і тепер усі щасливі, крім тих, хто втратив роботу, і тих, хто зателефонував на наш безкоштовний номер технічної підтримки, коли їм потрібна допомога. І ті, хто дивується, чому ніколи не було чергового випуску Kermit 95.

Керміт проти X/Y/ZMODEM

Протокол передачі файлів XMODEM був розроблений в іншому місці в 1977 році для передачі файлів по телефонному з’єднанню з одного мікрокомп’ютера на інший і, таким чином, знайшов широке застосування серед любителів комп’ютерів, шанувальників журналів BYTE, користувачів та адміністраторів систем BBS тощо. Його наступники, такі як YMODEM та ZMODEM, виросли в одній культурі, обслуговуючи приблизно однакову базу користувачів. У світі BBS лінії зв’язку завжди були на 100% прозорими для всіх значень 256 байт, що дозволяє цим протоколам бути відносно простими і все ще добре працювати в цьому середовищі; таким чином мешканці культури BBS/любителів не мали підстав, щоб потребувати або дізнаватися про Керміт.

Протокол Kermit, навпаки, був розроблений для з’єднань на мікро-мейнфреймах, які були набагато менш терпимими та набагато вибагливішими, оскільки зв’язки рідко були прозорими, а основні комп’ютери кардинально різними; наприклад, вони можуть використовувати різні формати файлів та набори символів для зберігання файлів. Тоді Керміт був спрямований більше на установи – університети, лікарні, корпорації, державні установи – які мали машинні кабінети з великими центральними спільними комп’ютерами або різноманітними міні-комп’ютерами відомств, а також окремих користувачів із ПК або робочими станціями за своїми робочими столами, а не на любителів, відносно однорідних персональних мікрокомп’ютерів.

XMODEM був болісно повільним протоколом, тому поштовхом було переробити його у все швидші та швидші протоколи; звідси YMODEM та ZMODEM. Але новіші протоколи MODEM все-таки передбачали (більш-менш) 100% прозоре з’єднання між двома однаковими або дуже схожими комп’ютерами.

Коли з’явилися YMODEM і ZMODEM, люди почали критикувати протокол Kermit за повільність, як це було насправді у його первісному вигляді: короткі пакети, оскільки більшість мейнфреймів не витримували тривалих сплесків вхідних даних з терміналу; напівдуплексна зупинка та очікування, оскільки мейнфрейми IBM не підтримували повнодуплексний зв’язок; кодування для друку для керуючих символів та 8-бітових символів, оскільки вони не можуть пройти через драйвер терміналу мейнфрейма. Таким чином, оригінальний протокол Керміта був «найменшим спільним знаменником» серед усіх платформ, де він мав працювати (і багато інших, крім того, як виявилося). Його головна сила полягала в тому, що він був пристосований до будь-якої платформи або методу зв’язку, включаючи ті, де сімейство XMODEM взагалі не підходило; наприклад, у світі мейнфреймів IBM.

Тим часом деякі програмні пакети BBS пропонували протокол Kermit у своїх меню Завантажити та Завантажити, але ці реалізації Kermit були незмінно мінімальними (тобто повільними), часто помилковими, а іноді і абсолютно нефункціональними (див. Сторінку Помилки щодо реалізації сторонніх протоколів Kermit). Це мало посилити враження в культурі любителів, що протокол Керміта повільний.

Для розгляду скарг на продуктивність ми скористались внутрішньою розширюваністю конструкції протоколу Kermit (в якій передачі починаються з фази узгодження функцій), щоб додати опції для довших пакетів та повнодуплексних розсувних вікон із селективною ретрансляцією, а також можливості стиснення та використання переваг прозорих та/або безпомилкових з’єднань (наприклад, мережевих з’єднань), коли вони були доступні. Ці зміни зробили протокол Kermit таким же швидким або швидшим, ніж ZMODEM, не жертвуючи його універсальністю, функціями перетворення даних, надійністю та (що найважливіше) зворотною сумісністю (саме тому ви не бачите окремих протоколів: XKERMIT, YKERMIT, ZKERMIT). Зміни у виконанні датуються приблизно 1993 роком; див. орієнтири.

Незважаючи на це, кожен табір мав своїх прихильників, що базувались, в основному, на власній культурі, і кожен, як правило, відкидав іншого, ця тенденція триває до сьогодні. Більшість критиків Kermit базують свої спостереження на програмному забезпеченні Kermit з початку 1980-х років або на реалізаціях сторонніх протоколів Kermit, які, як правило, працюють погано. Для більш детального обговорення див. сторінку Неправильні уявлення.

У 2013 році я помітив дискусію Slashdot щодо скасування проекту Керміта в Колумбійському університеті. Це досить добре ілюструє поточну тему, оскільки в дискусії домінують любителі та користувачі BBS. Але кілька обізнаних користувачів Kermit також внесли свій внесок; ось кілька прикладів:

  • Нічого собі, у часи коледжу та післядипломного навчання я використовував цей протокол у багатьох місцях і так багато способів, що навіть не можу почати рахувати. Це був дуже консервативний протокол, який міг пройти майже все. Одного разу мені довелося перейти від портативного комп’ютера через модемне з’єднання до комутатора даних Equinox до AT&T 3b5 Unix, і назад до Equinox (щоб змінити швидкість з 300 бод на 9600 бод) на конвертер протоколу IBM 7171 до IBM 4361. І він міг фактично передавати файли. Іншого разу мені довелося зробити стрес-тест симулятора терміналу DECNET на Sun (стара версія виходила з ладу в середині дня в найзавантаженіші дні). Тому я використовував kermit для підключення до host1, потім до host 2, назад до host 1 , повернувшись до хосту 2, я думаю приблизно 40 разів. Потім я зробив передачу файлів через усі з’єднання. Це спрацювало.
  • На початку 90-х я відповідав за підключення до Інтернету перших румунських університетів (зокрема, Бухареста) до Інтернету. Оскільки нам не вдалося запустити IP через різні технічні причини, ми вирішили надіслати їм принаймні електронною поштою. Перша спроба була з uucp, але вони не змогли впоратися з його операціями на стороні Бухареста. Тоді телефонні лінії були недостатньо стабільними. Отже, протягом перших 6 місяців електронною поштою було надіслано до Бухареста за допомогою передачі файлів Керміта, ініційованою хадж-скриптом сценаріїв MDA, викликаним sendmail. Тоді Kermit був набагато надійнішим за будь-який інший протокол передачі файлів, і ми вважали, що врешті-решт він міг обробляти передачі бітів по мокрим лініям одягу.
  • Так, його багато використовують у світі. Один з небагатьох доступних інструментів для відновлення замурованого пристрою на базі RS232. Використовується для таких речей, як gumstix, beagleboard та багато інших SBC, таких як вбудовані пристрої на базі ARM. Якщо ви робите / замовляєте власні версії або ваш власний товар не містить таких альтернатив, як можливості завантаження з карт MMC/SD, c-kermit – це одна з небагатьох речей, яка дозволяє завантажувати, завантажувати код, а потім переходити до консолі всіх від одного інструменту на таких пристроях. Багато разів рятував свою дупу (і своїх роботодавців) на замурованих або вбудованих пристроях.

У тому ж обговоренні є деякі скарги на те, що не було надано адекватних пояснень, чому деякі модулі Kermit 95 не можуть бути випущені у відкритому коді. Пояснення було, і є, ТУТ.

Посилання