🤔 Entendendo a Internet
A maior parte do mundo está conectada na Internet. Você nesse exato momento está usando ela para acessar esse conteúdo, e tenho certeza que utiliza no dia-a-dia, seja para fazer um post, assistir um vídeo, mandar uma mensagem etc. E durante esse uso diário, não nos preocupamos em entender como ela funciona, “por de trás dos panos”, ela simplesmente funciona!
Nesse texto, eu vou explicar de forma simples, os conceitos que tornam a Internet o que ela é, passando pela sua história, estrutura e protocolos que permitem a troca de informação confiável e segura.
Breve história
Bom, antes de fato nos aprofundar e começar a nossa jornada pela estrutura da Internet, vou dar um pequeno contexto histórico de como ela surge e se torna o que é hoje.
De forma inusitada, a primeira versão do que seria a Internet vem de um projeto do exército dos EUA, da década de 1960, que tinha o objetivo de criar uma rede de comunicação descentralizada para prevenir ataques nucleares. Somente na década de 1980 que ela sai dos quarteis e começa a chegar em universidades e empresas, e posteriormente, se espalha para o restante da população, de forma ampla, e hoje forma essa estrutura complexa e “mágica”, que conecta bilhões de dispositivos ao redor do mundo.
Uma grande rede
A Internet pode ser resumida como uma grande rede, formada de outras pequenas redes, ou seja uma rede de redes. Então o primeiro passo para entendermos toda a estrutura, é compreender o que seria uma rede.
Uma rede é um conjunto de dispositivos conectados, como a que você tem na sua casa, os seus computadores, celulares, TV’s, etc. estão conectados entre si, - seja por cabos ou Wi-fi - formando uma rede, e essa mesma estrutura se repete em diversas casas espalhadas pelo mundo, bilhões de micro redes que se comunicam, formando conectam a grande rede.
O problema é que ao extrapolar o número de redes para casa dos bilhões, a gente se depara com a necessidade de uma estrutura robusta e preparada para lidar com essa quantidade de dispositivos. Essa estrutura a qual me refiro possui diversos elementos e é construída com base em protocolos, os quais a gente vai ver logo, logo.
Olhando a estrutura mais de perto…
O elemento essencial para entender o funcionamento da Internet são os roteadores, dispositivos responsáveis por direcionar pacotes por diferentes redes - pacotes nada mais são que dados quebrados em pequenos pedações de informações. Você tem um roteador na sua casa, e sempre que precisa enviar ou receber dados, ele faz esse trabalho.
O seu roteador se comunica com outro roteador, muito mais robusto e complexo, uma ISP, a sua provedora de internet (aquela operadora que você paga todo mês), e esse roteador que vai se comunicar com outras ISP’s e te conectar com o resto do mundo.
Um diagrama mostrando o caminho que os pacotes fazem. Com a representação de uma rede doméstica, controlada pelo roteador, uma ISP e no final da linha, a Internet.
Os indispensáveis protocolos
Agora que você sabe como funciona a estrutura da Internet, é importante entender como é possível assegurar que a informação que trafega por ela é confiável e segura, e isso é papel dos chamados protocolos.
Protocolos são um cojunto de regras padronizadas, que determinam como a informação deve ser trocada entre dispositivos, e eles são MUITOS. Aqui eu vou me dar o trabalho de citar os essenciais, e descrever brevemente o seu funcionamento.
IP (Internet Protocol)
O IP é o protocolo fundamental para o funcionamento da Internet, pois é ele que direciona corretamente os pacotes para o seu destino final. Isso é feito atribuindo a esse pacote informações relativas ao destinatário, e a principal delas é o endereço de IP.
O endereço de IP é um número que identifica um dispositivo específico na Internet, por isso ele é único, e se refere apenas aquele dispositivo.
Eles normalmente seguem o formato número-ponto, como 192.169.141.29
, esse formato é chamado de IPV4, mas ainda existe outro, o IPV6, que se parece com isso: 2001:0db8:85a3:0000:0000:8a2e:0370:7334
— sim é uma loucura. O IPV6 surge com uma atualização do IPV4, devido a escassez de IP’s.
DNS (Domain Name System)
O DNS é um sistema de domínios - domínios que são um cojunto de caracteres, facilmente legíveis, que se traduzem para um IP, como por exemplo google.com.
Vamos supor, que você está querendo chegar ao Google, e pra isso você simplesmente digita "google.com" no seu navegador e chega lá, mas o que acontece na verdade é um processo de “tradução”, onde o seu dispositivo faz uma requisição à um servidor DNS pelo IP do google.com, e ele retorna 172.217.12.110
(o IP do Google). Dessa forma, fica muito mais simples de se chegar a websites, já que não precisa se lembrar de números IP.
TCP (Transmission Control Protocol)
O TCP é o protocolo que manipula os pacotes, seja ao enviar, ou receber. Quando enviamos um pacote pela rede estamos usando TCP, que abre uma porta entre o emissor e destinatário, estabelecendo uma conexão, para os pacotes serem enviados, porém em uma ordem específica, mantendo a integridade dos dados. Já quando recebemos pacotes, o TCP verifica por erros e confere se estão na ordem correta, e caso tenha algo errado, solicita que sejam novamente enviados.
Esse protocolo foi feito levando em consideração a segurança e confiabilidade da informação, por isso ele é muito utilizado pela Internet afora. Existe ainda o UDP, que é mais rápido que o TCP, mas não leva em conta a integridade dos pacotes.
ℹ O TCP normalmente é referido como TCP/IP, porque os dois protocolos atuam juntos, e o IP necessita do TCP para organizar, processar e entregar os dados.
TLS (Transport Layer Security)
O TLS é a camada de segurança da Internet, sendo responsável por criptografar toda informação que passa por ele utilizando um sistema de criptografia assimétrica (criptografia de chave pública) — se quiser saber mais sobre, dá uma lida nisso aqui — e ainda faz o processo de autenticar os dispositivos, utilizando certificados digitais.
ℹ O TLS é normalmente referido como SSL/TLS, porque surgiu utilizando como o base o SSL (Secure Sockets Layer), porém se atualizou, deixando o SSL obsoleto.
HTTP (HyperText Trasnfer Protocol)
O HTTP é o protocolo responsável por permitir a requisição e recebimento de diferentes tipos de dados. Ele funciona em um modelo cliente-servidor, onde o cliente faz uma requisição ao servidor, e recebe os respectivos dados, em uma resposta.
É através do HTTP que a Web funciona, onde o seu navegador faz diversas requisições a um servidor externo para exibir uma página web, repleta de elementos, como imagens, textos, folhas de estilo, scripts etc.
ℹ Há ainda o HTTPS, que nada mais que uma versão do HTTP com TLS, dessa forma, há uma troca segura de informações.
Resumindo...
Para resumir todo esse conteúdo, eu trouxe um passo-a-passo dos processos envolvidos desde quando você digita google.com no seu navegador, até a página ser completamente exibida.
1. Passo
Quando você digita o domínio google.com no seu navegador, ele faz uma requisição para um servidor DNS e retorna o IP correspondente ao servidor remoto do website que você quer acessar.
2. Passo
Com o IP em mãos, uma conexão TCP é aberta, possibilitando a troca de pacotes entre o seu navegador e o servidor do Google.
3. Passo
Agora entra o TLS, que começa fazendo um handshake, a configuração inicial para se estabelecer a conexão entre cliente e servidor, nesse momento que se verifica a versão do TLS, certificado digital, se gera o par de chaves para criptografia etc. Após essa etapa, a conexão é de fato criptografada.
4. Passo
O 4° e último passo, consiste no navegador realizar uma série de requisições HTTP para o servidor remoto, que retornam dados essenciais para exibição da página web, como arquivos HTML, scripts Javascript, folhas de estilo CSS e outros. Com esses dados, o browser começa a renderizar a página.
✨ Curiosidade: o caminho que os pacotes percorrem não é direto, ou seja, quando o browser faz uma requisição ao servidor remoto os pacotes passam por diversos outros servidores, que estão no meio do trajeto, esses são os chamados proxies.
Chegamos ao fim
E é isso. Nesse texto você viu que a Internet é uma grande rede de dispositivos, que se comunicam entre si através de um conjunto de roteadores, que direcionam pacotes até diferentes destinos. Além disso, demos uma olhada nos protocolos, que permitem que a informação trafegue de forma segura e confiável, e ao final, vimos a aplicação desses conceitos com imagens.
Espero que esse texto tenha te ajudado a entender um pouco mais sobre toda essa estrutura, e que esse conhecimento te ajude na hora que for fazer as suas próprias aplicações.
Links
Caso queira se aprofundar no tema, vou deixar os links que consultei para fazer escrever isso aqui:
Como a Internet funciona? - MDN Web Docs
How does the Internet Work? - cs.fyi
O Que é o Protocolo TCP/IP e Como Ele Funciona? - Hostinger
O que é o Protocolo de internet? - Cloudflare
O que é certificado SSL? - Cloudflare
Obrigado por ter lido <3