# Subred

En redes de computadoras, una subred (en inglés: subnet) es un rango de direcciones lógicas. Cuando una red se vuelve muy grande conviene dividirla en subredes, por los siguientes motivos:
* Reducir el tamaño de los dominios de broadcast.
* Hacer la red más manejable, administrativamente. Entre otros, se puede controlar el tráfico entre diferentes subredes mediante ACL.
Existen diversas técnicas para conectar diferentes subredes entre sí. Se pueden conectar:
* a nivel físico (capa 1 OSI) mediante repetidores o concentradores (hubs),
* a nivel de enlace (capa 2 OSI) mediante puentes o conmutadores (switches),
* a nivel de red (capa 3 OSI) mediante routers,
* a nivel de transporte (capa 4 OSI),
* a nivel de sesión (capa 5 OSI),
* a nivel de presentación (capa 6 OSI),
* a nivel de aplicación (capa 7 OSI) mediante pasarelas.
También se pueden emplear técnicas de encapsulación (tunneling).
En el caso más simple, se puede dividir una red en subredes de tamaño fijo (todas las subredes tienen el mismo tamaño). Sin embargo, por la escasez de direcciones IP, hoy en día frecuentemente se usan subredes de tamaño variable.

## Máscara de subred

La máscara de subred señala qué bytes (o qué porción) de su dirección es el identificador de la red. La máscara consiste en una secuencia de unos seguidos de una secuencia de ceros con el mismo tamaño que una dirección IP (32 bits, o lo que es lo mismo 4 bytes), por ejemplo, una máscara de 20 bits se escribiría 255.255.240.0, es decir como una dirección IP con 20 bits en 1 seguidos por 12 bits en 0, pero para facilitar su lectura se escribe separando bloques de 8 bits (1 byte) con puntos y escribiéndolos en decimal. La máscara determina todos los parámetros de una subred: dirección de red, dirección de difusión (broadcast) y direcciones asignables a nodos de red (hosts).
Los routers constituyen los límites entre las subredes. La comunicación desde y hasta otras subredes es hecha mediante un puerto específico de un router específico, por lo menos momentáneamente.
Una subred típica es una red física hecha con un router, por ejemplo: una Red Ethernet o una “red de área local virtual” (Virtual Local Area Network, VLAN). Sin embargo, las subredes permiten a la red ser dividida lógicamente a pesar del diseño físico de la misma, por cuanto es posible dividir una red física en varias subredes configurando diferentes computadores host que utilicen diferentes routers. La dirección de todos los nodos en una subred comienzan con la misma secuencia binaria, que es su ID de red e ID de subred. En IPv4, las subredes deben ser identificadas por la base de la dirección y una máscara de subred.
Las subredes simplifican el enrutamiento, ya que cada subred típicamente es representada como una fila en las tablas de ruteo en cada router conectado. Las subredes fueron utilizadas antes de la introducción de las direcciones IPv4, para permitir a una red grande tener un número importante de redes más pequeñas dentro, controladas por varios routers. Las subredes permiten el enrutamiento entre dominios sin clases (CIDR). Para que las computadoras puedan comunicarse con una red, es necesario contar con números IP propios, pero si tenemos dos o más redes, es fácil dividir una dirección IP entre todos los hosts de la red. De esta forma se pueden partir redes grandes en redes más pequeñas.
Es necesario para el funcionamiento de una subred calcular los bits de una IP y quitarle los bits de host, y agregárselos a los bits de network mediante el uso de una operación lógica.

## Ejemplo de subdivisión

A una compañía se le ha asignado la red 200.3.25.0. Es una red de clase C, lo cual significa que puede disponer de 254 direcciones diferentes (la primera y la última dirección están reservadas, no son utilizables). Si no se divide la red en subredes, la máscara de red será 255.255.255.0 (o /24).
La compañía decide dividir esta red en 8 subredes, con lo cual, la máscara de subred tiene que recorrer tres bits más, se "toman prestados" tres bits de la porción que corresponde al host. Eso resulta en una máscara de subred /27, en binario 11111111.11111111.11111111.11100000, o en decimal punteado, 255.255.255.224. Cada subred tendrá $(2^{5})=32$ direcciones posibles; pero solo tendrá $(2^{5})=32-2=30$ direcciones asignables a los hosts puesto que la primera dirección (con todos los bits de host a 0) identifica a subred y la última dirección de cada subred (todos los bits de host a 1) se reserva para el broadcast.
Para calcular el total de subredes se debe realizar $(2^{3})=8$, ya que hemos tomado 3 bits prestados a la dirección de host.
* La subred uno tiene la dirección de subred 200.3.25.0; las direcciones utilizables son 200.3.25.1 - 200.3.25.30 y su dirección de broadcast es la 200.3.25.31, aunque esta subred, al ser la primera, no se puede usar.
* La subred dos tiene la dirección de subred 200.3.25.32; las direcciones utilizables son 200.3.25.33 - 200.3.25.62 y su dirección de broadcast es la 200.3.25.63, sería la primera subred válida o asignable a máquinas.
Y así sucesivamente; de cada subred a la siguiente, el último byte aumenta en 32. Dependiendo del tipo de máscara de subred utilizado.

## Direcciones reservadas

* Dentro de cada subred (como también en la red original, sin subdivisión) no se puede asignar la primera y la última dirección a ningún host. La primera dirección de la subred se utiliza como dirección de la subred, mientras que la última está reservada para dominios de difusión (broadcast) locales (dentro de la subred).
* Norma RFC 950 (en desuso): no se puede utilizar la primera y la última subred. Actualmente no se utiliza por la escasez de direcciones IP.