Categories
Internet

¿Qué es una dirección IP?

Todo el mundo parece saber lo que es una una dirección IP pero supongo que en ningún sitio aparece una explicación rigurosa. Una que sea definitiva para todos. Aquí vamos, una más, por si esta pudiera ser la definitiva.

Una dirección IP (IPv4) es un número binario de 32 bits que identifica a un host en una red TCP/IP.

Una dirección IP se puede representar de varias maneras, todas posibles y válidas y unas más usadas que otras:

  • 11000000 10101000 10111110 00000001 en un formato binario.
  • 192 168 190 1 en un formato decimal.
  • C0 A8 BE 01 en un formato hexadecimal.
  • 300 250 276 001 en un formato octal.

Todas son válidas y todas son direcciones IP, aunque no se usan todas. Típicamente solo se utiliza el formato decimal, separado por puntos. Podemos obtener la dirección IP de nuestro equipo ejecutando alguno de los comandos disponibles en cada sistema operativo:

Igualmente podemos mostrar la dirección IP para un Sistema Operativo como Microsoft Windows 10 Profesional, ejecutando el comando ipconfig.

Dirección IP en Microsoft Windows 10 Profesional
Dirección IP en Microsoft Windows 10 Profesional

Cualquiera que sea la manera, en la que se muestre una dirección IP para cada Sistema Operativo particular, cumple la misma función: identificar al host que la define. Pero no sería suficiente con que definiera quién es, sino que, además, cumpliera el resto de los requisitos de las redes TCP/IP.

Cronología

Durante un tiempo, en los principios de las redes IP, las direcciones IP se categorizaron en diversos grupos (llamados clases) para identificar a todas las direcciones IP que pertenecían a una misma organización (Red). Utilizando los primeros bits de una dirección IP (en formato binario) se podían identificar a que grupo pertenecía esa dirección IP:

  • Las direcciones que comenzaban por 0000 0000 serían direcciones de Clase A.
  • Las direcciones que comenzaban por 1000 0000 serían direcciones de Clase B.
  • Las direcciones que comenzaban por 1100 0000 serían direcciones de Clase C.

Las direcciones de Clase A definirían grupos de IPs de al menos 16.777.216 de IPs suficientes para un gran numero de equipos dentro de la misma red. Las direcciones IP de Clase B definirían grupos de 65.536 IPs y las direcciones IP de Clase C definirían grupos de 256 IPs. Existirían otros grupos diferentes con propósitos especiales y que se definieron, de la misma manera con otros propósitos:

  • Direcciones de Clase D (direcciones multicast) que se usan para distribuir información a varios grupos de dispositivos al mismo tiempo, como comodines de direcciones IP, empezarían por 1110 0000.
  • Direcciones de Clase E (direcciones experimentales) que no se sabe muy bien para qué se utilizaron y empezarían por 1111 0000.

El agrupamiento de direcciones IP, utilizando los primeros bits de la dirección IP, no ofrecía un manera flexible de establecer grupos de dispositivos en diferentes tamaños. Las direcciones IP de Clase A utilizarían grupos muy grandes, las direcciones IP de Clase C grupos demasiado pequeños y las direcciones IP de Clase B, ni lo uno ni lo otro, insuficientes para algunos casos y excesivo para otros. Es en ese momento en el que los ingenieros aplicarían una técnica que permitiría segmentar los grupos mas grandes en otros mas pequeños (o los mas pequeños en otros más grandes).

La Máscara de Red

La máscara de red es otra dirección IP (un número binario de 32 bits) que se utilizaría con el propósito de segmentar las redes de Clase A, B o C en otras mas pequeñas (o más grandes). La técnica consiste en aplicar una regla, AND lógico, entre la dirección IP del host y la máscara aplicada a este. Esto produce el efecto de segmentar la red. Este procedimiento se aplica hoy en día en todos los sistemas operativos del mercado actual pero no fue así, y hace tiempo, existieron equipamientos de red que no tenían la posibilidad de aplicar la regla de la máscara de red:

La máscara de red permite identificar en la dirección IP la parte de red y la parte de host. La parte de host identificaría a este, dentro de la parte de red. Pertenecería a esta.

Segmentar, utilizando máscaras de red, permite aprovechar mejor las direcciones IPs. Se pueden utilizar segmentos mas pequeños (o mas grandes) que los de Clase A, B o C. El siguiente es un ejemplo que separa una dirección de Clase C (256 hosts) en dos segmentos, mas pequeños e iguales (128 hosts).

Algunas de las direcciones IP, dentro de la misma red, tienen significados especiales. La primera de todas, la que tiene todos sus bits, en la parte de host a 0 binario, se denomina dirección de red y sirve para identificar al conjunto de todos los activos de esa red. La última de todas, la que tiene todos sus bits, en la parte de host a 1 binario, se denomina dirección de broadcast o difusión, e identifica a cada uno de los activos al mismo tiempo.

Estas direcciones, la de red y la de difusión, tienen propósitos específicos dentro del protocolo IP, por ejemplo la dirección de red se utiliza para indicar la agrupación de todos los activos de esa red. Cuando se necesita conocer el camino (ruta) hacia una red se indica con la dirección de red. Cuando se necesite enviar un mensaje para todos los activos de la red se puede indicar la dirección de broadcast o difusión.

Esto debería ser una definición ajustada de lo que es una dirección IP. Existen aspectos sobre los que no se han hablado en ese post pero supongo que, por ahora, es suficiente. Otro día, mas.