2 de dezembro de 2021

Do bit Ao Byte

Embarcados, Linux e programação

Máscara de rede e subnet

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

No artigo anterior relacionado vimos endereçamento IP público e privado, sem muito detalhe técnico, afim de prover informações conceituais sem aborrecê-los com uma leitura densa. Mas uma parte fundamental da rede é a máscara de rede e subnet, que nos permite dividi-la em várias menores, assim como reduzir o número de computadores conectados.

Máscara de rede padrão

As redes tem sua máscara padrão, sendo:

Classe A: 255.0.0.0 – ou CIDR /8

Classe B: 255.255.0.0 – ouCIDR /16

Classe C: 255.255.255.0– ouCIDR /24

Quando usamos a notação /x, estamos indicando o número de bits da máscara. Cada octeto (ou Byte) contém 8 bits. Os bits que não estão como 0, são reserva de rede. Os bits com valor 0 são reserva de hosts.

A classe C tem apenas 1 byte reservado para hosts. Como 1 byte contempla 256 valores, significa que podemos ter quantos computadores conectados a uma rede 192.168.x.x ? – A resposta é: 254. Isso porque cada rede tem um endereço de reserva de rede e um endereço de broadcast. Logo, em uma rede 192.168.1.0/24 podemos ter hosts de 1 até 254.

Como calcular máscara de rede e subnet

Não é realmente trivial calcular uma subnet em um projeto de infra complexo, porque podem “sobrar” endereços, o que é um disperdício. Para exemplificar o conceito, vamos fazer uma subnet da classe C.

Se a máscara define os hosts e as redes, para fazermos uma subnet da rede 192.168.1.0/24 precisamos tomar um bit da reserva de hosts. Isso significa que a máscara que era assim:

111111111.11111111.11111111.0 (255.255.255.0) – /24

Ficará assim:

11111111.11111111.11111111.1000000 (255.255.255.128) – /25

Tomar 1 bit nos permitirá criar 2 subnets. Quantos hosts cabem em cada rede? – Fácil, basta somar os bits que sobraram. No artigo anterior expliquei uma forma fácil de fazê-lo. Basicamente, temos 128-1 (porque o oitavo bit é 128 e a soma dos anteriores é x-1). Mas temos a reserva de rede e o broadcast, o que significa que fazer subnets tem um custo.

Assim, as redes possíveis são 192.168.1.0-127 e 192.168.1.128-255.

Reserva da rede (A): 192.168.1.0

Broadcast da rede (A): 192.168.1.127

Hosts da rede (A): 192.168.1.1 à 192.168.1.126

Reserva da rede (B): 192.168.1.128

Broadcast da rede (B): 192.168.1.255

Hosts da rede (B): 192.168.1.129 à 192.168.1.254.

Máscara de rede e subnet de uma rede classe B

É tudo a mesma coisa, não importa o tamanho da rede, mas vamos ver um exemplo com a classe B.

A máscara padrão de uma classe B é 255.255.0.0, ou CIDR /16. Agora será fácil explicar um outro conceito importante: As máscaras não podem ter bits pulados. isso significa que todos os bits de uma máscara devem ser sequenciais, sem zeros no meio.

Supondo que temos uma rede classe B 172.16.0.0/16 e queremos segregar a rede, para que tenha no máximo alguns milhares de hosts. Podemos tomar alguns bits da reserva de host para máscara. Vamos pegar a metade de um octeto:

255.255.240.0 = 11111111.11111111.11110000.00000000

Agora começa a ficar mais legal!

Do lado esquerdo temos a rede 172.16 e no terceiro octeto tomamos 4 bits. Saber base binária é um requisito mínimo; 4 bits equivale a 16 – ou, de 0 à 15. Isso significa que para a rede 172.16.0.0/20 podemos ter 16 subnets. E quantos hosts cada subnet pode ter? – Vamos contar os bits de hosts:

11111111.11111111.11110000.00000000 – Temos 12 bits para hosts – ou, 4 0 9 6 hosts possíveis, lembrando que temos 1 IP da reserva de rede e 1 IP do broadcast dessa subnet. Vou deixar 3 exemplos de rede:

172.16.0.1 à 172.16.15.254

172.16.16.1 à 172.16.31.254

172.16.32.1 à 172.16.47.254

Junto ao artigo anterior, já é possível definir uma rede minimamente adequada para seus projetos de IoT, hum?

Dê uma conferida nos artigos relacionados que aparecem abaixo, já escrevi muita, muita coisa sobre redes, se é uma área de interesse para você.

Que curso é recomendado para especialização em redes?

Existe o curso superior em tecnologia de redes de computadores, que apesar de ser um curso especializado em redes, deixou muito a desejar, em minha opinião de formado. Talvez nem tanto para quem está iniciando, mas como eu já tinha muitos anos na área, senti que o curso era fraquíssimo.

Se quer realmente se aprofundar em redes, um bom começo é o curso ICND para a certificação CCNA da Cisco. O fiz em uma escola em que ministrava aulas para certificação LPI 101 e LPI 102. O preço do livro é um pouco salgado, mas vale muito a pena.

Depois desse curso, mexi bastante com switches e roteadores Cisco, Dell, balanceadores Barracuda e até fiz empilhamento de um Summit, usado em borda de rede. O que quero dizer é: Tenha os conceitos, o resto é apenas a forma de fazer que muda.

Por uns dias vou escrever mais sobre redes, tem algumas coisas que quero expôr sobre essa nova era da computação em nuvem, espero que o assunto agrade!