sexta-feira, 25 de maio de 2007

O TESTE DAS IDÉIAS

DARPA fez três contratos para Stanford (Cerf), BBN (Ray Tomlinson) e UCL (Peter Kirstein) implementarem TCP/IP (que foi simplesmente chamado TCP no trabalho de Cerf/Kahn, mas que continha ambos os componentes). A equipe de Stanford, liderada por Cerf, produziu uma detalhada especificação e, em um ano, haviam três implementações independentes de TCP que poderiam operar em conjunto. Este foi o começo de longa experimentação e desenvolvimento a fim de evoluir e amadurecer os conceitos e a tecnologia da Internet. Começando com as três primeiras redes (ARPANET, Packet Radio e Packet Satellite) e suas comunidades iniciais de pesquisa, o ambiente experimental cresceu para incorporar essencialmente qualquer forma de rede e grande comunidade de pesquisa e desenvolvimento. E, com cada expansão, novos desafios surgiram.
As primeiras implementações de TCP foram feitas por sistemas como Tenex e TOPS 20. Quando os microcomputadores apareceram, alguns acharam que TCP foi grande e complexo demais para rodar neles. David Clark e seu grupo de pesquisa no MIT trabalharam para mostrar que poderia haver uma simples e compacta implementação de TCP. Eles produziram esta implementação, primeiro para o Xerox Alto (a primeira estação de trabalho pessoal desenvolvida em Xerox PARC) e depois para o IBM PC. Esta implementação foi completamente inter-operável com outros TCPs, mas foi feita sob medida para microcomputadores, e mostrou que estações de trabalho, tanto quanto sistemas de grande porte, poderiam tornar-se parte da Internet. Em 1976, Kleinrck publicou o primeiro livro sobre ARPANET, com ênfase na complexidade dos protocolos e nas dificuldades que eles introduzem. Este livro foi importante na divulgação da crença nas redes com trocas de pacotes para uma grande comunidade.
O desenvolvimento generalizado de LANs, PCs e estações de trabalho na década de 80 permitiu a prosperidade da Internet que nascia. A tecnologia Ethernet, desenvolvida por Bob Metcalfe em 1973 na Xerox PARC é agora provavelmente a tecnologia de rede dominante na Internet e os PCs e estações de trabalho são os computadores dominantes. A mudança entre poucas redes com pequeno número de servidores (o modelo original ARPANET) e muitas redes resultou num número de novos conceitos e mudanças na tecnologia básica. Primeiro, isso resultou na definição de três classes de rede (A, B e C) para acomodar o alcance das redes. A classe A passou a representar redes de grande escala nacional (pequeno número de redes com grande número de servidores). A classe B passou a representar redes de escala regional. E a classe C passou a representar redes locais (grande número de redes com relativamente poucos servidores).
Uma grande mudança ocorreu como resultado do aumento da escala da Internet e os assuntos gerenciais associados. Para facilitar o uso da rede, nomes foram atribuídos a servidores para que não fosse necessário lembrar endereços numéricos. Originalmente, o número de servidores foi limitado e, portanto, foi possível manter uma tabela única de todos os servidores e seus nomes e endereços. A mudança para o grande número de redes independentemente gerenciadas (por exempo, LANs) significou o fim da tabela única de servidores, e o Domain Name System (DNS) foi inventado por Paul Mockapetris, da USC/ISI. O DNS permitiu um mecanismo escalarmente distribuído para resolver nomes de servidores hierárquicos (por exemplo, www.acm.org) num endereço Internet.
O crescimento da Internet também desafiou a capacidade dos roteamentos. Originalmente existiu um único algorítmo distribuído para roteamento que foi implementado uniformemente por todos os roteadores na Internet. Quando explodiu o número de redes na Internet e o desenho inicial de roteamento não expandiu o suficiente, este foi substituído por um modelo hierárquico de roteamento com um Interior Gateway Protocol (IGP) usado dentro de cada região da Internet e um Exterior Gateway Project (EGP) usado para ligar as regiões. Este desenho permitiu que diferentes regiões usassem diferentes IGPs, de forma que diferentes requerimentos de custo, rápida configuração, robustez e escala pudessem ser acomodados. Não apenas o algorítmo de roteamento mas também o tamanho das tabelas de endereçamento acentuaram a capacidade dos roteamentos. Novas abordagens para agregação de endereço, em particular roteamento entre domínios sem classe (CIDR) foram introduzidas para controlar o tamanho das tabelas de roteamento. Um dos maiores desafios foi como propagar as mudanças para o software, particularmente o software do servidor. DARPA dava suporte à UC Berkeley para investigar modificações para o sistema operacional Unix, inclusive incorporando o TCP/IP desenvolvido em BBN. Apesar de Berkeley ter mais tarde reescrito o código para torná-lo mais adequado ao sistema Unix, a incorporação do TCP/IP no Unix BSD foi crítica para a dispersão dos protocolos na comunidade de pesquisa. Muitos da comunidade de pesquisa da ciência da computação já haviam começado a usar Unix BSD no seu dia-a-dia e a estratégia de incorporar protocolos Internet no sistema operacional da comunidade de pesquisa foi um dos elementos-chave do larga e bem-sucedida adoção da Internet.
Um dos mais interessantes desafios foi a transição do protocolo de servidor da ARPANET de NCP para TCP/IP em 01/01/1983. Foi uma transição imediata, requisitando todos os servidores em conversão simultânea (ou então passariam a se comunicar via mecanismos específicos). A transição foi cuidadosamente planejada pela comunidade por anos antes e foi muito fácil no dia em que realmente aconteceu (mas teve como consequência a distribuição de "buttons" dizendo "Eu sobrevivi à transição para o TCP/IP").
O protocolo TCP/IP tinha sido adotado como padrão de defesa três anos antes, em 1980. Tal fato levou diretamente à eventual divisão entre comunidades militar e não militar. Em 1983, ARPANET estava sendo usada por um número significante de organizações de pesquisa e desenvolvimento e de operações da defesa. A transição da ARPANET do protocolo NCP para o protocolo TCP/IP permitiu a divisão entre a MILNET, que passou a suportar os requisitos operacionais, e a ARPANET, que passou a suportar as necessidades de pesquisa.Portanto, em 1985, a Internet já estava bem estabelecida como uma larga comunidade de suporte de pesquisadores e desenvolvedores e começava a ser usada por outras comunidades para comunicações diárias pelo computador. O correio eletrônico já estava sendo usado por muitas comunidades, frequentemente com sistemas diferentes, mas a interconexão entre os diferentes sistemas de correio foi demonstrando a utilidade de comunicação eletrônica entre as pessoas.

Nenhum comentário: