Análisis del direccionamiento IPv4
IP versión 4 (IPv4) es actualmente la forma más común de direcciones IP en Internet. Es posible emplear más de 4000 millones de direcciones IP si se utiliza un esquema de direcciones de 32 bits.
En los siguientes apartados se detallan las características del direccionamiento IPv4 y las múltiples formas en que se pueden emplear.
Estructura de una dirección IP
Las direcciones IP tienen una composición jerárquica y constan de dos partes. En la primera parte se identifica la red y, en la segunda, al Host en esa red.
Por ejemplo, en la dirección IP 192.168.1.29, los tres primeros octetos, 192.168.1, hacen referencia a la red y, el último, 29, identifica al Host.
Direcciones IP en las que se distingue la parte de red y Host
En cuanto a que son jerárquicas, el término hace referencia a que son como un árbol, encontrándose los “padres” en la parte superior y los “hijos”, conectados a ellos debajo. En una red esto significa que la parte que en la dirección identifica a la red corresponde a los “padres”, mientras los bits que identifican a los hosts son los “hijos”.
Direcciones IP en una red
En este ejemplo, la red se identifica con los tres primeros octetos y el Host con el cuarto octeto.
Notaciones
Una dirección IP es en realidad una serie de 32 bits binarios. Memorizar los 32 bits lógicamente es muy difícil para una persona, así que estos se agrupan 32 bytes de 8 bits llamados octetos. Para hacerlo aún más fácil de leer y recordar, cada octeto se presenta como su valor decimal y se separan por un punto. Con este tipo de notación, llamada notación con punto decimal, también se evita que se produzcan errores de transposición.
Por ejemplo, la dirección IP 192.168.1.5 corresponde en binario de 32 bits a la siguiente numeración: 11OOOOOO1O1O1OOOOOOOOOO1OOOOO1O1. Lo normal sería confundirse si hubiese que memorizar o trabajar con la numeración binaria y si esto se produjera, la dirección sería diferente, resultando imposible la comunicación con un Host de la red.
Recordemos! Con la notación con punto decimal se evitan errores de transposición y el resultado es mucho más fácil de leer y recordar.
A continuación se ejemplifica de forma breve el proceso de conversión desde una numeración binaria a una dirección IP con su correspondiente notación con punto decimal.
Un hostal recibir una dirección IP empieza a leer los 32 bits a medida que son recibidos por la interfaz de red. Cualquier persona necesitaría convertir los 32 bits en su equivalente decimal de cuatro octetos. Como se ha mencionado antes, cada octeto está formado por 8 bits, teniendo cada bit un valor. Los cuatro grupos de 8 bits tienen el mismo conjunto de valores. El bit del extremo derecho en un octeto tiene un valor de uno, el resto de bits tienen los valores de derecha a izquierda 2, 4, 8, 16, 32, 64 y 128. El valor de cada uno de los cuatro octetos debe tener un valor entre O y 255.
En la siguiente imagen se desglosa la dirección IP 192.168.1.5.
Clases de direcciones IP
Las direcciones IP se dividen en grupos llamados clases para adaptarse a distintos tamaños de redes y ayudar a clasificarlas. Existen 5 clases de direcciones IP:
- Las clases A, B y C son direcciones comerciales que se asignan a Host.
- La Clase D reservada para uso de Multicast.
- La Clase E destinada a usos experimentales.
En la Clase A, solo un octeto representa la porción de red y tres a los hosts. El primer valor que puede representar es 00000000, O en decimal y el más alto es 01111111, 127 en decimal, pero ambos números están reservados. Aun así permiten más de 16 millones de hosts.
En la Clase B dos octetos corresponden a la red y dos a los hosts. Están diseñadas para cumplir necesidades de un tamaño moderado a grande. El menor número que pueden presentar es 10000000, 128 en decimal y el mayor es 10111111, 191 en decimal.
Por su parte, la Clase C dispone de tres octetos destinados a red y solo uno o hosts. Se destina a redes pequeñas, ya que solo admite un máximo de 254 hosts. El menor número que lo representa es 11000000, 192 en decimal y el máximo es 11011111, 223 en decimal.
A continuación, se muestra una tabla con un breve resumen y los aspectos más importantes de las clases de direcciones IP.
Clases de dirección IP
Clase de dirección | Rango del primer octeto (decimal) | Bits del primer octeto (los bits verdes no se modifican) | Partes de una dirección correspondientes a la red (R) y al Host (H) | Cantidad posible de redes y hosts por red |
A | De 1 a 127 | 00000000 – 01111111 | R. H. H. H. | 126 redes (2^7-2) 16 777 214 hosts por red (2^24-2) |
B | De 128 a 191 | 10000000 – 10111111 | R.R.H. H. | 16 382 redes(2^14-2) 65 534 hosts por red (2^16-2) |
C | De 192 a 223 | 11000000 – 11011111 | R.R. R. H. | 2097150 redes (2^21-2) 254 hosts por red (2^8-2) |
D | De 224 a 239 | 11100000 – 11101111 | No es para uso comercial como Host | |
E | De 240 a 255 | 11110000 – 11111111 | No es para uso comercial como Host |
Máscaras
Los hosts distinguen qué parte de una dirección IP pertenece a la red y qué parte al tosí mediante la máscara de subred.
Cuando se configura en un Host una dirección IP, también se le debe asignar una máscara de subred, que al igual que las direcciones IP, tiene una longitud de 32 bits. Una máscara siempre empieza por unos y acaba en ceros, y estos nunca se mezclan. A los bits de la parte de red se le asignan unos y a la parte de hosts, ceros. Por lo tanto, la máscara para las direcciones IP de Clase A es 255.0.0.0, para Clase B, la 255.255.0.0 y para la Clase C, 255.255.255.0.
Recordemos! Una máscara siempre empieza por unos y acaba en ceros, y estos nunca se mezclan.
Por ejemplo, si se tiene la dirección IP 192.168.0.15 la máscara debe ser 255.255.255.0. Se trata de una IP de Clase C, por lo tanto, los tres primeros octetos corresponden a red.
Parte de Red | Host | |||
IP | 192 | 168 | 0 | 15 |
Máscara | 11111111 | 11111111 | 11111111 | 00000000 |
255 | 255 | 255 | 0 |
Direcciones públicas y privadas
Debido a que la cantidad de direcciones de 32 bits disponibles están limitadas, surgió una solución: reservar algunas direcciones privadas para utilizarlas exclusivamente dentro de una organización. De esta forma, los hosts de una organización pueden comunicarse entre sí sin necesidad de disponer de una dirección IP pública, necesaria para todos los hosts que están conectados directamente a Internet, siendo además exclusiva.
El RFC 1918 consiste en un estándar que reserva y asigna rangos de direcciones a las clases A, B y C para uso interno y privado. Las direcciones de este rango no se enrutan hacia el Backbone de Internet, siendo rechazadas directamente por los routers de Internet.
La siguiente tabla indica el rango de cada una de las clases para uso privado.
Clase | Intervalo de direcciones internas RFC 1918 |
A | 10.0.0.0 to 10.255.255.255 |
B | 172.16.0.0 to 172.31.255.255 |
C | 192.168.0.0 to 162.168.255.255 |
La Clase A permite más de 16 millones de direcciones IP privadas, la Clase B, más de 65000, y la Clase C, hasta 254.
Representación de tres redes con las diferentes clases de direcciones IP privadas y mostrándose la imposibilidad de tener salida a Internet
Recordemos! Las clases A, B y C reciben rangos de direcciones para uso privado e interno por parte del estándar RFC 1918.
Direcciones reservadas y restringidas
Existe una serie de direcciones que no pueden usarse de forma normal, ni asignarse a hosts-,
- La dirección 0.0.0 la utilizan todos los equipos durante el arranque o si no se le ha asignado dirección.
- La dirección 255.255.255 se usa para enviar un mensaje a todos los equipos de todas las redes. (Broadcast)
- Las direcciones 127.x.x.x se reservan para pruebas internas de comunicación y se denominan de loopback.
- Las direcciones con la parte del Host a cero se emplean para definir la red en la que se ubican.
Problemática del direccionamiento y subredes
Como se ha mencionado, las direcciones IP en su versión 4 están limitadas y, aunque parezca una cantidad muy grande 2^2=4294967296 de posibles direcciones IP, la expansión de Internet desde 1981 ha sido enorme; además, al organizarías por clases y sumando la cantidad de direcciones reservadas se malgastan millones de ellas.
En concreto, el mayor problema se encuentra en las redes de Clase B, ya que para la mayoría de organizaciones una red de Clase A resulta demasiado grande (16 millones) y una red de Clase C, demasiado pequeña.
Algunos problemas para muchas organizaciones radican en que algunas de ellas disponen de una gran cantidad de hosts y en pocas ocasiones todos están en el mismo lugar, o también puede ocurrir que estas quieran separar los departamentos individualmente, ya sea por razones de seguridad o administración.
Otro problema es que si se envía un paquete de Broadcast a la red, estos paquetes se envían a todos los hosts de una única red lógica, se crea mucho tráfico y, por lo tanto, disminuye el ancho de banda disponible y su rendimiento de manera considerable.
Para resolver estos problemas surgió la Idea de dividir las redes en minirredes, o lo que se conoce como subredes, mediante el proceso llamado división en subredes.
RFC 917, referente a subredes de Internet, define a la máscara de subred como el método en que los routers aíslan una parte de la red de una dirección IP. Un Router, al recibir un paquete, utiliza la dirección IP de destino en el paquete y las máscaras de subred asociadas con las rutas en su tabla de enrutamiento determinan la ruta más apropiada que debe seguir el paquete.
Diferencia entre red y subred
Recordemos! Mediante la división de redes en subredes se solucionan los problemas de rendimiento y saturación del ancho debanda.
Para emplear correctamente la máscara de subred en una red que necesita ser divida hay que conocer bien la estructura de la máscara de subred. La siguiente tabla detalla para cada máscara su valor en binario, cuántos hosts puede contener, la cantidad de bits del Host y la notación con barras de cada una.
La notación con barras corresponde al número de bits de la parte de red. Es muy común a la hora de nombrar redes.
Máscara de subred con decimal punteada | Máscara de subred binaria | Notación con barras | Cantidad de bits del Host | Hosts posibles 2^n-2 |
255.0.0.0 | 11111111.00000000.00000000.00000000 | /8 | 24 | 16777214 |
255.128.0.0 | 11111111.10000000.00000000.00000000 | /9 | 23 | 8388606 |
255.192.0.0 | 11111111.11000000.00000000.00000000 | no | 22 | 4194302 |
255.224.0.0 | 11111111.11100000.00000000.00000000 | /II | 21 | 2097150 |
255.240.0.0 | 11111111.11110000.00000000.00000000 | /12 | 20 | 1048574 |
255.248.0.0 | 11111111.11111000.00000000.00000000 | /13 | 19 | 524286 |
255.252.0.0 | 11111111.11111100.00000000.00000000 | /14 | 18 | 262142 |
255.254.0.0 | 11111111.11111110.00000000.00000000 | /15 | 17 | 131070 |
255.255.0.0 | 11111111.11111111.00000000.00000000 | /16 | 16 | 65534 |
255.255.128.0 | 11111111.11111111.10000000.00000000 | ni | 15 | 32766 |
255.255.192.0 | 11111111.11111111.11000000.00000000 | /18 | 14 | 16382 |
255.255.224.0 | 11111111.11111111.11100000.00000000 | /19 | 13 | 8190 |
255.255.240.0 | 11111111.11111111.11110000.00000000 | /20 | 12 | 4094 |
255.255.248.0 | 11111111.11111111.11111000.00000000 | /21 | 11 | 2046 |
255.255.252.0 | 11111111.11111111.11111100.00000000 | 122 | 10 | 1022 |
255.255.254.0 | 11111111.11111111.11111110.00000000 | /23 | 9 | 510 |
255.255.255.0 | 11111111.11111111.11111111.00000000 | /24 | 8 | 254 |
255.255.255.128 | 11111111.11111111.11111111.10000000 | /25 | 1 | 126 |
255.255.255.192 | 11111111.11111111.11111111.11000000 | /26 | 6 | 62 |
255.255.255.224 | 11111111.11111111.11111111.11100000 | 121 | 5 | 30 |
255.255.255.240 | 11111111.11111111.11111111.11110000 | /28 | 4 | 14 |
255.255.255.248 | 11111111.11111111.11111111.11111000 | /29 | 3 | 6 |
255.255.255.252 | 11111111.11111111.11111111.11111100 | /30 | 2 | 2 |
La cantidad de hosts se calcula elevando el número 2 a la potencia de la cantidad de bits del Host. Por ejemplo, la máscara 255.255.255.248, en binario dispone de 3 bits asignados al Host, 11111111. 11111111. 11111111.11111000, por lo tanto 2^3=8; se le resta 2 y da como resultado 6, Utilizando la máscara de subred 255.255.255.248 la red podría componerse como máximo de 6 hosts.
Máscaras de subred de longitud variable (VLSM)
Otra alternativa para solucionar el problema de direcciones IPv4 que resultan inutilizables es la creación de máscaras de subred de longitud variable (VLSM), que permiten incluir más de una máscara de subred en una misma dirección de red.
Al utilizar esta técnica se permite el direccionamiento IP jerárquico, que beneficia a los routers con la sumarización de ruta. La sumarización de ruta disminuye el tamaño de las tablas de enrutamiento en los routers, al haber menos rutas en la tabla, y el tráfico de actualización de enrutamiento. Las tablas de enrutamiento pequeñas necesitan menos tiempo de procesamiento de la CPU para realizar búsquedas de enrutamiento.
VLSM permite utilizar diferentes máscaras en cada subred.
Nota! Una vez que la dirección de red se dividió en subredes, la división mayor de esas subredes se puede calificar como sub-subredes.
Por ejemplo, la red 10.0.0.0/8 se puede subdividir con la máscara de subred /16 en 256 subredes.
La subred 10.0.0.0/8 subdividida mediante la máscara de subred /16
Si se aplica una máscara de subred de /24 a cualquiera de estas subredes, como la 10.3.0.0/16, se obtiene una subdivisión de redes de 256, con capacidad para 254 hosts cada una de ellas.
Subred 10.3.0.0 subdividida por la máscara /24
Es posible seguir subdiviendo. Por ejemplo subdividir la 10.3.2.0/24 mediante la máscara /28 tiene como resultado una subdivisión de 16 subredes, con capacidad para 14 hosts cada uno.
Subred 10.3.2.0/24 subdividida por la máscara /28