Niveles de dificultad en subnetting

Spread the love

Aunque la creación de subredes es un tema que requiere mucha práctica y tiene mala fama, en realidad casi todos los estudiantes de CCNA terminan dominandolo muy bien. Para lograrlo es necesario practicar mucho e inventarse escenarios que nos permitan hacer los cálculos como si estuvieramos en una red real. A continuación les propongo lo que para mí son niveles de dificultad a la hora de hacer ejercicios de subredes (subneteo), es decir, cómo inventarse escenarios fáciles, no tan fáciles y difíciles de subnetting. Disfrutenlo.

Introducción
Como mencioné en el párrafo de resumen, diseñar esquemas de direccionamiento es una de las habilidades más útiles y conocidas de los planes de estudio de redes y comunicaciones, especialmente para aquellos cursos basados en el temario de CCNA. Antes de entrar en el tema, vamos a recordar un poco sobre las clases de direcciones IP (versión 4). Las direcciones IP consisten en un número de 32 bits que identifica de manera única un host en Internet. En potencia, diríamos que las direcciones IP darían cuenta de 2^32 hosts (4 millardos o 4000 millones), sin embargo, por razones prácticas el actual direccionamiento es casi la mitad de eso. Aunque el objetivo de una dirección IP es identificar un host de la red, también identifica su red o su «ubicación». Por lo anterior, una dirección IP tiene una porción de red y una de host, dado que las direcciones son de 32 bits, si la porción de red es grande, ésta podrá numerar hosts con menos bits, es decir tendrá menor capacidad. Por otro lado si la porción de red es pequeña, la cantidad de bits para numerar hosts es grande y por lo tanto ésta red tendrá muchos hosts. En el origen del direccionamiento del protocolo de Internet (IP por sus siglas en inglés), se consideró que las redes  sólo podrían ser gigantes, muy grandes y pequeñas, a éstas clases se les conoce como Clase A, Clase B y Clase C respectivamente. Las direcciones para redes Clase A tendrían una porción de red pequeña y una de host muy grande y las de Clase C sería lo contrario: porción de red grande y porción de host pequeña y la Clase B tendría unos valores  intermedios.  Adicionalmente a ésta clasificación de las redes, se diseñó una forma automática para detectar la clase de dirección y ésta consistía en detectar el patrón de bits en el primer octeto. Para finalizar la introducción, todo queda en que una dirección de Clase A tiene un cero en su primer bit, por lo tanto el primer octeto sólo puede tomar valores de 0 a 127, todos éstos números representados en un octeto binario tienen un cero al inicio. La Clase B tiene un uno en el primer bit y un cero en el segundo, por lo tanto los valores de 128 a 191 en el primer octeto corresponden a direcciones de Clase B y finalmente las redes de Clase C tienen dos unos y un cero como inicio de su primer octeto, es decir, los valores de 192 a 223 en el primer octeto de una dirección IP identifican una red de clase C. Si estamos hablando del primer octeto, ¿por qué las direcciones van sólo hasta 223?, ¿qué pasa con las del 224 a 255?. Éstas direcciones están en otras dos clases de propósito especial, la clase D que es para multicast y la clase E que es experimental. Entonces una dirección IP de una estación sólo puede tener números de 1 a 223 en su primer bit. Si la introducción anterior no fue suficiente para recordar el tema o necesita saber más sobre el tema de las clases de direcciones IP y cómo hacer subredes le recomiendo leer mi entrada anterior Tutorial de subredes.
Niveles de dificultad
Una dirección IP en realidad se debe interpretar como un número de 32 bits y hacer los cálculos con ésto en mente. Según los requerimientos, que pueden ser cantidad de subredes totales necesarias, o cantidad de hosts totales en cada subred (de igual tamaño) o cantidad de hosts por cada subred (diferentes tamaños), se calculan cuántos bits de red (los más significativos o MSB por sus siglas en inglés) y cuántos de host (los menos significativos o LSB) se necesitan para poder indicar los números específicos de red y rangos de direcciones IP asignables en cada una. Una vez que se tiene la cantidad de bits de la porción de red y de host, se procede a numerar las subredes y a escribirlas en formato decimal punteado (los cuatro números que conocemos) y allí tenemos que hacer conversiones de binario a decimal. Cuando se aprende a hacer subredes, o subnetear como lo llamamos coloquialmente, uno siempre comienza la explicación o los ejercicios haciendo subredes a partir de redes de clase C. Eso no es gratuito, hacer subredes a partir de una dirección de clase C es muy fácil:
  1. Todos los cálculos necesarios involucran números pequeños
  2. No hay que usar varios octetos para obtener las direcciones IP
Casi podríamos decir que hacer subredes en una red/subred de clase C es una práctica de conversión binario a decimal y viceversa con números no mayores a 255. Yo creo que el menor nivel de dificultad a la hora de hacer subredes es con ejercicios que se traten de subredes con base en una clase C. Por ejemplo, a partir de la dirección 192.168.1.0/24 cree 4 subredes. La porción de red original tiene 24 bits, para 4 subredes necesito 2 bits, por lo tanto la nueva porción de subred será de 26 bits. La primer subred sería 192.168.1.0/26 y se podrían asignar las direcciones IP desde 192.168.1.1/26 hasta la 192.168.1.62/26, la primera y la última están reservadas para red y broadcast. La segunda subred es la 192.168.1.64/26 y sus direcciones serían desde la .65 hasta la .126 todas con máscara /26. Como se observa del ejemplo anterior, crear subredes de una dirección de clase C es casi que un juego de conversión numérica. Cuando la red no es clase C sino clase B o A, hay que notar que administrativamente no son sólo porción de red y host, sino tres porciones: red, subred y host. Dado lo anterior, existen tres posibilidades:
  1. La porción de host y de subred ocupan un octeto.
  2. La porción de host ocupa más de un octeto pero la porción de subred ocupa un octeto o menos
  3. La porción de host y de subred ocupan más de un octeto
Lo anterior supone que se usa la técnica de máscara fija, es decir, todas las subredes son del mismo tamaño o capacidad de numeración. Otra técnica más eficiente y práctica hoy en día es la máscara variable o VLSM por sus siglas en inglés, con la cual la clasificación anterior perdería significado porque un sólo problema puede combinar todas las posibilidades. La clasificación mostrada está en orden creciente de dificultad, el primer numeral es muy parecido a la creación de subredes de clase C, con la diferencia de que los números que se calculan están en diferentes octetos. Por ejemplo: de la red 172.30.0.0/16 crear 255 subredes de 200 hosts. La primera subred sería 172.30.0.0/24, cuyas IP asignables serían desde la 0.1 hasta la 0.254 (omitiendo los primeros 2 octetos) todas con máscara /24. En otras palabras aunque la dirección es Clase B, el ejercicio se trivializa porque los números de subred se corresponden con el segundo octeto y el número del host se corresponde con el último octeto. En cierto sentido éste ejercicio puede ser incluso más fácil que subnetear una red de clase C. Sin embargo, cuando la porción de host ocupa más de un octeto, hay que practicar la conversión y tener en cuenta que los números binarios no se corresponden con números predecibles en decimal. Por ejemplo: de la dirección 172.20.0.0/16 obtener subredes de 1000 hosts. Para 1000 hosts se necesita una porción de host de 10 bits, por lo tanto la porción de red más la de subred sería de 22 bits. De lo anterior se deduce que la porción de subred es de 22-16=6 bits, es decir pueden haber hasta 2^6=64 subredes de hasta 1022 hosts cada una. La primera subred sería la 172.20.0.0/22, con direcciones asignables desde 0.1/22 hasta 3.254/22 (omitiendo octetos). Acá es donde aparecen números que a simple vista nos pueden engañar a menos que se tenga mucha práctica. Por ejemplo, dentro del rango de direcciones válidas asignables hay números como 172.20.1.255/22 y ésta dirección se puede asignar a cualquier PC dentro de esa subred, en otras palabras, aunque ésta dirección tenga todo un octeto en unos, no es una dirección de broadcast. La definición de dirección de Broadcast y de Red se basa en la porción de host: sólo si TODOS los bits de ésta porción son unos sería Broadcast y sólo si TODOS son ceros sería red, haciendo éste análisis a la dirección de ejemplo vemos que .1.255 en binario sería 00000001.11111111 y la porción de host ocuparía los últimos 10 bits, es decir 01.11111111 como vemos, no todos los bits son unos ni todos son ceros, por lo tanto ésta es una dirección IP asignable en ese rango. Igual como aparecen éstas direcciones también habrán las que engañan de la otra forma: 172.20.1.0/22 es una dirección asignable (haga el cálculo). En realidad la verdadera dificultad de los ejercicios de subnetting aparecen en éste tipo de engaños: la gente tiende a pensar que si una dirección IP tiene ceros o unos en un octeto entonces es de red o de broadcast, pero se olvidan de que lo que importa es si la porción de host es sólo ceros o sólo unos y eso sólo lo dice la máscara de subred. El siguiente nivel de dificultad es muy similar, sólo que combina la dificultad de contar hosts en más de dos octetos con la de contar subredes en más de dos octetos. Por ejemplo: crear 800 subredes de 900 host cada una con base en la dirección IP 172.16.0.0/12. Les queda de tarea hacer este ejercicio que sería de los difíciles sin ser de los más.
VLSM y más allá
Como comentaba anteriormente, VLSM agrega un nivel más de dificultad, muy poca si se ha comprendido bien el tema de «subneteo» con máscara fija, porque VLSM es una forma ordenada de ir cambiando de máscara, sin embargo un sólo ejercicio de VLSM puede combinar todos los casos mencionados. Por otro lado, la técnica hecha en orden es un algoritmo que lleva siempre a un resultado sin fallos, lo cual no significa que se deba ejecutar sin verificación de los resultados. Si quiere conocer más sobre técnicas de subnetting consulte el tutorial de subneteo. Finalmente, hay un problema que yo denomino «fragmentación del espacio de direccionamiento», similar a la fragmentación que ocurre en el disco duro de los PCs. La fragmentación del espacio de direccionamiento consiste en usar VLSM con unos requerimientos y luego hacer un nuevo requerimiento. No siempre existe una subred del tamaño necesario al final del espacio asignado, por lo que toca dejar direcciones sin asignar entre las antiguas y las nuevas subredes o reasignar direcciones IP desde cierta subred (una de igual tamaño a la mayor del nuevo requerimiento). No sólo eso, se podría establecer una fórmula para establecer la eficiencia del esquema resultante tomando como base el potencial total de direccionamiento de la dirección IP base.
Conclusiones

Aunque ésta entrada habla todo el tiempo de dificultad, en realidad lo que quiere decir es qué nivel de destreza alcanzan los estudiantes cuando realizan éstos ejercicios fluidamente. También es una guía para instructores de CCNA que quieran hacer sus propios ejercicios por fuera del material que ya existe, asegúrense de muchos ejercicios de los básicos e ir incrementando la dificultad, si se domina perfectamente la técnica de máscara fija en orden, primero con Clase C, luego con Clase B y Clase A, VLSM es casi trivial. Lo anterior también aplica para quienes se quieran certificar y deseen una buena estrategia para dominar el tema. Les quedo debiendo una entrada bien interesante sobre el tema de fragmentación del espacio de direccionamiento y qué se puede hacer más allá de simples subredes.

1 comentario en “Niveles de dificultad en subnetting”

  1. Cesar,
    me gustaria contactarme directamente contigo, me interesaria mucho capacitarme en cisco o en otras areas de interes y quisiera saber si depronto tu me podrias ayudar ya sea personalmente o refiriendome con algun companero tuyo, estoy aca en pereira, mi email personal es echeren[editado] por favor dejame saber o enviame tu email o numero de telefono y nos podemos contactar directament.

    Gracias
    Juan

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.