Como a Internet realmente funciona: do backbone ao navegador

4

Ninguém é dono da internet. Não é um ativo corporativo. Não é propriedade do governo. É uma coleção global e confusa de redes. Grandes. Pequenos. Eles se conectam em variações infinitas para formar a entidade única da qual confiamos todos os dias.

Desde 1969, explodiu. Quatro computadores host tornaram-se dezenas de milhões. A escala é impressionante. No entanto, a falta de um único proprietário não significa caos. A Internet Society, uma organização sem fins lucrativos criada em 1992, mantém as luzes acesas. Eles supervisionam as políticas e protocolos que definem a interação. Sem eles, as regras seriam fragmentadas. A infraestrutura desmoronaria.

Você precisa entender a estrutura subjacente. Especificamente, como o seu computador se conecta a outros. Esta não é apenas uma teoria abstrata. Ele determina a rapidez com que sua página carrega. Com que segurança seus dados trafegam. Vamos quebrar os servidores de nomes de domínio. Pontos de acesso à rede. A enorme espinha dorsal da Internet que carrega o peso da comunicação global.

A Hierarquia da Conexão

Seu computador não se comunica diretamente com o servidor que hospeda seu site favorito. Ele fala com um intermediário. Esse intermediário se conecta a uma rede maior. E assim por diante.

Essa hierarquia é crítica. Isso explica por que algumas conexões são rápidas. Por que outros ficam atrasados. Compreender esse fluxo ajuda a solucionar problemas. Ajuda você a apreciar a complexidade de um simples clique.

Começamos aqui. Com a ligação entre o seu dispositivo e o resto do mundo.

Você não vê isso. Você mal pensa sobre isso. Mas cada vez que você abre um navegador, você está montando uma infraestrutura enorme e descentralizada que se estende por todo o mundo. Seu laptop se conecta a um modem ou linha de fibra. Essa linha leva ao seu provedor de serviços de Internet (ISP). No trabalho, você provavelmente está conectado a uma rede local (LAN), que o ISP da empresa canaliza para o mundo todo.

A internet não é uma coisa única. É uma rede de redes.

Os principais gigantes das telecomunicações operam seus próprios backbones – conexões de fibra sempre ativas e de alta capacidade que movimentam terabytes de dados para milhões de usuários simultaneamente. Os escritórios regionais ligam as residências e empresas locais a estas artérias principais. O sistema foi projetado sem um hub central. Se um nó falhar, os dados não param. Ele redireciona. Os pacotes encontram um novo caminho ao redor do bloqueio. Você não percebe nada.

Interconectando redes diferentes

Considere um instantâneo simplificado de como isso funciona.

A empresa A é uma pequena empresa. Possui um servidor interno e uma impressora em rede. Ele fala sozinho muito bem. A Empresa B é um grande ISP. Possui edifícios nas principais cidades, repletos de servidores e equipamentos de roteamento, conectados por suas próprias linhas privadas de fibra óptica.

Os usuários da Empresa A podem conversar entre si. Os clientes da empresa B podem conversar entre si. Mas as duas redes estão isoladas. Eles não podem falar.

Para resolver isso, ambas as empresas concordam em se conectar a pontos de troca de internet, ou IXPs, em várias cidades. Este acordo permite que os seus sistemas díspares se liguem ao ecossistema mais amplo da Internet. Agora, o tráfego pode fluir entre eles.

Esta é uma visão microscópica da Internet global. Para uma visão macroscópica, veja o Projeto Opte de Barrett Lyon. Ele mapeia os pipelines em evolução da Internet, revelando a estrutura complexa e semelhante à web dos pipelines e conexões da Internet.

O papel do roteador na comutação de pacotes

Nada disso funciona sem roteadores. Esses dispositivos especializados são os guardas de trânsito do mundo digital. Eles determinam exatamente para onde os pacotes de dados vão de um ponto a outro.

Uma mensagem pode sair de um dispositivo em Nova York e chegar a Tóquio em uma fração de segundo. Ele atravessa várias redes e dezenas de roteadores para fazer isso. Cada roteador tem duas tarefas principais:

  • Controle de tráfego: garante que as informações não obstruam as conexões de usuários não relacionados. Ele evita que redes de “espectadores inocentes” sejam sobrecarregadas por tráfego que não é destinado a elas.
  • Garantia de Entrega: Garante que os dados cheguem ao destino pretendido, mesmo que o caminho direto esteja bloqueado.

Os roteadores unem-se às redes, mantendo-as distintas. Eles transmitem informações, mas evitam repercussões desnecessárias. Quer estejam ligadas duas redes ou duas mil, a função permanece a mesma. A Internet depende desta necessidade de funcionar como um todo coeso, embora caótico.

A National Science Foundation construiu o primeiro backbone real de Internet de alta velocidade em 1986. Eles o chamaram de NSFNET. Não era muito para os padrões de hoje. Uma única linha T1 conectando 170 redes menores. Ele funcionou a 1,5 Mbps. Isso é lento. Dolorosamente lento.

IBM, MCI e Merit Network ajudaram a construí-lo. Eles perceberam rapidamente que 1,5 Mbps não seria suficiente. Então, no ano seguinte, eles lançaram um backbone T3. Isso aumentou a velocidade para 45 Mbps. Grande salto naquela época.

Backbones são apenas as principais artérias da internet. Eles lidam com volumes de tráfego que o seu Wi-Fi doméstico nunca conseguirá. No início, apenas as grandes empresas de telecomunicações tinham o hardware para gerir essa largura de banda. Você não poderia simplesmente comprar a infraestrutura.

Agora é diferente. Centenas de empresas administram seus próprios backbones de alta capacidade. Todos eles se conectam em vários Internet Exchange Points (IXPs) espalhados globalmente. Isso cria uma malha. Um gigantesco acordo entre as pessoas para se comunicarem livremente. Se você estiver em Tóquio e eu em Toronto, nossos dados passam por essas interconexões. Todos podem conversar com todos.

Compreendendo endereços IP e lógica binária

Cada máquina nessa rede precisa de um ID exclusivo. Um endereço IP. Significa Protocolo de Internet. É metade do par TCP/IP. A outra metade é Protocolo de Controle de Transmissão. Juntos, eles ditam como os computadores se conectam. Um protocolo é apenas um conjunto de regras. Uma forma predefinida de acesso a um serviço. Geralmente por um programa como um navegador da web, não por um ser humano.

Pegue um endereço IPv4 padrão. É assim: 216.27.61.137.

Os humanos preferem decimal. É mais fácil digitar. Mas os computadores falam binário. O mesmo endereço em binário é: 11011000.00011011.00111101.10001001.

Cada pedaço de números é um octeto. Por que? Porque em binário tem oito posições. Quatro octetos perfazem 32 bits. Cada posição pode ser 1 ou 0. São dois estados. $2^8$ é igual a 256. Portanto, cada octeto vai de zero a 255.

Combine os quatro octetos e você obterá $2^{32}$. Cerca de 4,3 bilhões de valores únicos. Isso parece muito. Mas a internet cresceu mais rápido do que se previa. 4,3 bilhões não foram suficientes.

Alguns endereços estão fora dos limites. 0.0.0.0 é para redes locais. 255.255.255.255 é para transmissões. Você não pode atribuí-los a um dispositivo específico.

A solução foi IPv6. A Internet Engineering Task Force (IETF) começou a trabalhar nisso no final de 1998. Foi lançado oficialmente em 6 de junho de 2012. O IPv6 usa endereços de 128 bits. Isso dá 340 trilhões de trilhões de trilhões de endereços. Deveríamos estar seguros por um tempo. (Por enquanto.)

Observe que o IPv5 nunca foi adotado oficialmente. Simplesmente não aconteceu.

IPv6 parece diferente. Ele usa hexadecimal. Os segmentos são separados por dois pontos. Assim: ba5a:9a72:4aa5:522e:b893:78dd:a6c4:f033.

Hexadecimal usa 16 dígitos. 0-9 e AF. As letras preenchem os valores de dez a quinze. É compacto. Eficiente. Necessário.

O nascimento do sistema de nomes de domínio

As primeiras conexões com a Internet eram manuais. Você discou. Você digitou números. Se você quisesse acessar um host específico, precisava do IP dele. Talvez 216.27.22.162.

Funcionou bem quando havia apenas alguns computadores. Tornou-se um pesadelo quando milhares de pessoas aderiram. Lembrando-se de sequências aleatórias de números para cada site? Impossível.

A primeira correção foi um arquivo de texto. Uma tabela hospedeira. Mantido pelo Centro de Informações de Rede (NIC). Ele mapeou nomes para IPs. Simples. Mas o arquivo ficou muito grande. Muito complicado para atualizar manualmente.

Paul Mockapetris viu o problema. Em novembro de 1983, ele submeteu duas RFCs ao Grupo de Trabalho de Redes Internacionais.

A RFC 882 descreveu os conceitos do sistema de nomes de domínio (DNS). Ele mapeou nomes de texto para endereços IP automaticamente. RFC 883 propôs a implementação.

De repente você não precisava mais memorizar 216.27.22.162. Você acabou de digitar www.howstuffworks.com. O DNS cuidou da tradução. Aconteceu em segundo plano. Rápido.

Essa mudança mudou a forma como os humanos interagem com a rede. Paramos de lidar diretamente com máquinas. Começamos a lidar com rótulos. Nomes. A memória tornou-se irrelevante. A acessibilidade tornou-se tudo.

A espinha dorsal cresceu. Os endereços se expandiram. Os nomes ficaram mais simples. A internet não apenas cresceu. Ficou utilizável. E foi ficando cada vez mais rápido. As linhas T3 foram substituídas por fibra óptica. Os 45 Mbps tornaram-se gigabits. Terabytes. A lógica subjacente permaneceu a mesma. Conectar. Endereço. Traduzir. Comunicar.

Ainda estamos usando as estruturas construídas naqueles primeiros dias. O IPv4 está morrendo. O IPv6 está se espalhando lentamente. O DNS está em todo lugar. A infraestrutura é robusta. Mas o problema fundamental permanece. Como conectamos bilhões de dispositivos sem nos perdermos no barulho?

A resposta não é um único protocolo. É um sistema em camadas. Uma hierarquia de acordos. Cada camada resolve um gargalo específico. O backbone lida com o volume. O IP lida com a identidade. O DNS lida com a memória.

Não é mágica. É engenharia. Engenharia feia, complexa e bonita. E está aguentando. Por muito pouco.

Você digita um endereço da web. Seu navegador carrega uma página. Acontece tão rápido que você mal percebe o esforço. Mas por trás dessa simplicidade está um enorme sistema de coordenação global que trabalha para traduzir texto legível por humanos em números legíveis por máquina. Especificamente, ele depende do Uniform Resource Locator (URL) e do Sistema de Nomes de Domínio (DNS) para preencher a lacuna entre o que você digita e o que a rede entende.

Ao inserir “https://www.howstuffworks.com”, você está usando um nome de domínio. Esse mesmo domínio, howstuffworks.com, também aparece em endereços de e-mail como [email protected]. Cada vez que você usa um deles, a infraestrutura DNS da Internet entra em ação. Ela converte esse nome amigável em um endereço IP. Este é o rótulo numérico que seu computador usa para localizar a máquina específica que hospeda esse conteúdo. Sem essa camada de tradução, você teria que memorizar sequências de números para cada site visitado. Seria impraticável. Seria uma bagunça.

A estrutura dos nomes de domínio

Os nomes de domínio são hierárquicos. No topo estão os domínios de nível superior (TLDs), também conhecidos como domínios de primeiro nível. Estes são os sufixos familiares: .COM, .ORG, .NET, .EDU e .GOV. Pense neles como categorias ou bairros amplos.

Dentro de cada TLD, há um vasto registro de domínios de segundo nível. Somente no espaço .COM, você tem entidades como HowStuffWorks, Yahoo e Microsoft. Cada um desses nomes deve ser exclusivo nesse TLD específico. Você não pode ter duas empresas diferentes registradas como “Microsoft.com”.

À esquerda do domínio de segundo nível fica o nome do host. Esta é a parte que especifica um diretório ou serviço específico em uma máquina específica. Em “www.howstuffworks.com”, “www” é o nome do host. Aponta para um servidor específico com um endereço IP específico. Um único domínio pode potencialmente hospedar milhões de nomes de host exclusivos, desde que cada um permaneça distinto dentro do namespace desse domínio.

Como os servidores DNS processam solicitações

Os servidores DNS são os guardas de trânsito da Internet. Eles aceitam solicitações do seu navegador, cliente de e-mail ou outros servidores de nomes para transformar nomes de domínio em endereços IP. Quando uma solicitação chega a um servidor DNS, ela não apenas adivinha. Ele segue um dos quatro caminhos específicos:

  1. Resposta Direta: O servidor já conhece o endereço IP. Ele envia de volta imediatamente. Este é o caminho mais rápido.
  2. Pesquisa Recursiva: O servidor não sabe a resposta. Ele entra em contato com outro servidor DNS para descobrir. Pode ser necessário passar por vários servidores antes de encontrar os dados corretos.
  3. Referência: O servidor diz: “Não sei, mas aqui está o endereço IP de um servidor DNS que sabe.” Ele aponta você na direção certa sem fazer o trabalho pesado em si.
  4. Mensagem de erro: Se o domínio for inválido ou não existir, o servidor retornará um erro. Você atingiu um beco sem saída.

Essa lógica garante que as solicitações sejam tratadas de forma eficiente, mesmo quando a resposta não estiver prontamente disponível na memória local.

Um exemplo passo a passo de resolução de DNS

Vamos rastrear o que acontece quando você digita www.howstuffworks.com em seu navegador. O processo é uma corrida de revezamento envolvendo vários servidores especializados.

Seu navegador entra em contato com um servidor DNS local. Este servidor não sabe o endereço IP de www.howstuffworks.com de cara. Então, ele inicia a busca entrando em contato com um servidor raiz DNS. Os servidores raiz não conhecem endereços de páginas específicos, mas conhecem as informações de contato de todos os servidores que gerenciam domínios de nível superior como .COM ou .NET.

O servidor raiz responde com uma referência. Diz, essencialmente, “Não sei onde mora www.howstuffworks.com, mas sei quem administra a zona .COM.” Ele fornece o endereço IP para o servidor DNS .COM.

Seu servidor DNS local consulta o servidor DNS .COM. Ele pergunta: “Você sabe onde fica www.howstuffworks.com?” O servidor .COM não possui o IP final, mas conhece os servidores de nomes responsáveis ​​pelo domínio howstuffworks.com. Ele retorna esses endereços de servidores de nomes.

Agora seu servidor DNS local entra em contato com o servidor DNS howstuffworks.com. Este servidor mantém o registro real. Ele responde com o endereço IP específico para www.howstuffworks.com.

Esse endereço IP viaja de volta na cadeia: do servidor howstuffworks.com para o servidor DNS local e, finalmente, para o seu navegador. Seu navegador então usa esse endereço IP para se conectar ao servidor web e solicitar a página.

Por que redundância e cache são importantes

Este processo de várias etapas parece lento. Não deveria ser. O sistema foi projetado para oferecer velocidade e confiabilidade por meio de dois mecanismos principais: redundância e cache.

Redundância significa que existem vários servidores DNS em todos os níveis da hierarquia. Se um servidor raiz falhar, outros assumirão o controle. Se um servidor .COM falhar, o tráfego será redirecionado. A Internet é distribuída por design, tornando-a resistente a interrupções.

O cache é o que o mantém rápido. Quando um servidor DNS resolve uma solicitação, ele armazena o endereço IP em seu cache. Se o seu servidor DNS local já tiver solicitado ao servidor raiz sobre qualquer domínio .COM, ele lembrará as informações de contato do servidor DNS .COM. Não é necessário perguntar novamente ao servidor raiz. Ele pula uma etapa. Esse cache acontece para cada solicitação. Ele evita que o sistema fique atolado nos bilhões de consultas que processa diariamente.

Esses servidores são invisíveis. Você nunca os vê. No entanto, eles lidam com enormes volumes de tráfego todos os dias. O fato de esse banco de dados distribuído funcionar tão bem é uma prova de sua arquitetura subjacente.

Servidores e clientes de Internet

Assim que o endereço IP for resolvido, a conexão será estabelecida. Neste ponto, passamos da nomeação para os papéis. Cada máquina na Internet se enquadra em uma de duas categorias: servidor ou cliente.

Servidores fornecem serviços. Eles armazenam dados, processam e-mails, hospedam sites. Os clientes solicitam esses serviços. Eles são os dispositivos em que você se senta. Quando você navega em www.howstuffworks.com, seu computador é o cliente. A máquina que hospeda esse conteúdo é o servidor.

Os clientes se conectam com uma intenção específica. Seu navegador se comunica com o servidor web na máquina servidora. Não fala com o servidor de e-mail. Não fala com o servidor FTP. Ele tem como alvo o processo de software específico projetado para lidar com solicitações HTTP. Esta especialização permite que os servidores gerenciem recursos de forma eficiente, dedicando poder a tarefas específicas em vez de tentar fazer tudo de uma vez.

Há também uma diferença na forma como essas máquinas são identificadas. Os servidores têm endereços IP estáticos. Eles não mudam. Essa estabilidade é necessária para que os clientes possam encontrá-los sempre.

Os clientes normalmente têm endereços IP dinâmicos. Se você estiver se conectando por meio de um modem dial-up ou de uma conexão típica de ISP, seu endereço IP será atribuído a partir de um pool sempre que você fizer logon. É exclusivo para sua sessão. Na próxima vez que você se conectar, poderá obter um número diferente. Os ISPs usam esse modelo para conservar endereços IP. Eles só precisam de um endereço disponível para cada dispositivo ativo, e não de um endereço permanente para cada cliente. Essa atribuição dinâmica é eficiente para o provedor, embora signifique que seu endereço digital é transitório.

A interação entre servidores estáticos e clientes dinâmicos, interligada pela pesquisa de DNS, constitui a espinha dorsal do uso diário da Internet. É uma dança complexa de consultas e respostas, escondida atrás da simplicidade de uma única URL.

Pense na última vez que você carregou uma página da web ou carregou um arquivo. Você provavelmente não pensou nos apertos de mão invisíveis acontecendo em segundo plano. Você acabou de clicar. Mas por trás dessa simplicidade existe uma estrutura rígida de portas numeradas e regras de atuação estritas.

Os servidores não apenas transmitem seus serviços para o vazio. Eles os disponibilizam por meio de pontos de entrada específicos chamados portas.

Noções básicas sobre portas e protocolos

Uma porta é simplesmente um gateway numerado para um serviço específico executado em uma máquina. Se o seu servidor hospedar um site e um servidor FTP, ele não embaralha os dados. Ele os mantém separados usando atribuições de porta padrão.

  • Porta 80 : Este é o padrão para tráfego da web não criptografado. Quando você vê http://, seu navegador está batendo nesta porta.
  • Porta 21 : Isto é para FTP. Se você estiver transferindo arquivos diretamente, provavelmente estará usando este canal.

Os clientes se conectam a um serviço visando um endereço IP específico e esse número de porta específico. É uma autenticação em duas etapas de localização e tipo de serviço.

Assim que a conexão for estabelecida, a conversa propriamente dita começa. É aqui que entram os protocolos.

Protocolos são a gramática da internet. Eles determinam como o cliente e o servidor trocam informações. Todos os servidores web no mundo estão em conformidade com o protocolo de transferência de hipertexto (HTTP). É uma forma padronizada de solicitar uma página e receber HTML em troca.

“Os protocolos simplesmente descrevem como o cliente e o servidor conversam.”

Sem essas regras, a Internet seria uma confusão caótica de jargões incompatíveis. Você não saberia se um servidor estava falando inglês, francês ou ruído estático.

Por que esta infraestrutura é importante

Muitas vezes tratamos a Internet como uma nuvem mágica. Esquecemos que ele se baseia em infraestrutura física e lógica.

Redes, roteadores, pontos de acesso de rede (NAPs), ISPs e servidores DNS trabalham em conjunto para mover dados. É impressionante perceber que toda essa troca acontece em milissegundos. Uma solicitação de Nova York para um servidor em Tóquio não leva segundos. Leva apenas frações de segundo porque os roteadores sabem exatamente para onde enviar o pacote.

Esta infra-estrutura não é apenas conveniente. É fundamental.

Sem esses componentes, perdemos a capacidade de compartilhar informações instantaneamente. A vida seria mais lenta. Os negócios seriam localizados. A comunicação reverteria para cartas físicas ou transmissões atrasadas.

O protocolo de transferência de hipertexto (HTTP) e o sistema portuário não são apenas detalhes técnicos. Eles são a razão pela qual o mundo moderno funciona como funciona.

Aprofundando seu conhecimento

Se você quiser abrir ainda mais a cortina, há mais para aprender.

  • Como funcionam os servidores Web : isso explica o mecanismo subjacente.
  • Estrutura da Internet : Noções básicas sobre a hierarquia de ISPs e NAPs.
  • Mecânica do DNS : como nomes de domínio se tornam endereços IP.

A internet é um organismo complexo. Mas depois que você entende as portas e os protocolos, isso deixa de ser uma caixa preta. Você começa a ver os fios. Você começa a ver as regras.

E isso muda a forma como você interage com cada ferramenta digital que usa.