Nos últimos meses, cresceram as discussões sobre as redes de computadores e suas falhas, especialmente com alguns problemas que ocorreram em nuvens computacionais e debates políticos em relação à gestão e ao cumprimento de ordens judiciais.
Antes de falar sobre redes, costumo ter conversas com meu pai, que sempre sugere funcionalidades ou softwares que eu deveria criar para resolver problemas que ele vê no dia a dia e que, em sua visão, têm soluções simples. Ele diz que, para ele, são apenas uma série de passos lógicos, sem qualquer complexidade. Depois, rimos juntos, pois era exatamente isso que faziam com ele no trabalho como mecânico de aviões em uma grande companhia.
O mesmo acontece no mundo da programação. Profissionais desenvolvedores tendem a olhar para outras áreas da tecnologia com uma visão superficial e projetar soluções simples, baseadas no conhecimento prévio que possuem. Não é que saibam pouco, mas não percebem que seu domínio sobre o assunto é superficial. Assim, acabam chegando a conclusões simplistas ou atribuindo aos profissionais de outras áreas limitações que, na verdade, são suas próprias.
Comentários como “as operadoras não conseguem fazer X” ou “os profissionais da Anatel não conseguem compreender Y” são comuns nesse tipo de situação. Isso ocorre porque, na minha empresa, eles fazem algo na rede local, ou “o DNS funciona assim, porque o DNS que eu configurei é desse jeito”. Eu me policio o tempo todo contra esse tipo de pensamento, pois ele é sedutor. É difícil admitir que não sabemos o suficiente sobre determinado assunto, ainda mais em um cenário onde somos cobrados por saber de tudo.
As redes de computadores são diversas e possuem características determinadas pelo modelo de negócio e pelos objetivos que se deseja alcançar com elas. Não são diferentes da construção de um software; envolvem escolhas arquiteturais e comportamentais para solucionar os problemas que a organização deseja resolver. Grandes empresas possuem vastas redes globais e, por isso, frequentemente possuem prefixos inteiros de IP para os pontos de entrada de suas redes, que são públicos, para que existam processos de governança entre as redes.
Quando se discute bloquear o acesso a um site em nível de provedores de acesso, normalmente se bloqueiam esses conjuntos de endereços. O provedor que dá acesso à internet em sua casa é um canal para a rede global. Já em provedores de serviços, a discussão não é mais sobre IPs, mas sim sobre rotas, e o bloqueio ocorre nas rotas para redes, normalmente identificadas por um número de AS (Sistema Autônomo). Os DNS de grandes redes geralmente possuem políticas de distribuição de IP durante a resolução, para distribuir as conexões de entrada. Nas maiores, isso ocorre de acordo com a geografia, para que você utilize o datacenter mais próximo.
No caso recente do Twitter, a empresa abriu uma porta de entrada na sua rede utilizando um provedor de CDN, que, devido à sua topologia, facilita esse processo. Muitas empresas optam por não manter seus servidores de borda públicos na internet, usando uma CDN não apenas para conteúdo, mas como Proxy Reverso. Sabendo disso, é possível simular um túnel através dessa rede, especialmente se ela permitir a propagação interna da sua rota. Esse é um efeito comum em serviços como WAF.
O que estou descrevendo é o cotidiano de quem trabalha nessas empresas. Em geral, essas pessoas lidam com isso diariamente. O pessoal técnico da Anatel lida com essas questões o tempo todo, assim como os das operadoras. Muitos dos problemas de rede que enfrentamos são causados por publicações incorretas de rotas no protocolo BGP. Portanto, partir da premissa de que esses profissionais foram enganados ou não são capazes de bloquear algo é subestimá-los, pois são especialistas em diversas áreas, como telecomunicações, computação, administração, etc., que fazem essas redes funcionarem, enfrentando desafios muito mais complexos do que bloquear uma rede social.
Por isso, discutir e tentar entender o que aconteceu é válido, mas sem esquecer que todas as áreas possuem profissionais competentes e que, sem um aprofundamento adequado, pode ser difícil compreender tudo o que ocorre. No fim, precisamos rir da nossa própria ignorância sobre o tema e evitar nos fecharmos no que já sabemos.
Se no fim a pergunta for “como eu conheço tanto sobre isso?”, a resposta é que tive que aprender para fazer meu trabalho nos últimos três anos. Na primeira reunião, não entendi nada do que falavam e lembro de dizer ao meu gerente: “Eu achava que sabia sobre redes, mas, de tudo que foi discutido, só entendi sobre IP. Acho que estava enganado.”