Borda inteligente, núcleo burro

Uma das coisas que me moveram a escolher a área de redes e aprofundar meus estudos sobre a Internet é que ela pode ser vista como a infraestrutura que catapultou a inovação nos últimos anos. Muito dos novos serviços digitais, das soluções de comunicação, das estratégias de inclusão se devem ao ambiente criado na Internet. Agora o mais surpreendente: existe um princípio técnico que permitiu toda esta inovação

Antes de nomeá-lo, vamos olhar com mais cuidado os componentes que temos na Internet: computadores, smartphones, tablets, servidores, bancos de dados, toda a gama de dispositivos inteligentes, modems, roteadores, switches e por aí vai. Podemos dividir estes componentes da seguinte forma: borda e núcleo, como na figura abaixo.

Os dispositivos que estão na borda são chamados de hospedeiros, porque são equipamentos que hospedam as aplicações finais de rede, como um navegador, um aplicativo de e-mail etc. Hospedeiros são tanto o seu dispositivo quanto o servidor com o qual ele se comunica, já que o servidor executa a outra parte da aplicação de rede, lhe fornecendo o que você quer. No núcleo estão os roteadores e todos os outros elementos que repassam pacotes como os modems, access points das redes WiFi, as estações rádio-base das redes celulares etc

Esta divisão entre borda e núcleo nos ajuda com o princípio técnico que agora nomeamos: o argumento fim-a-fim. Este princípio preconiza, em linhas gerais, que funcionalidades mais complexas sejam “empurradas” para as bordas da rede, de modo que o núcleo seja mais simples. Consolidamos este princípio com o aforismo: borda “inteligente”, núcleo “burro”. 

Note que os termos são apenas uma simplificação e não indicam que não haja complexidade no núcleo. O ponto central é que o núcleo é deixado mais simples para que ele faça bem aquilo para o qual foi concebido, que é repassar pacotes, enquanto que outras funcionalidades mais complexas como autenticação, criptografia, caching, streaming e outras, são realizadas pela borda.

Um efeito colateral deste princípio é que, ao longo da evolução da Internet, o núcleo manteve-se por mais tempo sem grandes alterações, enquanto toda grande inovação ocorreu na borda. Pense nas aplicações que você usa hoje na Internet: serviços de vídeo, comércio eletrônico, jogos, buscadores… Todos têm algo em comum: eles estão na borda. Assim vemos que ao mover a complexidade para a borda, a inovação foi movida para a borda também. 

Essa possibilidade de inovar foi potencializada pelo fato de que temos na borda computadores de propósito geral (Máquinas Universais de Turing) com capacidade quase ilimitada para executar algoritmos e solucionar problemas computacionais. Desta forma, se você cria uma nova aplicação em rede, basta que você distribua o software entre seus amigos para que a aplicação esteja “na Internet”, e se ela for interessante, mais pessoas vão usá-la e a novidade vai escalar rapidamente.

Claro que existem outros fatores que contribuem para esta inovação, como o uso de uma “língua” comum (TCP/IP) entre todos participantes da rede ou o desenvolvimento acelerado da capacidade de armazenamento e processamento dos computadores, mas é importante que você entenda o quão fundamental é este princípio. Deixe-me fazer uma comparação.

Você conhece a rede de telefonia fixa? Talvez você nem a use mais, mas essa rede foi a principal forma de comunicação humana no século XX. E por que estamos lembrando dela? Porque ela segue um princípio contrário do que vemos na Internet: borda “burra” e núcleo “inteligente”. 

Observe que o aparelho telefônico é bastante simples: microfone, falante, circuito de geração de tom ou pulso... basicamente isso. Todo os serviços (DDD, DDI, chamada em grupo...) dependem das centrais telefônicas que estão no núcleo da rede. Em outras palavras, toda a complexidade e inovação dependem do núcleo da rede. 

Agora comparemos. Se você precisa de um serviço de chamada em grupo na rede telefônica, o seu provedor precisa ter equipamentos que suportem esta funcionalidade. E se ele não tiver? Bom, então você fica sem este serviço e tem que esperar que ele venha a ter para poder usar. E como isso ocorre na Internet? Você simplesmente escolhe um aplicativo que faça isso e passa a usar, sem depender do núcleo. E se ninguém tiver criado o serviço? Bom então você cria e passa a usar. Não depende do núcleo novamente.

Como pudemos ver a escolha dos projetistas da Internet em seguir o argumento fim-a-fim foi capital para que tivéssemos a possibilidade de inovar. Foi isso que permitiu que gigantes como Google, Facebook, Amazon e outros negócios digitais surgissem. É encorajador pensar que uma decisão técnica de projeto tenha um impacto tão grande, e que nós estamos vendo apenas o início do seu potencial!

Comentários