Direccionamiento IPv4 en la práctica: subnetting

Spread the love

Hemos trabajado con direcciones IP pero todavía no hemos explorado la mecánica de asignar direcciones IP. Pues llegó la hora, en ésta publicación les voy a describir los diferentes tipos y usos de direcciones IPv4 y cómo diseñar esquemas de direccionamiento. En la publicación siguiente expondré el mismo tema pero aplicado a IPv6. Éste contenido ayuda a comprender el módulo 11 del curso de CCNA7 ITN. Disfrútenlo.

Introducción: conectividad inicial

Para que un host tenga conectividad IP debe tener alguna forma de obtener los parámetros básicos: dirección IP, máscara y puerta de enlace. Existen dos métodos para obtenerlos: configuración manual y dinámica. La configuración manuel, como ya se deben haber imaginado, es cuando un administrador de la red o un operador de IT abre las propiedades de la red y escribe manualmente los parámetros en la configuración. La configuración dinámica consiste en permitir que la compu detecte la conexión a la red, emita mensajes de descubrimiento de un servidor DHCP y éste le envíe, de una manera especial, los parámetros mencionados. Éste es el primer paso para que una compu se conecte a la red, lo cual no significa que se pueda conectar a Internet.

Aunque no vamos a entrar en detalles, el funcionamiento de muchas tecnologías se basa en los tipos de comunicación que ya hemos mencionado: unicast, multicast y broadcast, sin embargo les he dicho que tales tipos de comunicación se asocian a unas direcciones especiales en cada caso. Por ejemplo, tanto DHCP (mencionado en el párrafo anterio) como ARP usan broadcast. Del tema de selección del primer salto podemos recordar que un host responde a dos direcciones IP: 1) su dirección de nodo, 2) la dirección de broadcast del segmento (igual para todos los que pertenecen al mismo segmento de red). También recordamos que hay un tercer número importante: la dirección de red, ésta se deriva de aplicar la máscara a la IP del nodo, sin embargo, las direcciones de red sólo las vemos en el contexto de una tabla de enrutamiento, generalmente en los routers. Todo lo anterior aplica tanto para IPv4 como para IPv6, sin embargo, toman formas muy diferentes.

Como hemos visto, la dirección IP tiene una porción de host y una porción de red, cuando una dirección IP tiene unos y ceros en ambas porciones es la dirección de un host particular y debe ser única en el segmento, cuando una IP tiene sólo ceros (en binario) en la porción de host es una dirección de red y finalmente cuando tiene sólo unos (en binario) es la dirección de broadcast (dirigido). Un host particular usa las tres: su propia dirección, la dirección de red y la dirección de broadcast, éstas últimas dos son comunes a todos los nodos que pertenezcan al mismo segmento IP y por eso no se pueden asignar a ninguno de los hosts. Cuando decimos segmento IP también lo podemos llamar red o subred, lo cual definiremos en una publicación futura.

Ejemplo: Vamos a suponer que hay un host cuya dirección es 192.168.1.50 y su máscara es 255.255.255.192 (/26), la máscara determina la porción de red y los bits restantes para completar 32 son la porción de host (6 últimos bits).

  • IP de un host: 192.168.1.50/26 –> en binario: 11000000.10101000.00000001.00110010, porción de host: 110010 (últimos 6 bits)
  • Dirección de red del host anterior: 192.168.1.0/26 –> en binario: 11000000.10101000.00000001.00000000, porción de host: 000000
  • Dirección de broadcast: 192.168.1.63/26 –> en binario: 11000000.10101000.00000001.00111111, porción de host: 111111

Yo he escrito mucho sobre direccionamiento IP, en particular cómo asignar subredes en diferentes técnicas. Si ud. cree que ya entiende todos los conceptos básicos de IP (no recomiendo saltarse éste contenido), revise mi Tutorial básico de Subnetting (5 entradas) y seleccione la lectura más apropiada para su nivel o lealo todo para comprender a fondo el tema, ésto es el contenido principal del módulo que estamos resumiendo y que no voy a describir en ésta entrada. Otras lecturas que también podrían interesarles son: ¿En qué consiste la capa 3 del modelo OSI? Red, Lección básica de enrutamiento (4 entradas) y Sistemas numéricos y por qué son importantes en redes. Todos éstos temas son básicos y críticos cuando se prepara el examen de certificación 200-301 CCNA.

Tipos de comunicación (Unicast, Multicast y Broadcast) y su relación con las direcciones IP

Aunque el subtítulo en realidad son modalidades de comunicación, éstas se asocian a direcciones con un patrón específico. Las direcciones de unicast, es decir, direcciones que identifican a un host de manera única y que generalmente se usan para comunicarse de un host a otro, comienzan con un número de 1 a 223, es decir, 1.2.3.4 sería una dirección de unicast (el 1er octeto es menor a 223), así como 10.10.10.10, 192.168.1.1 y hasta la 223.1.1.1 también lo sería. Éstas direcciones solían seguir una nomenclatura que clasificaba las redes por tamaños: gigantes, grandes y pequeñas, a éstas clases de direcciones se les llama Clase A, B y C respectivamente, es decir, clase A son las gigantes, clase B son grandes y clase C las pequeñas.

Luego de las clase C, es decir aquellas direcciones cuyo primer octeto está entre 192 y 223, siguen las direcciones de clase D, ésta clase de dirección se usa exclusivamente para multicast IPv4, es decir, una comunicación uno a un grupo, por ejemplo un streaming. Éstas direcciones se obtienen automáticamente mediante diferentes procedimientos. En una comunicación de éstas suele haber un servidor o fuente que envía la información y múltiples receptores distribuidos por diferentes redes, a éste conjunto de receptores lo llamaremos grupo multicast y todos deben adicionar a su IP de unicast una dirección de clase D para procesar el streaming, digamos la 225.1.2.3, es decir, el nodo va a procesar los paquetes que tengan en la IP destino su IP, la IP de broadcast y ahora la de multicast. La clase D no ocupa el resto de los 256 posibles valores del primer octeto, sólo llega hasta el nro 239. En resumen, para generar o recibir tráfico multicast es necesario usar una dirección clase D, que comienza desde la IP 224.0.0.1 y termina en la dirección 239.255.255.255. Se preguntarán qué pasa con las direcciones IP que tengan el 1er octeto mayor a 239? Pues se considera una dirección IP experimental (Clase E) y en teoría no se usan.

Finalmente, el broadcast es una comunicación indiscriminada hacia todos los nodos. Existen dos posibilidades de broadcast, el dirigido y el local. Un broadcast dirigido es uno que conserva la dirección de red pero en su porción de host tiene puros unos (en binario), por ejemplo dentro de la red 10.1.0.0/16, el broadcast dirigido corresponde a la dirección 10.1.255.255, como ven los últimos dos octetos (la porción de host) sólo tienen unos (en binario). Un broadcast local es la dirección 255.255.255.255 que se usa comunmente para obligar a todos los hosts de la red a procesar un paquete cuando se desconoce la dirección de red, por ejemplo en ARP.

Clases de direcciones IPv4: comportamientos antiguos

Como leyeron en las secciones anteriores, antiguamente las redes IP se consideraban gigantes, grandes y pequeñas y a ésto le asociabamos las clases A, B y C. Por qué una red con una dirección de clase A es enorme? Porque a ésta clase de direcciones se les asocia una máscara de 8 bits, es decir la 255.0.0.0, de ésta máscara se deduce que la porción de host tiene 24 bits y, en teoría, una red de ésta clase podría tener hasta 2 elevado a la 24 IPs diferentes (16’777.216 hosts en potencia, menos la 1a y la última IP: la red y el broadcast dirigido). A una red de clase B se le asocia una máscara de 16 bits, es decir, 255.255.0.0 y tendría un potencial de 2^16 direcciones diferentes (menos la de red y broadcast), es decir, 65.536; y finalmente, a las redes de clase C se les asocia una máscara de 24 bits, es decir, 255.255.255.0 y por ende sólo tienen 256 direcciones IP (2^8). Recuerden: en todo caso, en el conteo de direcciones IP de una red se debe descontar tanto la primera como la última porque no se pueden asignar, se consideran direcciones no válidas porque son la dirección de red y la dirección de broadcast dirigido. Después de la clase C vienen las clases D y E que ya describimos en la sección anterior a éstas no se les asocia una máscara por defecto (o se puede decir que es /32 porque toda la IP es significativa).

Noten que las direcciones IP que se pueden asignar a un host cualquiera, debe tener una IP cuyo primer octeto es un nro de 1 a 223 (de entrada perdimos el 0), es decir, sólo 223 posibilidades. De éstas 223 posibilidades, la clase A va de 1 a 126, también perdemos la 127 que tiene un uso especial, por lo tanto tenemos 126 posibles direcciones Clase A (más de la mitad de las 223 totales); también tenemos 64 posibilidades de la clase B (de 128 a 191) y finalmente sólo 32 posibilidades de clase C (192 a 223). No me dejen engañarlos, en realidad las direcciones de clase B son más de 16000 (2^14) y las de clase C son 2 millones, pero ver las posibilidades que tiene el primer octeto nos da una idea de todo el potencial de direccionamiento de cada clase de direcciones respecto al total posible, es decir, más de la mitad de todas las direcciones asignables de IPv4 son Clase A.

La siguiente es la tabla de características de las clases de direcciones usadas para unicast:

Clase1er OctetoInicio en binarioMáscara por defecto
A0 a 1270xxx255.0.0.0 (/8)
B128 a 19110xx255.255.0.0 (/16)
C192 a 223110x255.255.255.0 (/24)

De éste análisis tal vez puedan deducir que el direccionamiento IPv4 es ineficiente: la mayor cantidad de direcciones IP posibles caen en el rango de la clase A (de 1 a 127) pero mientras más grande una red, más tráfico de broadcast va a tener y administrarlas también es una pesadilla. Lo mismo va a ocurrir con las clase B (de 128 a 191) pero ésta es bastante más pequeña que la clase A y luego, apenas una cuarta parte de las direcciones IP posibles son clase C (de 192 a 223) que en realidad es un tamaño realista y práctico para la mayoría de las redes IPv4. Con el tiempo no sólo se descubrió ésto sino que los routers no soportaban muchas tablas de enrutamiento, sobre todo aquellos que componían la columna vertebral de Internet. Noten también que una porción importante de todas las direcciones IPs posibles son de multicast o experimentales (del 224 al 255)!

En resumen, existen tres clases de direcciones unicast: clase A, B y C y a cada una le corresponde una máscara por defecto, /8, /16 y /24 respectivamente y ésta arquitectura resulta ser bastante ineficiente.

Direccionamiento sin clase o CIDR

A lo anterior lo conocemos como direccionamiento con clase o Classful. Éste término está asociado a routers que usan sus tablas de enrutamiento teniendo en cuenta las clases como las describimos en el párrafo anterior, sin embargo, muchos dispositivos comunes siguen usando éstas clases para asignar automáticamente una máscara y facilitar el trabajo de configurar una dirección IP, por ejemplo una estación Windows detecta la clase de la IP por el primer octeto escrito y automáticamente escribe una máscara correspondiente a la clase. Pero como vimos, ésta arquitectura no es eficiente y aparecen dos términos importantes, uno es CIDR (classless inter-domain routing) que es la posibilidad que tienen los routers de trabajar fuera de los límites de las clases y el otro es VLSM o variable-length subnet masks, máscaras de subred con longitud variable. No nos vamos a detener mucho en éstos términos pero más adelante los vamos a comprender perfectamente, si quiere comprenderlo mejor, le recomiendo esta publicación que hice sobre las diferencias entre CIDR, VLSM y Sumarización.

En resumen, CIDR es la posibilidad que tienen los routers (mediante sus protocolos de enrutamiento) de enviar máscaras en las actualizaciones de enrutamiento y desligarse de esa manera de tener que «adivinar» la clase con base en el primer octeto de la dirección de red.

Tipos de direcciones IPv4: Públicas, privadas y reservadas

Para que una organización puede usar un segmento IP debe pedir permiso a una autoridad, demostrar que se tiene la infraestructura necesaria y pagar los derechos. Ésto se hace ante una entidad delegada de IANA (Internet assigned numbering authority), que es la autoridad mundial en numeración de Internet, ésta delega responsabilidades sobre registros regionales conocidos como RIRs (regional internet registrars). Las direcciones que se piden por este procedimiento son direcciones públicas que identifican un host en todo internet.

La idea inicial de una dirección IP es que identificara un nodo de manera única en todo Internet, pero qué hacer si alguien sólo quiere conectar localmente sus equipos? Como pueden imaginar, el proceso de solicitar un segmento IP es engorroso y costoso. Para éste propósito se crearon las direcciones privadas, las cuales en principio se usaban solamente para conectar hosts sin salir a Internet, pero luego, quienes se conectaban con direcciones IP privadas quisieron conectarse también a Internet y de esta necesidad aparece NAT.

Las direcciones privadas se definen en el RFC 1918 y son un conjunto de redes que se pueden usar libremente, es decir, sin necesidad de registrar su uso ante un RIR. Éstas son:

Prefijo RFC1918Cantidad de redesRangoPotencial de hosts/red
10.0.0.0/8110.0.0.1-10.255.255.255 (Una sola red)2^24 -2 (16’777.214)
172.16.0.0/1215172.16.0.1 – 172.16.255.255
172.17.0.1 – 172.17.255.255

172.31.0.1 – 172.31.255.255
2^16 – 2 (65.534) cada una
192.168.0.0/24256192.168.0.1 – 192.168.0.255
192.168.1.1 – 192.168.1.255

192.168.255.1 – 192.168.255.255
2^24 – 2 (254) cada una

Si son observadores y ya han trabajado en IT, habrán notado que muchas de las direcciones IP con las que se trabaja regularmente son de éstas. Bueno, luego les explicaré y mostraré como configurar un NAT, ésta tecnología es la que hace la magia de que muchos hosts que tienen direcciones privadas (que se repiten por todo el mundo) se vean en internet con una dirección pública. Cualquier dirección de clase A, B o C que no pertenezca a éstos rangos es una dirección pública, por ejemplo 192.10.10.10 o 11.22.33.44, incluso la 172.32.1.1.

Adicional a éstos rangos, existen otras direcciones especiales que tampoco se usan, por ejemplo la 127.0.0.0 (cualquiera en ese rango) que se usa para dirigir tráfico hacia el host desde el que se genera el tráfico. Se conoce como dirección de loopback o bucle local y se usa para hacer tests a los drivers del sistema operativo para el procesamiento de los protocolos TCP/IP. Otra dirección reservada se conoce como dirección APIPA o Automatic Private IP Addressing, que aparece cuando un host está configurado para conseguir una IP por DHCP pero no logra encontrar ninguno. Éste rango de IPs es la 169.254.0.0/16.

Planificación del direccionamiento IP

Aunque he descrito la base del direccionamiento en IPv4, el módulo 11 de CCNAv7 ITN en realidad introduce el tema de la creación de un esquema de direccionamiento con base en unos requerimientos. En la planificación de un esquema de direccionamiento se deben tener en cuenta los siguientes elementos:

  • Cuántas subredes se deben crear y de qué tamaño cada una (cuántos hosts máximo se deben tener en cuenta en cada una)?
  • Cuánto crecimiento va a tener cada subred (tamaño máximo o estrategia de crecimiento)? En éste caso se tendría en cuenta crecimiento porcentual de cada subred o la posibilidad de ir creando subredes en la medida que vaya creciendo la organización
  • Tener en cuenta en la capacidad de cada subred, qué dispositivos especiales va a albergar, por ejemplo impresoras, servidores y sobre todo, la IP de la puerta de enlace (toda subred debe tener por lo menos 1).
  • Si el esquema de direccionamiento es global, hay que tener en cuenta que los enlaces entre los routers también es un segmento IP y se debe asignar.

Teniendo en cuenta éstos criterios, se debe proceder a diseñar el esquema de direccionamiento, pero eso se los dejo para leer en las publicaciones que he hecho anteriormente, particularmente en el tutorial de subnetting que describe al detalle cómo se hace, qué requerimientos podemos enfrentar, cómo se hace direccionamiento con máscara fija, máscara variable y ejercicios fáciles y difíciles. No dejen de leerlos.

Conclusión y siguientes publicaciones





Como pueden ver, el tema de direccionamiento es un tema extenso por sí mismo. En ésta publicación no he cubierto todo el tema del módulo 11, sino que dí el contexto general y les dejé como lectura adicional otras publicaciones que, de hecho, son las más populares del blog: Tutorial básico de Subnetting. Aunque no enfaticé suficiente en esta entrada, éste tema es fundamental para el éxito en el examen de certificación 200-301, no tanto porque haya muchas preguntas sobre el tema, sino porque la habilidad en éstas respuestas cuyo cálculo asegura un punto correcto ahorra tiempo para preguntas que tal vez no recordemos o también haya que calcular.

Finalmente, ésta entrada habló sólo de IPv4, la próxima publicación va a ser éste mismo tema pero aplicado a IPv6. Si les gustó el contenido, por favor comenten y compartan.

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.