Stoa :: Ewout ter Haar :: Blog :: Nomes e Conexões: uma breve história de redes

dezembro 18, 2007

default user icon
Postado por Ewout ter Haar

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.

correntesPorque 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.

cabosTem 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

  1. os pacotes são discretas,
  2. os pacotes sabem o seu endereço do seu destino,
  3. o protocolo cuida que um pacote chega no seu destino, o que pode acontecer por rotas imprevisíveis,
  4. 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.

Palavras-chave: internet, web

Postado por Ewout ter Haar | 2 usuários votaram. 2 votos

Comentários

  1. 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.

    default user icon ‒ quinta, 06 março 2008, 22:14 -03 # Link |

Você deve entrar no sistema para escrever um comentário.

Termo de Responsabilidade

Todo o conteúdo desta página é de inteira responsabilidade do usuário. O Stoa, assim como a Universidade de São Paulo, não necessariamente corroboram as opiniões aqui contidas.