Sobre Kermit

Source: https://kermitproject.org/kermit.html

RECENTE:

Em vigor a partir de 1º de julho de 2011 ...

  • O Projeto Kermit da Universidade de Columbia foi cancelado
  • Um novo site do Projeto Kermit foi aberto em http://www.kermitproject.org .
  • Todo software Kermit possui uma licença Open Source .
  • O arquivo do software Kermit e o site da Columbia permanecerão em vigor.

Bem-vindo ao novo projeto Kermit de código aberto.

Anúncio Kermit 95 C-Kermit E-Kermit Outro software Kermit

O QUE É KERMIT?

Kermit é o nome de um protocolo de transferência e gerenciamento de arquivos e de um conjunto de programas de computador para muitos tipos de computadores que implementa esse protocolo, bem como outras funções de comunicação que vão desde emulação de terminal até automação de tarefas de comunicação por meio de um cruzamento de alto nível. linguagem de script de plataforma. O software é independente de transporte, operando em conexões TCP/IP no modo tradicional de texto não criptografado ou protegido por SSH, SSL/TLS ou Kerberos IV ou V, bem como em conexões de porta serial, modems e outros métodos de comunicação ( X.25, DECnet, vários protocolos LAN como NETBIOS e LAT, portas paralelas, etc., em plataformas específicas).

O Projeto Kermit foi fundado no Columbia University Computer Center (agora CUIT ) em 1981 para atender a uma necessidade específica e, até meados da década de 1990, Kermit era o software de conectividade de desktop padrão da Columbia, usado universalmente por estudantes, professores e funcionários para conectar-se de microcomputadores desktop, PCs, Macintoshes e estações de trabalho Unix às instalações de computação central: os mainframes IBM (1963-2017), o DECSYSTEM-20s (1977-1988), CLIO(o primeiro sistema de informação de biblioteca on-line de Columbia, 1984-2003) e Cunix (nossos servidores baseados em Unix, 1986 até o presente), e para VAXes departamentais, PDP-11s, Suns e outros minicomputadores. Nos primórdios dos microcomputadores e PCs, mas antes da implantação generalizada de redes locais e estações de trabalho desktop conectadas a elas, o software Kermit conectava o desktop ao e-mail, quadros de avisos, compartilhamento de arquivos, processamento de texto, mensagens e outros aspectos do nova cultura on-line que agora é tida como certa, muito antes de a experiência estar disponível na maioria das outras instituições. Na Columbia, os DEC-20s e os minicomputadores departamentais já se foram e os mainframes IBM agora são apenas para uso de backoffice, mas o software Kermit ainda é usado para sessões SSH do desktop para CUNIX, e pelo corpo técnico para tarefas de administração de sistemas e redes; por exemplo,configuração de racks cheios de servidores blade HP à medida que eles chegam, gerenciamento do sistema telefônico da Universidade , scripts CGI , paginação alfa da equipe de plantão e assim por diante. Além disso, é claro, por veteranos que simplesmente preferem a segurança e a eficiência das sessões de shell em modo texto para e-mail e para realizar seu trabalho; por exemplo, desenvolvimento de software e gerenciamento de sites.

Ao longo dos anos, o Projeto Kermit cresceu e se tornou um esforço cooperativo mundial de desenvolvimento e distribuição de software sem fins lucrativos, sediado e coordenado pela Universidade de Columbia , à medida que o software Kermit era portado ou desenvolvido para mais e mais computadores e sistemas operacionais ( ver lista ). O Projeto Kermit é dedicado à produção de software de comunicação multiplataforma, duradouro, estável , em conformidade com os padrões e interoperável, e tem estado ativamente envolvido no processo de padronização . O software Kermit é usado em todo o mundo em todos os setores da economia: governo nacional, governo estadual e local, acadêmico, medicina e saúde, engenharia, aeroespacial, organizações sem fins lucrativos e comercial.

Embora a emulação de terminal tenha sido amplamente suplantada pela Web para acesso on-line, o software Kermit continua a desempenhar um papel em outras aplicações, como sensoriamento remoto e coleta de dados, gerenciamento e solução de problemas de equipamentos de rede e telecomunicações, trabalho administrativo, gerenciamento de carga e inventário, envio de solicitações de seguro médico, transferência eletrônica de fundos e preenchimento on-line de declarações de imposto de renda. O software Kermit está incorporado em roteadores e switches de rede, em torres de telefonia celular, em equipamentos médicos de diagnóstico e monitoramento, até mesmo em marca-passos cardíacos, sem mencionar as caixas registradoras de alguns grandes varejistas de renome. Em 2002, Kermit voou na Estação Espacial Internacional , e o software Kermit é o método de comunicação usado porOs flutuadores oceânicos EM APEX (à esquerda) fornecem dados em tempo real para pesquisadores e rastreadores de furacões até hoje (o projeto de furacão entrou em uma nova fase expandida em 2010 com base em uma nova versão do Embedded Kermit ).

Desde a década de 1980, o protocolo e o software Kermit têm sido usados ​​no chão de fábrica em máquinas de corte e vinco programáveis, dobradeiras, laminação, rolos planos, cisalhamento, processamento de metal e plástico, marcenaria e outras. Por exemplo, na fabricação do Boeing 787 , onde Kermit é utilizado para controlar uma Camada de Fita que forma determinados componentes do corpo. Você pode ler mais sobre como o Kermit é usado no chão de fábrica aqui e aqui .

Na década de 1990, o software Kermit foi usado na automação dos Correios dos EUA , desempenhou um papel fundamental nas eleições nacionais brasileiras de 1994 (as maiores da história do mundo até então) e foi central para a missão de socorro da ONU à Bósnia. , “ligando todo o espectro de operação do projeto, desde mainframe, minicomputador, PCs, até dispositivos portáteis e leitores de código de barras”.

Na década de 1980, a robustez do protocolo Kermit adaptou-o idealmente para o serviço na Revolução Verde em África, na missão espacial conjunta Europa-URSS Giotto , e talvez mais notavelmente no restabelecimento da comunicação de dados entre estações de investigação dos EUA na Antártida e no continente depois de terem sido cortado em 1986 em um acidente de computador durante o inverno antártico de 9 meses. Em 1989, uma conferência internacional sobre Caco foi realizada em Moscou, URSS, e sessões de Caco foram apresentadas em outras conferências ao longo da década de 1980 em Tóquio, Berna, Paris, Nashville e outros lugares.

O protocolo e software Kermit têm o nome de Kermit the Frog , estrela da série de televisão The Muppet Show; o nome Caco é usado com permissão da Henson Associates, Inc. Por que recebeu o nome de Caco, o Sapo? Em maio de 1981 já tínhamos as primeiras implementações do protocolo funcionando, mas ainda não tínhamos um nome para o protocolo ou para o software. Um grupo de nós estava discutindo isso (eu, Bill Catchings, Bill Schilit, Jeff Damens, acho que esse era o grupo), sem realmente nos importarmos muito, já que nunca esperávamos que o software se espalhasse por todo o mundo e durasse décadas. Acontece que eu estava de frente para a parede que tinha um calendário dos Muppets e, como meus filhos eram grandes fãs do Muppet Show, eu disse: Que tal Caco?? Trinta anos depois (maio de 2011) encontrei a página do calendário que estava olhando quando disse isso, você pode vê-la à esquerda e clicar nela para ver uma imagem maior.

SOFTWARE KERMIT

O software Kermit foi escrito para centenas de computadores e sistemas operacionais diferentes, alguns deles por programadores voluntários em todo o mundo, outros pela equipe profissional do Projeto Kermit. Os principais recursos dos programas Kermit mais populares são:

  • Estabelecimento e manutenção de conexões para uma ampla variedade de métodos de conexão (TCP/IP, X.25, LAN, porta serial, modem, etc).
  • Emulação de terminais .
  • Transferência de arquivos sem erros.
  • Protocolos de Internet, incluindo Telnet, Rlogin, FTP e HTTP.
  • Métodos de segurança da Internet , incluindo Kerberos, SSL/TLS, SSH e SRP.
  • Conversão de conjunto de caracteres durante emulação de terminal e transferência de arquivos – um recurso exclusivo do software Kermit.
  • Paginação numérica e alfanumérica.
  • Programação de scripts para automatizar tarefas complicadas ou repetitivas.

A interface de usuário e a linguagem de programação de script do Kermit são consistentes em todas as plataformas e métodos de comunicação, permitindo que o investimento em aprendizado seja recompensado continuamente à medida que você passa de uma plataforma para outra, de um método de comunicação para outro.

Nossas principais implementações de software Kermit são:

C-Kermit e IBM Mainframe Kermit são pacotes baseados em host com uma versatilidade inigualável. Kermit 95 e MS-DOS Kermit são programas de software de comunicação de desktop completos que rivalizam em qualidade com qualquer outro no (ou fora) mercado, exceto talvez no brilho da interface do usuário: os programas Kermit seguem o estilo de prompt e comando em modo texto do passado, o que confunde algumas pessoas até perceberem as vantagens:

  • O conjunto de comandos é razoavelmente consistente em todas as plataformas e quase totalmente consistente em plataformas modernas como Windows, Mac OS X, Linux e VMS. Aprenda uma vez, use em qualquer lugar.
  • Os comandos podem ser combinados em “macros” ou “programas” para automatizar qualquer tarefa que possa ser realizada manualmente, conforme descrito aqui . Na verdade, no C-Kermit e no Kermit 95, a linguagem de comando é uma linguagem de programação completa com variáveis, estruturas de controle, funções, "sub-rotinas", além de algumas surpresas.
  • Você não precisa conhecer os comandos com antecedência nem digitá-los por completo. O estilo do comando é chamado de “menu sensível ao contexto sob demanda” (você vê as opções disponíveis quando digita um ponto de interrogação) e as palavras-chave podem ser abreviadas. Há muita ajuda integrada e muito mais ajuda para ser encontrada no site do Kermit; por exemplo, o tutorial C-Kermit e o tutorial Kermit 95 , apenas para começar.
  • Os digitadores podem trabalhar mais rápido quando não precisam afastar as mãos das teclas iniciais e sofrem menos lesões por esforço repetitivo.

Certas coisas simplesmente não podem ser feitas de forma eficiente ou usando uma interface GUI. Aqui está um exemplo completamente aleatório, mas que deixa claro:
Em um PC tenho um diretório que contém milhares de imagens, junto com suas miniaturas. Para cada imagem xxx.jpg existe uma miniatura xxx-t.jpg . Quero carregar todas as miniaturas no Photoshop. Usando o mouse, isso levaria o dia todo. Com o Kermit você pode fazer assim (no prompt de comando do Kermit):
Miniaturas mkdir

renomeiam miniaturas *-t.jpg/

  • E então, no subdiretório de miniaturas, Ctrl-A para "selecionar tudo" e arraste para o Photoshop (e então, se desejar, arraste as miniaturas de volta ao diretório original com um movimento do mouse ou renomeie-as de volta com um comando Kermit).

O Kermit 95 foi desenvolvido não apenas para atender à necessidade de conectividade do Windows 95 (e posterior) da Columbia aos serviços centrais baseados em texto, mas também para arrecadar dinheiro para apoiar o Projeto Kermit. Ao contrário de outros programas Kermit, o K95 era estritamente comercial, disponível tanto em uma versão embalada no varejo (à direita) quanto em licenças com direito de cópia em massa . Desde seu lançamento em 1995 até meados de 2011, mais de um quarto de milhão de licenças em massa foram adquiridas em mais de 1.000 licenças, variando em tamanho de 100 a 10.000 licenças. Cerca de 30.000 cópias embaladas foram vendidas, muitos milhares mais foram adquiridos para download na e-academy , e o K95 foi licenciado localmente por mais de 100 universidades, bem como por sistemas universitários estaduais inteiros, como SUNY (64 campi com cerca de 400.000 alunos).

O Projeto Kermit foi colocado em regime de autofinanciamento em 1984 e, desde então, até seu cancelamento em 2011, gerou US$ 8.894.912,00 em receitas para a Universidade, além de uma doação de equipamentos (o Projeto Hermit ) avaliada em US$ 3.000.000,00 . Entre 1984, quando o “negócio” Kermit começou, até 1998, quando a Internet dominou o mundo, fizemos 31.591 remessas de software Kermit em mídia magnética (principalmente bobinas de 10 polegadas de fita magnética de 9 trilhas); 4.679 deles internacionais para 107 países diferentes, incluindo alguns que não existem mais, como a URSS e a Iugoslávia, e para outros que você não esperaria, como a Nova Caledônia.

Livros Kermit Kermit 95 C-Kermit E-Kermit G-Kermit Versões atuais do software

PROTOCOLO KERMIT

Desde a sua criação em 1981, o protocolo Kermit tornou-se uma ferramenta sofisticada, poderosa e extensível independente de transporte para transferência e gerenciamento de arquivos, incorporando, entre outras coisas:

O protocolo Kermit usa pacotes bem definidos, sequenciados e com verificação de erros em cada direção para efetuar uma sessão de transferência de arquivos, seguindo regras padrão de camadas de protocolo. Os pacotes são projetados para máxima transparência, para que possam passar por qualquer meio de comunicação, por mais restritivo que seja. Half-duplex (parar e esperar), full-duplex (janelas deslizantes com retransmissão seletiva) e transporte de streaming contínuo podem ser usados ​​para se adaptar a qualquer conexão.

A característica que distingue o protocolo Kermit da maioria dos outros é a sua ampla gama de configurações para permitir a adaptação a qualquer tipo e qualidade de conexão entre quaisquer dois tipos de computador - comprimento do pacote, codificação do pacote, tamanho da janela, conjunto de caracteres, método de detecção de erros, tempos limite. , pausas. A maioria dos outros protocolos são projetados para funcionar apenas em certos tipos ou qualidades de conexões e/ou entre certos tipos de computadores ou sistemas de arquivos semelhantes e, portanto, funcionam mal (ou não funcionam) em outros lugares e oferecem poucos ou nenhum método para se adaptar a situações não planejadas. -para situações. Kermit, por outro lado, permite que você obtenha transferência de arquivos bem-sucedida e o melhor desempenho possível em qualquer conexão.

Ao contrário do FTP ou X-, Y- e ZMODEM (os outros protocolos com os quais o Kermit é mais frequentemente comparado), o protocolo Kermit não assume ou exige:

  • uma conexão full-duplex;
  • uma conexão transparente para controlar personagens;
  • uma conexão de 8 bits;
  • uma conexão limpa;
  • grandes buffers ao longo de todo o caminho de comunicação;
  • controle de fluxo da camada de enlace físico.

(embora Kermit não exija nenhuma dessas condições, ele pode tirar vantagem delas quando estiverem disponíveis). Um artigo sobre o protocolo Kermit escrito por Tim Kientzle na edição de fevereiro de 1996 do Dr. Dobb's Journal observou que “a abordagem de janelamento do Kermit é mais rápida do que protocolos como XModem e YModem . . . O que muitas pessoas não percebem é que, sob condições abaixo das ideais, a abordagem de janelas do Kermit é significativamente mais rápida do que o ZModem, um protocolo com uma merecida reputação de transferências rápidas em linhas de boa qualidade.” A eficiência do protocolo Kermit é analisada em profundidade aqui e aqui .

Assim, as transferências Kermit funcionam "prontas para uso" quase sempre. E em um nível superior, a linguagem de comando Kermit permite que todos os tipos de critérios úteis de seleção de arquivos sejam usados ​​em qualquer combinação, por exemplo:

  • Curingas e padrões para corresponder aos nomes dos arquivos
  • Seleção por intervalos de datas
  • Seleção por faixas de tamanho
  • Somente arquivos de texto
  • Somente arquivos binários
  • Somente arquivos que não existem do outro lado ou que são mais recentes
  • Listas e padrões de exceções

para realizar quase qualquer agrupamento que você possa imaginar. Em trânsito, um arquivo pode ter seu conjunto de caracteres convertido, pode ser passado por um filtro, etc., e após a transferência bem-sucedida, o arquivo de origem pode ser excluído ou renomeado, o arquivo de destino pode ser renomeado ou enviado por correio, e assim por diante.

A especificação do protocolo Kermit

A especificação do protocolo de transferência de arquivos Kermit é fornecida no livro Kermit, A File Transfer Protocol de Frank da Cruz, com prefácio de Donald Knuth (agora disponível online em formato PDF ). A especificação também está disponível online na Sexta edição do Kermit Protocol Manual (1986). Ambos não possuem os refinamentos posteriores, mas incluem modo de servidor, pacotes longos, janelas deslizantes, etc. A documentação para as adições posteriores é coletada e está disponível publicamente AQUI . Uma especificação formal e verificação do protocolo Kermit foi publicada por James Huggins da Universidade de Michigan em 1995; você pode baixá-lo AQUI.

EXEMPLO DE TRANSFERÊNCIA DE ARQUIVO KERMIT

Vejamos o caso comum em que você tem um computador desktop Windows com uma conexão - qualquer tipo de conexão (modem, porta serial, Telnet normal, Telnet seguro, rlogin, rlogin seguro, SSH) - a uma sessão shell em um servidor Unix (" Unix" = Linux, Mac OS X, FreeBSD, Solaris, AIX, HP-UX, etc ) e deseja transferir um arquivo entre seu PC e o servidor Unix. Seu emulador de terminal no Windows é o Kermit 95 e o servidor Unix possui o C-Kermit ou G-Kermit instalado, que pode ser invocado simplesmente digitando “kermit” no prompt do shell (ou talvez “ckermit” ou “gkermit”).

Para baixar um arquivo, digamos, message.txt , digite o seguinte comando no prompt do shell:

Kermit -s mensagem.txt

O arquivo é enviado para o diretório atual do Kermit 95 em seu PC (ou para seu DIRETÓRIO DE DOWNLOAD se você tiver definido um). Não importa se o arquivo é de texto ou binário; Kermit descobre e transfere automaticamente no modo apropriado.

Da mesma forma, se você deseja transferir um grupo de arquivos, digamos, todos os arquivos cujos nomes começam com “ diariamente. ”:

Kermit -s diariamente.*

Kermit envia cada arquivo correspondente, alternando automaticamente entre o modo texto e binário conforme apropriado para cada arquivo (daily.jpg, daily.xls, daily.txt, ...)

Carregar um arquivo do seu PC para o Unix é igualmente fácil. Suponha que você tenha um arquivo chamado “ budget.xls ” no diretório atual do Kermit 95 no seu PC. Para fazer upload para UNIX, digite isto no prompt do shell do Unix:

Kermit -g orçamento.xls

Esses são os princípios básicos; existem muitas variações e refinamentos; por exemplo:

  • Transfira apenas arquivos mais recentes que os equivalentes do outro lado.
  • Converta conjuntos de caracteres de arquivos de texto de forma adequada (por exemplo, entre ISO 8859-1 e Unicode UTF-8).
  • Recuperar uma transferência parcial do ponto de falha (somente modo binário).

Para economizar digitação, você pode definir aliases no Unix (no seu perfil do shell):

alias s="caco -Ys"

alias g="kermit -Yg"

( s para Enviar, g para Obter). E então:

s mensagem.txt

g orçamento.xls

É importante notar que você está transferindo seus arquivos pela mesma conexão que já possui; portanto, não há necessidade de fazer uma nova conexão, autenticar-se novamente ou burocracia semelhante. Se a conexão for protegida por SSH, Kerberos, SSL, TLS ou SRP, a transferência de arquivos também será segura, automaticamente.

Isso marca um grau de conveniência incomparável. Quando você diz ao C-Kermit no Unix para enviar ou obter um arquivo, seu primeiro pacote de transferência de arquivo é reconhecido automaticamente pelo emulador de terminal do Kermit 95 e o K95 entra no modo de recepção ou no modo de servidor, dependendo da direção e quando a transferência é finalizado, o K95 retorna à tela de emulação de terminal. Se houver um erro (por exemplo, se você não tiver permissão de gravação no diretório de destino), o K95 permanecerá na tela de transferência de arquivos para que você possa ver qual era o problema.

Os mesmos procedimentos também funcionam de Unix para Unix, K95 para VMS, Unix para VMS, VMS para Unix ou OS/2 para VMS ou Unix, desde que você esteja usando K95 ou C-Kermit como seu terminal programa.