¿Cómo poner dos subredes una al lado de la otra?

10

He estado usando esta calculadora http://www.subnet-calculator.com/cidr.php , y estoy tratando de descubrir cómo poner dos subredes diferentes una al lado de la otra.

Por ejemplo, quiero tener una subred / 27 que comience en 1.0.0.1, junto a / 25, así que pensé que la subred / 25 comenzaría en 1.0.0.32, ya que está fuera de la subred / 27. Sin embargo, cuando intento hacer esto, la calculadora dice que el rango para / 25 sería 1.0.0.1-1.0.0.127, no comenzando en .32.

¿Es esto una limitación de la calculadora o cómo se colocan las subredes una al lado de la otra?

EDITAR : Supongo que mi pregunta es ¿qué subredes pueden ir una al lado de la otra? ¿Qué determina esto?

instipod
fuente
No puede tener un / 25 a partir de 1.0.0.32, si eso es lo que está preguntando. Recuerde que las subredes no son rangos arbitrarios, son simplemente una forma de distinguir el número de host del número de red.
BatchyX
Supongo que mi pregunta es ¿qué subredes pueden ir una al lado de la otra? ¿Hay algún documento o referencia sobre dónde puede ir?
instipod
2
Le sugiero que lea sobre las máscaras de bits, entonces comprenderá qué es una máscara de subred.
BatchyX

Respuestas:

7

Debe distinguir la dirección de inicio de la subred y el tamaño de la subred . El número detrás de la barra diagonal es el tamaño (en bits de 32 x). Entonces puede tener dos / 27 subredes 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

pero una subred / 27 y / 25 de la misma manera significaría iniciar / 25 en una dirección 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

ya que la subred / 25 "necesita" más espacio. No puede iniciar la subred / 25 en una dirección arbitraria, solo en los límites correctos:

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

pero ten en cuenta que

10.0.0.33/25   == 10.0.0.1   -> 10.0.0.126

porque 10.0.0.33/25es solo otra forma de decir 10.0.0.1/25o 10.0.0.0/25.

También puede decidir "llenar" el espacio entre usted / 27 y su subred / 25 con más subredes / 27:

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

o con otro / 27 y 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
fuente
1
Las subredes incluyen la dirección de red y la dirección de difusión ... no tiene IP no utilizadas entre subredes contiguas. Y tratar de explicar por qué algunas subredes se pueden combinar en una máscara más corta sin matemática binaria es completamente engañoso.
cpt_fink
4

Los prefijos / subredes usan lógica binaria. Las subredes están determinadas por los bits que son fijos y los bits que son utilizables para las direcciones. El número de bits fijos es la longitud del prefijo o la máscara de subred. Algunos ejemplos 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 1en los bits de la máscara de subred indica que el bit correspondiente está fijo, y a 0indica que puede usar ese bit. La longitud del prefijo es el número de bits establecido 1, y la máscara de subred es ese número binario anotado como una dirección IPv4.

Entonces, en este ejemplo, puede 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

Otro ejemplo con una longitud de prefijo 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

En este ejemplo, puede usar menos direcciones:

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 puede ver, la subred está determinada por el valor y el número de bits fijos. Cuando usas tu ejemplo 1.0.0.32/25obtienes:

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

El valor 32 está en el medio de los bits flexibles. Al mirar los /25prefijos obtienes:

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.

Al mirar los /27prefijos obtienes:

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.

En una subred IPv4, la primera dirección (todos los bits flexibles 0) se reserva y se denomina dirección de red. La última dirección (todos los bits flexibles 1) es la dirección de difusión de subred. No puede usarlos para interfaces de red en dispositivos.

Si desea poner varias subredes una al lado de la otra, deberá asegurarse de que no se superpongan. Cuando no tiene mucho espacio de direcciones como con IPv4, hacer que todas las subredes encajen puede ser un proceso muy difícil, y mantenerlo manejable cuando cambia el plan de direccionamiento es aún más difícil. Es por eso que es tan agradable trabajar con IPv6: un montón de espacio de direcciones y una subred suele ser una /64(es posible usar diferentes longitudes de prefijo, pero eso rompe algunas cosas como la configuración automática).

Si está interesado en los planes de direccionamiento IPv6, eche un vistazo al documento 'Preparación de un plan de direccionamiento IPv6' que escribí hace un par de años para SURFnet (la Red Nacional de Investigación y Educación de los Países Bajos). La forma en que funciona la división en subredes en IPv6 es exactamente la misma que para IPv4, excepto que los números son mucho más grandes y están escritos en hexadecimal (¡que corresponde mucho mejor a los bits que la notación decimal utilizada para IPv4!). Sin embargo, las longitudes de prefijo, que tienen bits fijos y flexibles, funcionan exactamente de la misma manera. Un breve ejemplo:

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

PD: No utilicé la notación canónica / recomendada aquí a propósito. Por lo general, comprime los ceros en la dirección y escribe 2001:0db8:0000:0000:0000:0000:0000:0000como 2001:db8::, 2001:0db8:0000:0000:0000:0000:0000:0001se escribe como 2001:db8::1, etc.

Sander Steffann
fuente
1
  • Para a / 24, el último octeto (generalmente reservado) para la red es .0 y solo .0. 1 subnet

  • Para un / 25, entonces puede ser .0 o .128. 2 subnets

  • Para a / 26, puede ser .0, .64, .128 o .192. 4 subnets

  • Para un / 27, puede ser .0, .32, .64, .96, .128, .160, .192 o .224. 8 subnets

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

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

  • El prefijo / 30 generalmente se encuentra en las interfaces punto a punto. 64 subnets

  • El prefijo / 31 no se encuentra comúnmente en la naturaleza, ya que no tiene hosts direccionables, ya que solo abarca 2 números de red, la "red" y la "transmisión" sin espacio para una IP de host. 128 subnets(todos los números pares entre 0 y 254)

  • El prefijo / 32 se usa para especificar una ruta para un solo host. Es la más específica de las rutas y, si está presente, debe tener prioridad de enrutamiento sobre todas las demás entradas de la tabla de rutas que no sean también / 32s. A / 32 no tiene una 'red' ni una dirección de 'transmisión'. 256 subnets (0 y 255 pueden no funcionar en algunas implementaciones)

Nevin Williams
fuente
0

Una forma simple de entenderlo:

En IPv4:

Imagine una línea de 256 * 256 * 256 * 256 (O 2 ^ 32) posibles direcciones IP.

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

Esto tiene una máscara de subred 0.0.0.0 (o 0000 0000 0000 0000 0000 0000 0000 0000 en binario)
Todos los bits que no están enmascarados se pueden usar para dar una dirección IP en esa red.

Las posibles direcciones en esa red única son:

0000 0000 0000 0000 0000 0000 0000 0000 (<- NETMASK, sin enmascarar nada aquí ...)

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 esta red comienza en IP 0.0.0.0 y continúa hasta IP 255.255.255.255

Cada bit en una máscara de subred dividirá la línea en 2 partes iguales.

El primer bit en una máscara de subred dividirá esto en 2 partes iguales, cada una con 128 * 256 * 256 * 256 (o 2 ^ 31) direcciones IP:

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

Esto tiene una máscara de subred 128.0.0.0 (o 1000 0000 0000 0000 0000 0000 0000 0000 en binario)
Todos los bits que no están enmascarados se pueden usar para dar una dirección IP en esa red.

Por lo tanto, puede tener 2 subredes, y para cada subred, tiene 31 bits de direcciones IP disponibles.

Para la primera subred (la que, detrás de la máscara de red, es '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)

y para la segunda subred (la que, detrás de la máscara de red, es '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)

El siguiente bit adicional en la máscara de subred divide ambos lados en 2 partes iguales de 2 ^ 30 direcciones IP cada una

Y así...

Entonces, si intenta asignar, por ejemplo, una subred de / 3, significa que pasó 3 iteraciones dividiendo, terminando con 2 ^ 3 = 8 subredes. Cada subred solo puede ser una de las 8 subdivisiones de toda la línea de máquinas. No pueden superponerse. Cada uno comenzando después del anterior.

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

Esto tiene máscara de subred 0.0.0.0

Entonces, para la primera subred (la que, detrás de la máscara de red, es '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)

y para la segunda subred (la que, detrás de la máscara de red, es '001')

1110 0000 0000 0000 0000 0000 0000 0000 (MÁSCARA DE RED)

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)

...

y para la séptima subred (la que, detrás de la máscara de red, es '110')

1110 0000 0000 0000 0000 0000 0000 0000 (MÁSCARA DE RED)

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)

y para la 8ª subred (la que, detrás de la máscara de red, es '111')

1110 0000 0000 0000 0000 0000 0000 0000 (MÁSCARA DE RED)

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)

SI continúa agregando bits a la máscara de red, continúa dividiendo: una subred de / 32 selecciona una sola máquina.

Pero recuerda que en realidad no puedes tener solo máquinas:

para que las cosas funcionen, algunos de los rangos de subred están reservados:

para cada subred, el "0 bit en el valor 1" y "todos los bits en el valor 1" generalmente están reservados para la transmisión, por lo que generalmente solo tiene nb_of_possible_adresses_in_the_subnet-2 direcciones IP disponibles en una subred para las interfaces reales de la máquina. Y uno debería ser mejor la interfaz de una puerta de enlace que tiene otra interfaz en otras redes, lo que le permite usarla como una puerta de enlace para llegar a esas otras redes (y todo, a través de las puertas de enlace de esa otra red)

Olivier Dulac
fuente
difícil de representar perfectamente ... Y espero que la confusión entre la "línea de direcciones 2 ^ 32 IP" y la representación de 32 bits utilizada en cualquier otro lugar no sea más confusa que ayudar ...
Olivier Dulac