19 de setembro de 2021

Do bit Ao Byte

Embarcados, Linux e programação

IP público e IP privado

IP público e IP privado | máscara de rede e subnet

Enquanto estava estudando um procedimento em nuvem, me veio uma memória de quando trabalhava na borda das redes de telecom; aí comecei a viajar e pensei: “Desde sempre um monte de pessoas que trabalham com rede não sabem definir uma classe IP”. Tem várias coisas que são curiosas e sem ser muito técnico, vou falar de IP público e IP privado.

Classes de rede – IP público e IP privado

Tem 5 classes de rede e usamos comumente as classes A, B e C, de forma direta ou indireta. A classe D é multicast e a classe E é chamada de “Experimental”. Agora, sem ser especialista em redes, a maioria dos makers conseguem identificar facilmente a classe só olhando para o IP.

Como identificar uma classe de rede

Primeiro precisamos entender o conceito básico do endereçamento IPv4 (o endereço de rede no formato x.x.x.x).

Um endereço IP é formato por 4 octetos, ou 4 bytes, como preferir. Cada byte é formado por 8 bits. Em um byte temos 256 valores possíveis, indo de 0 à 255.

Se tivermos um endereço 192.168.1.10, significa que temos 11000000.10101000.00000001.00001010.

Classe A

Vamos olhar apenas para o byte em laranja. Se o primeiro bit à esquerda for 0, é classe A. Para quem não sabe, os bits são contados da direita para a esquerda, sendo seus valores 1, 2, 4, 8, 16, 32, 64, 128 etc. Mas como estamos usando apenas 8 bits, o mais significativo é o 128. A soma de todos os bits é, no máximo, 255. Em suma, a classe A vai de 1 à 127.

Se não está habituado com bits, uma curiosidade: O valor do próximo bit é a soma de todos os bits anteriores + 1:

00000001 = 1 = 1

00000010 = 1+1 =2

00000100 = 1 + 2 + 1 = 4

00001000 = 1 + 2 + 4 + 1 = 8

Desse modo, para saber a soma de todos os bits anteriores, basta pegar a próximo bit e subtrair 1. Por exemplo, 10 bits:

1000000000 = 1024

0111111111 = 1024 -1 = 1023

Classe B

Pensando dessa maneira, fica fácil saber que a classe B começa em 128, Porque o bit mais significativo à esquerda é 1. Nesse caso, a classe B vai de 128 até 191 (128+63).

Classe C

Relembrando: Os bits mais significativos ficam à esquerda, sendo que em um byte o mais significativo é 128. Depois do 128 vem o 64. Se os dois bits da esquerda forem 1, então temos uma classe C.

A classe C começa em 192 e vai até 223.

Classe D

Já ficou claro que os bits da esquerda do IP definem sua classe, certo? A Classe começa em 224.

Classe E

Onde termina a classe D? Na classe E-1. Os bits 1110 0000 do primeiro octeto à esquerda somam 224 (128+64+32). A classe D termina em 139, porque a classe E é a soma de 128+64+32+16 = 240 (1111 0000).

IP privado

Bem, na sua rede você pode usar o que quiser, mas isso pode se tornar um problema, pois A IANA (Internet Assigned Numbers Authority) convencionou a faixa de IPs privados sendo:

10.0.0.0/8 – classe A

172.16.0.0 à 172.31.0.0 /16 – classe B

192.168.0.0 à 192.168.255.0 /24 – classe C

Isso significa que o IP 192.169.0.1 não é um IP privado. Posso configurá-lo em minha rede? Claro que sim, mas se eu fizer uma rede local com endereçamento 191.254.156.x, não poderei usar a Internet, porque essa rede IP é da Vivo e para hosts da LAN sequer se passa pelo gateway. Portanto, se quiser fazer uma rede privada para IoT que difira da tradicional 192.168.x.0, siga a referência supracitada.

Como um IP privado acessa Internet?

A rede privada não acessa a Internet. Antigamente os provedores ofereciam um IP público na interface do roteador da operadora. Por exemplo, se você usa Vivo fibra, esse modem é seu roteador. Mas invés de o IP público ser atribuído a seu computador diretamente, o modem faz um “mascaramento” do endereço IP. Isso é, ele tem o IP público e quando seu computador acessa um site, ele “sai” da sua rede para a Internet com o IP público que está no modem. Isso é chamado de NAT (Network Address Translation). Existem alguns tipos de NAT. Nesse caso é chamado de “NAT masquerade”.

O modem já vem com um IP público?

Essa parte é bem interessante. IP público e IP privado tem similaridades e às vezes o IP da operadora pode causar confusão, pois uma rede privada da operadora pode ser gateway para a internet em um próximo salto.

Quando o dispositivo é conectado, ele não está conectado à Internet. É como se fosse um cabo de rede saindo de um computador para outro dispositivo. Seu modem está conectado à rede da operadora.

Quando seu modem é ligado ele envia um determinado tipo de dado para a operadora através do link. A operadora então atribui ao modem os dados da camada de rede (endereçamento, roteamento, DNS etc). Quando isso acontece, o modem se “desprende” dessa comunicação e se direciona a outro ponto da rede da operadora, que a partir de então passa a ser seu gateway. Vamos tentar entrar em mais detalhes sem aprofundamento técnico.

A operadora tem 2 canais de comunicação; um que faz a comunicação inicial com seu dispositivo e o canal de navegação.

A operadora pode estar monitoramento o tempo inteiro seu dispositivo, se desejar, sem impactar no tráfego de dados, pois são canais com modulações diferentes.

O gateway é a saída de um local comum para outro desconhecido. Por exemplo, sua rede local é 192.168.1.x, então provavelmente seu roteador é (por convenção, mas não obrigatoriamente) 192.168.1.1. Se eu quiser acessar o endereço uol.com.br que está em um IP público, minha requisição passará pelo gateway padrão. Nesse caso, 192.168.1.1. Acontece que meu roteador não tem um caminho direto para a uol.com.br, por isso ele segue para seu próprio gateway padrão, que é o gateway da operadora. E assim vão sendo feitos os chamados “saltos”, até chegar no destino. Para deixar um pouco mais claro, esse é o caminho que minha rede faz até chegar na uol.com.br:

IP público e IP privado

Existem montes de ferramentas de redes para diferentes diagnósticos e objetivos. Nesse exemplo utilizei o mtr no Linux para descobrir a rota até a uol.com.br. Essa ferramenta não é só para saber o caminho, serve para diagnosticar falhas em roteamento, perdas em algum hop etc. Mas em suma, do meu computador até o site da uol são 9 rotas, mas isso varia conforme um monte de fatores, que daria um belo conjunto de livros.

Como citei anteriormente, na rede local não se passa pelo gateway, já que é um endereçamento local e, a rede conhece a si mesma.

IP público e IP privado

Tem uma infinidade de assuntos relacionados, como rede privada da operadora para poupar IP público, PTT, BGP, protocolos de gerenciamento de CPEs etc. Talvez eu aborde os temas de forma menos técnica como fiz nesse artigo, cujo propósito era dar uma clareada para o pessoal de IoT que não tem muita intimidade com redes.

Aproveito para comemorar e agradecer a todos pelos mais de 2 milhões de views alcançados recentemente!

2 milhões de views +

Esse artigo sobre IP público e IP privado é mais um “filler” para não passar em branco enquanto não retomo o padrão, mas acredito que agregue informação para projetos de IoT também.

Também quero enfatizar que em breve retomo a frequência de artigos que venho mantendo, é que no momento estou demasiadamente atarefado, mas logo as tarefas se estabilizarão e voltamos aos projetos e tutoriais.

O canal no Youtube também está com uma frequência bem inferior ao de costume, mas também será retomado. Aproveite para se inscrever em nosso canal DobitaobyteBrasil no youtube e clique no sininho para receber notificações!