História da internet: ARPANET — pacote

História da internet: ARPANET — pacote
Esquema da rede de computadores ARPA em junho de 1967. Círculo vazio – computador com acesso compartilhado, círculo com traço – terminal para um único usuário

Outros artigos da série:

Até o final de 1966 Robert Taylor com o dinheiro da ARPA, lançou um projeto de comunicação de vários computadores em um único sistema, inspirado pela ideia de “rede intergaláctica» Joseph Carl Robnett Licklider.

A responsabilidade pela execução do projeto foi transferida para as mãos habilidosas Larry Roberts. No ano seguinte, Roberts tomou várias decisões críticas que posteriormente ecoariam na arquitetura técnica e cultura da ARPANET e seus sucessores, em alguns casos – até mesmo por várias décadas. A primeira decisão em importância, embora não em cronologia, foi a definição do mecanismo de roteamento de mensagens de um computador para outro.

O problema

Se o computador A quiser enviar uma mensagem ao computador B, como essa mensagem encontrará o caminho de um ao outro? Em teoria, poderia-se permitir que cada nó da rede se comunicasse com todos os outros, ligando fisicamente cada nó a cada um. Para se comunicar com B, o computador A simplesmente enviaria a mensagem pelo cabo de saída que o conecta a B. Essa rede é chamada de rede totalmente interconectada. No entanto, em qualquer tamanho significativo da rede, essa abordagem rapidamente se torna impraticável, pois o número de conexões aumenta como o quadrado do número de nós (para ser mais exato, como (n² - n) / 2).

Portanto, é necessário um modo de construção do caminho da mensagem, que ao chegar a um nó intermediário, a redirecione para o destino. No início da década de 1960, conheciam-se duas abordagens básicas para resolver esse problema. A primeira – o método de comutação de mensagens através de ‘armazenamento e encaminhamento’. Essa abordagem era usada pelo sistema de telégrafo. Quando uma mensagem chegava a um nó intermediário, ela era temporariamente armazenada lá (geralmente em forma de fita de papel), até que surgisse a oportunidade de enviá-la adiante, para o destino ou para outro centro intermediário mais próximo do destino.

Depois surgiu o telefone, e uma nova abordagem se tornou necessária. Um atraso de alguns minutos após cada declaração feita por telefone, que precisava ser decifrada e enviada ao destino, daria a sensação de conversar com alguém em Marte. Em vez disso, o telefone utilizou como base a comutação de circuitos. O chamador iniciava cada chamada enviando uma mensagem especial, indicando para quem queria ligar. Inicialmente, isso era feito conversando com um operador, e depois discando o número, processado automaticamente pelo equipamento do comutador. O operador ou o equipamento estabeleciam uma conexão elétrica dedicada entre o chamador e o destinatário. Nos casos de chamadas interurbanas, isso poderia exigir várias iterações, conectando a chamada através de vários comutadores. Depois que a conexão era estabelecida, a conversa propriamente dita poderia começar, e a ligação se mantinha até que uma das partes a interrompesse, desligando o telefone.

A comunicação digital, que foi decidida usar na ARPANET para conectar computadores, funcionava segundo o esquema de divisão de tempo, utilizava características tanto do telégrafo quanto do telefone. Por um lado, as mensagens com dados eram transmitidas em pacotes separados, como no telégrafo, e não como conversas contínuas no telefone. No entanto, essas mensagens podiam ter tamanhos diferentes para diferentes fins, desde comandos de console com poucos caracteres até grandes arquivos de dados sendo transferidos de um computador para outro. Se os arquivos demorassem para chegar, ninguém reclamava. Mas a interatividade remota exigiria uma resposta rápida, como em uma ligação telefônica.

Uma diferença importante entre redes de computadores, por um lado, e telefones e telégrafos, por outro, era a sensibilidade a erros nos dados processados pelas máquinas. A alteração ou perda de um único caractere em uma mensagem telegráfica ou a omissão de uma parte de uma palavra em uma conversa telefônica dificilmente poderiam perturbar gravemente a comunicação entre duas pessoas. Mas, se o ruído na linha alterasse 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 precisava ser verificada quanto a erros e reenviada caso fossem detectados. Esses reenvios seriam muito onerosos para mensagens longas, sendo que a probabilidade de erros nelas era maior, já que eram transmitidas por mais tempo.

A solução para esse problema surgiu graças a dois eventos independentes que ocorreram em 1960; no entanto, o que surgiu mais tarde foi notado primeiro por Larry Roberts e a ARPA.

Encontro

No outono de 1967, Roberts chegou a Gatlinburg, Tennessee, por causa das montanhas cobertas de árvores das Great Smoky Mountains, para entregar um documento que detalhava os planos da ARPA para a implantação da rede. Ele já trabalhava há quase um ano no escritório de tecnologias de processamento da informação (Information Processing Technology Office, IPTO), mas muitos detalhes do projeto da rede ainda eram bastante nebulosos, incluindo a solução para o problema de roteamento. Além de referências vagas sobre blocos e seus tamanhos, a única menção a isso no trabalho de Roberts era uma breve e evasiva observação no final: 'Parece necessário manter uma linha de comunicação usada periodicamente para obter respostas dentro de um tempo de uma décima a um segundo, exigido para o trabalho interativo. Isso é bastante dispendioso em termos de recursos de rede, e a menos que consigamos estabelecer chamadas mais rápidas, a comutação de mensagens e a concentração se tornarão muito importantes para os participantes da rede.' Evidentemente, naquele momento, Roberts ainda não tinha decidido se deveria abrir mão da abordagem que usou junto com Tom Marryll em 1965, ou seja, conectar computadores através da rede telefônica comutável por meio de discagem automática.

Por coincidência, naquele mesmo simpósio estava presente outra pessoa, com uma ideia muito mais bem planejada para resolver o problema de roteamento em redes de dados. Roger Scantlebury atravessou o Atlântico, vindo do Laboratório Nacional de Física Britânico (British National Physical Laboratory - NPL) com uma palestra. Scantlebury levou Roberts para o lado após sua apresentação e lhe contou sobre sua ideia. comutação de pacotes. Essa tecnologia foi desenvolvida por seu chefe no NPL, Donald Davies. Nos EUA, as realizações e a história de Davies são pouco conhecidas, embora no outono de 1967 o grupo de Davies no NPL estivesse, pelo menos, um ano à frente da ARPA com suas ideias.

Davies, como muitos dos primeiros pioneiros de computadores eletrônicos, tinha formação em física. Ele se formou no Imperial College de Londres em 1943, aos 19 anos, e foi imediatamente aceito em um programa secreto de desenvolvimento de armas nucleares chamado Tube Alloys. Lá, ele liderou um grupo de pessoas que usavam calculadoras mecânicas e elétricas para fornecer 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 já havia começado a transmitir segredos de armas nucleares à URSS). Após a guerra, ele ouviu do matemático John Womersley sobre um projeto que ele estava liderando no NPL - era a criação de um computador eletrônico que deveria realizar os mesmos cálculos com muito mais rapidez. O computador desenvolvido por Alan Turing foi chamado de ACE, "máquina de cálculo automática."

Davis agarrou-se a essa ideia e foi trabalhar na NPL o mais rápido que pôde. Contribuindo para o projeto detalhado e a criação do computador ACE, ele permaneceu profundamente envolvido na área de máquinas computacionais como líder de pesquisa na NPL. Em 1965, aconteceu que ele estava nos EUA para uma reunião profissional relacionada ao seu trabalho e aproveitou a oportunidade para visitar alguns dos principais locais de bases de computadores com tempo compartilhado, para ver qual era a grande questão. No ambiente computacional britânico, o tempo compartilhado, no sentido americano do uso interativo de computadores por múltiplos usuários, não era conhecido. Em vez disso, o que eles chamavam de tempo compartilhado significava a distribuição da carga do computador entre vários programas de processamento de dados em lotes (para que, por exemplo, um programa funcionasse enquanto outro estivesse ocupado lendo de uma fita). Depois, essa variante seria chamada de multiprogramação.

As jornadas de Davis o levaram ao Project MAC no MIT, ao JOSS Project da RAND Corporation na Califórnia, e ao sistema de tempo compartilhado de Dartmouth em New Hampshire. No caminho de volta, um de seus colegas sugeriu realizar um seminário sobre compartilhamento, para informar a comunidade britânica sobre as novas tecnologias que haviam aprendido nos EUA. Davis concordou e recebeu muitos dos principais nomes da área computacional americana, incluindo Fernando José Corbato (criador do "sistema de tempo compartilhado compatível" no MIT) e o próprio Larry Roberts.

Durante o seminário (ou talvez imediatamente após), a ideia de que a filosofia da divisão de tempo poderia ser aplicada às linhas de comunicação de computadores, e não apenas aos próprios computadores, impressionou Davis. Computadores com divisão de tempo oferecem a cada usuário um pequeno segmento de tempo de processador e depois alternam para outro, criando para cada usuário a ilusão de que possui seu próprio computador interativo. Da mesma forma, ao cortar cada mensagem em pedaços de tamanho padrão, que Davis chamou de "pacotes", um canal de comunicação pode ser compartilhado entre múltiplos computadores ou usuários de um único computador. Além disso, isso resolveria todos os aspectos da transmissão de dados, para os quais os comutadores telefônicos e telegráficos eram mal adaptados. Um usuário que trabalha com um terminal interativo, enviando comandos curtos e recebendo respostas curtas, não ficará bloqueado pela transmissão de um grande arquivo, já que essa transmissão seria dividida em múltiplos pacotes. Qualquer dano em tais grandes mensagens afetaria apenas um único pacote, que pode ser retransmitido facilmente para completar a mensagem.

Davis descreveu suas ideias em um trabalho inédito de 1966, "Proposta para uma Rede de Comunicação Digital". Naquele momento, as redes telefônicas mais avançadas estavam à beira da computação dos comutadores, e Davis sugeriu integrar a comutação de pacotes à nova geração de redes telefônicas, criando uma única rede de comunicação de banda larga capaz de atender a várias solicitações, desde chamadas telefônicas simples até acesso remoto a computadores. Naquela época, Davis foi promovido a gerente do NPL e formou um grupo de comunicação digital sob a liderança de Scantlebury para implementar seu projeto e criar uma versão demonstrativa funcional.

No ano que antecedeu a conferência em Gatlinburg, a equipe de Scantlebury trabalhou em todos os detalhes da criação de uma rede com comutação de pacotes. A falha de um nó poderia ser contornada por meio de roteamento adaptativo, capaz de operar com múltiplos caminhos até o destino, enquanto a falha de um único pacote poderia ser resolvida com um reenvio. Simulações e análises indicaram que o tamanho ótimo do pacote seria de 1000 bytes – se fosse muito menor, os custos de largura de banda para os metadados no cabeçalho seriam excessivos, e se fosse muito maior, o tempo de resposta para usuários interativos aumentaria com frequência devido a mensagens grandes.

História da internet: ARPANET — pacote
O trabalho de Scantlebury incluía detalhes como o formato do pacote…

História da internet: ARPANET — pacote
…e a análise do impacto dos tamanhos de pacote nas latências da rede.

Entretanto, as investigações de Davis e Scantlebury levaram à descoberta de um trabalho de pesquisa detalhado feito por outro americano, que teve uma ideia semelhante alguns anos antes deles. Mas, por outro lado, Paul Baran, engenheiro elétrico da RAND Corporation, não tinha em mente as necessidades dos usuários de computadores com divisão de tempo. A RAND era um centro de análise que trabalhava com fundos do Departamento de Defesa dos EUA em Santa Monica, Califórnia, criado após a Segunda Guerra Mundial para planejamento e análise de problemas estratégicos em necessidades militares. O objetivo de Baran era evitar a guerra nuclear, criando uma rede de comunicação militar extremamente confiável, capaz de sobreviver até mesmo a um ataque nuclear em grande escala. Tal rede tornaria um ataque preventivo da URSS menos atraente, pois seria muito difícil destruir a capacidade dos EUA de retaliar em vários pontos sensíveis. Para isso, Baran propôs um sistema que dividia mensagens em blocos de mensagens, que poderiam ser transmitidos de forma independente pela rede de nós de comunicação com conexões redundantes, e então reunidos no ponto final.

A ARPA tinha acesso a extensos relatórios de Baran para o RAND, no entanto, como não estavam relacionados a computadores interativos, sua importância para a ARPANET não era clara. Roberts e Taylor aparentemente não notaram isso. Em vez disso, como resultado de um encontro casual, Scantlebury apresentou tudo a Roberts em uma bandeja: um mecanismo de comutação bem elaborado, a aplicabilidade à tarefa de criar redes de computadores interativos, materiais de referência do RAND e até mesmo o nome "pacote". O trabalho da NPL também convenceu Roberts de que, para organizar uma boa largura de banda, seriam necessárias velocidades mais altas, então ele atualizou seus planos para linhas de comunicação de 50 Kbps. Para a criação da ARPANET, a parte fundamental do problema de roteamento foi resolvida.

No entanto, há outra versão sobre a origem da ideia de comutação de pacotes. Roberts afirmou mais tarde que já tinha pensamentos semelhantes em sua mente, graças ao trabalho de seu colega, Len Kleinrock, que supostamente descreveu esse conceito ainda em 1962, em sua dissertação de doutorado sobre redes de comunicação. No entanto, é incrivelmente difícil extrair tal ideia desse trabalho, e, além disso, não consegui encontrar outras confirmações dessa versão.

Redes que não existiam

Como podemos ver, duas equipes estavam à frente da ARPA na questão do desenvolvimento da comutação de pacotes, uma tecnologia que se revelou tão eficaz que hoje é a base de praticamente todas as comunicações. Por que a ARPANET se tornou a primeira rede significativa a utilizá-la?

Tudo se resume a sutilezas organizacionais. A ARPA não tinha autorização oficial para criar uma rede de comunicação, no entanto, havia um grande número de centros de pesquisa já existentes com seus próprios computadores, uma cultura de "liberdade" que praticamente não era monitorada, e montanhas de dinheiro. O pedido inicial de Taylor de 1966 para recursos para criar a ARPANET mencionou um valor de $1 milhão, e Roberts continuou a gastar essa quantia a cada ano a partir de 1969 para a criação e operação dessa rede. Para a ARPA, esse dinheiro era insignificante, então ninguém entre seus superiores se preocupava com o que Roberts estava fazendo, desde que isso pudesse ser relacionado, de alguma forma, às necessidades da defesa nacional.

Behran na RAND não tinha nem oportunidades nem autoridade para fazer algo. Seu trabalho era puramente de pesquisa e análise, podendo ser aplicado à defesa, se desejado. Em 1965, a RAND realmente recomendou seu sistema para a Força Aérea, que concordou com a viabilidade do projeto. No entanto, sua implementação ficou a cargo da agência de comunicações de defesa, que não tinha muito conhecimento em comunicação digital. Behran convenceu a liderança da RAND de que seria melhor retirar essa proposta do que permitir sua execução de qualquer forma e comprometer a reputação das comunicações digitais distribuídas.

Davis, como líder da NPL, tinha muito mais poder do que Behran, mas um orçamento mais restrito do que o da ARPA, e não dispunha de uma rede social e técnica pronta de computadores de pesquisa. Ele conseguiu criar um protótipo de rede local com 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.000 por três anos. A ARPANET gastava cerca da metade desse valor anualmente no funcionamento e manutenção de 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 grande escala com comutação de pacotes era a Royal Mail, que administrava as redes de telecomunicações do país, além dos serviços postais diretos. Davis conseguiu despertar o interesse de alguns funcionários influentes com suas ideias sobre uma rede digital unificada em nível nacional, mas mudar a direção de um sistema tão imenso estava além de seu alcance.

Licklider, combinando sorte e planejamento, encontrou um ótimo ambiente para que sua rede intergaláctica pudesse florescer. Não se pode afirmar, no entanto, que tudo, exceto a comutação de pacotes, dependesse apenas de dinheiro. A execução da ideia também desempenhou um papel importante. Além disso, o espírito da ARPANET foi moldado por algumas outras decisões importantes na fase de projeto. Portanto, a seguir, examinaremos como a responsabilidade foi distribuída entre os computadores que enviavam e recebiam mensagens e a rede pela qual essas mensagens eram enviadas.

O que mais ler

  • Janet Abbate, Inventando a Internet (1999)
  • Katie Hafner e Matthew Lyon, Where Wizards Stay Up Late (1996)
  • Leonard Kleinrock, “Uma História Precoce da Internet,” IEEE Communications Magazine (Agosto de 2010)
  • Arthur Norberg e Julie O’Neill, Transforming Computer Technology: Information Processing for the Pentagon, 1962-1986 (1996)
  • M. Mitchell Waldrop, The Dream Machine: J.C.R. Licklider and the Revolution That Made Computing Personal (2001)

Fonte: habr.com

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster