Kermit (protocolo) - Kermit (protocol)

Kermit
Protocolo de comunicación
Objetivo Transferencia de archivos
Desarrollador (es) Universidad de Colombia
Introducido 1981 ; Hace 40 años ( 1981 )
Sitio web www .kermitproject .org

Kermit es un protocolo de transferencia / administración de archivos de computadora y un conjunto de herramientas de software de comunicaciones que se usaban principalmente en los primeros años de la computación personal en la década de 1980. Proporciona un enfoque coherente para la transferencia de archivos, la emulación de terminales , la programación de scripts y la conversión de juegos de caracteres en muchas plataformas de sistemas operativos y hardware informático diferentes .

Técnico

El protocolo Kermit admite transferencias de archivos de texto y binarios en conexiones seriales de 8 y 7 bits de dúplex completo y semidúplex de forma independiente del sistema y del medio, y se implementa en cientos de computadoras y plataformas de sistemas operativos diferentes. En conexiones full-duplex, se utiliza un protocolo de ventana deslizante con retransmisión selectiva que proporciona un excelente rendimiento y características de recuperación de errores. En conexiones de 7 bits, los cambios de bloqueo proporcionan una transferencia eficiente de datos de 8 bits. Cuando se implementa correctamente, como en la colección de software Kermit de la Universidad de Columbia , sus autores afirman que el rendimiento es igual o mejor que otros protocolos como ZMODEM , YMODEM y XMODEM , especialmente en conexiones deficientes. En conexiones a través de multiplexores estadísticos RS-232 donde no se pueden transmitir algunos caracteres de control , Kermit se puede configurar para que funcione, a diferencia de protocolos como XMODEM que requieren que la conexión sea transparente (es decir, que los 256 valores posibles de un byte sean transferibles).

Kermit se puede utilizar como un medio para arrancar otro software, incluso él mismo. Para distribuir Kermit a través de redes limpias que no sean de 8 bits , Columbia desarrolló .boo , un sistema de codificación de binario a texto similar a BinHex . Por ejemplo, las computadoras IBM PC compatibles y las computadoras Apple con una tarjeta de compatibilidad instalada pueden conectarse a sistemas que de otro modo serían incompatibles, como una computadora central, para recibir MS-DOS Kermit en formato .boo. Los usuarios pueden escribir un "Kermit bebé" en BASIC en sus computadoras personales que descarga Kermit y lo convierte en binario.

De manera similar, las máquinas CP / M usan muchos formatos de disquete diferentes , lo que significa que una máquina a menudo no puede leer discos de otra máquina CP / M, y Kermit se usa como parte de un proceso para transferir aplicaciones y datos entre máquinas CP / M y otras. máquinas con diferentes sistemas operativos. El programa de copia de archivos CP / M PIP generalmente puede acceder al puerto serie ( RS-232 ) de una computadora , y si está configurado para usar una velocidad de transmisión muy baja (porque no tiene corrección de errores incorporada) se puede usar para transferir una pequeña , versión simple de Kermit de una máquina a otra a través de un cable de módem nulo , o en su defecto, una versión muy simple del protocolo Kermit se puede codificar manualmente en binario en menos de 2K usando DDT, la herramienta de depuración dinámica CP / M. Una vez hecho esto, la versión simple de Kermit se puede usar para descargar una versión completamente funcional. Esa versión se puede utilizar para transferir cualquier aplicación o datos de CP / M.

Las versiones más recientes de Kermit incluyen lenguaje de programación y automatización de comandos. El lenguaje de scripting de Kermit evolucionó a partir de su lenguaje de comando inspirado en TOPS-20 EXEC y fue influenciado sintácticamente y semánticamente por ALGOL 60 , C , BLISS-10 , PL / I , SNOBOL y LISP .

La corrección del protocolo Kermit se ha verificado con métodos formales.

Historia

A fines de la década de 1970, los usuarios de las computadoras centrales de la Universidad de Columbia tenían solo 35 kilobytes de almacenamiento por persona. Kermit fue desarrollado en la universidad para que los estudiantes podrían mover archivos entre ellos y los disquetes en varios microordenadores alrededor del campus, tales como IBM o DEC DECSYSTEM-20 ordenadores centrales y Intertec supercerebros ejecutan CP / M . Los mainframes de IBM usaban un juego de caracteres EBCDIC y las máquinas CP / M y DEC usaban ASCII , por lo que la conversión entre los dos juegos de caracteres fue una de las primeras funciones integradas en Kermit. La primera transferencia de archivos con Kermit ocurrió en abril de 1981. El protocolo fue diseñado originalmente en 1981 por Frank da Cruz y Bill Catchings.

La Universidad de Columbia coordinó el desarrollo de versiones de Kermit para muchas computadoras diferentes en la universidad y en otros lugares, y distribuyó el software de forma gratuita; Kermit para la nueva computadora personal de IBM se hizo especialmente popular. En 1986, la universidad fundó el Proyecto Kermit, que se hizo cargo del desarrollo y comenzó a cobrar tarifas por uso comercial; el proyecto era económicamente autosuficiente. Para uso no comercial, la Universidad de Columbia declaró que

Kermit es para que todos puedan usar y compartir. Una vez que lo obtenga, siéntase libre de compartirlo con sus amigos y colegas. Aunque tiene derechos de autor y no es de dominio público, solo le pedimos que no intente venderlo con fines de lucro y que lo use solo con fines pacíficos y humanos.

En 1988, Kermit estaba disponible en más de 300 computadoras y sistemas operativos. El protocolo se convirtió en un estándar de comunicación de datos de facto para transferir archivos entre sistemas informáticos diferentes y, a principios de la década de 1990, podía convertir codificaciones de caracteres multilingües . El software Kermit se ha utilizado en muchos países, para tareas que van desde simples asignaciones de estudiantes hasta la resolución de problemas de compatibilidad a bordo de la Estación Espacial Internacional . Se transfirió a una amplia variedad de sistemas de mainframe, minicomputadoras y microcomputadoras hasta computadoras de mano y calculadoras de bolsillo electrónicas. La mayoría de las versiones tenían una interfaz de usuario basada en el Kermit TOPS-20 original. Las versiones posteriores de algunas implementaciones de Kermit también admiten conexiones de red y en serie .

Las implementaciones que se admiten actualmente incluyen C -Kermit (para Unix y OpenVMS ) y Kermit 95 (para versiones de Microsoft Windows desde Windows 95 en adelante y OS / 2 ), pero otras versiones también permanecen disponibles.

A partir del 1 de julio de 2011, la Universidad de Columbia dejó de albergar este proyecto y lo lanzó a código abierto. En junio de 2011, el Proyecto Kermit lanzó una versión beta de C-Kermit v9.0 bajo una licencia BSD de código abierto revisada de 3 cláusulas .

Además de las implementaciones desarrolladas y / o distribuidas por la Universidad de Columbia, el protocolo Kermit se implementó en varios paquetes de software de comunicaciones de terceros, entre otros ProComm y ProComm Plus . El término "SuperKermit" fue acuñado por terceros para referirse a las implementaciones de Kermit de mayor velocidad que ofrecen características tales como operación full duplex, ventanas deslizantes y paquetes largos; sin embargo, ese término fue desaprobado por el equipo original de Kermit en la Universidad de Columbia, quien vio esto como simplemente características del protocolo central de Kermit.

Naming y derechos de autor

Kermit fue nombrado en honor a Kermit the Frog de The Muppets , con permiso de Henson Associates . El icono del programa en la versión de Apple Macintosh era una representación de Kermit the Frog. Un backronym , sin embargo, fue creado, tal vez para evitar problemas con las marcas, K L10 E rror-Libre R eciprocal M icroprocessor I nterchange sobre T líneas TY.

Kermit es un protocolo abierto; cualquiera puede basar su propio programa en él, pero algunos programas y códigos fuente de Kermit tienen copyright de la Universidad de Columbia. A partir de la versión 9.0 (comenzando con la primera versión de prueba después de Alpha.09), C-Kermit tiene una licencia de código abierto, la licencia BSD revisada de 3 cláusulas. Todos pueden usarlo como lo deseen para cualquier propósito, incluidas la redistribución y la reventa. Se puede incluir con cualquier sistema operativo donde funcione o se puede hacer que funcione, incluidas las versiones gratuitas y comerciales de Unix y Hewlett-Packard (anteriormente DEC) VMS (OpenVMS). El soporte técnico estuvo disponible en la Universidad de Columbia hasta el 30 de junio de 2011.

Ver también

Referencias

Otras lecturas

enlaces externos