Segundo Alan Kay, chamamos de “tecnologia” tudo que foi inventado depois da gente nascer. Mas na verdade livros, giz e até linguagem são "tecnologia" também, mas se tornaram tão comuns que é difícil perceber o processo em que foram incorporados no nosso dia-a-dia. Tecnologia de rede é um pouco mais recente mas mesmo assim vale a pena rever um pouco de história. Recomendo esta palestra de Van Jacobson (e este resumo) pela maneira lúcida que descreve a transição de redes do tipo telefonia para redes do tipo internet.
Porque a Internet e a Web conseguiram virar verdadeiras plataformas de inovação enquanto as redes de telefonia ficaram parados no tempo? Veremos que o segredo é identificar entidades de interesse, dar nomes a elas e permitir fazer conexões entre elas. Quem constroi aplicações para a Internet não precisa pensar nos caminhos físicos entre computadores. Quem constroi aplicações para a Web não precisa pensar nos computadores em que os documentos estão hospedados. Estas abstrações facilitam muito a vida de desenvolvedores. Outras características essenciais destas redes que incentivam inovação são a natureza distribuída destas redes e o fato que qualquer um pode participar sem pedir permissão a um órgão central.
A transição para este tipo de tecnologia occoreu nos anos 60 e continua até hoje. Acredito que sempre vai ter uma dicotomia entre sistemas abertos, distribuídos e não-hierárquias por um lado e sistemas fechados, controlados, centralizados e mantido por forças políticas e por meio de monopólios. É útil ver parte da históra de redes para ajudar interpretar o presente.
Estágio 1: redes telefônicas
Até os anos 60 do século passado, redes de telefonia era o estado de arte e o foco da atenção para pesquisa em redes de comunicação. O conceito central nestas redes é o “caminho” entre dois pontos. O problema tecnológico sendo resolvido era como achar o caminho na malha de fios de cobre e fazer a conexão entre dois telefones. Originalmente, o número de telefone era uma receita para achar este caminho. Note que o conceito de caminho entre dois pontos é não-local, o que leva a uma arquitetura de gerenciamento da rede centralizada.
Tem vários problemas com esta maneira de fazer redes mas o maior deles é a falta de escalabilidade: deve existir um caminho entre quaisquer dois pontos mas o número de caminhos aumenta rapidamente com o número de vértices. Para garantir a confiabilidade da comunicação entre todos os vértices é preciso aumentar a confiabilidade das conexões muito. Isto torna esta arquitetura de rede não muito robusta: uma falha, mesmo localizada numa região pequena, afeta grande parte da rede. Este modelo de rede funciona usando componentes de qualidade muito altas, o que leva a uma propriedade não-desejável: somente aparelhos “autorizados” podem participar da rede. Ao contrário da rede elétrica por exemplo, redes de telefonia são altamente não- neutral [Wu 2003] e gerenciadas de uma maneira centralizada.
Estes aspectos levam a uma série problemas relacionados com a falta de incentivo de implementar inovações. Não é por acaso que telefones evoluíram muito pouco no século após invenção por Bell. Historicamente, redes de telefonia são implementadas economicamente por meio de monopólios para poder sobreviver economicamente. É claro pela maneira da minha exposição que não acredito que redes de telefonia são um bom modelo. Para obter inspiração e idéias precisamos ver um novo modelo de redes, inventado nos anos 60 do século passado.
Estágio 2: Comutação de Pacotes e a Internet
A força da Internet hoje provem do fato que qualquer um dos aproximadamente 10^9 computadores podem usar qualquer um dos recursos na Internet público sem perguntar. A questão de alocação de recursos é delegado para os próprios computadores nas vértices da rede que implementam os protocolos de transporte [Briscoe 2007].
Nos anos 60 e 70 surgiu um novo paradigma para fazer redes. As chamadas redes de comutação de pacotes foram inventadas num contexto militar com o objetivo explicito de deixa-las mais robustas em face de falhas de componentes ou sub- redes inteiras. A idéia principal é de não focar mais nos caminhos ou rotas entre dois vértices e tornar o conceito principal os vértices (ou computadores ligados à rede). Um protocolo de roteamento de pacotes discretos de dados, com cada pacote sabendo o seu destino, cuida da transmissão da informação. Note que é preciso identificar com um número ou nome o destino.
As diferenças salientes com redes de telefonia são
- os pacotes são discretas,
- os pacotes sabem o seu endereço do seu destino,
- o protocolo cuida que um pacote chega no seu destino, o que pode acontecer por rotas imprevisíveis,
- a rede é descentralizada: não há controle centralizado, cada vértice ou roteador é tão importante quanto o outro.
A maior robustez e escalabilidade deste tipo de arquitetura de rede é decorrente do fato que não existe uma única rota entre dois pontos. Uma rota pode falhar e o próximo pacote pode ainda achar um outro caminho até o seu destino. Esta robustez só aumenta quando são adicionados mais vértices: a confiabilidade da rede aumenta com o número de vértices, em vez de decrescer como no caso de rede do tipo telefonia.
Dois elementos básicos da arquitetura deste tipo de rede levaram a estas propriedades desejáveis. Primeiro, o reconhecimento que os vértices (os destinos) eram as entidades importantes e interessantes que precisavam ser identificados com números e nomes e não os caminhos. A Internet foi desenhada para que os computadores ficaram visíveis e no centro das atenções, não o cabeamento.E segundo, a “inteligência” está nas bordas da rede, nos computadores que implementam o protocolo. As ligações são meros dutos de informação “burros”.
Aplicações podem ser construídas em cima deste protocolo de transporte básico, com referência somente ao destino, não à rota entre dois pontos. Dois aspectos desta abstração são importante para fazer da Internet um plataforma de inovação muito eficiente. O primeiro é que os protocolos são abertos. Todo mundo pode conhecer e usar os protocolos para criar novas aplicações em cima deles. O segundo aspecto é que as conexões existentes podem ser usados de uma maneira não previamente aprovada ou pensada pelos seus construtores originais.
Assim assegura-se uma competição saudável entre aplicações que usam os protocolos abertos da Internet, uma competição que independe dos interesses de curto prazo dos controladores da rede. O resultado é que em cima do protocolo de transporte básico agora são construídos as mais variadas aplicações de comunicação como email, chat, IM, Voice over IP, a própria Web, etc. etc.
Estágio 3: A Web
No início dos anos 90 Tim Berners Lee inventou a Web. A Web é um espaço de informação onde as entidades de interesse são identificados com URIs (Uniform Resource Identifiers) [Jacobs 2004]. Tendo já visto as propriedades desejáveis da Internet, fica mais fácil ver como a arquitetura da Web transformou serviços de informação e assim a própria sociedade e a vida das pessoas. As entidades interessantes da Web são documentos. De novo, a possibilidade de identificar documentos e fazer ligações entre eles sem ter que fazer referência aos computadores em que residem permite o re-uso inesperado de conteúdo e uma grande variedade de aplicações serem construídas em cima dos protocolos básicos da Web.
Assim como a Internet, a Web não cobra entrada: tudo mundo pode, sem permissão prévia, colocar um documento na Web, fazendo ligações com outro documentos. Os protocolos de comunicação e formato dos documentos são simples e abertos. Isto significa que para a barreira de entrada para participação da Web é bem baixa. A arquitetura da Web levou à várias propriedades desejáveis, de maneira parecida com a Internet. A Web é escalável, um documento aumenta o valor da rede como um todo, a Web é resistente à falhas localizadas, etc. etc.
Espero mostrar em posts seguintes como podemos aplicar as lições desta história ao presente.
2 votos

Comentários
escreveu:
Gostei muito do resumo, só que estava procurando novidades mais recentes de como introduzir um pc na internet sem precisar utilizar cabos para transmissão de sinal.