Tópicos quentes de pesquisa na área de Internet - Parte I: Uma visão sobre CDNs

Imagem de vários dispositivos conectados

A Internet é vista por muitos como algo posto e imutável. Mas o que poucos sabem é que ela suscita debates acadêmicos acalorados sobre como deve ser o desenvolvimento de sua arquitetura daqui para frente. A arquitetura da Internet e seus protocolos não foram desenvolvidos pensando no uso atual da rede e todas as aplicações que foram criadas desde o surgimento.

Apesar da arquitetura flexível que permitiu com que ela se desenvolvesse até o momento atual, há várias limitações que advém dessa mesma arquitetura e do conjunto de protocolos utilizados.

Um exemplo é a numeração IP, que identifica cada um dos dispositivos que se conecta à Internet. Atualmente é usada a versão 4 do protocolo IP que que permite a conexão de quase 4,3 bilhões de endereços e, por incrível que pareça essa quantidade praticamente já se esgotou.

Só não se esgotaram ainda mais rápido devido a algumas mudanças emergenciais que foram implementadas na arquitetura da Internet, como o NAT e o uso de IPs dinâmicos. O NAT permite que um único endereço IP possa ser utilizado por toda uma rede de computadores, sendo que essa passa a ter endereços privados que não podem ser acessados de fora dela. Já o uso de IPs dinâmicos permite que as operadoras do serviço de conexão à Internet possam usar os mesmos IPs para vários clientes: em um dado momento, um IP pode estar atribuído a um cliente, assim que ele desconecta, esse IP fica livre para ser usado em outro cliente.

A ideia inicial da Internet era a de que cada dispositivo tivesse o seu próprio IP e de que ele não fosse compartilhado com outros dispositivos. Então, o NAT e o uso de IPs dinâmicos contrariam a arquitetura inicial prevista para a Internet. Além disso, esses artifícios adicionam uma complexidade no gerenciamento da rede não prevista inicialmente.

Apesar desses mecanismos, chegou-se a um nível em que o gerenciamento está bastante complexo e que algumas aplicações não funcionam tão bem com todas essas camadas. Por isso, foi proposta uma nova versão do protocolo IP conhecida como IPv6, em que há um aumento significativo no número de endereços disponíveis e que não necessitará do uso desses artifícios.

Casos como esse suscitam debates sobre como a arquitetura da Internet deve evoluir daqui para frente. Há basicamente duas linhas de pensamento entre os pesquisadores da área: os defensores da linha evolutiva e os da linha clean-slate. Os primeiros acreditam que a arquitetura atual da Internet deve evoluir conforme as necessidades e que as mudanças devem ser bem pensadas para que se mantenha a compatibilidade dos equipamentos já funcionando na rede. Os adeptos ao clean-slate são mais radicais e acreditam que para resolver as questões que existem hoje na Internet seria necessário pensar em uma nova arquitetura para ela, basicamente reconstruindo uma nova rede mundial com base nos aprendizados do que deu certo e errado com a atual. Para conhecer mais sobre essas duas linhas, veja [1].

Dentro dessas duas linhas de pensamento há diversos tópicos quentes de pesquisa na área. Esse texto pretende fazer um breve resumo, de forma didática, de um dos tópicos quentes de pesquisa na área de Internet. Textos no futuro se debruçarão em outros tópicos.

CDNs

Uma CDN (Content Delivery Network) é um sistema distribuído de larga escala constituído por muitos servidores implantados em diversos data centers espalhados na Internet. O objetivo dela é tornar acessível conteúdo aos usuários com alta disponibilidade e um bom nível de qualidade de serviço. Existem diversas empresas globais dedicadas a fornecer esse tipo de solução aos provedores de conteúdo, sendo a maior delas a Akamai.

Para deixar mais claro como uma CDN funciona, analisaremos um exemplo na prática. Existe um grande provedor de conteúdo em vídeo que tem usuários em diferentes países. Ele tem um data center com vários servidores em sua sede. Todos os usuários que desejam assistir vídeos desse provedor terão que acessar a esses servidores. Porém, alguns desses usuários passam a experimentar uma demora e lentidão nesse acesso. Um dos fatores a se considerar é a própria distância física entre esses usuários e esses servidores na Internet. Se os servidores de alguma forma pudessem estar mais próximos aos usuários, eles acessariam esse conteúdo de forma mais rápida e teriam uma experiência mais satisfatória. Então, esse provedor de conteúdo faz um acordo com algumas operadoras de Internet para que possa colocar na rede delas servidores com cópias do conteúdo mais acessado naquela região e assim os usuários terem acesso mais rápido. Isso é basicamente o que é uma CDN.

Sintetizando, as vantagens no uso das CDNs são:

  • A carga do servidor "central" é reduzida, uma vez que as solicitações de conteúdo são distribuídas para vários servidores;
  • Como os usuários são atendidos pelos servidores mais próximos, o atraso é reduzido; e
  • As CDNs oferecem aos provedores de conteúdo um grau de proteção a ataques externos (por exemplo, DDoS) usando sua infraestrutura de servidores em larga escala para absorver o tráfego de ataque.

Além disso, as empresas que fornecem soluções de CDN acabam por ter uma rede de servidores em todo o mundo, gerando um grande volume de tráfego, o que lhes permite realizar análises sofisticadas do seu serviço de conteúdo que, por sua vez, pode ser usado para proporcionar uma maior segurança e confiabilidade.

Existem empresas que tem seus próprios serviços de CDN. A NetFlix é um exemplo disso. Os provedores de conexão à Internet podem entrar em contato com a empresa para pedirem um servidor com conteúdos da NetFlix. Todos os custos são cobertos pelo NetFlix, que faz monitoramento em tempo integral do funcionamento das CDNs. O provedor de conexão necessita apenas prover tráfego para atualização dos conteúdos no servidor. Essa atualização é feita diariamente durante o horário de menor uso (das 2h às 14h).

Apesar das CDNs já serem algo comercial e estarem implementadas, ainda há muito o que se pesquisar em relação a isso, como, por exemplo, melhor desempenho durante a cópia de conteúdos entre a CDN e o data center "central", gerenciamento distribuído de CDNs e protocolo de comunicação entre CDNs federadas. As CDNs federadas são operadas por empresas regionais de telecomunicação. As empresas de diversas regiões fazem parcerias, tendo em vista que têm uma atuação limitada regionalmente, para que possam aumentar a sua abrangência e competirem com as CDNs conhecidas como tradicionais. Na referência [2] encontra-se disponível um estudo sobre a divisão de mercado entre os dois tipos de CDNs.

No próximo post irei continuar a falar sobre os tópicos quentes de pesquisa na área de Internet, acompanhem!

Bibliografia:

[1] Jennifer Rexford and Constantine Dovrolis. 2010. Future Internet architecture: clean-slate versus evolutionary research. Commun. ACM 53, 9 (September 2010), 36-40. DOI=http://dx.doi.org/10.1145/1810891.1810906

[2] Hyojung Lee, Dongmyung Lee, and Yung Yi. 2014. On the economic impact of Telco CDNs and their alliance on the CDN market. IEEE ICC 2014 - Next-Generation Networking Symposium. DOI=http://dx.doi.org/10.1109/ICC.2014.6883773

*imagem retirada do Pixabay (CC0 Public Domain, Free for commercial use, No attribution required).