História da Internet: ARPANET - Pacote

História da Internet: ARPANET - Pacote
Diagrama de rede de computadores ARPA para junho de 1967. Um círculo vazio é um computador com acesso compartilhado, um círculo com uma linha é um terminal para um usuário

Outros artigos da série:

Até o final de 1966 Roberto Taylor com dinheiro da ARPA, lançou um projeto para conectar vários computadores em um único sistema, inspirado na ideia “rede intergaláctica» Joseph Carl Robnet Licklider.

Taylor transferiu a responsabilidade pela execução do projeto para mãos capazes Larry Roberts. No ano que se seguiu, Roberts tomou diversas decisões críticas que repercutiriam na arquitetura técnica e na cultura da ARPANET e de seus sucessores, em alguns casos, nas décadas seguintes. A primeira decisão em importância, embora não em cronologia, foi a determinação de um mecanismo para rotear mensagens de um computador para outro.

problema

Se o computador A quiser enviar uma mensagem ao computador B, como essa mensagem poderá passar de um para o outro? Em teoria, você poderia permitir que cada nó em uma rede de comunicações se comunicasse com todos os outros nós conectando cada nó a cada nó com cabos físicos. Para se comunicar com B, o computador A simplesmente enviará uma mensagem ao longo do cabo de saída que o conecta a B. Essa rede é chamada de rede mesh. No entanto, para qualquer tamanho de rede significativo, esta abordagem rapidamente se torna impraticável à medida que o número de conexões aumenta conforme o quadrado do número de nós (como (n2 - n)/2 para ser mais preciso).

Portanto, é necessária alguma forma de construir uma rota de mensagem que, ao chegar a mensagem ao nó intermediário, a envie ainda mais para o destino. No início da década de 1960, havia duas abordagens básicas para resolver esse problema. O primeiro é o método de armazenamento e encaminhamento de troca de mensagens. Essa abordagem foi usada pelo sistema telegráfico. Quando uma mensagem chegava a um nó intermediário, ela era armazenada temporariamente lá (geralmente na forma de uma fita de papel) até que pudesse ser transmitida ao alvo ou a outro centro intermediário localizado mais próximo do alvo.

Então surgiu o telefone e foi necessária uma nova abordagem. Um atraso de vários minutos após cada enunciado telefônico, que deveria ser decifrado e transmitido ao seu destino, daria a sensação de uma conversa com um interlocutor localizado em Marte. Em vez disso, o telefone usava comutação de circuitos. O chamador iniciava cada ligação enviando uma mensagem especial indicando para quem queria ligar. Primeiro, isso era feito conversando com a operadora e depois discando um número, que era processado por um equipamento automático da central telefônica. O operador ou equipamento estabeleceu uma conexão elétrica dedicada entre o chamador e a parte chamada. No caso de chamadas de longa distância, isso pode exigir diversas iterações conectando a chamada através de vários switches. Uma vez estabelecida a ligação, a conversa propriamente dita poderia começar e a ligação permanecia até que uma das partes a interrompesse desligando.

Comunicação digital, que se decidiu utilizar na ARPANET para conectar computadores funcionando de acordo com o esquema compartilhamento de tempo, usava recursos tanto do telégrafo quanto do telefone. Por um lado, as mensagens de dados eram transmitidas em pacotes separados, como no telégrafo, e não como conversas contínuas pelo telefone. No entanto, essas mensagens podem ter tamanhos diferentes para finalidades diferentes, desde comandos de console com vários caracteres de comprimento até grandes arquivos de dados transferidos de um computador para outro. Se os arquivos atrasassem no trânsito, ninguém reclamava. Mas a interatividade remota exigia uma resposta rápida, como um telefonema.

Uma diferença importante entre as redes de dados de computadores, por um lado, e as redes telefônicas e telegráficas, por outro, era a sensibilidade a erros nos dados processados ​​pelas máquinas. A alteração ou perda durante a transmissão de um caracter de um telegrama, ou o desaparecimento de parte de uma palavra numa conversa telefónica dificilmente poderia perturbar gravemente a comunicação entre duas pessoas. Mas se o ruído na linha mudasse um único bit de 0 para 1 em um comando enviado a um computador remoto, isso poderia mudar completamente o significado do comando. Portanto, cada mensagem tinha que ser verificada em busca de erros e reenviada caso algum fosse encontrado. Essas repetições seriam muito caras para mensagens grandes e teriam maior probabilidade de causar erros porque demoravam mais para serem transmitidas.

A solução para este problema veio através de dois eventos independentes que aconteceram em 1960, mas o que veio depois foi notado primeiro por Larry Roberts e pela ARPA.

Reunião

No outono de 1967, Roberts chegou a Gatlinburg, Tennessee, vindo de além dos picos arborizados das Great Smoky Mountains, para entregar um documento descrevendo os planos de rede da ARPA. Ele trabalhava no Escritório de Tecnologia de Processamento da Informação (IPTO) há quase um ano, mas muitos detalhes do projeto da rede ainda eram muito vagos, inclusive a solução do problema de roteamento. Além de vagas referências a blocos e seus tamanhos, a única referência a eles no trabalho de Roberts foi uma observação breve e evasiva bem no final: “Parece necessário manter uma linha de comunicação usada intermitentemente para obter respostas na ordem de um décimo para um. segunda vez necessária para operação interativa. Isto é muito caro em termos de recursos de rede e, a menos que possamos fazer chamadas mais rapidamente, a troca e a concentração de mensagens se tornarão muito importantes para os participantes da rede.” Obviamente, naquela época, Roberts ainda não havia decidido se abandonaria a abordagem que havia usado com Tom Marrill em 1965, ou seja, conectar computadores através da rede telefônica comutada usando discagem automática.

Coincidentemente, outra pessoa esteve presente no mesmo simpósio com uma ideia muito melhor para resolver o problema de roteamento em redes de dados. Roger Scantlebury cruzou o Atlântico, chegando do Laboratório Nacional de Física Britânico (NPL) com um relatório. Scantlebury chamou Roberts de lado após seu relatório e contou-lhe sua ideia. comutação de pacotes. Essa tecnologia foi desenvolvida por seu chefe na NPL, Donald Davis. Nos Estados Unidos, as conquistas e a história de Davis são pouco conhecidas, embora no outono de 1967 o grupo de Davis no NPL estivesse pelo menos um ano à frente da ARPA com suas ideias.

Davis, como muitos dos primeiros pioneiros da computação eletrônica, era físico por formação. Ele se formou no Imperial College London em 1943, aos 19 anos, e foi imediatamente recrutado para um programa secreto de armas nucleares com o codinome Ligas de tubo. Lá ele supervisionou uma equipe de calculadores humanos que usavam calculadoras mecânicas e elétricas para produzir rapidamente soluções numéricas para problemas relacionados à fusão nuclear (seu supervisor era Emil Julius Klaus Fuchs, um físico expatriado alemão que naquela época já havia começado a transferir os segredos das armas nucleares para a URSS). Após a guerra, ele ouviu do matemático John Womersley sobre um projeto que liderava no NPL - era a criação de um computador eletrônico que deveria realizar os mesmos cálculos em uma velocidade muito maior. Alan Turing projetou computador chamado ACE, "mecanismo de computação automática".

Davis aproveitou a ideia e assinou contrato com a NPL o mais rápido que pôde. Tendo contribuído para o projeto detalhado e construção do computador ACE, ele permaneceu profundamente envolvido no campo da computação como líder de pesquisa no NPL. Em 1965, ele estava nos EUA para uma reunião profissional relacionada ao seu trabalho e aproveitou a oportunidade para visitar vários grandes sites de computadores de compartilhamento de tempo para ver o motivo de tanto alarido. No ambiente computacional britânico, o compartilhamento de tempo no sentido americano de compartilhamento interativo de um computador por múltiplos usuários era desconhecido. Em vez disso, o compartilhamento de tempo significava distribuir a carga de trabalho do computador entre vários programas de processamento em lote (de modo que, por exemplo, um programa funcionasse enquanto outro estivesse ocupado lendo a fita). Então esta opção será chamada de multiprogramação.

As andanças de Davis o levaram ao Projeto MAC no MIT, ao Projeto JOSS na RAND Corporation na Califórnia e ao Dartmouth Time Sharing System em New Hampshire. No caminho para casa, um dos seus colegas sugeriu a realização de um workshop sobre partilha para educar a comunidade britânica sobre as novas tecnologias que aprenderam nos EUA. Davis concordou e recebeu muitas das principais figuras do campo da computação americana, incluindo Fernando José Corbato (criador do “Interoperable Time Sharing System” no MIT) e do próprio Larry Roberts.

Durante o seminário (ou talvez imediatamente depois), Davis ficou impressionado com a ideia de que a filosofia de compartilhamento de tempo poderia ser aplicada às linhas de comunicação de computadores, e não apenas aos próprios computadores. Os computadores de compartilhamento de tempo dão a cada usuário uma pequena parte do tempo de CPU e depois mudam para outro, dando a cada usuário a ilusão de ter seu próprio computador interativo. Da mesma forma, cortando cada mensagem em pedaços de tamanho padrão, que Davis chamou de “pacotes”, um único canal de comunicação pode ser compartilhado entre muitos computadores ou usuários de um único computador. Além disso, resolveria todos os aspectos da transmissão de dados para os quais as centrais telefônicas e telegráficas eram inadequadas. Um usuário operando um terminal interativo enviando comandos curtos e recebendo respostas curtas não será bloqueado por uma transferência de arquivos grandes porque a transferência será dividida em muitos pacotes. Qualquer corrupção em mensagens tão grandes afetará um único pacote, que pode ser facilmente retransmitido para completar a mensagem.

Davis descreveu suas idéias em um artigo não publicado de 1966, "Proposta para uma Rede de Comunicações Digitais". Naquela época, as redes telefônicas mais avançadas estavam à beira da informatização dos switches, e Davis propôs incorporar a comutação de pacotes na rede telefônica da próxima geração, criando uma única rede de comunicações de banda larga capaz de atender a uma variedade de solicitações, desde simples chamadas telefônicas até chamadas remotas. acesso a computadores. Naquela época, Davis havia sido promovido a gerente da NPL e formou um grupo de comunicações digitais sob Scantlebury para implementar seu projeto e criar uma demonstração funcional.

No ano que antecedeu a conferência de Gatlinburg, a equipe de Scantlebury elaborou todos os detalhes da criação de uma rede comutada por pacotes. Uma falha de nó único poderia ser resolvida por meio de roteamento adaptativo que pudesse lidar com vários caminhos para um destino, e uma falha de pacote único poderia ser resolvida reenviando-o. Simulação e análise disseram que o tamanho ideal do pacote seria de 1000 bytes - se você torná-lo muito menor, o consumo de largura de banda das linhas para metadados no cabeçalho será muito, muito mais - e o tempo de resposta para usuários interativos aumentará muitas vezes devido a mensagens grandes.

História da Internet: ARPANET - Pacote
O trabalho de Scantlebury incluiu detalhes como o formato da embalagem...

História da Internet: ARPANET - Pacote
...e análise do impacto do tamanho dos pacotes na latência da rede.

Enquanto isso, a pesquisa de Davis e Scantlebury levou à descoberta de trabalhos de pesquisa detalhados feitos por outro americano que teve uma ideia semelhante vários anos antes deles. mas ao mesmo tempo Paul Beran, engenheiro elétrico da RAND Corporation, não havia pensado nas necessidades dos usuários de computadores que compartilham o tempo. RAND foi um think tank financiado pelo Departamento de Defesa em Santa Monica, Califórnia, criado após a Segunda Guerra Mundial para fornecer planejamento e análise de longo prazo de problemas estratégicos para os militares. O objetivo de Baran era atrasar a guerra nuclear criando uma rede de comunicações militares altamente confiável, capaz de sobreviver até mesmo a um ataque nuclear em grande escala. Uma tal rede tornaria um ataque preventivo da URSS menos atraente, uma vez que seria muito difícil destruir a capacidade dos EUA de atacar múltiplos pontos sensíveis em resposta. Para fazer isso, Baran propôs um sistema que dividia as mensagens no que ele chamou de blocos de mensagens que poderiam ser transmitidos de forma independente através de uma rede de nós redundantes e depois montados no terminal.

A ARPA teve acesso aos volumosos relatórios de Baran para a RAND, mas como não estavam relacionados com computadores interactivos, a sua importância para a ARPANET não era óbvia. Roberts e Taylor, aparentemente, nunca os notaram. Em vez disso, como resultado de um encontro casual, Scantlebury entregou tudo a Roberts em uma bandeja de prata: um mecanismo de comutação bem projetado, aplicabilidade ao problema de criação de redes interativas de computadores, materiais de referência da RAND e até mesmo o nome “pacote”. O trabalho da NPL também convenceu Roberts de que seriam necessárias velocidades mais altas para fornecer boa capacidade, então ele atualizou seus planos para links de 50 Kbps. Para criar a ARPANET, foi resolvida uma parte fundamental do problema de roteamento.

É verdade que existe outra versão da origem da ideia de comutação de pacotes. Mais tarde, Roberts afirmou que já tinha pensamentos semelhantes na cabeça, graças ao trabalho de seu colega Len Kleinrock, que supostamente descreveu o conceito em 1962, em sua tese de doutorado sobre redes de comunicações. No entanto, é incrivelmente difícil extrair tal ideia deste trabalho e, além disso, não consegui encontrar nenhuma outra evidência para esta versão.

Redes que nunca existiram

Como podemos ver, duas equipes estavam à frente da ARPA no desenvolvimento da comutação de pacotes, uma tecnologia que se mostrou tão eficaz que agora é a base de quase todas as comunicações. Por que a ARPANET foi a primeira rede significativa a utilizá-la?

É tudo uma questão de sutilezas organizacionais. A ARPA não tinha permissão oficial para criar uma rede de comunicações, mas havia um grande número de centros de investigação existentes com os seus próprios computadores, uma cultura de moral “livre” que era praticamente sem supervisão e montanhas de dinheiro. O pedido original de Taylor de 1966 por fundos para criar a ARPANET previa US$ 1 milhão, e Roberts continuou a gastar esse valor todos os anos a partir de 1969 para colocar a rede em funcionamento. Ao mesmo tempo, para a ARPA, esse dinheiro era pouco, por isso nenhum dos seus chefes se preocupava com o que Roberts estava a fazer com ele, desde que pudesse de alguma forma estar ligado às necessidades da defesa nacional.

Baran, da RAND, não tinha poder nem autoridade para fazer nada. Seu trabalho foi puramente exploratório e analítico, e poderia ser aplicado à defesa, se desejado. Em 1965, a RAND recomendou seu sistema à Força Aérea, que concordou que o projeto era viável. Mas a sua implementação recaiu sobre os ombros da Agência de Comunicações de Defesa, e eles não entendiam particularmente as comunicações digitais. Baran convenceu os seus superiores na RAND de que seria melhor retirar esta proposta do que permitir que ela fosse implementada de qualquer maneira e arruinar a reputação das comunicações digitais distribuídas.

Davis, como chefe do NPL, tinha muito mais poder do que Baran, mas um orçamento mais apertado do que o ARPA, e não tinha uma rede social e técnica pronta a usar de computadores de investigação. Ele conseguiu criar um protótipo de rede local de comutação de pacotes (havia apenas um nó, mas muitos terminais) na NPL no final da década de 1960, com um orçamento modesto de £ 120 ao longo de três anos. A ARPANET gastou cerca de metade desse valor anualmente em operações e manutenção em cada um dos muitos nós da rede, excluindo os investimentos iniciais em hardware e software. A organização capaz de criar uma rede britânica de comutação de pacotes em grande escala foi a British Post Office, que geria as redes de telecomunicações do país, exceto o próprio serviço postal. Davis conseguiu interessar vários funcionários influentes com suas ideias para uma rede digital unificada em escala nacional, mas não foi capaz de mudar a direção de um sistema tão grande.

Licklider, através de uma combinação de sorte e planejamento, encontrou a estufa perfeita onde sua rede intergaláctica poderia florescer. Ao mesmo tempo, não se pode dizer que tudo, exceto a comutação de pacotes, tenha sido uma questão de dinheiro. A execução da ideia também desempenhou um papel. Além disso, diversas outras decisões importantes de design moldaram o espírito da ARPANET. Portanto, a seguir veremos como a responsabilidade foi distribuída entre os computadores que enviaram e receberam mensagens e a rede pela qual eles enviaram essas mensagens.

O que mais ler

  • Janet Abbate, Inventando a Internet (1999)
  • Katie Hafner e Matthew Lyon, Onde os bruxos ficam acordados até tarde (1996)
  • Leonard Kleinrock, “An Early History of the Internet”, IEEE Communications Magazine (agosto de 2010)
  • Arthur Norberg e Julie O'Neill, Transformando a Tecnologia da Computação: Processamento de Informações para o Pentágono, 1962-1986 (1996)
  • M. Mitchell Waldrop, A máquina dos sonhos: JCR Licklider e a revolução que tornou a computação pessoal (2001)

Fonte: habr.com

Adicionar um comentário