COMO ENCONTRAR O NETID E O BROADCAST DE UMA DETERMINADA REDE

Autor: Wandson Sandro Rebelo Ramos <wanndson at gmail.com>

INTRODUÇÃO

 

Entender como funciona uma rede muitas vezes parece ser complicado, mas na verdade só basta ter um pouco de tempo para se dedicar e entender o que realmente você quer fazer. Sou professor de Redes de Computadores, e por muito tempo vi que meus alunos sempre esbarravam na parte de dividir a rede e tentar entender como funciona as máscaras, como repartir um determinado bloco e como é esse “negócio” de subnet, como muitos deles falavam.

Quando tem um IP que tem que descobrir o NetID e o Broadcast, isso muitas vezes parece ser coisa de outro mundo. Eu não lecionava para eles nos primeiros semestres, mas sim, do terceiro em diante. Neste período a maioria não entendia os conceitos de Início de Rede e Final de Rede e nas aulas de Linux e Serviços de Rede, isso me atrapalhava um pouco para ir adiante. Sei que também não era culpa dos meus colegas, pois eles repassavam da mesma maneira que foram ensinados. Então a partir do tempo que entrei para lecionar em uma Faculdade, resolvi testar este método, funcionou muito bem, muitos até fizeram prova de concurso e foram muito bem, agora que estou no Ensino Médio Profissionalizante, vejo que posso fazer isso mais cedo com os alunos, com isso eles ganham mais conhecimento e quando entram na faculdade já verificam coisas mais avançadas.

Então resolvi testar este método que já vinha usando quando trabalhava numa ISP (Internet Service Provider) na cidade aonde estou agora e aproveitar para o restante das pessoas que ainda tem dúvida.

Este método ajudou muitos deles a entender melhor o Início da Rede e Final da Rede, o range e as subnets que compunham uma determinada classe de IPs. Venho fazendo isso desde de 2003 e sempre me ajudou, principalmente no trabalho. Acredito que em provas da CISCO como o CCNA e da LPI do Linux, isso pode ser útil para poupar tempo na hora da execução da mesma.

ENTENDENDO O FUNCIONAMENTO – 1ª QUESTÃO

 

Para entender como o método funciona, acredito que um bom exemplo possa vir a me ajudar a esclarecer este procedimento. Neste artigo será feito duas questões para me auxiliar no esclarecimento das subnets, uma utilizará um IPv4 da RFC 5737, que é um IP para artigos e livros, a outra questão será um IPv4 não roteável da RFC 1918. Acredito que utilizando questões para elaborar o uso deste meu método será mais eficiente o entendimento.

A primeira questão segue abaixo:

1. Sendo um bloco de endereços concebido a uma pequena Empresa XYZ. Sabemos que um dos endereços desta empresa apresentam a seguinte configuração: 198.51.100.186/27.

Com base nas informações apresentadas, faça que se pede nos itens a seguir:

  • Encontre a quantidade de subnets que podem ser feitas utilizando /27 no bloco de endereços da rede 198.51.100.0/24
  • Encontre o primeiro endereço do bloco de endereços da sub-rede
  • Encontre o último endereço do bloco de endereços da sub-rede
  • Encontre o número de endereços utilizáveis do bloco de endereços da sub-rede

Bem, agora vamos começar determinando a máscara de rede, que é do tipo CIDR /27.

Uma máscara /27 quer dizer que os octetos estão assim:

|   1º   |    2º  |   3º   |   4º
111111111.11111111.11111111.11100000

Se somarmos todos os 1 bits ficaria assim, no 1º tem 8 bits, no 2º tem 8 bits, no 3º tem 8 bits e o 4º tem 3 bits:

|   1º   |   2º   |   3º   |   4º
111111111.11111111.11111111.11100000
|   8    +    8   +   8    +   3     = 27

Bem, até aqui tudo bem, já entendemos de onde veio o /27, agora temos que saber qual é a máscara de rede em formato decimal. Como o zero está no 4º Octeto, então só faremos os cálculos em cima deste octeto, os demais como estão completos 11111111, isso quer dizer que o total deles é 255.

Retirando o 4º octeto ficaria assim:

11100000
17 16 15 04 03 02 01 00

Aqui a gente muda a base para 2 e eleva ao expoente:

27 26 25 04 03 02 01 00

Aqui abaixo como a base é zero, então o resultado é zero:

27 26 25  04 03 02 01 00 
128 + 64 + 32 + 0 + 0 + 0 + 0+ 0 + 0

Aqui é bom usar o bom senso e fazer um dupla de cada vez, assim:

+----------------------
|   128 + 64 =  192
|              + 32
|     total =   224
+----------------------

Então a máscara de rede ficará 255.255.255.224, as referências de máscara de rede e subnets podem ser estudadas na RFC 1878, caso tenham dúvidas de como é cada uma. Agora para saber de quanto em quanto está indo o intervalo da rede de IPs faremos o seguinte:

Geralmente uma rede tem 256 IPs, meus alunos sempre me perguntam, se tem 256 IPs, porque só aparece 255, simples, no caso o 0 é contábil, pois ele faz parte da rede, é o ponto de partida de qualquer rede.

Toda a rede tem um início e fim, aonde começa do 0 e termina no 255.

Inicio  =     0     0     0     0
Fim     =    255 . 255 . 255 . 255
Soma de IPs  256   256   256   256

Verificando a máscara, observamos que os outros octetos já estão completos e somente o último está faltando, então faz uma subtração do número total de IPs com a máscara de rede encontrada. Ficaria assim:

    256
 -  224
    32 

Ou seja, o intervalo está indo de 32 em 32 IPs, vamos ver como funciona.

Como mencionado, toda a rede inicia do zero, então vamos por lá.

Linux: Como encontrar o NetID e o Broadcast de uma determinada rede

Na segunda subnet, iremos dar continuidade desta forma de entender o início da rede e fim da outra:

Linux: Como encontrar o NetID e o Broadcast de uma determinada rede

Na terceira subnet em diante, já teremos um entendimento melhor de como funciona.

Linux: Como encontrar o NetID e o Broadcast de uma determinada rede

Com isto temos a seguinte tabela:

Linux: Como encontrar o NetID e o Broadcast de uma determinada rede

Agora já encontramos a resposta da QUESTÃO A, quantas subnets podemos ter usando o /27 num bloco /24. A resposta é 8 subnets. Também podemos fazer de outra maneira para sabermos.

Linux: Como encontrar o NetID e o Broadcast de uma determinada rede

Com este cálculo é possível entender como achar a quantidade de subnets.

Agora continuando as QUESTÕES B e C, podem ser feitas assim. O IP é 198.51.100.186/27, o único octeto que mexemos foi o 4º, então o número que iremos procurar é o IP 186, na figura abaixo, tem uma demostração de como procurar:

Linux: Como encontrar o NetID e o Broadcast de uma determinada rede

Então como mostra a figura acima, o NetID é 198.51.100.160/27, que é o início da rede e o final da rede, Broadcast é198.51.100.191/27.

Para acharmos os números de IPs utilizáveis na rede aonde se encontra este IP, é só saber, que aonde é o início e fim, como já descobrimos retiramos e fazemos o restante:

NetID 198.51.100.160
198.51.100.161
198.51.100.162
198.51.100.163
198.51.100.164
198.51.100.165
198.51.100.166
198.51.100.167
198.51.100.168
198.51.100.169
198.51.100.170
198.51.100.171
198.51.100.172
198.51.100.173
198.51.100.174
198.51.100.175
198.51.100.176
198.51.100.177
198.51.100.178
198.51.100.179
198.51.100.180
198.51.100.181
198.51.100.182
198.51.100.183
198.51.100.184
198.51.100.185
198.51.100.186
198.51.100.187
198.51.100.188
198.51.100.189
198.51.100.190
Broadcast 198.51.100.191

Pronto, já verificamos tudo desta 1ª Questão, aonde começa e aonde termina uma rede e seus respectivos endereços IPs disponíveis para uso dentro da rede.

 

ENTENDENDO O FUNCIONAMENTO – 2ª QUESTÃO

 

Agora já temos uma base boa para entender como funciona este método, faremos o seguinte: entraremos com um IP mais difícil de entender. Neste exemplo utilizaremos um IPv4 não roteável da RFC 1918.

A segunda questão segue abaixo:

2. Sendo um bloco de endereços concebido a uma pequena Empresa MRZ. Sabemos que um dos endereços desta empresa apresenta a seguinte configuração: 10.32.40.186/20.

Com base nas informações apresentadas, faça que se pede nos itens a seguir:

  • Encontre a quantidade de subnets que podem ser feitas utilizando /20 no bloco de endereços da rede 10.32.0.0/16
  • Encontre o primeiro endereço do bloco de endereços da sub-rede
  • Encontre o último endereço do bloco de endereços da sub-rede
  • Encontre o número de endereços utilizáveis do bloco de endereços da sub-rede

Usando a mesma lógica da questão anterior, vamos começar a contar os bits para saber qual máscara que é representada pelo /20.

Uma máscara /20 quer dizer que os octetos estão assim:

|   1º   |   2º   |   3º   |   4º
111111111.11111111.11110000.00000000

Se somarmos todos os 1 bits ficaria assim, no 1º tem 8 bits, no 2º tem 8 bits, no 3º tem 8 bits e o 4º tem 3 bits.

|   1º   |   2º   |   3º   |   4º
111111111.11111111.11110000.00000000
    8    +   8    +   4    +   0     = 20

Conseguimos achar o CIDR /20, agora temos que saber qual é a máscara de rede em formato decimal. Como o zero está no 3º Octeto, então só faremos os cálculos em cima deste octeto, o 4º Octeto como só tem zeros, então pela lógica só é zero que ficará por lá, mas tarde iremos entender como usar ele, os demais como estão completos 11111111, isso quer dizer que o total deles é 255.

Retirando o 3º octeto ficaria assim:

11100000
17 16 15 14 03 02 01 00

Aqui a gente muda a base, para 2 e eleva ao expoente:

27 26 25 24 03 02 01 00

Aqui abaixo como a base é zero, então o resultado é zero:

27 26 25 24 03 02 01 00 

128 + 64 + 32 + 16 + 0 + 0 + 0 + 0 + 0

Aqui é bom usar o bom senso e fazer um dupla de cada vez, assim:

+----------------------
|  128 + 64 = 192
|  32  + 16 = 48
|total = 240
+----------------------

Então a máscara de rede ficará: 255.255.240.0, como tinha dito, o 4º octeto só tem zeros, então não é preciso fazer cálculos.

Agora pegaremos o total de IPs que tem num octeto que é 256 e subtrair pelo número que encontramos no 3º octeto, ficaria assim:

256 - 240 = 16 IPs

Agora já sabemos que o intervalo está indo de 16 em 16, mas aí vem aquela pergunta:

“Se vem de 16 em 16, como fica o 4º octeto?”

Deixaremos o 4º octeto por último, depois a gente continua nele.

Como mencionado, toda a rede inicia do zero, então vamos por lá:

Linux: Como encontrar o NetID e o Broadcast de uma determinada rede

Na segunda subnet, iremos dar continuidade desta forma de entender o início da rede e fim da outra:

Linux: Como encontrar o NetID e o Broadcast de uma determinada rede

Na terceira subnet em diante, já teremos um entendimento melhor de como funciona.

Linux: Como encontrar o NetID e o Broadcast de uma determinada rede

Agora já encontramos a resposta da QUESTÃO A, quantas subnets podemos ter usando o /20 num bloco /16. A resposta é 16 subnets. Também podemos fazer de outra maneira para sabermos.

Linux: Como encontrar o NetID e o Broadcast de uma determinada rede

Com este cálculo é possível entender como achar a quantidade de subnets.

Agora continuando as QUESTÕES B e C, podem ser feitas assim. O IP é 10.32.40.186/20, o único octeto que mexemos foi o 3º octeto, então o número que iremos procurar é o 40, porque o 40 e não o 186 como fizemos na questão anterior? Como vimos anteriormente, só tem zeros no 4º Octeto, o que diz, que não tem nada lá que podemos usar para achar, se subtrairmos o 256 – 0 (que é o quem tem no 4º Octeto) obteremos 256, ou seja, tudo que tem lá vai ser usado, bem dizer, que quanto mais zeros tiver na máscara, mais IPs vão ser usados numa rede, e como os zeros pararam no 3º Octeto, então vai ter o total de IPs do 4º Octeto x Intervalo de IPs encontrado.

Exemplo:

O total de IPs do 4º octeto deu 256, pois foi o 256 – 0 = 256
O total de IPs no 3º octeto deu 16, pois foi 256 – 240 = 16

Pegue o intervalo de 16 x 256 = 4096 IPs – 2 que é o NetID e o Broadcast e obterá 4094 IPs que podem ser usados na sua rede, logo abaixo eu demostro como fazer os cálculos.

Linux: Como encontrar o NetID e o Broadcast de uma determinada rede

Com isso respondemos a questão D, voltando para questões B e C.

Linux: Como encontrar o NetID e o Broadcast de uma determinada rede

Como pode ser observado, ficou o NetID 10.32.32.0 e o Broadcast 10.32.47.255, como cheguei neste resultado do 0 e 255, como mencionei logo acima, eu disse que o 4º Octeto só tem um zero, ou seja, ele começa do 0 e vai até 255. Com isso toda a rede tem o inicio do zero, no caso da nossa rede, como estamos procurando em subnets, o início do 3º Octeto varia de acordo com o range aonde ele se encontra, mas o 4º octeto irá mudar assim que estiver numa nova subnet,

Então para demostrar melhor, se fosse observar os NetID e Broadcast ficaria assim:

1ª Subnet – NetId 10.32.0.0 – BroadCast 10.32.15.255
2ª Subnet – NetId 10.32.16.0 – BroadCast 10.32.31.255
3ª Subnet – NetId 10.32.32.0 – BroadCast 10.32.47.255
4ª Subnet – NetId 10.32.48.0 – BroadCast 10.32.63.255
5ª Subnet – NetId 10.32.64.0 – BroadCast 10.32.79.255
6ª Subnet – NetId 10.32.80.0 – BroadCast 10.32.95.255
7ª Subnet – NetId 10.32.96.0 – BroadCast 10.32.111.255
8ª Subnet – NetId 10.32.112.0 – BroadCast 10.32.127.255

E assim por diante, então deu para observar que somente tem variações no 3º Octeto, que é exatamente aonde estamos realmente verificando as subnets.

CONCLUSÃO

Espero que com este método, tenha ajudado as pessoas, alunos e professores, com uma maneira melhor de entender e saber repassar os intervalos de subnets de IPs numa rede e como achá-los e verificar a quantidade de IPs nelas pertencentes.

Para melhorar ainda mais os estudos, se estiver interessado em treinar, entre no site:

E vai testando o método em todas as questões que forem aparecendo, eu já andei fazendo junto com os alunos e deu tudo certo.

Abraços.

Rolar para cima