# Máscara de red

La máscara de red es una combinación de bits que sirve en el ámbito de las redes de ordenadores, cuya función es indicar a los dispositivos qué parte de la dirección IP es el número de la red, incluyendo la subred, y qué parte es la correspondiente al host.

## Metodología

Mediante la máscara de red, un sistema (ordenador, puerta de enlace, enrutador, etc.) podrá saber si debe enviar un paquete dentro o fuera de la subred en la que está conectado. Por ejemplo, si el enrutador tiene la dirección IP 192.168.1.1 y máscara de red 255.255.255.0, entiende que todo lo que se envía a una dirección IP con formato 192.168.1.X, se envía hacia la red local, mientras que direcciones con distinto formato de dirección IP serán enviadas hacia afuera (Internet, otra red local mayor, entre otros). También, es muy común encontrar variaciones de la misma.

## Ejemplos

Suponiendo que tenemos un rango de direcciones IP desde 10.0.0.0 hasta 10.255.255.255, y si todas ellas forman parte de la misma red, su máscara de red sería 255.0.0.0, que también se puede expresar como 10.0.0.0/8
Una máscara de red representada en binario son 4 octetos de bits:
11111111.11111111.11111111.11111111
La representación utilizada se define colocando en 1 todos los bits de red (máscara natural) y en el caso de subredes, se coloca en 1 los bits de red y 0 los bits de host usados por las subredes. Así, en esta forma de representación (10.0.0.0/8) el 8 sería la cantidad de bits puestos a 1 que contiene la máscara en binario, comenzando desde la izquierda. Para el ejemplo dado (/8), sería:
11111111.00000000.00000000.00000000
y en su representación en decimal sería 255.0.0.0.
Como se ve en el ejemplo anterior, la fila binaria de la máscara de subred determina que todas las direcciones IP de esa subred incluido el Gateway deben ser iguales hasta la línea y distintas después de la línea. La dirección IP completa se calcula realizando un AND lógico solo con aquellos bits que indique la máscara de subred (MS). El número total de direcciones IP que tiene esa subred es inversamente proporcional al número de bits encendidos en la máscara de red. Esa subred suele llamarse LAN,
La puerta de enlace puede ser cualquier dirección IP dentro de ese rango (subred) pero algunos adoptan la norma de que cumplan el que (IP & MS)+1 = GW (gateway, puerta de enlace). Algunos controladores de protocolo TCP/IP rechazan todos los paquetes que no cumplen esta norma. La puerta de enlace la utilizan los protocolos de TCP/IP para enviar aquellos paquetes cuyo destino se encuentra fuera del rango de la subred definida por la máscara de red (si el paquete va destinado a algún ordenador cuya dirección IP se encuentre fuera del rango establecido por la máscara de red, utilizarán la puerta de enlace, que generalmente es un enrutador que se encarga de enviarlos a otras redes. De esta manera se optimiza el trabajo que realiza el PC.
A veces llamamos o confundimos router (enrutador) con puerta de enlace: la puerta de enlace es en definitiva la dirección IP del enrutador. Dirección que ha de estar dentro de la subred. La dirección IP del enrutador se programa en el mismo enrutador. La mayoría de los enrutador vienen con una dirección de fábrica, modificable a través de un puerto serie o por red mediante http, telnet u otros protocolos. Esta dirección modificable es la puerta de enlace de la red.
El enrutador generalmente tiene dos direcciones IP, cada una en un rango distinto. Por ejemplo, una en el rango de una subred pequeña de 16 ordenadores y otra en otra subred más grande cuyo gateway o puerta de enlace da acceso a Internet. Solo se ven entre sí los equipos de cada subred o aquellos que tengan enrutadores y puertas de enlace bien definidas para enviar paquetes y recibir respuestas. De este modo se forman y definen las rutas de comunicación entre ordenadores de distintas subredes. Los enrutadores además realizan varias funciones, entre ellas la denominada NAT, que consiste en llevar la cuenta del origen de los paquetes para que cuando lleguen las respuestas sean enviadas al ordenador que procede.
Cuando un enrutador se comunica con un ISP o proveedor de servicios de Internet generalmente se les asigna una dirección pública o externa, la cual no es modificable sino asignada por la empresa suministradora (ISP) de ADSL/RDSI. En resumen, la máscara lo que determina es qué paquetes que circulan por la LAN se aceptan por algún ordenador de la LAN o qué paquetes han de salir fuera de la LAN (por el enrutador).
De esta manera, si se escribe en el navegador una dirección IP: 182.23.112.9, el equipo enviará la petición web, ftp, etc, directamente a la dirección especificada por la puerta de enlace (es decir, el router). Ningún equipo de la subred (LAN) atenderá estos paquetes por no estar dentro de su subred (LAN).
En el ejemplo anterior, la máscara da 6 bits (los que quedan a 0, es decir, 64 posibilidades, no de 1 a 64 sino 64 posibilidades) para programar las direcciones IP y la puerta de enlace de la LAN, es decir, el último byte para la dirección IP y la puerta de enlace, en nuestro ejemplo debería tomarse entre 11000000 y 11111111, es decir, entre 192 y 255. Lo normal es darle a la puerta de enlace (router) la dirección más baja, indicando que es el primer equipo que se instala en la LAN.
8bit x 4 octetos = 32 bit. (11111111.11111111.11111111.11111111 = 255.255.255.255)
8bit x 3 octetos = 24 bit. (11111111.11111111.11111111.00000000 = 255.255.255.0)
8bit x 2 octetos = 16 bit. (11111111.11111111.00000000.00000000 = 255.255.0.0)
8bit x 1 octetos = 8 bit. (11111111.00000000.00000000.00000000 = 255.0.0.0)
En el ejemplo 10.0.0.0/8, según lo explicado anteriormente, indicaría que la máscara de red es 255.0.0.0
Las máscaras de redes se utilizan como validación de direcciones realizando una operación AND lógica entre la dirección IP y la máscara para validar al equipo, lo cual permite realizar una verificación de la dirección de la Red y con un XOR y la máscara negada se obtiene la dirección del broadcasting.

## Tabla de máscaras de red

| Binario | Decimal | CIDR | N.º hosts | Clase |
| 11111111.11111111.11111111.11111111 | 255.255.255.255 | /32 |
| 11111111.11111111.11111111.11111110 | 255.255.255.254 | /31 |
| 11111111.11111111.11111111.11111100 | 255.255.255.252 | /30 | 2 |
| 11111111.11111111.11111111.11111000 | 255.255.255.248 | /29 | 6 |
| 11111111.11111111.11111111.11110000 | 255.255.255.240 | /28 | 14 |
| 11111111.11111111.11111111.11100000 | 255.255.255.224 | /27 | 30 |
| 11111111.11111111.11111111.11000000 | 255.255.255.192 | /26 | 62 |
| 11111111.11111111.11111111.10000000 | 255.255.255.128 | /25 | 126 |
| 11111111.11111111.11111111.00000000 | 255.255.255.0 | /24 | 254 | C |
| 11111111.11111111.11111110.00000000 | 255.255.254.0 | /23 | 510 |
| 11111111.11111111.11111100.00000000 | 255.255.252.0 | /22 | 1022 |
| 11111111.11111111.11111000.00000000 | 255.255.248.0 | /21 | 2046 |
| 11111111.11111111.11110000.00000000 | 255.255.240.0 | /20 | 4094 |
| 11111111.11111111.11100000.00000000 | 255.255.224.0 | /19 | 8190 |
| 11111111.11111111.11000000.00000000 | 255.255.192.0 | /18 | 16 382 |
| 11111111.11111111.10000000.00000000 | 255.255.128.0 | /17 | 32 766 |
| 11111111.11111111.00000000.00000000 | 255.255.0.0 | /16 | 65 534 | B |
| 11111111.11111110.00000000.00000000 | 255.254.0.0 | /15 | 131 070 |
| 11111111.11111100.00000000.00000000 | 255.252.0.0 | /14 | 262 142 |
| 11111111.11111000.00000000.00000000 | 255.248.0.0 | /13 | 524 286 |
| 11111111.11110000.00000000.00000000 | 255.240.0.0 | /12 | 1 048 574 |
| 11111111.11100000.00000000.00000000 | 255.224.0.0 | /11 | 2 097 150 |
| 11111111.11000000.00000000.00000000 | 255.192.0.0 | /10 | 4 194 302 |
| 11111111.10000000.00000000.00000000 | 255.128.0.0 | /9 | 8 388 606 |
| 11111111.00000000.00000000.00000000 | 255.0.0.0 | /8 | 16 777 214 | A |
| 11111110.00000000.00000000.00000000 | 254.0.0.0 | /7 | 33 554 430 |
| 11111100.00000000.00000000.00000000 | 252.0.0.0 | /6 | 67 108 862 |
| 11111000.00000000.00000000.00000000 | 248.0.0.0 | /5 | 134 217 726 |
| 11110000.00000000.00000000.00000000 | 240.0.0.0 | /4 | 268 435 454 |
| 11100000.00000000.00000000.00000000 | 224.0.0.0 | /3 | 536 870 910 |
| 11000000.00000000.00000000.00000000 | 192.0.0.0 | /2 | 1 073 741 822 |
| 10000000.00000000.00000000.00000000 | 128.0.0.0 | /1 | 2 147 483 646 |
| 00000000.00000000.00000000.00000000 | 0. | /0 | 4 294 967 294 |
El número de hosts se determina como el número de IPs posibles menos dos: en cada subred hay una IP con todos los bits a ceros en la parte del host reservada para nombrar la subred y otra con todos los bits a uno reservada para la dirección de Broadcast.
Hay ciertos programas (p.e. Ethereal) que programan la tarjeta en un modo llamado 'promiscuo' en el que se le dice a la tarjeta de red que no filtre los paquetes según la norma explicada, aceptando todos los paquetes para poder hacer un análisis del tráfico que circula por la subred y poder ser escuchado por el PC.
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 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.

## Clases de máscaras en subredes

| Clase | Bits | IP Subred | IP Broadcast | Máscara en decimal | CIDR |
| A | | 255.0.0.0 | /8 |
| B | 1000 | 128.0.0.0 | 191.255.255.255 | 255.255.0.0 | /16 |
| C | 1100 | 192.0.0.0 | 223.255.255.255 | 255.255.255.0 | /24 |
| D | 1110 | 224.0.0.0 | 239.255.255.255 | 255.255.255.255 | /32 |
| E | 1111 | 240.0.0.0 | 255.255.255.255 | 255.255.255.255 | /32 |