Subneteando

2008 Mayo 28
by Overclock_Orange

¿Que es subnetear?
Es dividir una red primaria, en una serie de subrredes, de tal forma que cada una de ellas va a funcionar luego como una sola, pero en realidad todas las subredes estan contenidas en una unica dirección de red.

¿Para que subnetear una red?
Cada dia, son mas escasas las direcciones de IP, por lo tanto la idea de Subnetear es introducir muchas subredes dentro de una misma red, con un solo IP (IPv4), ademas asi reducir la carga del broadcasting.
Veamos un poco de que se trata.

Existen 5 tipos de clases de direcciones IPv4, compuestas por cuatro octetos de ocho bits cada uno (4×8=32), entonces diremos que el IPv4 tiene una longitud máxima de 32 bits.

Una dirección de IP esta compuesta por dos partes, a la izquierda las correspondientes a la red, y a la derecha las correspondientes al host. veamos un ejemplo:

10.2.35.15

En este ejemplo 10 corresponde a la red y 2.35.15 al host.
Pero para entender mejor esto veamos que clases de redes existen.

Encontramos cinco tipos de redes, de los cuales vamos a prestar atención a tres de ellos que son los mas utilizados (el resto se utilizan con fines experimentales o se reservan para uso futuro).

  • Clase A: 1.0.0.0 a 126.255.255.255 – Sus mascaras empiezan por 0
  • Clase B: 128.0.0.0 a 191.255.255.255 – Sus mascaras empiezan por 10
  • Clase C: 192.0.0.0 a 223.255.255.255 – Sus mascaras empiezan por 110
  • Clase D: 224.0.0.0 a 239.255.255.255 – Sus mascaras empiezan por 1110
  • Clase E: 240.0.0.0 a 255.255.255.255 – Sus mascaras empiezan por 11110

El rango 127 esta reservado para el loopback

Ahora con esto creo que se deberia entender mejor, ahora si vamos a seguir con un poquito de algebra booleana, que es bien sencillo.
Una de las operaciones logicas de la algebra booleana es el AND (&&) o suma lógica, esto lo mas facil seria aprenderlo de memoria, para ello decimos que:

1 AND 1 = 1
1 AND 0 = 0
0 AND 1 = 0
0 AND 0 = 0

¿Se entendio?, 1 AND 1 da 1, el resto da cero, creo que es la manera mas facil en que se puede explicar.

Volviendo a las mascaras de red, existe un estandar por defecto para cada tipo de redes y es el siguiente:

  • Clase A: 255.0.0.0 que es lo mismo que decir 255.0.0.0/8
  • Clase B: 255.255.0.0 que es lo mismo que decir 255.255.0.0/16
  • Clase C: 255.255.255.0 que es lo mismo que decir 255.255.255.0/32

¿Por que es lo mismo que decir? por que 8, 16 y 32 son los bits pertenecientes a la red, osea en el primer ejemplo el primer octeto tiene 8 bits a 1 (11111111), el segundo 16 bits a uno, ¿es sencillo verdad?.

Ahora bien, vamos a ir a un caso practico que es lo que nos interesa.
Supongamos que tenemos el los siguientes datos de red:

  • IP: 192.168.1.1
  • Red: 192.168.1.0
  • Mascara de red: 255.255.255.0
  • Cantidad de hosts por subred: 60
  • Subredes necesarias: 2

Ahora bien, como primer ejercicio ¿Que parte de la dirección de IP pertenece a la red y cual al host?, ¿qué tipo de dirección IPv4 es?.

Si lograron resolverlo, estan en condiciones de seguir con esto, el cuarto octeto pertenece al host (en el IP), y es una red clase C.
Bien, con estos valores dados vamos a subnetear la red, dividiendola en dos subredes, ahora lo que vamos a hacer es pasar el IP y la mascara a binario, pero no se asusten que es parte de lo mas sencillo.

IP: 11000000.10101000.00000001.00000001
SN: 11111111.11111111.11111111.00000000
——————————————————————-
11000000.10101000.00000001.00000000

Si entendimos bien el AND (suma logica), podremos aplicar esto y conseguir el mismo resultado, seria fundamental que lo practiquen una o dos veces.

El resultado que esta operación nos da es 11000000.10101000.00000001.00000000 que equivale a 192.168.1.0 (justamente la dirección de nuestra red ;) tres octetos a la red un octeto a nuestra subred, o host si tuvieramos una sola PC).

Bien, el subneteo consiste en “robarle” 2 bits a la parte de la red, y agregarselos a la parte del host o de la subred, Para cada clase de IP’s solo ciertos bits pueden robarse para utilzarse en la subred.

Clase=A  Bits de Host=24 Bits Utilizables=22
Clase=B  Bits de Host=16 Bits Utilizables=14
Clase=C  Bits de Host=8  Bits Utilizables=6

Veamos a continuación:

X= 11111111.11111111.11111111.00000000

Dada la dirección de red X, y con referencia a la tabla anterior vemos que podemos robarle solo dos bits para realizar el subnuteo (Bits del Host – Bits Utilizables) por hecho que hacemos 8 – 6 = 2, asi que simplemente le robaremos 2 bits a la parte de la red.

Para determinar el numero de subredes y host por subred, para cada
una de las mascaras de subred, tenemos las siguientes formulas:

Número de Host por Subred = (2 elevado al numero de bits usados de hots) – 2
Número de Subredes = (2 elevado al numero de bits usados para subnetear) – 2

Se restan dos por que se reservan para direcciones de red y de broadcasting (multidifusión).
Por lo tanto si queremos comprobarlo en la práctica hacemos:

(2^6)-2 => (64)-2 => 64-2 = 62 Host disponibles

Explico la primera formula, el primer 2 siempre esta, el 6 sale de el cuarto octeto de la dirección de red al cual le resto los dos bits que utilizo para el subneteo entoncés: 8 – 2 = 6.
Ahora seguimos con la siguiente:

(2^2)-2 => (4)-2 => 4-2 = 2 Subredes

Explico esta otra el primero dos siempre esta, luego utilizamos los 6 bits anteriores en la formula anterior (de los hosts), nos quedan los 2 bits que robamos, entonces utilizamos esos, les restamos el 2 correspondiente al broadcasting y a la dirección de red (reservado) y obtenemos la cantidad de subredes que podemos realizar.

Bien ¿se entendio?.
Por lo que ahora para obtener la subred le sumamos a la mascara de 24 bits (que obtuvimos antes con la operación AND) (11111111.11111111.11111111) (¿por que 24 bits? cuenten los numeros que hay! :P), los dos bits que robamos quedando: 11111111.11111111.11111111.11000000, dando ahora una dirección de 32 bits. Los dos bits resaltados son los que sumamos, ¿de donde los robamos? del octeto anterior de la mascara de 32 bits. Por ejemplo (en negrita lo que robamos):
11111111.11111111.11111111 (3 octetos de 8 bits = 24 bits)
11111111.11111111.11111111.11000000 (4 octetos de 8 bits = 32 bits)

¿Ahora se entendio mejor?, del octeto anterior sacamos 2 bits, y los ponemos en el octeto siguiente, si pasamos esto a binario deberia darnos: 255.255.255.192

Ahora solo nos queda saber las direcciones de nuestras subredes por lo cual restamos a 255 la mascara de la subred (192).

255 – 192 = 63

Por lo cual la dirección de red de la primera subred es 64.

Número de red: 192.168.1.64
Hosts Validos: 192.168.1.65 – 126 (64 es la dirección de la red)
Broadcasting: 192.168.1.127 (65 + 62 host = 127)
Mascara de Subred: 192.168.1.192

Y para saber los datos de la segunda sumamos 64 a la primera subred.
(Número de red: 192.168.1.64) => 64 + 64 = 128, por lo cual nuestra segunda subred quedaria asi:

Número de red: 192.168.1.128
Hosts Validos: 192.168.1.129 – 190 (128 es la dirección de red).
Broadcasting: 192.168.1.191 (129 + 62 hosts = 191)
Mascara de subred: 192.168.1.192

Espero que se halla entendio, saludos a todos!
Overclock_Orange

2 comentarios dejar un →
  1. 2008 Mayo 29

    la verdad muy bien explicado, deberias ser docente! te felicito por esto y muchas cosas mas que venis haciendo y sin ganar un peso, todo por amor al arte, abrazo overclock_orange!

  2. 2009 Agosto 22
    victor tapia Enlace permanente

    hola amigo me gustaria sebar mas alla un poco quisiera aprender el subneteo sobre subneteo para no desperdiciar una sola ip valida
    de ante mano saludos
    y muy buena tu informacion solo que corrige unos detallitos como

    Clase C: 255.255.255.0 que es lo mismo que decir 255.255.255.0/32

    seria
    Clase C: 255.255.255.0 que es lo mismo que decir 255.255.255.0/24 no??

Escribe un comentario

Nota: Puede usar XHTML básico en sus comentarios. Su dirección de correo electrónico nunca será publicada.

Subscripción al comentario vía RSS