Una máscara de subred es aquella dirección que enmascarando nuestra dirección IP, nos indica si otra dirección IP pertenece a nuestra subred o no.
La siguiente tabla muestra las máscaras de subred correspondientes a cada clase:
Clase | Máscara de subred |
---|---|
A | 255.0.0.0 |
B | 255.255.0.0 |
C | 255.255.255.0 |
Si expresamos la máscara de subred de clase A en notación binaria, tenemos:
11111111.00000000.00000000.00000000
Los unos indican los bits de la dirección correspondientes a la red y los ceros, los correspondientes al host. Según la máscara anterior, el primer byte (8 bits) es la red y los tres siguientes (24 bits), el host. Por ejemplo, la dirección de clase A 35.120.73.5 pertenece a la red 35.0.0.0.
Supongamos una subred con máscara 255.255.0.0, en la que tenemos un ordenador con dirección 148.120.33.110. Si expresamos esta dirección y la de la máscara de subred en binario, tenemos:
148.120.33.110 10010100.01111000.00100001.01101110 (dirección de una máquina)
255.255.0.0 11111111.11111111.00000000.00000000 (dirección de su máscara de red)
148.120.0.0 10010100.01111000.00000000.00000000 (dirección de su subred)
<-------RED-----> <-----HOST------>
Al hacer el producto binario de las dos primeras direcciones (donde hay dos 1 en las mismas posiciones ponemos un 1 y en caso contrario, un 0) obtenemos la tercera.
Si hacemos lo mismo con otro ordenador, por ejemplo el 148.120.33.89, obtenemos la misma dirección de subred. Esto significa que ambas máquinas se encuentran en la misma subred (la subred 148.120.0.0).
148.120.33.89 10010100.01111000.00100001.01011001 (dirección de una máquina)
255.255.0.0 11111111.11111111.00000000.00000000 (dirección de su máscara de red)
148.120.0.0 10010100.01111000.00000000.00000000 (dirección de su subred)
En cambio, si tomamos la 148.115.89.3, observamos que no pertenece a la misma subred que las anteriores.
148.115.89.3 10010100.01110011.01011001.00000011 (dirección de una máquina)
255.255.0.0 11111111.11111111.00000000.00000000 (dirección de su máscara de red)
148.115.0.0 10010100.01110011.00000000.00000000 (dirección de su subred)
Cálculo de la dirección de difusión.– Ya hemos visto que el producto lógico binario (AND) de una IP y su máscara devuelve su dirección de red. Para calcular su dirección de difusión, hay que hacer la suma lógica en binario (OR) de la IP con el inverso (NOT) de su máscara.
En una red de redes TCP/IP no puede haber hosts aislados: todos pertenecen a alguna red y todos tienen una dirección IP y una máscara de subred (si no se especifica se toma la máscara que corresponda a su clase). Mediante esta máscara un ordenador sabe si otro ordenador se encuentra en su misma subred o en otra distinta. Si pertenece a su misma subred, el mensaje se entregará directamente. En cambio, si los hosts están configurados en redes distintas, el mensaje se enviará a la puerta de salida o router de la red del host origen. Este router pasará el mensaje al siguiente de la cadena y así sucesivamente hasta que se alcance la red del host destino y se complete la entrega del mensaje.
EJEMPLO
Los proveedores de Internet habitualmente disponen de una o más redes públicas para dar acceso a los usuarios que se conectan por módem. El proveedor va cediendo estas direcciones públicas a sus clientes a medida que se conectan y liberándolas según se van desconectando (direcciones dinámicas). Supongamos que cierto ISP (proveedor de servicios de Internet) dispone de la red 63.81.0.0 con máscara 255.255.0.0. Para uso interno utiliza las direcciones que comienzan por 63.81.0 y para ofrecer acceso a Internet a sus usuarios, las direcciones comprendidas entre la 63.81.1.0 hasta la 63.81.1.254 (las direcciones 63.81.0.0 y 63.81.255.255 están reservadas).
Si un usuario conectado a la red de este ISP tiene la dirección 63.81.1.1 y quiere transferir un archivo al usuario con IP 63.81.1.2, el primero advertirá que el destinatario se encuentra en su misma subred y el mensaje no saldrá de la red del proveedor (no atravesará el router).
Las máscaras 255.0.0.0 (clase A), 255.255.0.0 (clase B) y 255.255.255.0 (clase C) suelen ser suficientes para la mayoría de las redes privadas. Sin embargo, las redes más pequeñas que podemos formar con estas máscaras son de 254 hosts y para el caso de direcciones públicas, su contratación tiene un coste muy alto. Por esta razón suele ser habitual dividir las redes públicas de clase C en subredes más pequeñas. A continuación se muestran las posibles divisiones de una red de clase C. La división de una red en subredes se conoce como subnetting.
Máscara de subred | Binario | Nº de subredes | Nº de hosts por subred | Ejemplos de subredes (x=a.b.c por ejemplo, 192.168.1) |
---|---|---|---|---|
255.255.255.0 | 00000000 | 1 | 254 | x.0 |
255.255.255.128 | 10000000 | 2 | 126 | x.0, x.128 |
255.255.255.192 | 11000000 | 4 | 62 | x.0, x.64, x.128, x.192 |
255.255.255.223 | 11100000 | 8 | 30 | x.0, x.32, x.64, x.96, x.128, … |
255.255.255.240 | 11110000 | 16 | 14 | x.0, x.16, x.32, x.48, x.64, … |
255.255.255.248 | 11111000 | 32 | 6 | x.0, x.8, x.16, x.24, x.32, x.40, … |
255.255.255.252 | 11111100 | 64 | 2 | x.0, x.4, x.8, x.12, x.16, x.20, … |
255.255.255.254 | 11111110 | 128 | 0 | ninguna posible |
255.255.255.255 | 11111111 | 256 | 0 | ninguna posible |
Obsérvese que en el caso práctico que explicamos un poco más arriba se utilizó la máscara 255.255.255.248 para crear una red pública con 6 direcciones de hosts válidas (la primera y última dirección de todas las redes se excluyen). Las máscaras con bytes distintos a 0 o 255 también se pueden utilizar para particionar redes de clase A o de clase B. Por ejemplo, la máscara 255.255.192.0 dividiría una red de clase B en 4 subredes de 16382 hosts (2 elevado a 14, menos 2) cada una.