Na Parte 9 da série LFCA, cobrimos o básico do endereçamento IP. Para entender melhor o endereçamento IP, precisamos prestar mais atenção a esses dois tipos de representação de endereço IP – binário e notação quadriculada decimal. Como mencionado anteriormente, um endereço IP é um número binário de 32 bits que geralmente é representado em formato decimal para facilitar a leitura.
O formato binário usa apenas os dígitos 1 e 0. Este é o formato que seu computador compreende e através do qual os dados são enviados pela rede.
No entanto, para tornar o endereço legível para humanos, ele é transmitido em um formato pontuado decimal que o computador posteriormente converte em formato binário. Como afirmamos anteriormente, um endereço IP é composto por 4 octetos. Vamos analisar o endereço IP 192.168.1.5.
No formato pontuado decimal, 192 é o primeiro octeto, 168 é o segundo octeto, 1 é o terceiro e, por último, 5 é o quarto octeto.
No formato binário, o endereço IP é representado da seguinte forma:
11000000 => 1st Octet 10101000 => 2nd Octet 00000001 => 3rd Octet 00000101 => 4th Octet
No formato binário, um bit pode estar ligado ou desligado. O bit ‘ligado’ é representado por 1 enquanto o bit desligado é representado por 0. Em formato decimal,
Para chegar ao número decimal, é realizada uma soma de todos os dígitos binários elevados a 2. A tabela abaixo mostra o valor posicional de cada bit em um octeto. Por exemplo, o valor decimal de 1 equivale ao binário 00000001.

Em um formato melhor, isso também pode ser representado como mostrado.
2º = 1 = 00000001 2¹ = 2 = 00000010 2² = 4 = 00000100 2³ = 8 = 00001000 2⁴ = 16 = 00010000 2⁵ = 32 = 00100000 2⁶ = 64 = 01000000 2⁷ = 128 = 10000000
Vamos tentar converter um endereço IP no formato decimal pontilhado para binário.
Convertendo Formato Decimal para Binário
Vamos usar nosso exemplo de 192.168.1.5. Para converter de decimal para binário, começaremos da esquerda para a direita. Para cada valor na tabela, perguntamos: você pode subtrair o valor na tabela do valor decimal no endereço IP. Se a resposta for ‘SIM‘, escrevemos ‘1’. Se a resposta for ‘NÃO‘, colocamos um zero.
Vamos começar com o primeiro octeto, que é 192. Você pode subtrair 128 de 192? A resposta é um grande ‘SIM‘. Portanto, escreveremos 1, que corresponde a 128.

192-128 = 64
Você pode subtrair 64 de 64? A resposta é ‘SIM‘. Novamente, escrevemos 1, que corresponde a 64.

64-64 = 0 Como esgotamos o valor decimal, atribuímos 0 aos valores restantes.

Então, o valor decimal de 192 se traduz para o binário 11000000. Se você adicionar os valores correspondentes a 1s na tabela inferior, você acaba com 192. Isso é 128 + 64 = 192. Faz sentido, certo?
Vamos prosseguir para o segundo octeto – 168. Podemos subtrair 128 de 168? SIM.

168-128 = 40
Em seguida, podemos subtrair 64 de 40? NÃO. Então, atribuímos um 0.

Passamos para o próximo valor. Podemos deduzir 32 de 40? SIM. Atribuímos o valor 1.

40 - 32 = 8
Em seguida, podemos subtrair 18 de 8? NÃO. Atribuímos 0.

Em seguida, podemos deduzir 8 de 8? SIM. Atribuímos o valor 1.

8-8 = 0
Como esgotamos nosso valor decimal, atribuiremos 0s aos valores restantes na tabela como mostrado.

No final, o decimal 168 se traduz para o formato binário 10101000. Novamente, se você somar os valores decimais correspondentes a 1s na linha inferior, você acaba com 168. Ou seja, 128 + 32 + 8 = 168.
Para o terceiro octeto, temos 1. O único número em nossa tabela que podemos subtrair totalmente de 1 é 1. Então, atribuiremos o valor 1 a 1 na tabela e adicionaremos zeros anteriores como mostrado.

Então, o valor decimal de 1 equivale ao binário 00000001.
Por último, temos 5. Na tabela, o único número que podemos subtrair totalmente de 5 começa em 4. Todos os valores à esquerda serão atribuídos 0.
Podemos subtrair 4 de 5? SIM. Atribuímos 1 a 4.

5-4 = 1
Em seguida, podemos subtrair 1 de 2? NÃO. Atribuímos o valor 0.

Por último, podemos subtrair 1 de 1? SIM. Atribuímos 1.

O dígito decimal 5 corresponde ao binário 00000101.
No final, temos a seguinte conversão.
192 => 11000000 168 => 10101000 1 => 00000001 5 => 00000101
Então, 192.168.1.5 traduzido para 11000000.10101000.00000001.00000101 em forma binária.
Entendendo a Máscara de Sub-Rede/Máscara de Rede
Nós afirmamos anteriormente que cada host em uma rede TCP/IP deve ter um endereço IP único, que na maioria dos casos é atribuído dinamicamente pelo roteador usando o protocolo DHCP. O protocolo DHCP (Protocolo de Configuração Dinâmica de Host) é um serviço que atribui dinamicamente um endereço IP aos hosts em uma rede IP.
Mas como você determina qual parte do IP é reservada para a seção de rede e qual seção está disponível para uso pelo sistema host? É aí que entra a máscara de sub-rede ou máscara de rede.
A subnet is an additional component to an IP address that distinguishes the network & host portion of your network. Just like an IP address, the subnet is a 32-bit address and can be written in either decimal or binary notation.
O objetivo de uma sub-rede é estabelecer um limite entre a parte de rede de um endereço IP e a parte do host. Para cada bit do endereço IP, a sub-rede ou máscara de rede atribui um valor.
Para a parte de rede, ela liga o bit e atribui o valor de 1. Para a parte do host, ela desliga o bit e atribui o valor de 0. Portanto, todos os bits definidos como 1 correspondem aos bits em um endereço IP que representam a parte da rede, enquanto todos os bits definidos como 0 correspondem aos bits do IP que representam o endereço do host.
A commonly used subnet mask is the Class C subnet which is 255.255.255.0.
A tabela abaixo mostra as máscaras de rede em decimal e binário.

Isso conclui a parte 2 da nossa série de fundamentos de rede. Cobrimos a conversão de IP decimal para binário, máscaras de sub-rede e as máscaras de sub-rede padrão para cada classe de endereço IP.
Source:
https://www.tecmint.com/learn-binary-and-decimal-numbers-in-networking/