Como colocar duas sub-redes próximas uma da outra?

10

Estou usando esta calculadora http://www.subnet-calculator.com/cidr.php e estou tentando descobrir como colocar duas sub-redes diferentes uma da outra.

Por exemplo, eu quero ter uma sub-rede / 27 iniciando em 1.0.0.1, ao lado de / 25, então pensei que a sub-rede / 25 seria iniciada em 1.0.0.32, pois essa é uma fora da sub-rede / 27. No entanto, quando tento fazer isso, a calculadora diz que o intervalo para / 25 seria 1.0.0.1-1.0.0.127, não começando em 0,32.

Isso é uma limitação da calculadora ou como você coloca as sub-redes próximas umas das outras?

Edição : Eu acho que minha pergunta é o que sub-redes podem ir ao lado do outro? O que determina isso?

instipod
fonte
Você não pode ter um / 25 a partir de 1.0.0.32, se é isso que você está perguntando. Lembre-se de que as sub-redes não são intervalos arbitrários, são apenas uma maneira de distinguir o número do host do número da rede.
BatchyX
Acho que minha pergunta é quais sub-redes podem se aproximar? Existe um documento ou referência sobre o qual possa ir aonde?
Instipod
2
Eu sugiro que você leia sobre máscaras de bits e entenda o que é uma máscara de sub-rede.
BatchyX

Respostas:

7

Você precisa distinguir o endereço inicial da sub-rede e o tamanho da sub-rede . O número por trás da barra é o tamanho (em bits de 32 x). Então você pode ter duas / 27 sub-redes como esta

10.0.0.1/27  == 10.0.0.1  -> 10.0.0.30
10.0.0.33/27 == 10.0.0.33 -> 10.0.0.62

mas uma sub-rede / 27 e / / 25 da mesma maneira significaria iniciar o / 25 em um endereço posterior

10.0.0.1/27   == 10.0.0.1   -> 10.0.0.30
10.0.0.129/25 == 10.0.0.129 -> 10.0.0.254

já que a sub-rede / 25 "precisa" de mais espaço. Você não pode iniciar a sub-rede / 25 em um endereço arbitrário, apenas nos limites corretos:

10.0.0.1/25   == 10.0.0.1   -> 10.0.0.126
10.0.0.129/25 == 10.0.0.129 -> 10.0.0.254

mas note que

10.0.0.33/25   == 10.0.0.1   -> 10.0.0.126

porque 10.0.0.33/25é apenas outra maneira de dizer 10.0.0.1/25ou 10.0.0.0/25.

Você também pode decidir "preencher" o espaço entre você / 27 e sua sub-rede / 25 com mais / 27 sub-redes:

10.0.0.1/27   == 10.0.0.1   -> 10.0.0.30
10.0.0.33/27  == 10.0.0.33  -> 10.0.0.62
10.0.0.65/27  == 10.0.0.65  -> 10.0.0.94
10.0.0.97/27  == 10.0.0.97  -> 10.0.0.126
10.0.0.129/25 == 10.0.0.129 -> 10.0.0.254

ou com outro / 27 e a / 26:

10.0.0.1/27   == 10.0.0.1   -> 10.0.0.30
10.0.0.33/27  == 10.0.0.33  -> 10.0.0.62
10.0.0.65/26  == 10.0.0.65  -> 10.0.0.126
10.0.0.129/25 == 10.0.0.129 -> 10.0.0.254
Stefan Seidel
fonte
1
As sub-redes incluem o endereço de rede e o endereço de broadcast ... você não possui IPs não utilizados entre sub-redes contíguas. E tentar explicar por que algumas sub-redes podem ser combinadas em uma máscara mais curta sem a matemática binária é completamente enganador.
Cpt_fink 19/04/2013
4

Prefixos / sub-redes usam lógica binária. As sub-redes são determinadas pelos bits que são fixos e pelos que são utilizáveis ​​para endereços. O número de bits fixos é o comprimento do prefixo ou a máscara de sub-rede. Alguns exemplos de IPv4:

Prefix:           10.0.0.0/8
Prefix length:    8
Subnet mask:      255.0.0.0
Prefix bits:      00001010 00000000 00000000 00000000 = 10.0.0.0
Subnet mask bits: 11111111 00000000 00000000 00000000 = 255.0.0.0

A 1nos bits da máscara de sub-rede indica que o bit correspondente está fixo e a 0indica que você pode usá-lo. O comprimento do prefixo é o número de bits definido 1e a máscara de sub-rede é o número binário anotado como um endereço IPv4.

Portanto, neste exemplo, você pode usar:

First address in the prefix: 00001010 00000000 00000000 00000000 = 10.0.0.0
Last address in the prefix:  00001010 11111111 11111111 11111111 = 10.255.255.255

Outro exemplo com um comprimento de prefixo diferente:

Prefix:           10.0.0.0/10
Prefix length:    10
Subnet mask:      255.192.0.0
Prefix bits:      00001010 00000000 00000000 00000000 = 10.0.0.0
Subnet mask bits: 11111111 11000000 00000000 00000000 = 255.192.0.0

Neste exemplo, você pode usar menos endereços:

First address in the prefix: 00001010 00000000 00000000 00000000 = 10.0.0.0
Last address in the prefix:  00001010 00111111 11111111 11111111 = 10.63.255.255

Como você pode ver, a sub-rede é determinada pelo valor e número dos bits fixos. Ao usar seu exemplo, 1.0.0.32/25você obtém:

Prefix:           1.0.0.32/25
Prefix length:    25
Subnet mask:      255.255.255.128
Prefix bits:      00000001 00000000 00000000 00100000 = 10.0.0.32
Subnet mask bits: 11111111 11111111 11111111 10000000 = 255.255.255.128

First address in the prefix: 00000001 00000000 00000000 00000000 = 1.0.0.0
Last address in the prefix:  00000001 00000000 00000000 01111111 = 1.0.0.127

O valor 32 está no meio dos bits flexíveis. Ao procurar /25prefixos, você obtém:

Prefix length:      25
Subnet mask bits:   11111111 11111111 11111111 10000000

1st /25 in 1.0.0.0: 00000001 00000000 00000000 00000000 = 1.0.0.0/25
2nd /25 in 1.0.0.0: 00000001 00000000 00000000 10000000 = 1.0.0.128/25
3rd /25 in 1.0.0.0: 00000001 00000000 00000001 00000000 = 1.0.1.0/25
4th /25 in 1.0.0.0: 00000001 00000000 00000001 10000000 = 1.0.1.128/25
5th /25 in 1.0.0.0: 00000001 00000000 00000010 00000000 = 1.0.2.0/25
Etc.

Ao procurar /27prefixos, você obtém:

Prefix length:      27
Subnet mask bits:   11111111 11111111 11111111 11100000

1st /25 in 1.0.0.0: 00000001 00000000 00000000 00000000 = 1.0.0.0/27
2nd /25 in 1.0.0.0: 00000001 00000000 00000000 00100000 = 1.0.0.32/27
3rd /25 in 1.0.0.0: 00000001 00000000 00000000 01000000 = 1.0.0.64/27
4th /25 in 1.0.0.0: 00000001 00000000 00000000 01100000 = 1.0.0.96/27
5th /25 in 1.0.0.0: 00000001 00000000 00000000 10000000 = 1.0.0.128/27
Etc.

Em uma sub-rede IPv4, o primeiro endereço (todos os bits flexíveis 0) é reservado e chamado de endereço de rede. O último endereço (todos os bits flexíveis 1) é o endereço de transmissão da sub-rede. Você não pode usá-los para interfaces de rede em dispositivos.

Se você quiser colocar várias sub-redes próximas umas das outras, precisará garantir que elas não se sobreponham. Quando você não tem muito espaço de endereço, como o IPv4, ajustar todas as sub-redes pode ser um processo muito difícil, e mantê-lo gerenciável ao alterar o plano de endereçamento é ainda mais difícil. É por isso que o IPv6 é tão agradável de se trabalhar: bastante espaço de endereço e uma sub-rede geralmente é uma /64(é possível usar diferentes comprimentos de prefixo, mas isso quebra algumas coisas como a configuração automática).

Se você está interessado nos planos de endereçamento IPv6, dê uma olhada no documento 'Preparando um plano de endereçamento IPv6' que escrevi alguns anos atrás para a SURFnet (Rede Nacional Holandesa de Pesquisa e Educação). A maneira como a sub-rede funciona no IPv6 é exatamente a mesma do IPv4, exceto que os números são muito maiores e escritos em hexadecimal (o que corresponde muito melhor aos bits do que a notação decimal usada para o IPv4!). Comprimentos de prefixo, com bits fixos e flexíveis, todos funcionam exatamente da mesma maneira. Um pequeno exemplo:

Prefix:           2001:0db8:0000:0000:0000:0000:0000:0000/64
Prefix length:    64
Subnet mask:      not really used anymore in IPv6, but it would have been:
                  ffff:ffff:ffff:ffff:0000:0000:0000:0000
Prefix bits:      0010 0000 0000 0001 0000 1101 1011 1000 = 2001:0db8
                  0000 0000 0000 0000 0000 0000 0000 0000 = 0000:0000
                  0000 0000 0000 0000 0000 0000 0000 0000 = 0000:0000
                  0000 0000 0000 0000 0000 0000 0000 0000 = 0000:0000
Subnet mask bits: 1111 1111 1111 1111 1111 1111 1111 1111 = ffff:ffff
                  1111 1111 1111 1111 1111 1111 1111 1111 = ffff:ffff
                  0000 0000 0000 0000 0000 0000 0000 0000 = 0000:0000
                  0000 0000 0000 0000 0000 0000 0000 0000 = 0000:0000

First address in the prefix:
                  0010 0000 0000 0001 0000 1101 1011 1000 = 2001:0db8
                  0000 0000 0000 0000 0000 0000 0000 0000 = 0000:0000
                  0000 0000 0000 0000 0000 0000 0000 0000 = 0000:0000
                  0000 0000 0000 0000 0000 0000 0000 0000 = 0000:0000
Last address in the prefix:
                  0010 0000 0000 0001 0000 1101 1011 1000 = 2001:0db8
                  0000 0000 0000 0000 0000 0000 0000 0000 = 0000:0000
                  1111 1111 1111 1111 1111 1111 1111 1111 = ffff:ffff
                  1111 1111 1111 1111 1111 1111 1111 1111 = ffff:ffff

So from 2001:0db8:0000:0000:0000:0000:0000:0000
     to 2001:0db8:0000:0000:ffff:ffff:ffff:ffff

PS: Não usei a notação recomendada / canônica aqui de propósito. Normalmente você compacta os zeros no endereço e escreve 2001:0db8:0000:0000:0000:0000:0000:0000como 2001:db8::, 2001:0db8:0000:0000:0000:0000:0000:0001é escrito como 2001:db8::1, etc.

Sander Steffann
fonte
1
  • Para a / 24, o último octeto (geralmente reservado) para a rede é 0,0 e somente 0,0. 1 subnet

  • Para um / 25, pode ser 0 ou 0,128. 2 subnets

  • Para um / 26, pode ser .0, .64, .128 ou .192. 4 subnets

  • Para um / 27, pode ser .0, .32, .64, .96, .128, .160, .192 ou .224. 8 subnets

  • para a / 28, .0, .16, .32, .48, .64, .80, .96, .112, .128, .144, .160, .176, .192, .208, .224, ou .240. 16 subnets

  • para a / 29, .0, .8, .16, .24, .32, .40, .48, .56, .64, .72, .80, .80, .88, .96, .104, .112, .120, .128, .136, .144, .152, .160, .168, .176, .184, .192, .200, .208, .216, .224, .232, .240 ou. 248 32 subnets

  • O prefixo / 30 é geralmente encontrado em interfaces ponto a ponto. 64 subnets

  • O prefixo / 31 não é comumente encontrado na natureza, pois não possui hosts endereçáveis, pois abrange apenas 2 números de rede, a "rede" e a "transmissão" sem espaço para um IP de host. 128 subnets(todos os números pares entre 0 e 254)

  • O prefixo / 32 é usado para especificar uma rota para um único host. É a mais específica das rotas e, se presente, deve ter precedência de roteamento sobre todas as outras entradas da tabela de rotas que também não sejam / 32s. O A / 32 não possui um endereço de 'rede' nem 'transmissão'. 256 subnets (0 e 255 podem não funcionar em algumas implementações)

Nevin Williams
fonte
0

Uma maneira simples de entender:

No IPv4:

Imagine uma linha de 256 * 256 * 256 * 256 (ou 2 ^ 32) possíveis endereços IP.

[] [] [] [] .................. [] [] []
       256*256*256*256 total IP adresses

Possui máscara de sub-rede 0.0.0.0 (ou 0000 0000 0000 0000 0000 0000 0000 0000 em binário)
Todos os bits que não são mascarados podem ser usados ​​para fornecer um endereço IP nessa rede.

Os possíveis endereços nessa rede única são:

0000 0000 0000 0000 0000 0000 0000 0000 (<- NETMASK, sem mascarar nada aqui ...)

0000 0000 0000 0000 0000 0000 0000 0000 (IP 0.0.0.0) a
1111 1111 1111 1111 1111 1111 1111 1111 (IP 255.255.255.255)

Toda a rede começa no IP 0.0.0.0 e vai até o IP 255.255.255.255

Cada bit em uma máscara de sub-rede dividirá a linha em 2 partes iguais.

O primeiro bit em uma máscara de sub-rede dividirá isso em 2 partes iguais, cada uma com endereços IP 128 * 256 * 256 * 256 (ou 2 ^ 31):

[] [] [] .......... [] [] []  |  [] [] ........... [] []
128*256*256*256 IP Adresses       128*256*256*256 IP Adr

Isso possui máscara de sub-rede 128.0.0.0 (ou 1000 0000 0000 0000 0000 0000 0000 0000 em binário)
Todos os bits que não são mascarados podem ser usados ​​para fornecer um endereço IP nessa rede.

Assim, você pode ter 2 sub-redes e, para cada sub-rede, você tem 31 bits de endereços IP disponíveis.

Para a primeira sub-rede (aquela em que, atrás da máscara de rede, é '0')

1000 0000 0000 0000 0000 0000 0000 0000 (<- NETMASK)

0000 0000 0000 0000 0000 0000 0000 0000 (IP 0.0.0.0) a
0111 1111 1111 1111 1111 1111 1111 1111 (IP 127.255.255.255)

e para a 2ª sub-rede (aquela em que, atrás da máscara de rede, é '1')

1000 0000 0000 0000 0000 0000 0000 0000 (<- NETMASK)

1000 0000 0000 0000 0000 0000 0000 0000 (IP 128.0.0.0) a
1111 1111 1111 1111 1111 1111 1111 1111 (IP 255.255.255.255)

O próximo bit adicional na máscara de sub-rede divide os dois lados em 2 partes iguais de 2 ^ 30 endereços IP cada

E assim por diante...

Portanto, se você tentar atribuir, digamos, uma sub-rede de / 3, significa que você gastou 3 iterações dividindo, terminando com 2 ^ 3 = 8 sub-redes. Cada sub-rede pode ser apenas uma das 8 subdivisões de toda a linha de máquinas. Eles não podem se sobrepor. Cada um começando após o anterior.

[] ... [] | [] ... [] | [] ... [] | [] ... [] | [] ... [] | [] ... [] | [] ... [] | [] ... []
32*256*256*256 or 2^30 IP Adresses each.

Possui máscara de sub-rede 0.0.0.0

Portanto, para a primeira sub-rede (aquela em que, atrás da máscara de rede, é '000')

1110 0000 0000 0000 0000 0000 0000 0000 (<- NETMASK)

0000 0000 0000 0000 0000 0000 0000 0000 (IP 0.0.0.0) a
0001 1111 1111 1111 1111 1111 1111 1111 (IP 31.255.255.255)

e para a 2ª sub-rede (aquela em que, atrás da máscara de rede, é '001')

1110 0000 0000 0000 0000 0000 0000 0000 (NETMASK)

0010 0000 0000 0000 0000 0000 0000 0000 (IP 32.0.0.0) a
0011 1111 1111 1111 1111 1111 1111 1111 (IP 63.255.255.255)

...

e para a sétima sub-rede (aquela em que, atrás da máscara de rede, é '110')

1110 0000 0000 0000 0000 0000 0000 0000 (NETMASK)

1100 0000 0000 0000 0000 0000 0000 0000 (IP 192.0.0.0) a
1101 1111 1111 1111 1111 1111 1111 1111 (IP 223.255.255.255)

e para a 8ª sub-rede (aquela em que, atrás da máscara de rede, é '111')

1110 0000 0000 0000 0000 0000 0000 0000 (NETMASK)

1110 0000 0000 0000 0000 0000 0000 0000 (IP 224.0.0.0) a
1111 1111 1111 1111 1111 1111 1111 1111 (IP 255.255.255.255)

Se você continuar adicionando bits à máscara de rede, continuará dividindo: Uma sub-rede de / 32 seleciona uma única máquina.

Mas lembre-se de que você não pode realmente ter apenas máquinas:

para fazer as coisas funcionarem, parte do alcance da sub-rede é reservada:

para cada sub-rede, os "0 bits no valor 1" e "todos os bits no valor 1" são geralmente reservados para transmissão, portanto, você normalmente possui apenas nb_of_possible_adresses_in_the_subnet-2 endereços IP disponíveis em uma sub-rede para interfaces de máquina reais. E é melhor que seja a interface de um gateway que tenha outra interface em outras redes, permitindo que você o use como um gateway para alcançar essas outras redes (e tudo, através dos gateways das outras redes)

Olivier Dulac
fonte
difícil de representar perfeitamente ... E eu espero que a confusão entre a "linha de 2 ^ 32 endereços IP" ea representação de 32 bits usado em qualquer outro lugar não mais estão confundindo do que ajudando ...
Olivier Dulac