PLANIFICACIÓN PLANIFICACIÓN Y ADMINISTRACIÓN ADMINISTRACIÓN DE REDES Apéndice F Subredes del protocolo IP
Francisco José Molina Robles
APÉNDICE F
SUBREDES DEL PROTOCOLO IP
En el afio 1985, se definió un procedimiento para que el protocolo de encaminamiento RIP soportara las subredes, esto es, la división de una dirección de clase A, B o C en direcciones de subred más pequefias. Esta modificación se introdujo debido a la aparición de dos problemas graves conforme Internet crecla: Las tablas de encaminamiento de los nodos estaban empezando a crecer. Cada vez que a un administrador de red se le quedaba pequefia la IP, debla solicitar otra nueva al NIC antes de conectar la LAN con las nuevas estaciones. La solución a estos problemas consiste en crear otro nivel en la jerarqula de direcciones IP, de forma que se pueden utilizar tres niveles para nombrar un equipo: número de red, número de subred y número de estación. Esta división se realiza partiendo el campo de número de estación en dos partes, de forma que desde el exterior los encaminadores creen que se trata de una única red sin subredes. La figura F.1 muestra gráficamente la división en tres niveles jerárquicos de una dirección IP. Cuando se utilizan subredes, al conjunto formado por el prefijo de red y al número de subred se le llama prefijo de red extendido.
Figura F.1. División en subredes de una dirección IP. Si inicialmente se utilizan dos números para especificar la dirección de una estación, con las subredes hacen falta tres, sin modificar el tamafio de las direcciones. La división en subredes permite que las LAN puedan disponer, por ejemplo, de una sola dirección IP de clase B en lugar de varias de clase C, o una sola dirección de clase A en lugar de varias de clase B, manteniendo las subredes internas. Fuera de la red, la estructura no es visible, por lo que una nueva subred no requiere comunicación con el NIC ni la modificación de tablas externas.
F.1
ESTRUCTURA EN SUBREDES Desde el exterior, todas las subredes de la organización se ven como una única red con una sola dirección IP asignada, de forma que los encaminadores del exterior reducen sus tablas. Cuando tienen que enviar un paquete a una estación que está en una subred, se limitan a enviarlo al encaminador que comunica la LAN, que es el que realmente debe conocer la estructura interna en subredes.
EJEMPLO F.1 Supongamos que disponemos de varias subredes conectadas todas ellas a un encaminador para el acceso a Internet. En estas condiciones, para numerar las estaciones, se pueden utilizar varias direcciones IP de clase C o una sola dirección IP de clase B que utiliza subredes. En el primer caso (figura F.2), un nodo encaminador externo conectado a A (cuya dirección de puerto es 23.210.86.19) debe conocer todas las direcciones IP de clase C de esa parte de la red para dirigir alll los paquetes.
Figura F.2. Utilización de varias direcciones IP de clase C. Un encaminador externo debe incluir en sus tablas todas las direcciones de clase C que se han asignado a esta red.
En caso de que el administrador de la red necesite instalar una nueva subred, deberá solicitar una nueva dirección IP de clase C. Algunas de las entradas de la tabla de encaminamiento de ese nodo externo son: Red destino 210.0.64.0 218.46.169.0 194.118.240.0 223.255.15.0
Siguiente 23.210.86.19 23.210.86.19 23.210.86.19 23.210.86.19
Saltos 3 2 2 1
En el segundo caso (figura F.3), si el administrador de esa red desea instalar una nueva subred, solamente tendrá que utilizar un nuevo número de subred. Además, los nodos encaminadores externos solamente se referirán a toda esa red con un único número, es decir, una única entrada en su tabla de encaminamiento. Por lo tanto, todas las entradas anteriores del encaminador externo se reducen a una sola:
Figura F.3. Utilización de una dirección IP de clase B y subredes. Es estas condiciones, se podrla utilizar 8 bits como número de subred y 8 bits como número de estación. Red destino Siguiente Saltos 183.67.0.0 23.210.86.19 1 En el primer caso, el encaminador externo conectado a A aplica la máscara 255.255.255.0 a todas las direcciones que se refieren a las subredes de la figura F.2. Al obtener la dirección de red, aplicará la tabla de encaminamiento expuesta anteriormente. En el segundo caso, el encaminador externo conectado a C aplica siempre la máscara 255.255.0.0 a cualquier dirección destino que aparece en la figura F.3. Cuando ese paquete llega al encaminador C, éste aplica la máscara 255.255.255.0 para saber a qué encaminador interno (A o B) debe enviarlo, o si la estación destino está en la propia subred (183.67.4.0). Como se ha visto en el ejemplo 1, la utilización de subredes hace que las máscaras deban tomarse a partir del prefijo de red extendido, y no a partir del prefijo de red correspondiente a la clase. Por esta razón, el uso de subredes hace que la máscara aplicable no se corresponda con la clase de dirección IP utilizada. A las máscaras tomadas a partir del prefijo de red extendido se les llama máscaras de subred. En la figura F.3 del ejemplo F.1 se utiliza una dirección de clase B, donde la máscara de red es 255.255.0.0 y la máscara de subred es 255.255.255.0. Solamente los encaminadores de la red interna utilizan la máscara de subred, mientras que el resto de encaminadores externos a la red no conocen esa división y, por lo tanto, aplican la máscara de red correspondiente a la clase. Cuando se utiliza el algoritmo de encaminamiento RIP-1, no es posible utilizar los números de subred todo a ceros y todo a unos. En el primer caso, la dirección de la subred 0 se confunde con la dirección de red (192.168.0.0/24 y 192.168.0.0/27 se confunden debido a que tienen la misma dirección), ya que el protocolo no incluye información sobre el prefijo de red extendido. En el segundo caso, la dirección de la subred todo a unos se puede confundir con la dirección de difusión de la red. Sin embargo, si se utilizan algoritmos de encaminamiento más avanzados, como RIP-2 u OSPF, entonces se pueden definir sin problemas las subredes con valor todo a ceros y todo a unos. Aunque en el ejemplo anterior se han tomado de ocho en ocho dlgitos para especificar un número de subred en una dirección IP, en la práctica puede resultar más conveniente tomar un número de bits que no sea múltiplo de 8, teniendo en cuenta las necesidades de la red y los criterios seguidos por el administrador. El ejemplo F.2 muestra algunos casos de división en subredes. En muchas situaciones puede ocurrir que la división en subredes complique la conversión de las direcciones entre decimal y binario.
EJEMPLO F.2 Algunos ejemplos de direcciones IP en subredes, especificando la longitud del prefijo de red, la longitud del prefijo de red extendido y la máscara de subred es: Dirección IP: 126.243.86.15/16 Máscara de subred: 255.255.0.0 8 bits para n.º de red. 8 bits para n.º de subred. 16 bits para n.º de estación. Dirección IP: 10.248.63.11/10 Máscara de subred: 255.192.0.0 8 bits para n.º de red. 2 bits para n.º de subred. 22 bits para n.º de estación.
Dirección IP: 189.34.12.230/24 Máscara de subred: 255.255.255.0 16 bits para n.º de red. 8 bits para n.º de subred. 8 bits para n.º de estación. Dirección IP: 192.168.12.144/27 Máscara de subred: 255.255.255.224 24 bits para n.º de red. 3 bits para n.º de subred. 5 bits para n.º de estación.
Dependiendo también de la versión del protocolo y del sistema operativo instalado, es posible que una estación pueda comunicarse con los ordenadores que tienen una dirección de subred distinta. Esta situación se muestra en el ejemplo F.3. Sin embargo, hay que tener en cuenta que el protocolo no admite que se comuniquen directamente dos estaciones que tienen direcciones de red distintas. EJEMPLO F.3 Supongamos que tenemos la estructura de direcciones en la red local de la figura F.4. Como se puede observar, las direcciones están distribuidas en dos subredes: la 10.1.0.0/16 y la 10.2.0.0/16. La pregunta que surge es: ¿es posible que las estaciones de las subredes diferentes puedan comunicarse? A primera vista la respuesta más sensata es no.
Figura F.4. Ejemplo de red local formada por subredes distintas. Dependiendo de la versión del protocolo, las estaciones de subredes distintas podrán comunicarse o no. Aunque las estaciones finales no funcionan como encaminadores (a no ser que se configuren a tal efecto), sl tienen cierta capacidad para realizar esta función, si es que el sistema operativo y la versión de TCP/IP que tengan instalados lo permita.
Esa capacidad limitada de encaminamiento tiene que ver con el envlo de paquetes entre diferentes subredes (por definición del protocolo la comunicación entre redes nunca es posible a no ser que exista un encaminador intermedio). Por ejemplo, para que la estación 10.1.0.1/16 pueda comunicarse con cualquier estación de la subred 10.2.0.0/16, debe tener una tabla de encaminamiento como la siguiente: Red destino Siguiente Saltos 10.1.0.0/16 – 0 10.2.0.0/16 – 0 Como se puede observar, en la tabla se especifica que, tanto la subred 10.1.0.0 como la subred 10.2.0.0, resultan directamente accesibles sin necesidad de usar encaminadores intermedios. Como se ha mencionado anteriormente, esta situación resulta válida si las dos subredes se encuentran dentro de la misma red (es decir, tienen el mismo número de red). No serla admisible, por el contrario, una tabla con las siguientes entradas: Red destino Siguiente Saltos 10.1.0.0/16 – 0 24.0.0.0/16 – 0 Hay que recordar también que no es necesario especificar subredes para poder comunicar las estaciones directamente. En este ejemplo, bastará indicar que se va a utilizar una máscara /8 en vez de /16.
F.2 ASIGNACIÓN DE DIRECCIONES DE SUBRED
La selección del número de bits para subred se obtiene de contestar a las siguientes preguntas: ¿Cuántas subredes en total son necesarias ahora? ¿Cuántas subredes en total serán necesarias en el futuro? ¿Cuántas estaciones tiene ahora la subred más grande? ¿Cuántas estaciones tendrá en el futuro la subred más grande? Responder a las preguntas anteriores permite conocer el número de bits que se reservarán para nombrar subredes y estaciones, además de la clase de dirección IP que resultará más conveniente. No solamente hay que tener en cuenta las necesidades actuales de la organización, sino que también es necesario realizar una previsión para el futuro, con el fin de impedir que se agoten las direcciones disponibles. El ejemplo F.4 muestra cómo deben asignarse las direcciones IP para una red concreta. Hay que tener en cuenta que la solución expuesta no es la única válida, y dependerá de los criterios que se sigan en las asignaciones.
Nota F.1. Hay que recordar que no existe el número de subred 0 porque puede crear confusión en las direcciones, al igual que no se puede especificar el número de estación 0 porque se confundirla con la dirección de subred. Sin embargo, sl se puede utilizar la subred número 0 cuando se trabaja sobre los protocolos RIP-2 u OSPF, ya que éstos no la confunden con la dirección de red.
EJEMPLO F.4 Supongamos que disponemos de una red local conectada a Internet y queremos realizar la asignación de direcciones IP. En primer lugar, nos ponemos en contacto con el NIC y éste nos contesta con una dirección IP de clase B: 186.16.0.0. Supongamos que nuestra red está formada por nueve subredes, y el número máximo de estaciones que puede tener cada una de ellas es de 1.200. Por lo tanto, necesitaremos un mlnimo de 4 bits para especificar el número de subred (2 4 – 1 = 15, suponiendo que no podemos usar la subred todo a ceros, pero sl la subred todo a
unos) y un mlnimo de 11 bits para especificar el número de estación (2 11 – 2 = 2.046). Puesto que en la dirección IP de clase B existen 16 bits para especificar el número de subred y estación, podemos tomar un punto medio, de forma que quede margen para ampliaciones futuras. Por tanto, podemos tomar 5 bits para número de subred y 11 bits para número de estación (suponiendo que en un futuro aumentará el número de subredes y teniendo en cuenta que ya existe bastante margen para numerar las estaciones). Por lo tanto, las direcciones IP de las subredes pueden ser las siguientes (se especifica en subrayado el prefijo de red y el prefijo de red extendido, y en negrita los bits de subred): Base: 186.16.0.0/16 = 10111010.00010000.00000000.00000000 Subredes asignadas: Subred #1: 186.16.8.0/21 = 10111010.00010000.00001000.00000000 Subred #2: 186.16.16.0/21 = 10111010.00010000.00010000.00000000 Subred #3: 186.16.24.0/21 = 10111010.00010000.00011000.00000000 Subred #4: 186.16.32.0/21 = 10111010.00010000.00100000.00000000 Subred #5: 186.16.40.0/21 = 10111010.00010000.00101000.00000000 Subred #6: 186.16.48.0/21 = 10111010.00010000.00110000.00000000 Subred #7: 186.16.56.0/21 = 10111010.00010000.00111000.00000000 Subred #8: 186.16.64.0/21 = 10111010.00010000.01000000.00000000 Subred #9: 186.16.72.0/21 = 10111010.00010000.01001000.00000000 Subredes libres: Subred #10: 186.16.80.0/21 = 10111010.00010000.01010000.00000000 Subred #11: 186.16.88.0/21 = 10111010.00010000.01011000.00000000 Subred #12: 186.16.96.0/21 = 10111010.00010000.01100000.00000000 ... ... ... Subred #30: 186.16.240.0/21 = 10111010.00010000.11110000.00000000 Subred #31: 186.16.248.0/21 = 10111010.00010000.11111000.00000000 La máscara de subred utilizada es la siguiente: 255.255.248.0 = 11111111.11111111.11111000.00000000 Asl mismo, las direcciones IP de las estaciones de la subred #6 son las siguientes (se especifica en subrayado el prefijo de red extendido, y en negrita los bits de número de estación): Base: 186.16.48.0/21 = 10111010.00010000.00110000.00000000 Estaciones asignadas: Estación #1: 186.16.48.1/21 = 10111010.00010000.00110000.00000001 Estación #2: 186.16.48.2/21 = 10111010.00010000.00110000.00000010 Estación #3: 186.16.48.3/21 = 10111010.00010000.00110000.00000011 ... ... ... Estación #255: 186.16.48.255/21 = 10111010.00010000.00110000.11111111 Estación #256: 186.16.49.0/21 = 10111010.00010000.00110001.00000000 Estación #257: 186.16.49.1/21 = 10111010.00010000.00110001.00000001 ... ... ... Estación #1199: 186.16.52.175/21 = 10111010.00010000.00110100.10101111 Estación #1200: 186.16.52.176/21 = 10111010.00010000.00110100.10110000 Direcciones de estaciones libres: Estación #1201: 186.16.52.177/21 = 10111010.00010000.00110100.10110001 Estación #1202: 186.16.52.178/21 = 10111010.00010000.00110100.10110010 ... ... ... Estación #2045: 186.16.55.253/21 = 10111010.00010000.00110111.11111101 Estación #2046: 186.16.55.254/21 = 10111010.00010000.00110111.11111110 Finalmente, nos queda especificar la dirección de difusión para esta subred: 186.16.55.255/21 = 10111010.00010000.00110111.11111111