Diagrama da rede de computadores ARPA de junho de 1967. Um círculo vazio - um computador com acesso compartilhado, um círculo com um traço - um terminal para um usuárioOutros artigos da série:- Histórico de retransmissão
- A história dos computadores eletrônicos
- História do transistor
- História da Internet
No final de 1966,
Robert Taylor, com dinheiro da ARPA, lançou um projeto para conectar muitos computadores em um único sistema, inspirado na idéia da "
rede intergaláctica " de
Joseph Carl Robert Liklider .
Taylor transferiu a responsabilidade pela execução do projeto para as mãos capazes de
Larry Roberts . No ano seguinte, Roberts tomou várias decisões críticas que ecoarão posteriormente na arquitetura e cultura técnicas da ARPANET e de seus seguidores, em alguns casos, mesmo por várias décadas. A primeira decisão em importância, embora não em cronologia, foi determinar o mecanismo para rotear mensagens de um computador para outro.
O problema
Se o computador A quiser enviar uma mensagem para o computador B, como essa mensagem pode ser encontrada de um para outro? Em teoria, é possível permitir que cada nó da rede de comunicação se comunique com todos os outros, conectando nós físicos a cada nó. Para se comunicar com B, o computador A simplesmente envia uma mensagem pelo cabo de saída conectando-o a B. Essa rede é chamada de totalmente conectada. No entanto, para qualquer tamanho de rede significativo, essa abordagem rapidamente se torna impraticável, pois o número de conexões aumenta à medida que o quadrado do número de nós (para ser mais preciso, como (n
2 - n) / 2).
Portanto, é necessário um certo método de construção de uma rota de mensagem que, após a chegada da mensagem a um nó intermediário, a enviaria ainda mais ao destino. No início dos anos 60, eram conhecidas duas abordagens básicas para resolver esse problema. O primeiro é o método de alternar mensagens através de "armazenamento e transmissão". Essa abordagem foi usada pelo sistema de telégrafo. Quando uma mensagem chegava a um nó intermediário, ela era temporariamente armazenada lá (geralmente na forma de uma fita de papel) até que fosse possível transferi-la ainda mais para o alvo ou para outro centro intermediário mais próximo do alvo.
Então o telefone apareceu e foi necessária uma nova abordagem. Um atraso de vários minutos após cada declaração feita por telefone, que deveria ser descriptografada e transmitida ao destino, daria uma sensação de conversa com um interlocutor localizado em Marte. Em vez disso, o telefone usava comutação de circuitos. O chamador iniciou cada chamada enviando uma mensagem especial indicando para quem ele deseja ligar. Inicialmente, eles fizeram isso conversando com o operador e discando um número processado por equipamento automático no comutador. O operador ou o 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 várias iterações conectando a chamada através de vários comutadores. Depois que a conexão foi estabelecida, a conversa em si poderia começar, e a conexão permaneceu até que uma das partes a interrompesse, desligando.
A comunicação digital, que foi decidida usar na ARPANET para conectar computadores que funcionavam de acordo com o esquema de
compartilhamento de tempo , usava recursos do telégrafo e do telefone. Por um lado, as mensagens de dados eram transmitidas em pacotes separados, como num telégrafo, e não na forma de conversas contínuas no telefone. No entanto, essas mensagens podem ter tamanhos diferentes para propósitos diferentes, desde comandos do console com vários caracteres até arquivos grandes com dados transferidos de um computador para outro. Se os arquivos atrasaram o transporte, ninguém reclamou. Mas a interatividade remota exigia uma resposta rápida, como uma ligação telefônica.
Uma diferença importante entre as redes de dados de computadores, por um lado, e um telefone com um telégrafo, por outro, era a sensibilidade a erros nos dados processados pelas máquinas. Uma alteração ou perda durante a transmissão de um caractere em um telegrama ou o desaparecimento de parte de uma palavra em uma conversa telefônica dificilmente poderia atrapalhar seriamente a comunicação de duas pessoas. Mas se o ruído na linha mudar um único bit de 0 para 1 no comando enviado ao computador remoto, isso poderá alterar completamente o significado do comando. Portanto, cada mensagem tinha que ser verificada quanto a erros e reenviada se fosse encontrada. Essas repetições seriam muito caras para mensagens grandes, e a probabilidade de erros nelas era maior, pois elas eram transmitidas por mais tempo.
A solução para esse problema veio graças a dois eventos independentes que ocorreram em 1960, no entanto, aqueles que apareceram mais tarde foram notados primeiro por Larry Roberts e ARPA.
Reunião
No outono de 1967, Roberts chegou a Gatlinburg, Tennessee, por trás dos picos arborizados das Great Smoky Mountains, para entregar um documento informando sobre os planos da ARPA de implantar a rede. Ele trabalha no IPTO (Information Processing Technology Office) há quase um ano, mas muitos dos detalhes do design da rede ainda são bastante vagos, incluindo a solução para o problema de roteamento. Além de vagas referências aos blocos e seus tamanhos, a única referência a ele no trabalho de Roberts foi uma observação breve e evasiva no final: “Parece necessário manter uma linha de comunicação usada periodicamente para receber respostas de um décimo a um segundo necessárias para o trabalho interativo. "Isso é muito caro em termos de recursos de rede e, a menos que possamos ligar 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 deveria abandonar a abordagem usada com Tom Marrill em 1965, ou seja, conectar computadores através de uma rede telefônica discada usando discagem automática.
Coincidentemente, outra pessoa esteve presente no mesmo simpósio, com uma idéia bem melhor pensada para resolver o problema do roteamento em redes de dados. Roger Scantbury atravessou o Atlântico, chegando do British National Physical Laboratory (NPL) com um relatório. Scantlebury chamou Roberts de lado após sua palestra e contou sobre sua ideia de
comutação de
pacotes . Essa tecnologia foi desenvolvida por seu chefe na NPL, Donald Davis. Nos EUA, as realizações e a história de Davis são pouco conhecidas, embora no outono de 1967, o grupo Davis da NPL estivesse pelo menos um ano à frente do ARPA com suas idéias.
Davis, como muitos dos pioneiros em computadores eletrônicos, era físico por formação. Ele se formou no Imperial College, em Londres, em 1943, aos 19 anos, e foi imediatamente admitido em um programa secreto de desenvolvimento de armas nucleares, com o codinome
Tube Alloys . Lá, ele liderou um grupo de calculadoras que usavam calculadoras mecânicas e elétricas para emitir rapidamente soluções numéricas para problemas relacionados à fusão nuclear (seu líder era
Emil Julius Klaus Fuchs , um físico expatriado alemão que já havia começado a passar os segredos das armas nucleares para a URSS. ) Após a guerra, do matemático John Womersley, ele soube do projeto que liderou na NPL - foi a criação de um computador eletrônico que deveria realizar todos os mesmos cálculos em uma velocidade muito mais rápida.
Desenvolvido por Alan Turing, o computador se chamava ACE, "máquina de computação automática".
Davis aproveitou essa idéia e contratou a NPL o mais rápido possível. Contribuindo para o projeto detalhado e a criação do computador ACE, ele permaneceu profundamente envolvido no campo dos computadores como líder de pesquisa em NPL. Em 1965, aconteceu que ele esteve nos Estados Unidos em uma reunião profissional relacionada ao seu trabalho, e aproveitou a oportunidade para visitar vários locais grandes, baseados em computador, com o tempo compartilhado, para ver o motivo de toda essa confusão. No ambiente de computação britânico, o tempo compartilhado no sentido americano de compartilhamento interativo de computadores entre vários usuários não era conhecido. Em vez disso, o compartilhamento de tempo significava distribuir a carga do computador entre vários programas de processamento em lote (para 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 da RAND Corporation na Califórnia e ao sistema de compartilhamento de tempo de Dartmouth em New Hampshire. No caminho para casa, um de seus colegas sugeriu a realização de um workshop de compartilhamento para informar a comunidade britânica sobre as novas tecnologias que haviam aprendido nos Estados Unidos. Davis concordou e hospedou muitas das principais figuras da área de computação americana, incluindo
Fernando Jose Corbato (criador do "sistema de compartilhamento de tempo compatível" no MIT) e o próprio Larry Roberts.
Durante o seminário (ou, possivelmente, imediatamente após), Davis ficou impressionado com a idéia de que a filosofia do compartilhamento de tempo pode ser aplicada às linhas de comunicação dos computadores, e não apenas aos próprios computadores. Os computadores com compartilhamento de tempo dão a cada usuário uma pequena quantidade de tempo do processador e depois mudam para outro, criando para 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 canal de comunicação pode ser compartilhado entre vários computadores ou usuários do mesmo computador. Além disso, isso resolveria todos os aspectos da transmissão de dados para os quais os comutadores de telefone e telégrafo estavam mal adaptados. Um usuário que trabalha com um terminal interativo, enviando comandos curtos e recebendo respostas curtas, não será bloqueado pela transferência de um arquivo grande, pois essa transferência será dividida em muitos pacotes. Qualquer dano nessas mensagens grandes afetará um único pacote que pode ser facilmente retransmitido para concluir a mensagem.
Davis descreveu suas idéias em um trabalho não publicado de 1966, "Uma oferta para uma rede de comunicações digitais". Naquela época, as redes telefônicas mais avançadas estavam à beira da informatização dos comutadores, e Davis propôs integrar a comutação de pacotes a uma rede telefônica de nova geração, criando uma única rede de comunicação de banda larga capaz de atender a vários pedidos, desde simples telefonemas a acesso remoto a computadores. Até então, Davis havia sido promovido a gerente da NPL, e ele formou uma equipe de comunicação digital liderada por Scantlebury para implementar seu projeto e criar uma demonstração funcional.
No ano que antecedeu a conferência de Gatlinburg, a equipe de Scantlebury trabalhou todos os detalhes da criação de uma rede de comutação de pacotes. Um nó pode falhar através do roteamento adaptável, capaz de trabalhar com vários caminhos para o destino, e um único pacote pode ser resolvido reenviando-o. A simulação e a análise disseram que o tamanho ideal do pacote seria de 1000 bytes - se você o diminuir, os custos de transferência de linha para os metadados no cabeçalho serão muito grandes, muito mais longos - e o tempo de resposta para usuários interativos aumentará com frequência devido a mensagens grandes .
O trabalho de Scantlebury continha detalhes como o formato do pacote ...
... e análise do efeito dos tamanhos de pacotes na latência da rede.Enquanto isso, as buscas de Davis e Scantlebury levaram à descoberta de trabalhos de pesquisa detalhados feitos por outro americano que teve uma idéia semelhante vários anos antes deles. Mas, ao mesmo tempo,
Paul Beran , engenheiro elétrico da RAND Corporation, não pensou nas necessidades dos usuários de computadores com compartilhamento de tempo. O RAND foi um think tank financiado pelo Departamento de Defesa dos EUA em Santa Monica, Califórnia, criado após a Segunda Guerra Mundial para planejar a longo prazo e analisar questões estratégicas para os militares. O objetivo de Beran era atrasar uma guerra nuclear criando uma rede de comunicações militares muito confiável que pudesse sobreviver até mesmo a um ataque nuclear em larga escala. Tal rede tornaria menos atraente um ataque preventivo da URSS, pois seria muito difícil destruir a capacidade dos Estados Unidos de atingir vários pontos sensíveis em resposta. Para esse fim, Beran propôs um sistema que divide as mensagens no que ele chama de blocos de mensagens que podem ser transmitidos independentemente por uma rede de nós de comunicação com um número excessivo de conexões e, em seguida, montados juntos no terminal.
O ARPA teve acesso aos volumosos relatórios de Baran para a RAND, mas como eles não estavam conectados a computadores interativos, sua importância para a ARPANET não era óbvia. Roberts e Taylor, aparentemente, nunca foram notados. Em vez disso, como resultado de um encontro casual, Scantlebury apresentou tudo a Roberts em uma bandeja de prata: um mecanismo de comutação bem pensado, aplicabilidade à tarefa de criar redes de computadores interativas, materiais de referência da RAND e até o nome "pacote". O trabalho da NPL também convenceu Roberts de que seriam necessárias velocidades mais altas para obter boa largura de banda, então ele atualizou seus planos para links de 50 kbps. Para criar o ARPANET, a parte fundamental do problema de roteamento foi resolvida.
É verdade que há outra versão da idéia de comutação de pacotes. Mais tarde, Roberts afirmou que já tinha pensamentos semelhantes em sua cabeça, graças ao trabalho de seu colega Len Kleinrock, que supostamente descreveu esse conceito em 1962, em sua tese de doutorado em redes de comunicação. No entanto, é incrivelmente difícil extrair essa idéia deste trabalho e, além disso, não encontrei nenhuma outra evidência para esta versão.
Redes que não eram
Como podemos ver, até duas equipes estavam à frente do ARPA no desenvolvimento de comutação de pacotes, uma tecnologia que se mostrou tão eficaz que agora está subjacente a quase todas as comunicações. Por que a ARPANET se tornou a primeira rede significativa a usá-la?
É tudo sobre sutilezas organizacionais. O ARPA não tinha permissão oficial para criar uma rede de comunicação, mas havia um grande número de centros de pesquisa com seus próprios computadores, uma cultura de moral "livre" que quase ninguém olhava e montanhas de dinheiro. O pedido inicial de Taylor de 1966 de fundos para criar a ARPANET anunciou um valor de US $ 1 milhão, e Roberts continuou gastando muito todos os anos a partir de 1969 para criar e operar essa rede. Ao mesmo tempo, esse dinheiro era uma ninharia para o ARPA, então nenhum de seus chefes estava preocupado com o que Roberts estava fazendo com eles, desde que pudesse ao menos de alguma forma ser atraído pelas necessidades da defesa nacional.
Baran, na RAND, não tinha capacidade nem autoridade para fazer nada. Seu trabalho era puramente de pesquisa e analítico, e poderia ser aplicado à defesa, se desejado. Em 1965, a RAND realmente recomendou seu sistema da Força Aérea e eles concordaram com a viabilidade do projeto. Mas sua implementação caiu sobre os ombros da agência de comunicações de defesa, e lá eles não eram particularmente versados em comunicações digitais. Beran convenceu as autoridades da RAND de que seria melhor aceitar essa oferta do que deixá-lo perceber de qualquer maneira e arruinar a reputação das comunicações digitais distribuídas.
Davis, como chefe da NPL, tinha muito mais poder que Baran, mas um orçamento mais limitado que o ARPA, e ele não tinha uma rede social e técnica pronta a partir de computadores de pesquisa. Ele conseguiu criar um protótipo de rede comutada por pacotes local (havia apenas um nó, mas muitos terminais) na NPL no final da década de 1960, com um orçamento modesto de £ 120.000 em três anos. A ARPANET gasta cerca de metade desse valor anualmente na operação e manutenção de cada um dos muitos nós da rede, excluindo o investimento inicial em hardware e software. A organização capaz de criar uma rede britânica de comutação de pacotes em larga escala foi a British Post, que operava redes de telecomunicações no país, exceto por mala direta. Davis conseguiu interessar algumas autoridades influentes em suas idéias sobre uma rede digital nacional, mas não conseguiu mudar a direção do movimento de um sistema tão grande.
Liklider, combinando sorte e planejamento, encontrou uma linda estufa onde sua rede intergaláctica poderia florescer. Ao mesmo tempo, não se pode argumentar que tudo, exceto a troca de pacotes, dependia de dinheiro. O papel e a execução da ideia também tiveram efeito. Além disso, o espírito da ARPANET também foi determinado por várias outras decisões importantes na fase de projeto. Portanto, examinaremos mais detalhadamente 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 assistentes ficam acordados até tarde (1996)
- Leonard Kleinrock, “Uma História Antiga da Internet”, Revista IEEE Communications (agosto de 2010)
- Arthur Norberg e Julie O'Neill, Transforming Computer Technology: 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)