Como você calcula o prefixo, a rede, a sub-rede e os números de host?

97

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?

user5032
fonte

Respostas:

164

Cálculo do comprimento da máscara de rede (também chamado de prefixo):

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.

Cálculo do endereço de rede:

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:

AND lógico

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

Cálculo do endereço de transmissão:

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

Cálculo de sub-redes:

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 ...

sub-rede

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.

Localizando o comprimento da máscara de sub-rede ou máscara de rede necessária:

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.

A maneira lenta de dividir 128.42.0.0/21 em quatro sub-redes iguais:

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 ...

sub-rede, segunda opção

Calculando o número do host:

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

Calculando o número máximo possível de hosts em uma sub-rede:

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

Localizando a máscara de rede máxima (máscara de host mínima) que contém dois endereços IP:

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:

  • 128.42.5.17
  • 128.42.5.67

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.

Mike Pennington
fonte
15

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:

  • Endereço de rede: 195.70.16.156
  • Primeiro endereço utilizável: 195.70.16.157
  • Último endereço utilizável: 195.70.16.158
  • Endereço de transmissão: 195.70.16.159

Como atalho, você também pode usar esta fórmula. Funciona em sub-redes de qualquer tamanho:

  • Primeiro endereço utilizável = Endereço de rede + 1
  • Endereço de Transmissão = Próximo Endereço de Rede - 1
  • Último endereço utilizável = Endereço de transmissão - 1
OzNetNerd
fonte
4
Advertência minúscula (quase insignificante): a fórmula do último endereço utilizável na parte inferior funciona para todas as sub-redes, exceto a / 31 ... consulte RFC 3021 . É uma exceção pequena, mas relevante, se alguém tentar usar seu algoritmo no código.
Mike Pennington
11

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):

---------------------------------------------------------
| Bit # |   7 |   6 |   5 |   4 |   3 |   2 |   1 |   0 |
---------------------------------------------------------
| Value | 128 |  64 |  32 |  16 |   8 |   4 |   2 |   1 |
---------------------------------------------------------

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.

For our example IPv4 dotted-decimal address of 198.51.100.223:
1st octet: 198 = 128 + 64 +  0 +  0 + 0 + 4 + 2 + 0 = 11000110
2nd octet:  51 =   0 +  0 + 32 + 16 + 0 + 0 + 2 + 1 = 00110011
3rd octet: 100 =   0 + 64 + 32 +  0 + 0 + 4 + 0 + 0 = 01100100
4th octet: 223 = 128 + 64 +  0 + 16 + 8 + 4 + 2 + 1 = 11011111

For our example IPv4 binary address of 11000110001100110110010011011111:
1st octet: 11000110 = 128 + 64 +  0 +  0 + 0 + 4 + 2 + 0 = 198
2nd octet: 00110011 =   0 +  0 + 32 + 16 + 0 + 0 + 2 + 1 =  51
3rd octet: 01100100 =   0 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 100
4th octet: 11011111 = 128 + 64 +  0 + 16 + 8 + 4 + 2 + 1 = 223

Você também precisará lembrar das Tabelas da Verdade da escola (em matemática binária, 0 é Falso e 1 é Verdadeiro):

-----------------------------------------
| False AND False = False | 0 AND 0 = 0 |
-----------------------------------------
| False AND True  = False | 0 AND 1 = 0 |
-----------------------------------------
| True  AND False = False | 1 AND 0 = 0 |
-----------------------------------------
| True  AND True  = True  | 1 AND 1 = 1 |
-----------------------------------------

-----------------------------------------
| False OR False = False  | 0 OR 0 = 0  |
-----------------------------------------
| False OR True  = True   | 0 OR 1 = 1  |
-----------------------------------------
| True  OR False = True   | 1 OR 0 = 1  |
-----------------------------------------
| True  OR True  = True   | 1 OR 1 = 1  |
-----------------------------------------

* 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, 11000110001100110110010011011111para 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 *:

Binary address: 11000110001100110110010011011111
                ---------------------------------------------
Binary octets:  | 11000110 | 00110011 | 01100100 | 11011111 |
Decimal octets: |      198 |       51 |      100 |      223 |
                ---------------------------------------------
Dotted-decimal: 198.51.100.223

Como cada octeto tem oito bits de comprimento, cada octeto terá um valor entre 0e 255(quaisquer valores maiores que 255são inválidos). O motivo é que 2^8 = 256: 2(a base numérica binária) com a potência de 8(oito bits por octeto) é igual 256ao número de valores diferentes que podem ser expressos por um octeto de oito bits. Lembre-se de que o primeiro valor é 0, portanto, o 256th é 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:

Dotted-decimal: 198.51.100.223
                ---------------------------------------------
Decimal octets: |      198 |       51 |      100 |      223 |
Binary octets:  | 11000110 | 00110011 | 01100100 | 11011111 |
                ---------------------------------------------
Binary address: 11000110001100110110010011011111

* 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 1bits consecutivos (representando a parte da rede de um endereço), seguido por um número de 0bits (representando a parte do host do endereço). O número total de 1bits e o número total de 0bits somam 32o número de bits em um endereço IPv4 ou máscara de rede. Para nosso exemplo de máscara de rede:

Dotted-decimal: 255.255.248.0
                ------------------------------------------------
Decimal octets: |      255 |      255 |         248 |        0 |
Binary octets:  | 11111111 | 11111111 | 11111 | 000 | 00000000 |
                ------------------------------------------------
                | 21 Network bits             | 11 Host bits   |
                ------------------------------------------------

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 1bits consecutivos na máscara. Isso é chamado de comprimento da máscara de rede ou comprimento do prefixo e é representado como /seguido pelo número de 1bits consecutivos na máscara de rede. Para o nosso exemplo, contar o número de 1bits consecutivos é obtido 21, 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 1bits para o comprimento da máscara e adicionar 0bits suficientes no final ao total de 32bits. Converta o número binário resultante na representação decimal com pontos:

Mask length:    /21
                ------------------------------------------------
                | 21 Network bits             | 11 Host bits   |
                ------------------------------------------------
Binary octets:  | 11111111 | 11111111 | 11111 | 000 | 00000000 |
Decimal octets: |      255 |      255 |         248 |        0 |
                ------------------------------------------------
Dotted-decimal: 255.255.248.0

O exemplo pode ser representado tradicionalmente como 198.51.100.223, com uma máscara de rede 255.255.248.0, ou pode ser representado como o CIDR (roteamento entre domínios sem classe) mais moderno 198.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 bit ANDdos 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 bit ANDem 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.223e máscara de rede 255.255.248.0:

Decimal address:        198.51.100.223/21
Binary address octets:  11000110 00110011 01100100 11011111
Binary mask octets:     11111111 11111111 11111000 00000000 AND
                        -----------------------------------
Binary network octets:  11000110 00110011 01100000 00000000
Decimal network octets:      198       51       96        0
Dotted-decimal network: 198.51.96.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/21endereço está na mesma rede IPv4 com um host atribuído ao 198.51.102.57endereç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):

Decimal address:        198.51.102.57/21
Binary address octets:  11000110 00110011 01100110 00111001
Binary mask octets:     11111111 11111111 11111000 00000000 AND
                        -----------------------------------
Binary network octets:  11000110 00110011 01100000 00000000
Decimal network octets:      198       51       96        0
Dotted-decimal network: 198.51.96.0

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.100endereço do Google:

Decimal address:        74.125.69.100/21
Binary address octets:  01001010 01111101 01000101 01100100
Binary mask octets:     11111111 11111111 11111000 00000000 AND
                        -----------------------------------
Binary network octets:  01001010 01111101 01000000 00000000
Decimal network octets:       74      125       64        0
Dotted-decimal network: 74.125.64.0

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 1s e 0s da máscara inicial:

Dotted-decimal network mask: 255.255.248.0
Decimal network mask octets:      255      255      248        0
Binary network mask octets:  11111111 11111111 11111000 00000000 invert
                             -----------------------------------
Binary host mask octets:     00000000 00000000 00000111 11111111
Decimal host mask octets:           0        0        7      255
Dotted-decimal host mask:    0.0.7.255

É 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 ( /32ou máscara all-ones).

Isso pode ser feito em binário:

Binary all-ones mask octets: 11111111 11111111 11111111 11111111
Binary network mask octets:  11111111 11111111 11111000 00000000 -
                             -----------------------------------
Binary host mask octets:     00000000 00000000 00000111 11111111
Decimal host mask octets:           0        0        7      255
Dotted-decimal host mask:    0.0.7.255

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:

Decimal all-ones mask octets: 255 255 255 255
Decimal network mask octets:  255 255 248   0 -
                              ---------------
Decimal host mask octets:       0   0   7 255
Dotted-decimal host mask:     0.0.7.255

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.223e máscara de rede 255.255.248.0.

Você pode executar um bit a bit ORcom o endereço IPv4 ou o endereço de rede com a máscara do host:

Decimal address octets:        198       51      100      223
Binary address octets:    11000110 00110011 01100100 11011111
Binary host mask octets:  00000000 00000000 00000111 11111111 OR
                          -----------------------------------
Binary broadcast octets:  11000110 00110011 01100111 11111111
Decimal broadcast octets:      198       51      103      255
Dotted-decimal broadcast: 198.51.103.255

Você pode simplesmente adicionar o valor da máscara de host IPv4 ao valor do endereço de rede IPv4:

Binary network octets:    11000110 00110011 01100000 00000000
Binary host mask octets:  00000000 00000000 00000111 11111111 +
                          -----------------------------------
Binary broadcast octets:  11000110 00110011 01100111 11111111
Decimal broadcast octets:      198       51      103      255
Dotted-decimal broadcast: 198.51.103.255

Isso também é algo que você pode fazer em decimal:

Decimal network octets:   198  51  96   0
Decimal host mask octets:   0   0   7 255 +
                          ---------------
Decimal broadcast octets: 198  51 103 255
Dotted-decimal broadcast: 198.51.103.255

Total de endereços de host de rede IPv4

O número total de endereços de host IPv4 para uma rede é 2a potência do número de bits do host, que é 32menos o número de bits da rede. No nosso exemplo de /21rede (máscara de 255.255.248.0rede), existem 11bits de host ( 32 address bits – 21 network bits = 11 host bits). Isso significa que há um 2048total de endereços de host em uma /21rede IPv4 ( 2^11 = 2048).


Total de endereços de host de rede IPv4 utilizáveis

Exceto para /31redes (máscara de rede 255.255.255.254) e /32(máscara de rede 255.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 menos 2(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), existem 2046endereços de host utilizáveis ​​( 2^11 - 2 = 2046).


Primeiro endereço de host de rede IPv4 utilizável

Exceto nas /31redes (máscara de rede 255.255.255.254) e /32(máscara de rede 255.255.255.255), o primeiro endereço de host de rede IPv4 utilizável é o endereço de rede IPv4 plus 1(o endereço de rede IPv4 não pode ser usado para um endereço de host de rede). Para nosso exemplo de rede de 198.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 para 1:

Decimal network octets:      198       51       96        0
Binary network octets:  11000110 00110011 01100000 00000000
                        -----------------------------------
Binary address octets:  11000110 00110011 01100000 00000001
Decimal address octets:      198       51       96        1
Dotted-decimal address: 198.51.96.1

Último endereço de host de rede IPv4 utilizável

Exceto nas /31redes (máscara de rede 255.255.255.254) e /32(máscara de rede 255.255.255.255), o último endereço de host de rede IPv4 utilizável é o endereço de broadcast de rede IPv4 menos 1(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 de 198.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 para 0:

Decimal broadcast octets:      198       51      103      255
Binary broadcast octets:  11000110 00110011 01100111 11111111
                          -----------------------------------
Binary address octets:    11000110 00110011 01100111 11111110
Decimal address octets:        198       51      103      254
Dotted-decimal address:   198.51.103.254

Juntando todos os endereços de rede IPv4

Para o nosso exemplo de endereço de rede IPv4 198.51.100.223e máscara 255.255.248.0(ou 198.51.100.223/21), podemos calcular muitas informações de rede:

Host address:                       198.51.100.223
Network mask:                       255.255.248.0
Network mask length:                21
Host mask:                          0.0.7.255
Host mask length:                   11
*Network address:                   198.51.96.0
*First usable network host address: 198.51.100.1
*Last usable network host address:  198.51.103.254
*Network Broadcast address:         198.51.103.255
Total network host addresses:       2048
Usable network host addresses:      2046

* 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:

  • Endereço de rede (dica: um número par)
  • Primeiro endereço de host utilizável (dica: endereço de rede mais 1, um número ímpar)
  • Último endereço de host utilizável (dica: endereço de transmissão menos 1, um número par)
  • Endereço de transmissão (dica: Endereço de rede mais máscara do host, um número ímpar)

As dicas acima não se aplicam a /31redes (máscara de rede 255.255.255.254) ou /32(máscara de rede 255.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 ...

Ron Maupin
fonte
9

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 rede 255.255.255.254)

Originalmente, as /31redes (máscara de rede 255.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 menos 2( 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 /30redes (máscara de rede 255.255.255.252) para links ponto a ponto, mas isso desperdiça metade dos endereços de host de rede porque uma /30rede 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 /31redes 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 /31rede, 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 /31redes em links ponto a ponto, e você geralmente vê links ponto a ponto usando /30redes.


Redes IPv4 /32(máscara de rede 255.255.255.255)

Uma /32rede (máscara de rede 255.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/21rede 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 de 2, mas 14não é uma potência de 2, portanto, você deve obter a próxima potência superior de 2, que por acaso é 16( 16 = 2^4) O poder de 2, nesse caso 4, é 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:

Log2(14 subnets) = 3.807354922, rounded up = 4 borrowed bits

Para nosso exemplo de necessidade de 14 sub-redes de tamanho igual da 198.51.96.0/21rede original , começando com todos os 0s * para a primeira sub-rede, adicione 1à parte de sub-rede para obter a próxima sub-rede:

           ----------------------------------------------
Original:  | 21 network bits       | 11 host bits       |
           ----------------------------------------------
Network:   | 110001100011001101100 | 0000 |  0000000    | = 198.51.96.0/21
Subnet 1:  | 110001100011001101100 | 0000 |  0000000    | = 198.51.96.0/25
Subnet 2:  | 110001100011001101100 | 0001 |  0000000    | = 198.51.96.128/25
Subnet 3:  | 110001100011001101100 | 0010 |  0000000    | = 198.51.97.0/25
Subnet 4:  | 110001100011001101100 | 0011 |  0000000    | = 198.51.97.128/25
Subnet 5:  | 110001100011001101100 | 0100 |  0000000    | = 198.51.97.128/25
Subnet 6:  | 110001100011001101100 | 0101 |  0000000    | = 198.51.98.128/25
Subnet 7:  | 110001100011001101100 | 0110 |  0000000    | = 198.51.99.0/25
Subnet 8:  | 110001100011001101100 | 0111 |  0000000    | = 198.51.99.128/25
Subnet 9:  | 110001100011001101100 | 1000 |  0000000    | = 198.51.100.0/25
Subnet 10: | 110001100011001101100 | 1001 |  0000000    | = 198.51.100.128/25
Subnet 11: | 110001100011001101100 | 1010 |  0000000    | = 198.51.101.0/25
Subnet 12: | 110001100011001101100 | 1011 |  0000000    | = 198.51.101.128/25
Subnet 13: | 110001100011001101100 | 1100 |  0000000    | = 198.51.102.0/25
Subnet 14: | 110001100011001101100 | 1101 |  0000000    | = 198.51.102.128/25
           ----------------------------------------------
Subnetted: | 25 network bits              | 7 host bits |
           ----------------------------------------------

           ----------------------------------------------
Unused:    | 110001100011001101100 | 111  | 00000000    | = 198.51.103.0/24
           ----------------------------------------------

* 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/0rede do endereço de rede), como no exemplo acima, onde a sub-rede não utilizada é uma /24sub - rede, mas isso requer um planejamento cuidadoso para que as sub-redes resultantes sejam iniciadas. o bit correto.

Por exemplo, digamos que precisamos de /26uma /27sub-rede e de nossa 198.51.96.0/21rede. Há duas maneiras de fazer isso: comece com a /26sub - rede ou comece com a /27sub - rede.

Começando com a /26sub-rede:

Original: | 110001100011001101100 | 00000000000    | /21
Subnet 1: | 110001100011001101100 | 00000 | 000000 | /26

Adicione 1à parte da sub-rede para obter a posição inicial da próxima sub-rede:

Subnet 2: | 110001100011001101100 | 00001 | 000000 | /26

Em seguida, estenda a segunda sub-rede para /27:

Subnet 2: | 110001100011001101100 | 000010 | 00000 | /27

Observe que, na verdade, estamos sub-criando a segunda /26sub-rede em uma /27sub - rede, e isso funciona bem porque 27é maior que 26.

Começando com a /27sub-rede:

Original: | 110001100011001101100 | 00000000000    | /21
Subnet 1: | 110001100011001101100 | 000000 | 00000 | /27

Adicione 1à parte da sub-rede para obter a posição inicial da próxima sub-rede:

Subnet 2: | 110001100011001101100 | 000001 | 00000 | /27

Observe que não há bits suficientes na parte do host (cinco bits do host) para suportar uma /26rede, que requer seis bits do host ( 32 address bits – 26 network bits = 6 host bits). Se usarmos isso como a posição inicial da /26sub - rede, na verdade sobreporemos as /26redes anterior e seguinte . Precisamos deixar um espaço do tamanho de uma /27rede para a posição inicial da /26rede:

Original: | 110001100011001101100 | 00000000000     | /21
Subnet 1: | 110001100011001101100 | 000000 |  00000 | /27
Unused:   | 110001100011001101100 | 000001 |  00000 | /27
Subnet 2: | 110001100011001101100 | 00001  | 000000 | /26

Uma /26sub-rede deve sempre iniciar em um /26limite: todo segundo /27limite de sub-rede, todo quarto /28limite, todo oitavo /29limite, etc. Esta regra é para qualquer tamanho de sub-rede: uma sub-rede deve iniciar um limite de uma sub-rede mais longa igual à 2potência do tamanho maior da sub-rede menos o tamanho da sub-rede. Por exemplo, uma /23sub - rede deve iniciar em cada quarta /25rede ( 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/27endereços de host da rede estão 198.51.96.0completos 198.51.96.31. Se você souber disso e tentar usar a 198.51.96.32/26rede, terá problemas porque essa rede inicia no limite de bits errado e se sobrepõe à /27rede (verifique usando os bits ANDe 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 /26redes 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 256ou 255hosts, uma /24rede fornecerá 256endereços de host totais, mas apenas 254endereç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:

Given the 198.51.96.0/21 network, subnet it for the following departments:
    Department 1:  500 hosts
    Department 2:  100 hosts
    Department 3:  200 hosts
    Department 4: 1000 hosts

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:

Department 4: 1000 hosts
Department 1:  500 hosts
Department 3:  200 hosts
Department 2:  100 hosts

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:

Department 4: 1024 total host addresses = 2^10 = 10 host bits
Department 1:  512 total host addresses = 2^9  =  9 host bits
Department 3:  256 total host addresses = 2^8  =  8 host bits
Department 2:  128 total host addresses = 2^7  =  7 host bits

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 bitsarredondado para o próximo valor inteiro:

Department 4: Log2(1000 hosts) = 9.96578428466209, rounded up = 10 host bits
Department 1: Log2( 500 hosts) = 8.96578428466209, rounded up =  9 host bits
Department 3: Log2( 200 hosts) = 7.64385618977472, rounded up =  8 host bits
Department 2: Log2( 100 hosts) = 6.64385618977473, rounded up =  7 host bits

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 1a uma sub-rede para obter o endereço inicial da próxima sub-rede:

Original:     | 110001100011001101100 |    00000000000 | = 198.51.96.0/21
Department 4: | 110001100011001101100 | 0 | 0000000000 | = 198.51.96.0/22
Department 1: | 110001100011001101100 | 10 | 000000000 | = 198.51.100.0/23
Department 3: | 110001100011001101100 | 110 | 00000000 | = 198.51.102.0/24
Department 2: | 110001100011001101100 | 1110 | 0000000 | = 198.51.103.0/25
Unused:       | 110001100011001101100 | 1111 | 0000000 | = 198.51.103.128/25

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ª /26sub- 198.51.96.0/21rede da rede. Como você precisa da 23ª sub-rede, é possível converter 22(lembre-se de que 0é a primeira sub-rede, portanto a 23ª sub-rede seria 22*) para binária: Decimal 22= Binária 10110. Use o número binário convertido na parte da sub-rede do endereço:

Original:  | 110001100011001101100 |    00000000000 | = 198.51.96.0/21
Subnet 23: | 110001100011001101100 | 10110 | 000000 | = 198.51.101.128/26

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):

Network address:                   198.51.101.128
Network mask length:               26
Network mask:                      255.255.255.192
Host mask length:                  6
Host mask:                         0.0.0.63
First usable network host address: 198.51.101.1
Last usable network host address:  198.51.101.62
Broadcast address:                 198.51.101.63
Total network host addresses:      64
Usable network host addresses:     62

* 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 ( 23decimal, 10111binária) em nosso exemplo de sub-redes de tamanho igual, em vez da 23ª real ( 22decimal, 10110sub-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/21rede. Como você precisa do host 923, você pode converter 923em binário: Decimal 923= Binário 1110011011. Adicione o número binário convertido ao endereço de rede:

Binary network: | 110001100011001101100 | 00000000000 |
Binary 923:     | 000000000000000000000 | 01110011011 | +
                  -----------------------------------
Host address:   | 110001100011001101100 | 01110011011 | = 198.51.99.155

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.223e 198.51.101.76.

Primeiro, converta os endereços decimais pontilhados em binários:

198.51.100.223 = 11000110001100110110010011011111
198.51.101.76  = 11000110001100110110010101001100

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:

198.51.100.223 = | 11000110001100110110010 | 011011111 |
198.51.101.76  = | 11000110001100110110010 | 101001100 |

Conte o número de bits correspondentes, 23neste caso, para obter o comprimento da máscara. Em seguida, você pode pegar um endereço e executar um bit a bit ANDcom 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.

198.51.100.223  = 11000110001100110110010011011111
/23 mask length = 11111111111111111111111000000000 AND
                  --------------------------------
Binary network:   11000110001100110110010000000000 = 198.51.100.0/23

198.51.101.76   = 11000110001100110110010111011111
/23 mask length = 11111111111111111111111000000000 AND
                  --------------------------------
Binary network:   11000110001100110110010000000000 = 198.51.100.0/23

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.0com uma máscara de 255.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( 0bits 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:

  1. 10.0.0.0/8
  2. 172.16.0.0/12
  3. 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:

Class   Address Starts With      Address Range                 Default Size*
  A     First one bit    = 0       0.0.0.0 to 127.255.255.255        /8
  B     First two bits   = 10    128.0.0.0 to 191.255.255.255       /16
  C     First three bits = 110   192.0.0.0 to 223.255.255.255       /24
  D     First four bits  = 1110  224.0.0.0 to 239.255.255.255       N/A
  E     First four bits  = 1111  240.0.0.0 to 255.255.255.255       N/A
  • As redes de classe A possuem uma máscara de rede padrão de 255.0.0.0( /8) e uma máscara de host padrão de 0.255.255.255, fornecendo o 16,777,216total de endereços de host por rede.
  • As redes de classe B têm uma máscara de rede padrão de 255.255.0.0( /16) e uma máscara de host padrão de 0.0.255.255, fornecendo o 65,536total de endereços de host por rede.
  • As redes de classe C possuem uma máscara de rede padrão de 255.255.255.0( /24) e uma máscara de host padrão de 0.0.0.255, fornecendo o 256total de endereços de host por rede.
  • Os endereços de classe D são usados ​​para multicast, em que cada endereço é usado individualmente para representar um grupo de hosts que assinam um endereço multicast. Isso significa que os endereços de classe D normalmente não têm o conceito de máscara de rede.
  • Os endereços de classe E são reservados e não podem ser usados ​​para nada. Há uma exceção a isso, e esse é o endereço de transmissão limitada de 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 enviado 255.255.255.255será 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:

Binary: 11000110 00110011 01100100 11011111

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 seja 255.255.255.0( /24), criando o endereço de rede 198.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 /24rede uma rede de Classe C, mas isso nem é remotamente verdadeiro. Dada, por exemplo, uma 10.11.12.0/24rede, 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 seja 0, 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.

Ron Maupin
fonte
6

(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:

guilhotina de papel deslizante

( 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.

  • Quantos endereços estão disponíveis no total para o seu bloco de partida?
  • Suponha que estavam dividindo um / 22 com 1024 endereços
  • Pegue um pedaço de papel com tantos centímetros quadrados (e proporção quadrada ou 2x1)
  • Portanto, recebo uma peça de 32 cm por 32 cm que tem 1024 cm2
  • Repetidamente
    1. Escolha uma peça (se houver mais de uma)
    2. Corte ao meio (dentro de restrições: apenas cortes retangulares, ao meio, nada abaixo de 1 cm)
  • Muitas vezes, existem diferentes cortes que você pode fazer e você tem que fazer uma escolha
  • Para obter n redes, você precisa fazer cortes n-1
  • Às vezes, você acaba com peças extras (dependendo de como você deseja distribuir o "lixo")

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.

meu próprio desenho

É 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.

insira a descrição da imagem aqui

Dicas técnicas gerais

O procedimento geral é:

  • arredondar cada tamanho necessário para o menor bloco que seja grande o suficiente
  • siga todas as regras globais (geralmente "maximize o endereçamento disponível", às vezes é "permita o dobro do crescimento" ou "facilite o roteamento")
  • aloque as sub - redes para os endereços INICIANDO COM O MAIOR e diminuindo para o menor ( essa é a parte que eles geralmente esquecem de lhe dizer )
  • siga quaisquer regras específicas (as perguntas de teste geralmente têm regras extras, às vezes tão abreviadas quanto "Nenhum endereço de rede pode conter 7")
  • verifique se há endereços implícitos (transmissões, roteadores)
  • se alguma rede for pequena (/ 30, / 31 ou / 32), preste atenção extra, pois existem alguns casos extremos para redes com hosts 4, 2 e 1 e os detalhes dependem do problema exato que você está resolvendo
jonathanjo
fonte
5

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?

      32768     16384  8192  4096  2048  1024   512   256  ----> Binary
        128       192   224   240   248   252   254   255  ----> Sunet Mask
        /17       /18   /19   /20   /21   /22   /23   /24  ----> CIDR  
      32766     16382  8190  3094  2046  1022   510   254  ----> Host


      128     64    32     16     8     4    2     1   ----> Binary
      128    192   224    240   248   252   254   255  ----> Sunet Mask
      /25    /26   /27    /28   /29   /30   /31   /32  ----> CIDR  
      126     62    30     14     6     2    *     -   ----> Host 

     128        64        32       16        8         4         2        1
  10000000   01000000  00100000 00010000  00001000  00000100  00000010   00000001

   Example 
   Network=192.168.1.0 /24;  
   Network Address with Subnet mask =  192.168.1.0 subnet 255.255.255.0 
   Ip address range 192.168.1.0----192.168.1.255
   Fist available ip address  192.168.1.1; 
   Last available ip address  192.168.1.254; 
   Broadcast address = 192.168.1.255;
   254 Host

   Network=192.168.1.0 /25;
   Network Address with Subnet mask =  192.168.1.0 subnet 255.255.255.128
   Ip address range 192.168.1.0----192.168.1.128
   Fist available ip address  192.168.1.1; 
   Last available ip address  192.168.1.126;
   Broadcast address = 192.168.1.127;  
   126 Hosts

   When the CIDR increased ex. /24. /25.  the network will divided by the 
   binary number.
   /25  increase network   0-128| 128- 256 |                   you will have 2 Networks 
   /26  increase network   0-64 | 64 - 128 | 128-192 | 192-256 you will have 4 Networks 
    .
    .
    .
   /32......
bkpxfdifo
fonte