[PT-BR] Como a internet funciona?
Jessica Aline

Jessica Aline @jessicaalines

About: 🤓 Studying cloud computing and IA ☁️ 🇧🇷🇺🇸 Bilingual blog — posts in English and Portuguese Posts em português 🇧🇷 e inglês 🇺🇸 sobre cloud e infraestrutura

Location:
Curitiba, Paraná
Joined:
Jan 10, 2023

[PT-BR] Como a internet funciona?

Publish Date: Jun 19
1 0

Hoje resolvi escrever um pouco sobre um assunto essencial, sobre a base que inclusive permite que este post possa estar sendo lido por outras pessoas: a internet.

Todas as referências utilizadas neste texto foram obtidas através da documentação da MDN.

Antes de falar sobre a parte técnica da composição do que conhecemos como internet, acho interessante trazer um breve contexto sobre a sua criação. A história da internet teve início nos anos 1960, através de projetos de pesquisa do Exército dos Estados Unidos. Apenas durante os anos 1980 é que a internet passou a ter uma infraestrutura pública, sendo suportada por universidades públicas e empresas privadas.

De lá pra cá, muitas coisas foram aperfeiçoadas e, como a tecnologia anda a passos largos, não seria diferente com a internet.

Outra coisa importante de lembrar, agora em nível conceitual, é que a internet é a espinha dorsal da web (a web é construída na infraestrutura da internet). Ou seja, a internet é a infraestrutura que permite a conexão entre bilhões de computadores.

Uma das coisas que mais me intrigavam sobre o funcionamento da internet era a forma como os conteúdos são entregues. Para isso, temos diversos datacenters espalhados em várias partes do mundo.

Dentro dos datacenters existem os racks, que são estruturas construídas para organizar e proteger os equipamentos (como uma estante fechada). Dentro dos racks ficam os servidores (como os livros na estante), onde é feito o armazenamento dos dados. Na parte interna dos servidores há o SSD, que funciona como uma memória de longo prazo (que seria como o próprio conteúdo do livro).

Imagem de um datacenter
Fonte: ISPBLOG

Imagem de um servidor
Fonte: Controle Net

Mas afinal de contas, o que são esses benditos servidores? São computadores poderosos que têm o objetivo de fornecer os conteúdos armazenados quando solicitados. Podemos pensar num servidor como um garçom que entrega o pedido ao cliente.

Então, quando alguém faz algum "pedido" de um conteúdo que esteja armazenado nesses servidores, os conteúdos viajam através de uma complexa rede de cabos de fibra óptica. Os cabos fazem a conexão entre o datacenter e o dispositivo solicitante. Isso independe do método de conexão do dispositivo à internet (dados móveis, Wi-Fi, cabo ethernet).

Imagem de um mapa global com as conexões de cabos de fibra óptica submarinos
Fonte: Submarine Cable Map

O transporte dos dados via cabos de fibra óptica pode ocorrer para todos os dispositivos conectados à internet (tablet, smartphone, laptop, servidor, etc.). Esses dispositivos possuem um identificador exclusivo, uma sequência de números chamada IP.

O IP funciona como o endereço de casa. As correspondências podem chegar ao lugar certo por possuírem um endereço específico. Ou seja, o IP segue a lógica do endereço de entrega, permitindo que as informações cheguem ao seu destino (isso é definido pelo ISP: Internet Service Provider).

Se o IP funciona como um endereço de entrega, os servidores que ficam nos datacenters também possuem IPs (seguindo a lógica de remetente e destinatário). O servidor pode armazenar, por exemplo, um site, então, eu/você podemos acessar qualquer site sabendo apenas o IP do servidor.

Porém, decorar o IP não é algo muito prático. É aí que entra em cena o DNS (Domain Name System). Sua função é estabelecer um vínculo entre o endereço de IP e o seu nome de domínio equivalente. É mais fácil saber o nome de uma pessoa do que o seu CPF, certo?

O exemplo abaixo foi validado no Windows PowerShell:

Imagem do terminal do Windows PowerShell com um comando ping para google.com

Voltando aos servidores, um mesmo servidor pode armazenar diversos sites. Isso faz com que nem todos os sites possam ser acessados com o IP do seu servidor. Por isso, os sites são identificados por informações extras, como o cabeçalho do host, para ajudar no seu reconhecimento. Assim, podemos dizer que os servidores podem possuir uma relação de um para muitos: um servidor, com um endereço de IP, servindo a diversos sites.

Por esse motivo, sites gigantes, como Facebook e YouTube, possuem uma infraestrutura inteira de datacenter dedicada.

Com isso, sabemos que o acesso à internet costuma ser feito via nomes de domínio e não via IPs. Os endereços de IP correspondentes aos seus nomes de domínio são obtidos através do DNS, que funciona como uma enorme lista de contatos (vinculando nomes e números). Como mencionado anteriormente, isso é gerenciado pelo ISP ou por outras organizações.

Com essas informações em mãos, podemos traçar o passo a passo de um dado quando é feita a sua requisição:

  1. O usuário acessa o navegador;
  2. Digita o nome de domínio;
  3. Com o endereço de IP, o navegador encaminha a solicitação ao datacenter (para o servidor em questão);
  4. Quando o servidor recebe uma requisição para acessar um site específico, inicia-se o fluxo de dados;
  5. A transferência de dados ocorre em formato digital, através dos cabos de fibra óptica (mais especificamente, em forma de pulsos de luz);
  6. Esses pulsos de luz eventualmente precisam viajar por milhares de quilômetros, através dos cabos de fibra óptica, para chegar ao seu destino;
  7. Os cabos que transportam a luz (pulsos de luz) são esticados pelo fundo do mar até o seu destino, onde encontram um roteador;
  8. O roteador converte os pulsos de luz em pulsos elétricos, que chegam ao dispositivo via cabo ethernet.

OBS: Se o dispositivo destinatário for um celular utilizando dados móveis, o sinal do cabo óptico é enviado para uma torre de celular, que envia o sinal para o dispositivo através de ondas eletromagnéticas.

Imagem de um computador pessoal e um servidor solicitando e devolvendo uma requisição
Fonte: Medium

Sobre os passos descritos acima, uma parte em especial me deixou muito curiosa: como esses cabos de fibra óptica são instalados? Já que eles têm um papel tão importante nessa história, segue um breve resumo:

A instalação global de cabos de fibra óptica submarinos é feita por empresas como AT&T e Google, utilizando navios lançadores de cabos especializados. Um arado submarino é cuidadosamente baixado para o leito do mar; rebocado pelo navio, ele corta uma vala e simultaneamente insere o cabo dentro dela, protegendo-o. Esses cabos são altamente robustos, com múltiplas camadas de proteção, e sua instalação é planejada meticulosamente para evitar danos e garantir a conectividade global.

Imagem da instalação de um cabo de fibra óptica
Fonte: Honest Cable

Sendo a internet uma rede global, é importante que haja uma organização gerenciadora para atribuir IPs, nomes de domínio, etc. Esta instituição é a ICANN (Internet Corporation For Assigned Names and Numbers) e fica localizada em Los Angeles, Estados Unidos.

Pensando em tudo que foi dito até agora, a eficiência da internet reside na sua forma de transmissão de dados. Há uma complexa operação de infraestrutura ocorrendo por baixo dos panos, para que, através das telas dos dispositivos, a internet pareça mágica. Este texto, por exemplo, é enviado de um datacenter em formato de zeros e uns. Essa eficiência está na maneira como esses zeros e uns são divididos em pequenos pedaços (pacotes) e transmitidos.

Esses fluxos de zeros e uns podem ser divididos em pacotes diferentes pelo servidor, em que cada pacote consiste em 6 bits. Junto com os bits do texto, cada pacote também consiste no número de sequência e nos endereços IP do servidor e do dispositivo solicitante.

Imagem de um PC com a frase
Fonte: Gemini

A partir dessas informações, os pacotes são roteados para o dispositivo, mas não necessariamente todos os pacotes serão roteados pelo mesmo caminho e cada pacote segue de forma independente a melhor rota naquele momento.

Funciona como dois motoboys que estão num mesmo restaurante aguardando para levar o lanche para clientes diferentes, mas que moram no mesmo condomínio. Eles podem usar trajetos diferentes, de acordo com o que o Maps ou o Waze indicavam no momento, mas, ainda assim, ambos chegarão ao destino.

Quando os dados chegam ao dispositivo, os pacotes são montados de acordo com o seu número de sequência. Se algum pacote não chegar ao dispositivo, uma confirmação é enviada para que os pacotes perdidos sejam entregues.

Imagem de um quebra cabeça de uma pintura com peças faltando
Fonte: eBay

Isso segue a mesma linha do episódio de Gilmore Girls em que o Kirk está trabalhando como carteiro e entrega todas as correspondências em endereços errados. No fim, os próprios moradores acabam organizando um esquema para garantir que suas cartas chegassem até eles.

Por isso, na internet existem os protocolos (para evitar os Kirks digitais), que são os responsáveis pelo gerenciamento desse complexo fluxo de pacotes de dados. Os protocolos definem as regras para conversão de pacotes de dados, anexação dos endereços de origem e destino para cada pacote e as regras para os roteadores. Podemos pensar nos protocolos como o serviço de correios.

Para diferentes aplicações, há diferentes protocolos a serem aplicados:

  • TCP/IP: transporte e endereçamento de dados
  • HTTP/HTTPS: acesso web
  • RTP: lives, streamings, chamadas de voz pela internet (VoIP)

Imagem de um carton de um carro de entregas com diversas encomendas
Fonte: Custom Cartoon Gifts

Este texto, de forma alguma, tem a pretensão de esgotar o assunto ou até mesmo de trazer um panorama detalhado, mas sim, de dar uma visão geral sobre o funcionamento da internet nos bastidores. A ideia é sempre compartilhar conhecimentos, entendendo que conhecimento não é algo fixo, mas uma construção em constante atualização.

Comments 0 total

    Add comment