Entendendo a web - Parte 1: O que é a internet?
Tags: network, web
Published: 2021-01-26 05:02:57

*DISCLAIMER: Este post tem como objetivo ser uma introdução BREVE para 
todos os tipos de usuários conhecerem sobre o tema. Este post não tem qualquer objetivo em aprofundar nos tópicos abordados, mas sim despertar a curiosidade dos mais interessados e esclarecer alguns pontos para quem não conhece nada.*

A internet nada mais é que vários e vários computadores se comunicando entre si. Essa comunicação é possível através de cabos que cruzam continentes e oceanos ao redor do mundo, para que cheguem ao nosso modem e roteador, possibilitando nosso acesso à internet através de nossos dispositivos.

Essa comunicação é formada por dados sendo transportados de um ponto a outro. E para tudo na internet existem protocolos. Mas como a informação que eu envio vai para o lugar que eu realmente quero que chegue? Como eu sei que eu estou me comunicando com quem eu deveria me comunicar?

Para isso existe o Internet Protocol, que são os IPs. Os endereços de IPs são como uma espécie de CPF da rede, isto é, são IDs únicos que te identificam na internet. Através do IP que os dados sao transportados pela rede e garantidos que cheguem a quem nós queremos que receba esse conteúdo. 

Esse conteúdo é encapsulado em pacotes de dados que são enviados de um dispositivo até outro. Esses pacotes podem ser TCP ou UDP. E dentro desses pacotes possui o conteúdo dessa comunicação, que são os dados, as informações das aplicações e tudo que usamos e conseguimos acessar e fazer na internet.

Para tentar deixar tudo mais claro, vamos imaginar um serviço de entrega de pizza. O entregador sai da pizzaria, que vamos chamar de ponto A, e vai até sua residência, que vamos chamar de ponto B. 
No conceito de internet, o ponto A (pizzaria) quer entregar um pacote (pizza) pra você (ponto B) e vai utilizar um entregador pra isso acontecer. 

Quando o entregador sai da pizzaria, ele precisa pegar uma estrada para chegar ate o ponto B. Essa estrada, no conceito de internet, são os cabos que permitem que uma informação seja entregue de um ponto a outro. 

O entregador é o IP, na qual voce so vai abrir a porta e atender, se conseguir se certificar de que o entregador é o que você está esperando. Os pacotes (tcp ou udp) é a caixa de pizza. Os dados e a informação que contém dentro de cada pacote, podemos dizer que é o sabor da pizza.

Depois dessa visão beeem generalizada, vamos entender um pouco mais tecnicamente o que quer dizer isso.

**IP (Internet Protocol)**

Apesar de seu nome ser utilizado como número de identificação de um dispositivo na internet, o IP também é um protocolo de comunicação nos modelos OSI e TCP/IP. Por isso é importante lembrar que o IP faz duas coisas: encapsula os dados TCP para que ele seja entregue ao seu destino, e por conta do endereço de IP, é possível identificar de onde vem esses dados e para onde eles vão.

Através do IP é possível identificar a geolocalização do dispositivo que está acessando a internet, com quem ele quer acessar, para onde ele quer enviar os dados e etc.

Os endereços de IP podem ser IPv4 e IPv6. A diferença do IPv4 para o IPv6 é que enquanto o IPv4 possui uma quantidade de números de 32bits (por exemplo "203.0.113.42"), o IPv6 consiste em uma combinação de caracteres de 128bits (por exemplo “2001:0002:14:5:1:2:bf35:2610”). 

Devido a grande expansão da internet, com mais e mais dispositivos sendo conectados, a quantidade de IPv4 disponível se esgotaria rapidamente, pois cada IP precisa ser único. Com o IPv6 essa necessidade consegue ser suprida.

Além disso, existem os IPs internos e os IP públicos. Basicamente, quando seu dispositivo se conecta a internet, um IP é atribuído a ele, normalmente esse é o IP interno, que não funciona nas camadas públicas da web. Os IPs internos são utilizados por exemplo, para redes locais.

Já o IP publico é o que te identifica por toda a web na qual você quer trocar informações globalmente. É o seu IP publico que aparece nos servidores web quando você faz uma requisição. 

Os IPs também podem ser fixos ou dinâmicos. Isso significa que caso seu IP seja dinâmico, quando você reiniciar a internet por exemplo, o seu IP mudará. Já o IP fixo não muda, até que alguém vá lá e mude ele. 

Normalmente, os IPs de servidores são fixos, pois são computadores que precisam ser acessados varias vezes.
>Servidor nada mais é que um computador utilizado para "servir", isto é, um computador que você armazena coisas conectadas à internet e que você gostaria de acessar varias vezes

Porque servidores possuem IP fixo? Imagina que você vai trabalhar e uma vez que você sai do trabalho, quando você vai voltar no dia seguinte, a empresa mudou de endereço? E o pior, você não faz ideia para onde ela se mudou. E ai depois de procurar muito voce acha e começa a trabalhar, e quando voce vai pra casa e volta no dia seguinte, ela mudou de endereço de novo e você mais uma vez não faz ideia de onde ela está. 

A mesma lógica acontece com o servidor. E como a gente precisa de um IP para acessar o servidor, imagina se esse IP mudasse toda vez? Já os IPs dinâmicos normalmente sao configurados para uso domestico, ou cliente side.

Como o IP permite a comunicação entre dispositivos, uma vez que alguém descobre seu IP, essa pessoa consegue se comunicar diretamente com você, descobrir sua localização e, caso a pessoa seja maldosa, ela pode derrubar sua internet. Por isso é sempre importante não sair por ai mostrando seu IP. 

Quem faz isso tudo acontecer é o DHCP (dynamic host configuration protocol). O DHCP também um protocolo de serviço do TCP/IP na qual é possível configurar IPs, DNS, máscara de sub-rede, gateway e por ai vai. 

**DNS**

Imagina que loucura se cada ser humano registrado no mundo não tivesse nome e sim números de identificação? Já pensou que louco seria vc falar seu CPF toda vez que fosse se apresentar, além disso, decorar o CPF de todo mundo que vc precisa se comunicar? É muito mais fácil chamar pelo nome da pessoa, certo?
	
DNS significa Domain Name System. O dns permite que a gente registre um dominio a um IP. Isso é muito utilizado quando queremos colocar alguma aplicação na web. Afinal, é muito mais fácil decorar google.com.br do que decorar 172.217.29.99.  

Isto é, todo site que você acessa por um domínio, como o google.com.br, é por conta do DNS. Se não fosse pelo DNS, toda vez que fôssemos acessar um site, teríamos que digitar o seu endereço de IP e não o seu domínio. 

Quando você acessa um site, como o google por exemplo, você está enviando dados da sua máquina (cliente) para o IP do servidor do google.

Quando você digita google.com.br, a sua requisição bate em um servidor de DNS, que vai localizar o IP correspondente ao domínio acessado e retornar ao seu navegador.

Tudo isso é possível por conta de mais protocolos, como o TCP/IP, UDP, ICMP que será explicado na parte 2 da série Entendendo a web.