Exemplo:
IP: 128.42.5.4
Em binário: 10000000 00101010 00000101 00000100
Sub-rede: 255.255.248.0
Como você pode determinar os números de prefixo, rede, sub-rede e host?
fonte
Exemplo:
IP: 128.42.5.4
Em binário: 10000000 00101010 00000101 00000100
Sub-rede: 255.255.248.0
Como você pode determinar os números de prefixo, rede, sub-rede e host?
Converta a representação decimal pontilhada da máscara de rede em binário. Depois, conte o número de 1 bits contíguos, começando no bit mais significativo no primeiro octeto (ou seja, no lado esquerdo do número binário).
255.255.248.0 in binary: 11111111 11111111 11111000 00000000
-----------------------------------
I counted twenty-one 1s -------> /21
O prefixo de 128.42.5.4 com uma máscara de rede 255.255.248.0 é / 21.
O endereço de rede é o AND lógico dos respectivos bits na representação binária do endereço IP e da máscara de rede. Alinhe os bits nos dois endereços e execute um AND lógico em cada par dos respectivos bits. Em seguida, converta os octetos individuais do resultado novamente em decimal.
Tabela lógica E verdade:
128.42.5.4 in binary: 10000000 00101010 00000101 00000100
255.255.248.0 in binary: 11111111 11111111 11111000 00000000
----------------------------------- [Logical AND]
10000000 00101010 00000000 00000000 ------> 128.42.0.0
Como você pode ver, o endereço de rede 128.42.5.4/21 é 128.42.0.0
O endereço de broadcast converte todos os bits do host em 1s ...
Lembre-se de que nosso endereço IP em decimal é:
128.42.5.4 in binary: 10000000 00101010 00000101 00000100
A máscara de rede é:
255.255.248.0 in binary: 11111111 11111111 11111000 00000000
Isso significa que nossos bits de host são os últimos 11 bits do endereço IP, porque encontramos a máscara de host invertendo a máscara de rede:
Host bit mask : 00000000 00000000 00000hhh hhhhhhhh
Para calcular o endereço de broadcast, forçamos todos os bits do host a serem 1s:
128.42.5.4 in binary: 10000000 00101010 00000101 00000100
Host bit mask : 00000000 00000000 00000hhh hhhhhhhh
----------------------------------- [Force host bits]
10000000 00101010 00000111 11111111 ----> 128.42.7.255
Você não forneceu informações suficientes para calcular sub-redes para esta rede; Como regra geral, você cria sub-redes realocando alguns bits do host como bits de rede para cada sub-rede. Muitas vezes, não existe uma maneira correta de sub-rede de um bloco ... dependendo de suas restrições, pode haver várias maneiras válidas de sub-rede de um bloco de endereços.
Vamos supor que dividiremos 128.42.0.0/21 em 4 sub-redes que devem conter pelo menos 100 hosts cada ...
Neste exemplo, sabemos que você precisa de pelo menos um prefixo / 25 para conter 100 hosts; Eu escolhi um / 24 porque ele cai em um limite de octeto. Observe que o endereço de rede para cada sub-rede empresta bits de host do bloco de rede pai.
Como eu sabia que preciso de pelo menos um comprimento de máscara / 25 para 100 hosts? Calcule o prefixo fazendo backup no número de bits do host necessário para conter 100 hosts. É necessário 7 bits de host para conter 100 hosts. Oficialmente, isso é calculado com:
Bits do host = Log 2 (Número de hosts) = Log 2 (100) = 6.643
Como os endereços IPv4 têm 32 bits de largura e estamos usando os bits do host (ou seja, bits menos significativos), basta subtrair 7 de 32 para calcular o prefixo mínimo da sub-rede para cada sub-rede ... 32 - 7 = 25.
Como queremos apenas quatro sub-redes de todo o bloco 128.42.0.0/21, poderíamos usar / 23 sub-redes. Eu escolhi / 23 porque precisamos de 4 sub-redes ... ou seja, mais dois bits adicionados à máscara de rede.
Esta é uma resposta igualmente válida para a restrição, usando sub-redes / 23 de 128.42.0.0/21 ...
Isto é o que já fizemos acima ... apenas reutilize a máscara do host do trabalho que fizemos quando calculamos o endereço de broadcast de 128.42.5.4/21 ... Desta vez, usarei 1s em vez de h
, porque precisamos para executar um AND lógico no endereço de rede novamente.
128.42.5.4 in binary: 10000000 00101010 00000101 00000100
Host bit mask : 00000000 00000000 00000111 11111111
----------------------------------- [Logical AND]
00000000 00000000 00000101 00000100 -----> 0.0.5.4
Para encontrar o número máximo de hosts, observe o número de bits binários no número do host acima. A maneira mais fácil de fazer isso é subtrair o comprimento da máscara de rede de 32 (número de bits em um endereço IPv4). Isso fornece o número de bits do host no endereço. Nesse ponto...
Número máximo de hosts = 2 ** (32 - netmask_length) - 2
A razão pela qual subtraímos 2 acima é porque os números de host todos e todos os zeros são reservados. O número do host com todos os zeros é o número da rede; o número do host all-ones é o endereço de broadcast.
Usando a sub-rede de exemplo de 128.42.0.0/21 acima, o número de hosts é ...
Número máximo de hosts = 2 ** (32 - 21) - 2 = 2048 - 2 = 2046
Suponha que alguém nos dê dois endereços IP e espere encontrar a máscara de rede mais longa que contém os dois; por exemplo, e se tivéssemos:
A coisa mais fácil a fazer é converter ambos em binários e procurar a maior seqüência de bits de rede do lado esquerdo do endereço.
128.42.5.17 in binary: 10000000 00101010 00000101 00010001
128.42.5.67 in binary: 10000000 00101010 00000101 01000011
^ ^ ^
| | |
+--------- Network ---------+Host-+
(All bits are the same) Bits
Nesse caso, a máscara de rede máxima (máscara de host mínima) seria / 25
NOTA: Se você tentar começar pelo lado direito, não seja enganado apenas porque encontra uma coluna de bits correspondente; pode haver bits incomparáveis além dos bits correspondentes. Honestamente, a coisa mais segura a fazer é começar pelo lado esquerdo.
A resposta acima atinge a unha na cabeça perfeitamente. No entanto, quando eu comecei, foram necessários alguns exemplos diferentes de algumas fontes para que realmente chegasse em casa. Portanto, se você estiver interessado em outros exemplos, escrevi algumas postagens no blog sobre o assunto - http://www.oznetnerd.com/category/subnetting/
Administradores, se esta postagem for considerada spam, sinta-se à vontade para excluí-la.
Edit: Conforme sugestão do YLearn, tentarei pegar as partes relevantes da Parte 1 da minha série, sem colar toda a entrada aqui.
Vamos usar 195.70.16.159/30 como exemplo.
Como é um / 30, sabemos que a parte do host estará no quarto octeto. Vamos converter isso em binário:
128 64 32 16 8 4 2 1
SN SN SN SN SN SN H H
1 0 0 1 1 1 1 1
Agora, para descobrir o endereço de rede, tudo o que fazemos é adicionar os bits SN que têm um 1 embaixo deles, juntos. (128 + 16 + 8 + 4 = 156).
Quando você adiciona esse 156 aos três primeiros octetos do endereço, ficamos com o Endereço de Rede 195.70.16.156.
Agora, como sabemos que o primeiro endereço utilizável é sempre o Endereço de Rede mais um, tudo o que precisamos fazer é realizar o seguinte cálculo: (156 + 1 = 157).
Isso nos fornece um primeiro endereço utilizável de 195.70.16.157.
Agora vamos pular o Último Endereço Utilizável por um momento e encontrar o Endereço de Transmissão. Para descobrir o que é, tudo o que precisamos fazer é adicionar todos os bits H (independentemente de serem 1 ou 0) e, em seguida, adicionar esse número ao endereço de rede. (2 + 1 + 156 = 159).
Isso nos fornece um endereço de transmissão de 195.70.16.159.
E, finalmente, vamos elaborar o último endereço utilizável. Esse processo é semelhante à localização do primeiro endereço utilizável; no entanto, em vez de adicionar um ao endereço de rede, subtraímos um do endereço de transmissão. (159-1 = 158).
Isso nos fornece um último endereço utilizável de 195.70.16.158.
E aí temos que! Nosso temaplte está completo. Para fácil referência, aqui está novamente:
Como atalho, você também pode usar esta fórmula. Funciona em sub-redes de qualquer tamanho:
Não quero tirar nada da excelente resposta de Mike Pennington , que promovo incansavelmente, mas continuo vendo perguntas que não são diretamente abordadas por sua resposta, e criei algo que era originalmente baseado na resposta de Mike, mas tenho mais informações para resolver perguntas que surgiram ao longo do tempo. Infelizmente, é muito grande e tive que dividi-lo em duas respostas.
Parte 1 de 2
Matemática IPv4
Dado um endereço IPv4 e a máscara de rede IPv4 (a máscara de rede também pode ser derivada de um comprimento de máscara de rede ou máscara de host), você pode determinar muitas informações sobre uma rede IPv4: Endereço de Rede, Endereço de Transmissão de Rede, Total de Endereços de Host, Total Utilizável Endereços de host, primeiro endereço de host utilizável e último endereço de host utilizável.
Não posso enfatizar o suficiente para que você faça matemática IPv4 em binário. Acho que todo engenheiro de rede (ou potencial engenheiro de rede) tentou descobrir uma maneira de fazer tudo isso em decimal, como eu tenho certeza que você *. O problema é que 10 (decimal) não é uma potência de 2 (binário), portanto, decimal e binário não se convertem naturalmente entre si da maneira que o hexadecimal (base 16) naturalmente se converte em e para binário porque 16 é uma potência de 2 .
Parece que o uso da notação decimal com pontos para o IPv4 foi um erro inicial que não pode ser corrigido agora, mas o IPv6 adotou o uso do hexadecimal desde o início e é fácil converter entre hexadecimal e binário.
Se você não possui uma calculadora IP (provavelmente não permitida nos exames das aulas de educação em rede ou nos testes de certificação), é útil fazer um gráfico dos valores dos bits em um octeto. Por ser binário, cada valor de bit é 2 vezes o mesmo valor de dígito no próximo dígito menos significativo. Cada dígito é a base numérica vezes o mesmo valor do dígito no próximo dígito menos significativo. Isso também é válido para qualquer outra base numérica, incluindo decimal (base 10), em que cada valor de dígito é 10 vezes o valor do mesmo valor na próxima posição numérica menos significativa. Para dígitos binários (bits):
Onde decimal é sobre as potências de 10, binário é sobre as potências de 2. Observe que, para cada número de bit na tabela acima, o valor correspondente é 2 à potência do número de bit.
Você também precisará lembrar das Tabelas da Verdade da escola (em matemática binária, 0 é Falso e 1 é Verdadeiro):
* Se você executar a matemática do IPv4 por muitos anos, poderá chegar ao ponto em que pode realizar conversões binárias / decimais em sua cabeça e poderá parecer capaz de fazer a matemática do IPv4 em decimal. Mesmo que eu possa fazer isso na minha cabeça, sempre checarei duas vezes com uma calculadora IP ou converterei para binário, realizarei a matemática e converterei novamente para decimal, antes de fazer uma alteração em uma rede de produção.
Endereço IPv4
A notação decimal com pontos IPv4, por exemplo
198.51.100.223
, é simplesmente para facilitar a leitura de um endereço IPv4 por humanos. As quatro seções separadas, chamadas octetos, realmente não têm significado para o IPv4. Não cometa o erro comum de pensar que os octetos têm um significado especial. Um endereço IPv4 é realmente um número binário de 32 bits e é assim que os dispositivos de rede veem e usam um endereço IPv4.Nosso exemplo de endereço IPv4
198.51.100.223
é, na verdade,11000110001100110110010011011111
para um dispositivo na rede, para que você possa ver que a representação decimal pontilhada realmente facilita as coisas para humanos. Cada octeto é oito bits do endereço de 32 bits (daí o termo comumente usado, "octeto"), então existem quatro octetos (32 address bits / 8 bits per octet = 4 octets
). Nosso exemplo de endereço binário de 32 bits é separado em quatro octetos, e cada octeto binário é convertido em um número decimal *:Como cada octeto tem oito bits de comprimento, cada octeto terá um valor entre
0
e255
(quaisquer valores maiores que255
são inválidos). O motivo é que2^8 = 256
:2
(a base numérica binária) com a potência de8
(oito bits por octeto) é igual256
ao número de valores diferentes que podem ser expressos por um octeto de oito bits. Lembre-se de que o primeiro valor é0
, portanto, o256
th é um menos que o número total de valores que podem ser expressos (256 – 1 = 255
).Para executar corretamente a matemática do IPv4, você deve fazê-lo em binário, caso contrário você cometerá erros que causarão problemas e frustração. Isso significa que você deve converter a notação decimal pontilhada em binária antes de tentar manipulá-la:
* Os zeros à esquerda em um endereço IPv4 decimal pontilhado podem ser interpretados por alguns aplicativos e linguagens de programação como octal (base 8) em vez de decimal (base 10), causando erros, e zeros à esquerda devem ser evitados para a representação IPv4 decimal pontilhada, mas os zeros à esquerda são necessários para os octetos de endereços IPv4 binários porque representam posições de bits no endereço completo, e deixar de fora uma posição de bit diminui o endereço e altera o valor binário.
Máscara de rede IPv4
Uma máscara de rede IPv4 é usada para dividir um endereço IPv4 em duas partes: a parte da rede e a parte do host. A divisão pode ter qualquer número de bits, portanto pode estar dentro de um octeto, não em um limite de octeto, como muitas pessoas incorretamente assumem que sempre acontece. Uma máscara de rede IPv4 tem o mesmo tamanho de um endereço IPv4 (32 bits) e é expressa em notação decimal pontilhada da mesma maneira que você expressaria um endereço IPv4 em notação decimal pontilhada (quatro octetos de oito bits, separados por um período). Por exemplo
255.255.248.0
,.Uma máscara de rede IPv4 consiste em um número de
1
bits consecutivos (representando a parte da rede de um endereço), seguido por um número de0
bits (representando a parte do host do endereço). O número total de1
bits e o número total de0
bits somam32
o número de bits em um endereço IPv4 ou máscara de rede. Para nosso exemplo de máscara de rede:Como você pode ver, a divisão entre a rede e as partes do host do endereço IPv4 usando essa máscara específica está dentro de um octeto, não no limite do octeto.
Uma máscara de rede IPv4 geralmente é representada pelo número de
1
bits consecutivos na máscara. Isso é chamado de comprimento da máscara de rede ou comprimento do prefixo e é representado como/
seguido pelo número de1
bits consecutivos na máscara de rede. Para o nosso exemplo, contar o número de1
bits consecutivos é obtido21
, o que pode ser representado como/21
.Dado o comprimento da máscara, você pode calcular a representação decimal com pontos da máscara. Basta colocar o número de
1
bits para o comprimento da máscara e adicionar0
bits suficientes no final ao total de32
bits. Converta o número binário resultante na representação decimal com pontos:O exemplo pode ser representado tradicionalmente como
198.51.100.223
, com uma máscara de rede255.255.248.0
, ou pode ser representado como o CIDR (roteamento entre domínios sem classe) mais moderno198.51.100.223/21
.Endereço de rede IPv4
Um endereço de rede IPv4 é um endereço IPv4 com todos os bits do host configurados para
0
. O endereço de rede IPv4 pode ser calculado bit a bitAND
dos respectivos bits na representação binária do endereço IPv4 e da máscara de rede IPv4. Alinhe os bits nos dois endereços e execute um bitAND
em cada par dos respectivos bits, depois converta os octetos individuais do resultado novamente em decimal.Para o nosso exemplo de endereço IPv4
198.51.100.223
e máscara de rede255.255.248.0
:Como você pode ver, o endereço de rede de
198.51.100.223/21
é198.51.96.0
. Observe que você não pode depender dos octetos para lhe dizer qual parte do endereço é a rede e qual parte é para os hosts.Você pode usar esse método para determinar se dois endereços estão na mesma rede ou em redes diferentes *. Se, por exemplo, você deseja ver se seu
198.51.100.223/21
endereço está na mesma rede IPv4 com um host atribuído ao198.51.102.57
endereço, determine seu endereço de rede IPv4 (como acima). Em seguida, determine o endereço de rede IPv4 do host em questão, usando sua máscara de rede IPv4 (os hosts na mesma rede usam a mesma máscara de rede e você pode não ter a máscara, apenas o endereço, do host de destino):Compare o endereço de rede IPv4 resultante com o endereço de rede IPv4 original e observe que os endereços de rede são iguais, para que os endereços de host estejam na mesma rede.
Agora, vamos ver se você está na mesma rede que o
74.125.69.100
endereço do Google:Compare o endereço de rede IPv4 resultante com o endereço de rede IPv4 original e observe que os endereços de rede são diferentes; portanto, os endereços de host estão em redes diferentes.
* Este é o método que um host de origem usa para determinar se é um host de destino na mesma rede que o host de origem.
Máscara de host IPv4
Um valor útil, muitas vezes esquecido, que é útil no endereçamento IPv4 é a máscara do host IPv4. Uma máscara de host IPv4 é simplesmente o inverso da máscara de rede IPv4. Você pode criar uma máscara de host binário a partir de uma máscara de rede binária ou uma máscara de rede binária a partir de uma máscara de host binário, simplesmente invertendo os
1
s e0
s da máscara inicial:É possível criar matematicamente uma máscara de host da máscara de rede, ou a máscara de rede da máscara de host, subtraindo a máscara inicial da máscara mais longa (
/32
ou máscara all-ones).Isso pode ser feito em binário:
Isso também pode ser feito em decimal (um octeto completo
255
), mas certifique-se de convertê-lo em binário antes de realmente tentar usá-lo para manipulação de endereço:Endereço de transmissão de rede IPv4
Um endereço de transmissão de rede IPv4 é o endereço de rede IPv4 com todos os bits do host configurados
1
. Existem várias maneiras de calcular o endereço de transmissão da rede IPv4.Para o nosso exemplo de endereço IPv4
198.51.100.223
e máscara de rede255.255.248.0
.Você pode executar um bit a bit
OR
com o endereço IPv4 ou o endereço de rede com a máscara do host:Você pode simplesmente adicionar o valor da máscara de host IPv4 ao valor do endereço de rede IPv4:
Isso também é algo que você pode fazer em decimal:
Total de endereços de host de rede IPv4
O número total de endereços de host IPv4 para uma rede é
2
a potência do número de bits do host, que é32
menos o número de bits da rede. No nosso exemplo de/21
rede (máscara de255.255.248.0
rede), existem11
bits de host (32 address bits – 21 network bits = 11 host bits
). Isso significa que há um2048
total de endereços de host em uma/21
rede IPv4 (2^11 = 2048
).Total de endereços de host de rede IPv4 utilizáveis
Exceto para
/31
redes (máscara de rede255.255.255.254
) e/32
(máscara de rede255.255.255.255
), o número de endereços de host utilizáveis em uma rede IPv4 é o número total de endereços de host de rede menos2
(porque os endereços de rede e broadcast IPv4 não podem ser utilizados nos endereços de host na rede, você deve subtraí-los do número de endereços de host utilizáveis). No nosso exemplo de rede/21
(255.255.248.0
), existem2046
endereços de host utilizáveis (2^11 - 2 = 2046
).Primeiro endereço de host de rede IPv4 utilizável
Exceto nas
/31
redes (máscara de rede255.255.255.254
) e/32
(máscara de rede255.255.255.255
), o primeiro endereço de host de rede IPv4 utilizável é o endereço de rede IPv4 plus1
(o endereço de rede IPv4 não pode ser usado para um endereço de host de rede). Para nosso exemplo de rede de198.51.96.0/21
, o primeiro endereço de host de rede utilizável é198.51.96.1
(198.51.96.0 + 1 = 198.51.96.1
). Basta definir o bit de ordem inferior do endereço de rede IPv4 binário para1
:Último endereço de host de rede IPv4 utilizável
Exceto nas
/31
redes (máscara de rede255.255.255.254
) e/32
(máscara de rede255.255.255.255
), o último endereço de host de rede IPv4 utilizável é o endereço de broadcast de rede IPv4 menos1
(o endereço de broadcast de rede IPv4 não pode ser usado para um endereço de host de rede). Para o nosso exemplo de rede de198.61.96.0/21
, o último endereço de host de rede utilizável é198.51.103.254
(198.51.103.255 - 1 = 198.51.103.254
). Basta definir o bit de ordem inferior do endereço de transmissão de rede IPv4 binário para0
:Juntando todos os endereços de rede IPv4
Para o nosso exemplo de endereço de rede IPv4
198.51.100.223
e máscara255.255.248.0
(ou198.51.100.223/21
), podemos calcular muitas informações de rede:* Os exames das aulas de educação em rede e os testes de certificação solicitarão que você possa calculá-los rapidamente para uma rede IPv4, considerando o endereço do host e a máscara (ou o comprimento da máscara). Você pode usar as dicas abaixo para verificar rapidamente suas respostas:
As dicas acima não se aplicam a
/31
redes (máscara de rede255.255.255.254
) ou/32
(máscara de rede255.255.255.255
).Com tempo suficiente no seu exame e um problema que tem vários métodos para chegar a uma resposta, você deve usar os vários métodos para verificar novamente a resposta.
Continua na próxima resposta ...
fonte
Continua da resposta anterior ...
Parte 2 de 2
Selecionando um endereço de gateway de rede IPv4 (roteador)
Um gateway é um host na rede que sabe encaminhar pacotes para outras redes e pode ser atribuído a qualquer endereço de host de rede utilizável. Algumas pessoas atribuem aleatoriamente endereços de gateway a qualquer endereço de host de rede utilizável, outras sempre atribuem o primeiro endereço de host de rede utilizável a um gateway e algumas sempre atribuem o último endereço de host de rede utilizável a um gateway. Na verdade, não importa qual endereço de rede do host utilizável você atribui a um gateway, mas você deve tentar ser consistente.
Redes IPv4
/31
(máscara de rede255.255.255.254
)Originalmente, as
/31
redes (máscara de rede255.255.255.254
) eram inutilizáveis porque existe apenas um bit de host, fornecendo dois endereços de host de rede totais, mas o número de endereços de host de rede utilizáveis é o número total de endereços de host de rede menos2
(2 total host addresses - 2 = 0 usable host addresses
).Links ponto a ponto precisam apenas de dois endereços de host (um para cada extremidade do link). A maneira tradicional de atribuir redes IPv4 exigia o uso de
/30
redes (máscara de rede255.255.255.252
) para links ponto a ponto, mas isso desperdiça metade dos endereços de host de rede porque uma/30
rede possui quatro endereços de host de rede totais, mas apenas dois são endereços de host de rede utilizáveis (2^2 – 2 = 2
)Com a escassez crítica de endereços IPv4, foi criado um padrão para permitir o uso de
/31
redes para links ponto a ponto. Isso faz sentido porque não há necessidade de transmissão nessas redes: todos os pacotes enviados por um host na rede são destinados ao único outro host da rede, transmitindo efetivamente. Em uma/31
rede, o endereço de rede é o primeiro endereço de host utilizável e o endereço de broadcast é o último endereço de host utilizável.Infelizmente, nem todos os fornecedores (Microsoft em particular) suportam o padrão de uso de
/31
redes em links ponto a ponto, e você geralmente vê links ponto a ponto usando/30
redes.Redes IPv4
/32
(máscara de rede255.255.255.255
)Uma
/32
rede (máscara de rede255.255.255.255
) é uma rede sem endereços de host e um endereço de host em si. Há apenas um endereço na rede, e esse é o endereço da rede. Como não há outros hosts na rede, o tráfego deve ser roteado de e para o endereço de rede.Esses endereços são frequentemente usados em interfaces de rede virtual definidas dentro de um dispositivo que pode rotear pacotes entre suas interfaces virtual e física. Um exemplo disso é criar uma interface virtual em um dispositivo de rede para ser usada como fonte ou destino para o próprio dispositivo. Uma interface virtual não pode cair devido a um problema físico, por exemplo, cabo desconectado e, se o dispositivo possuir vários caminhos, outros dispositivos ainda poderão se comunicar com o dispositivo usando o endereço da interface virtual quando uma interface física do dispositivo estiver inoperante por algum motivo. .
Sub-redes de redes IPv4
Sub-rede de uma rede está criando várias redes mais longas a partir de um endereço e máscara de rede. A idéia básica é emprestar bits de alta ordem da parte do host da rede original. Suponha que você queira criar 14 sub-redes de tamanho igual a partir da nossa
198.51.96.0/21
rede original . Como você está emprestando bits de alta ordem da parte do host da rede original, você obterá um número que é uma potência de2
, mas14
não é uma potência de2
, portanto, você deve obter a próxima potência superior de2
, que por acaso é16
(16 = 2^4
) O poder de2
, nesse caso4
, é o número de bits de host de alta ordem necessários para pedir emprestado o número de sub-redes a serem criadas. Você também pode usar uma fórmula matemática para determinar o número de bits necessários:Log2(X subnets) = Y borrowed bits
, arredondado para o próximo valor inteiro:Para nosso exemplo de necessidade de 14 sub-redes de tamanho igual da
198.51.96.0/21
rede original , começando com todos os0
s * para a primeira sub-rede, adicione1
à parte de sub-rede para obter a próxima sub-rede:* Existe um mito persistente de que, para sub-redes, assim como para endereços de host, as sub-redes all-zeros e all-ones não podem ser usadas, mas esse mito foi explicitamente dissipado há muitos anos por um padrão. Infelizmente, esse mito se estende a algumas classes de educação em rede, e a resposta correta para essas classes (incorretas) seria usar as sub-redes 2 a 15.
É possível sub-rede uma rede em sub-redes de tamanhos variados (toda rede IPv4 é uma sub-
0.0.0.0/0
rede do endereço de rede), como no exemplo acima, onde a sub-rede não utilizada é uma/24
sub - rede, mas isso requer um planejamento cuidadoso para que as sub-redes resultantes sejam iniciadas. o bit correto.Por exemplo, digamos que precisamos de
/26
uma/27
sub-rede e de nossa198.51.96.0/21
rede. Há duas maneiras de fazer isso: comece com a/26
sub - rede ou comece com a/27
sub - rede.Começando com a
/26
sub-rede:Adicione
1
à parte da sub-rede para obter a posição inicial da próxima sub-rede:Em seguida, estenda a segunda sub-rede para
/27
:Observe que, na verdade, estamos sub-criando a segunda
/26
sub-rede em uma/27
sub - rede, e isso funciona bem porque27
é maior que26
.Começando com a
/27
sub-rede:Adicione
1
à parte da sub-rede para obter a posição inicial da próxima sub-rede:Observe que não há bits suficientes na parte do host (cinco bits do host) para suportar uma
/26
rede, que requer seis bits do host (32 address bits – 26 network bits = 6 host bits
). Se usarmos isso como a posição inicial da/26
sub - rede, na verdade sobreporemos as/26
redes anterior e seguinte . Precisamos deixar um espaço do tamanho de uma/27
rede para a posição inicial da/26
rede:Uma
/26
sub-rede deve sempre iniciar em um/26
limite: todo segundo/27
limite de sub-rede, todo quarto/28
limite, todo oitavo/29
limite, etc. Esta regra é para qualquer tamanho de sub-rede: uma sub-rede deve iniciar um limite de uma sub-rede mais longa igual à2
potência do tamanho maior da sub-rede menos o tamanho da sub-rede. Por exemplo, uma/23
sub - rede deve iniciar em cada quarta/25
rede (2^(25 - 23) = 2^2 = 4
).Tentar configurar um dispositivo com um endereço de rede que inicie no limite de bit errado levará a problemas estranhos e difíceis de solucionar, ou o dispositivo apresentará um erro sobre a sobreposição de redes. Algumas pessoas tentam fazer isso com decimal pontilhado, e isso pode levar a erros. Por exemplo, os
198.51.96.0/27
endereços de host da rede estão198.51.96.0
completos198.51.96.31
. Se você souber disso e tentar usar a198.51.96.32/26
rede, terá problemas porque essa rede inicia no limite de bits errado e se sobrepõe à/27
rede (verifique usando os bitsAND
e os endereços e as máscaras de rede). É óbvio em binário, mas não é tão óbvio em decimal com pontos. Você pode aprender que as/26
redes devem começar com um múltiplo de decimal64
limite, mas vê-lo em binário pode dizer com certeza se você cometeu ou não um erro.Dimensionamento de sub-rede com base no número de hosts
As perguntas comuns do exame fornecem uma rede e solicitam que você crie várias sub-redes de tamanhos variados, com base no número de hosts de cada sub-rede. Se você puder, precisará esclarecer se o número de hosts é baseado no número total de endereços de host na rede ou se é baseado no número de hosts utilizáveis na rede. (Por exemplo, se a pergunta solicitar uma sub-rede com
256
ou255
hosts, uma/24
rede fornecerá256
endereços de host totais, mas apenas254
endereços de host utilizáveis. Essa pergunta pode ser uma pergunta complicada, e a resposta correta dependerá da pergunta significa total de endereços de host ou endereços de host utilizáveis.)Exemplo de pergunta:
Como vimos na seção Redes de sub-rede IPv4, a maneira mais fácil de fazer isso é primeiro classificar os departamentos pelo maior para o menor número de hosts, porque não precisaremos lidar com as falhas de rede:
Você pode arredondar cada um até a próxima alta potência de 2 para obter o número total de endereços de host necessários para cada sub-rede e derivar o número de bits de host necessários a partir do expoente da potência de
2
:Você também pode modificar a fórmula anterior para localizar o número de bits necessário para um número específico de sub-redes de tamanho igual para determinar o número de bits de host necessário para cada sub-rede:,
Log2(X hosts) = Y host bits
arredondado para o próximo valor inteiro:Depois de ter o número de bits do host necessário para cada sub-rede, execute a matemática binária para obter a sub-rede específica para cada departamento. Lembre-se de adicionar
1
a uma sub-rede para obter o endereço inicial da próxima sub-rede:Localizando uma sub-rede específica
Você pode ser solicitado a fornecer informações de rede para uma sub-rede específica de uma determinada rede. Por exemplo, você pode ser solicitado a fornecer informações de rede para a 23ª
/26
sub-198.51.96.0/21
rede da rede. Como você precisa da 23ª sub-rede, é possível converter22
(lembre-se de que0
é a primeira sub-rede, portanto a 23ª sub-rede seria22
*) para binária: Decimal22
= Binária10110
. Use o número binário convertido na parte da sub-rede do endereço:Depois de identificar o 23º endereço de rede
198.51.101.128/26
, você pode calcular as outras informações da rede (conforme descrito nas seções anteriores):* Existe um mito persistente de que, para sub-redes, assim como para endereços de host, as sub-redes all-zeros e all-ones não podem ser usadas, mas esse mito foi explicitamente dissipado há muitos anos por um padrão. Infelizmente, esse mito se estende a algumas classes de educação em rede, e a resposta correta para essas classes (incorretas) seria usar a 24ª sub-rede (
23
decimal,10111
binária) em nosso exemplo de sub-redes de tamanho igual, em vez da 23ª real (22
decimal,10110
sub-rede binária).Localizando um host de rede específico
Você pode ser solicitado a encontrar o endereço do host para um host específico de uma determinada rede. Por exemplo, você pode ser solicitado a fornecer o endereço do host para o 923º host da
198.51.96.0/21
rede. Como você precisa do host 923, você pode converter923
em binário: Decimal923
= Binário1110011011
. Adicione o número binário convertido ao endereço de rede:Maior rede comum para dois hosts *
Você pode receber dois (ou mais) endereços de host diferentes e solicitar a criação da maior rede (menor número de hosts) que contém os dois endereços de host. Por exemplo, encontre a maior rede comum de
198.51.100.223
e198.51.101.76
.Primeiro, converta os endereços decimais pontilhados em binários:
Em seguida, iniciando no bit de ordem mais alta (mais à esquerda), compare os endereços binários em cada posição de bit até que os bits na mesma posição não correspondam:
Conte o número de bits correspondentes,
23
neste caso, para obter o comprimento da máscara. Em seguida, você pode pegar um endereço e executar um bit a bitAND
com a máscara de rede para obter a rede comum. Fazer isso nos dois endereços deve resultar na mesma rede e, caso contrário, você desconsiderou ou perdeu uma posição de bit incomparável.Observe que os dois endereços de rede correspondem. Isso significa que a maior rede comum para os dois endereços de host é
198.51.100.0/23
(notação CIDR) ou (tradicional)198.51.100.0
com uma máscara de255.255.254.0
.* Você pode ver isso chamado a menor rede comum (ou alguma variante, por exemplo, rede ou máscara mínima). A menor rede é na verdade
0.0.0.0/0
(0
bits de rede) e é a rede comum para todos os endereços IPv4; portanto, é a menor rede comum entre todos os endereços IPv4. A confusão surge porque muitas pessoas olham para a parte do host do endereço e vêem seu tamanho como o tamanho da rede, em vez do tamanho da parte da rede do endereço.Endereçamento público x privado
O IPv4, por si só, não possui o conceito nem distinção entre endereçamento público e privado. O endereçamento privado do IPv4 foi escolhido arbitrariamente, e os ISPs, por contrato, não encaminharão pacotes na Internet pública usando endereços no espaço de endereçamento privado, mas os dispositivos e hosts de rede não têm idéia se um endereço é público ou privado.
Existem três intervalos de endereços definidos como um endereçamento privado IPv4:
10.0.0.0/8
172.16.0.0/12
192.168.0.0/16
Classful Network Addressing
Originalmente, os endereços IPv4 eram divididos em classes de rede. O endereçamento classful foi descontinuado décadas atrás, e as redes modernas se baseiam no CIDR (Classless Inter-Domain Routing), mas, infelizmente, muitas aulas de educação em rede e exames de certificação insistem em testar seu conhecimento sobre endereçamento classful. Aprenda e sinta-se à vontade com toda a matemática anterior do IPv4 neste documento antes de aprender sobre o endereçamento de classe.
As classes de endereço IPv4 são todas baseadas nos primeiros bits do endereço:
255.0.0.0
(/8
) e uma máscara de host padrão de0.255.255.255
, fornecendo o16,777,216
total de endereços de host por rede.255.255.0.0
(/16
) e uma máscara de host padrão de0.0.255.255
, fornecendo o65,536
total de endereços de host por rede.255.255.255.0
(/24
) e uma máscara de host padrão de0.0.0.255
, fornecendo o256
total de endereços de host por rede.255.255.255.255
, que é um endereço individual que todo host em uma rede tratará como seu. Isso significa que tudo o que for enviado255.255.255.255
será recebido e processado por todos os hosts da rede.Como cada classe tem um tamanho de rede padrão, algumas perguntas assumem a máscara padrão para um determinado endereço; portanto, qualquer cálculo precisa ser feito com base na máscara de rede padrão. Para o nosso endereço de exemplo
198.51.100.223
:Observe que os três primeiros bits de endereço são
110
, o que significa que este é um endereço de Classe C e, na ausência de qualquer máscara ou comprimento de máscara, presume-se que a máscara de rede seja255.255.255.0
(/24
), criando o endereço de rede198.51.100.0
.* Não cometa o erro comum de pensar que a máscara de rede dita a classe de rede, é o contrário. Por exemplo, muitas pessoas consideram qualquer
/24
rede uma rede de Classe C, mas isso nem é remotamente verdadeiro. Dada, por exemplo, uma10.11.12.0/24
rede, muitas pessoas chamam incorretamente que uma rede de Classe C por causa da máscara de rede, mesmo que o primeiro bit do endereço seja0
, tornando-se uma rede de Classe A, embora com uma máscara de rede mais longa que a padrão Máscara de rede Classe A, o que significa que é uma sub-rede de uma rede Classe A, não uma rede Classe C.fonte
(Na tentativa de manter todas as respostas da máscara de rede em um lugar, depois das outras excelentes respostas, adicionei esta sobre um método visual.)
Dimensionamento de sub-rede com base no número de hosts
Isso é para a pergunta comum "Como cortar um determinado tamanho de rede em n pedaços, permitindo x 1 hosts na rede 1, x 2 hosts na rede 2, etc ...?" pode ser absolutamente resolvido trabalhando com os métodos descritos nas outras excelentes respostas.
Algumas pessoas, no entanto, podem gostar de um método mais visual e de algumas dicas gerais.
Método visual "Glasscutter"
A maneira como geralmente ensino uma compreensão visual disso é com o seguinte método:
Primeiro imagine uma guilhotina de papel como esta:
( Foto da Wikipedia por Nathan CC BY-SA 3.0)
As propriedades desse tipo de cortador são que ele apenas corta linhas retas, sempre corta todo o caminho do papel e corta perpendicularmente a um lado. Nossa guilhotina em particular é exigente: só corta papel ao meio e não podemos fazer nenhum corte a menos de 1 cm da borda.
Aqui está uma ilustração do processo. Você vê que existe apenas um tipo de corte possível no corte 1 e no corte 2, mas no corte 3 fazemos uma escolha: corte o pedaço pequeno (vermelho) ou o pedaço grande (azul), dando duas possibilidades diferentes.
É o que costuma ser chamado de problema da guilhotina , que aprendi como o problema do "cortador de vidro", pois o vidro de folha realmente precisa ser cortado completamente, e esse específico pode ser chamado de "cortador de vidro binário", pois está sempre cortando pela metade.
Quando na verdade faço isso na vida real, mentalmente faço as coisas ao olhar para uma grade assim. Lembro que / 26 deve começar em 0, 0,64, 128 ou 0,192; Talvez eu saiba que a sétima linha alugada precisa da sétima / 30 no primeiro trimestre, mas não me lembrarei que seja .216.
Obviamente, a grade também pode ser usada para representar o terceiro octeto, e cada quadrado representa um / 24. Agora, diz que a / 18 começa em 0,0, 0,64, 0,128 ou 0,192.
Dicas técnicas gerais
O procedimento geral é:
fonte
Exemplo:
IP: 128.42.5.4
Em binário: 10000000 00101010 00000101 00000100
Sub-rede: 255.255.248.0
Como você pode determinar os números de prefixo, rede, sub-rede e host?
fonte