Una dirección de Protocolo de Internet ( dirección IP ) es una etiqueta numérica como 192.0.2.1 que se asigna a un dispositivo conectado a una red informática que utiliza el Protocolo de Internet para comunicarse. [1] [2] Las direcciones IP cumplen dos funciones principales: identificación de interfaz de red y direccionamiento de ubicación .
El Protocolo de Internet versión 4 (IPv4) define una dirección IP como un número de 32 bits . [2] Sin embargo, debido al crecimiento de Internet y al agotamiento de las direcciones IPv4 disponibles , en 1998 se estandarizó una nueva versión de IP ( IPv6 ), que utiliza 128 bits para la dirección IP. [3] [4] [5] La implementación de IPv6 ha estado en curso desde mediados de la década de 2000.
Las direcciones IP se escriben y se muestran en notaciones legibles para humanos , como 192.0.2.1 en IPv4 y 2001:db8:0:1234:0:567:8:1 en IPv6. El tamaño del prefijo de enrutamiento de la dirección se designa en notación CIDR agregando como sufijo de la dirección la cantidad de bits significativos , por ejemplo, 192.0.2.1 / 24 , que es equivalente a la máscara de subred utilizada históricamente 255.255.255.0 .
El espacio de direcciones IP es administrado globalmente por la Autoridad de Números Asignados de Internet (IANA), y por cinco registros regionales de Internet (RIR) responsables en sus territorios designados de la asignación a registros locales de Internet , como proveedores de servicios de Internet (ISP), y otros usuarios finales . Las direcciones IPv4 fueron distribuidas por la IANA a los RIR en bloques de aproximadamente 16,8 millones de direcciones cada uno, pero se han agotado a nivel de la IANA desde 2011. Solo uno de los RIR aún tiene un suministro para asignaciones locales en África. [6] Algunas direcciones IPv4 están reservadas para redes privadas y no son únicas a nivel global.
Los administradores de red asignan una dirección IP a cada dispositivo conectado a una red. Estas asignaciones pueden ser estáticas ( fijas o permanentes) o dinámicas , según las prácticas de la red y las características del software. Algunas jurisdicciones consideran que las direcciones IP son datos personales .
Una dirección IP cumple dos funciones principales: identifica al host, o más específicamente, su interfaz de red , y proporciona la ubicación del host en la red y, por lo tanto, la capacidad de establecer una ruta hacia ese host. Su función se ha caracterizado de la siguiente manera: "Un nombre indica lo que buscamos. Una dirección indica dónde está. Una ruta indica cómo llegar allí". [2] El encabezado de cada paquete IP contiene la dirección IP del host emisor y la del host de destino.
En la actualidad, se utilizan con frecuencia en Internet dos versiones del Protocolo de Internet . La versión original del Protocolo de Internet que se implementó por primera vez en 1983 en ARPANET , el predecesor de Internet, es el Protocolo de Internet versión 4 (IPv4).
A principios de la década de 1990, el rápido agotamiento del espacio de direcciones IPv4 disponible para la asignación a proveedores de servicios de Internet y organizaciones de usuarios finales impulsó al Grupo de Trabajo de Ingeniería de Internet (IETF) a explorar nuevas tecnologías para ampliar la capacidad de direccionamiento en Internet. El resultado fue un rediseño del Protocolo de Internet que finalmente se conocería como Protocolo de Internet versión 6 (IPv6) en 1995. [3] [4] [5] La tecnología IPv6 estuvo en varias etapas de prueba hasta mediados de la década de 2000, cuando comenzó la implementación de la producción comercial.
En la actualidad, estas dos versiones del Protocolo de Internet se utilizan simultáneamente. Entre otros cambios técnicos, cada versión define el formato de las direcciones de forma diferente. Debido a la prevalencia histórica de IPv4, el término genérico dirección IP sigue haciendo referencia a las direcciones definidas por IPv4. La brecha en la secuencia de versiones entre IPv4 e IPv6 se debió a la asignación de la versión 5 al protocolo experimental Internet Stream Protocol en 1979, que, sin embargo, nunca se denominó IPv5.
Se definieron otras versiones v1 a v9, pero solo v4 y v6 ganaron un uso generalizado. v1 y v2 eran nombres para los protocolos TCP en 1974 y 1977, ya que no había una especificación IP separada en ese momento. v3 se definió en 1978, y v3.1 es la primera versión donde TCP está separado de IP. v6 es una síntesis de varias versiones sugeridas, v6 Simple Internet Protocol , v7 TP/IX: The Next Internet , v8 PIP — The P Internet Protocol y v9 TUBA — Tcp & Udp with Big Addresses . [7]
Las redes IP pueden dividirse en subredes tanto en IPv4 como en IPv6 . Para este propósito, una dirección IP se reconoce como compuesta por dos partes: el prefijo de red en los bits de orden superior y los bits restantes llamados campo de resto , identificador de host o identificador de interfaz (IPv6), utilizados para la numeración de host dentro de una red. [1] La máscara de subred o notación CIDR determina cómo se divide la dirección IP en partes de red y host.
El término máscara de subred solo se utiliza en IPv4. Sin embargo, ambas versiones de IP utilizan el concepto y la notación CIDR. En este caso, la dirección IP va seguida de una barra y el número (en decimal) de bits utilizados para la parte de red, también llamado prefijo de enrutamiento . Por ejemplo, una dirección IPv4 y su máscara de subred pueden ser 192.0.2.1 y 255.255.255.0 , respectivamente. La notación CIDR para la misma dirección IP y subred es 192.0.2.1 / 24 , porque los primeros 24 bits de la dirección IP indican la red y la subred.
Una dirección IPv4 tiene un tamaño de 32 bits, lo que limita el espacio de direcciones a 4 294 967 296 (2 32 ) direcciones. De este número, algunas direcciones están reservadas para fines especiales, como redes privadas (≈18 millones de direcciones) y direcciones de multidifusión (≈270 millones de direcciones).
Las direcciones IPv4 se representan generalmente en notación decimal con punto , que consta de cuatro números decimales, cada uno de ellos comprendido entre 0 y 255, separados por puntos, p. ej., 192.0.2.1 . Cada parte representa un grupo de 8 bits (un octeto ) de la dirección. [8] En algunos casos de redacción técnica, [ especificar ] Las direcciones IPv4 pueden presentarse en varias representaciones hexadecimales , octales o binarias .
En las primeras etapas del desarrollo del Protocolo de Internet, el número de red siempre era el octeto de orden más alto (los ocho bits más significativos). Como este método sólo admitía 256 redes, pronto resultó inadecuado, ya que se desarrollaron redes adicionales que eran independientes de las redes existentes ya designadas por un número de red. En 1981, se revisó la especificación de direccionamiento con la introducción de la arquitectura de red con clases . [2]
El diseño de red con clases permitió un mayor número de asignaciones de red individuales y un diseño de subredes de grano fino. Los primeros tres bits del octeto más significativo de una dirección IP se definieron como la clase de la dirección. Se definieron tres clases ( A , B y C ) para el direccionamiento unicast universal . Dependiendo de la clase derivada, la identificación de la red se basó en segmentos de límite de octetos de toda la dirección. Cada clase utilizó sucesivamente octetos adicionales en el identificador de red, reduciendo así el número posible de hosts en las clases de orden superior ( B y C ). La siguiente tabla ofrece una descripción general de este sistema ahora obsoleto.
El diseño de redes con clases cumplió su propósito en la etapa inicial de Internet, pero carecía de escalabilidad frente a la rápida expansión de las redes en la década de 1990. El sistema de clases del espacio de direcciones fue reemplazado por el enrutamiento entre dominios sin clases (CIDR) en 1993. El CIDR se basa en el enmascaramiento de subred de longitud variable (VLSM) para permitir la asignación y el enrutamiento en función de prefijos de longitud arbitraria. Hoy en día, los restos de los conceptos de redes con clases funcionan solo en un ámbito limitado como parámetros de configuración predeterminados de algunos componentes de hardware y software de red (por ejemplo, máscara de red) y en la jerga técnica utilizada en las discusiones de los administradores de red.
En los primeros diseños de redes, cuando se imaginó la conectividad global de extremo a extremo para las comunicaciones con todos los hosts de Internet, se pretendía que las direcciones IP fueran únicas a nivel mundial. Sin embargo, se descubrió que esto no siempre era necesario a medida que se desarrollaban las redes privadas y era necesario conservar el espacio de direcciones públicas.
Las computadoras que no están conectadas a Internet, como las máquinas de fábrica que se comunican entre sí únicamente a través de TCP/IP , no necesitan tener direcciones IP globales únicas. Hoy en día, estas redes privadas se utilizan ampliamente y, por lo general, se conectan a Internet con traducción de direcciones de red (NAT), cuando es necesario.
Se reservan tres rangos no superpuestos de direcciones IPv4 para redes privadas. [9] Estas direcciones no se enrutan en Internet y, por lo tanto, su uso no necesita coordinarse con un registro de direcciones IP. Cualquier usuario puede utilizar cualquiera de los bloques reservados. Normalmente, un administrador de red dividirá un bloque en subredes; por ejemplo, muchos enrutadores domésticos utilizan automáticamente un rango de direcciones predeterminado de 192.168.0.0 a 192.168.0.255 ( 192.168.0.0 / 24 ).
En IPv6, el tamaño de la dirección se incrementó de 32 bits en IPv4 a 128 bits, proporcionando así hasta 2 128 (aproximadamente3.403 × 10 38 ) direcciones. Esto se considera suficiente para el futuro previsible.
El objetivo del nuevo diseño no era simplemente proporcionar una cantidad suficiente de direcciones, sino también rediseñar el enrutamiento en Internet al permitir una agregación más eficiente de prefijos de enrutamiento de subredes. Esto dio como resultado un crecimiento más lento de las tablas de enrutamiento en los enrutadores. La asignación individual más pequeña posible es una subred para 264 hosts , que es el cuadrado del tamaño de toda la Internet IPv4. En estos niveles, las tasas de utilización de direcciones reales serán pequeñas en cualquier segmento de red IPv6. El nuevo diseño también brinda la oportunidad de separar la infraestructura de direccionamiento de un segmento de red, es decir, la administración local del espacio disponible del segmento, del prefijo de direccionamiento utilizado para enrutar el tráfico hacia y desde redes externas. IPv6 tiene funciones que cambian automáticamente el prefijo de enrutamiento de redes completas, en caso de que cambie la conectividad global o la política de enrutamiento , sin requerir un rediseño interno o una renumeración manual.
La gran cantidad de direcciones IPv6 permite asignar grandes bloques para fines específicos y, cuando sea apropiado, agregarlos para un enrutamiento eficiente. Con un gran espacio de direcciones, no es necesario contar con métodos complejos de conservación de direcciones como los que se utilizan en CIDR.
Todos los sistemas operativos de servidores empresariales y de escritorio modernos incluyen soporte nativo para IPv6 , pero aún no está ampliamente implementado en otros dispositivos, como enrutadores de redes residenciales, equipos de voz sobre IP (VoIP) y multimedia, y algunos hardware de red .
Así como IPv4 reserva direcciones para redes privadas, en IPv6 se reservan bloques de direcciones. En IPv6, se las denomina direcciones locales únicas (ULA). El prefijo de enrutamiento fc00:: / 7 está reservado para este bloque, [10] que se divide en dos bloques / 8 con diferentes políticas implícitas. Las direcciones incluyen un número pseudoaleatorio de 40 bits que minimiza el riesgo de colisiones de direcciones si los sitios se fusionan o los paquetes se enrutan incorrectamente.
Las primeras prácticas utilizaban un bloque diferente para este propósito ( fec0: :), denominado direcciones locales del sitio. [11] Sin embargo, la definición de lo que constituía un sitio seguía sin estar clara y la política de direccionamiento mal definida creaba ambigüedades para el enrutamiento. Este tipo de dirección se abandonó y no debe utilizarse en sistemas nuevos. [12]
Las direcciones que comienzan con fe80:: , llamadas direcciones locales de enlace , se asignan a las interfaces para la comunicación en el enlace adjunto. El sistema operativo genera automáticamente las direcciones para cada interfaz de red. Esto proporciona una comunicación instantánea y automática entre todos los hosts IPv6 en un enlace. Esta función se utiliza en las capas inferiores de la administración de la red IPv6, como por ejemplo para el Protocolo de descubrimiento de vecinos .
Los prefijos de direcciones privadas y de enlace local no pueden enrutarse en Internet público.
Las direcciones IP se asignan a un host de forma dinámica a medida que se incorporan a la red o de forma persistente mediante la configuración del hardware o software del host. La configuración persistente también se conoce como uso de una dirección IP estática . Por el contrario, cuando la dirección IP de una computadora se asigna cada vez que se reinicia, esto se conoce como uso de una dirección IP dinámica .
Las direcciones IP dinámicas se asignan por red mediante el protocolo de configuración dinámica de host (DHCP). [13] DHCP es la tecnología más utilizada para asignar direcciones. Evita la carga administrativa de asignar direcciones estáticas específicas a cada dispositivo de una red. También permite que los dispositivos compartan el espacio de direcciones limitado en una red si solo algunos de ellos están en línea en un momento determinado. Normalmente, la configuración de IP dinámica está habilitada de forma predeterminada en los sistemas operativos de escritorio modernos.
La dirección asignada con DHCP está asociada a una concesión y normalmente tiene un período de vencimiento. Si el host no renueva la concesión antes de su vencimiento, la dirección puede asignarse a otro dispositivo. Algunas implementaciones de DHCP intentan reasignar la misma dirección IP a un host, en función de su dirección MAC , cada vez que se une a la red. Un administrador de red puede configurar DHCP asignando direcciones IP específicas en función de la dirección MAC.
DHCP no es la única tecnología que se utiliza para asignar direcciones IP de forma dinámica. El protocolo Bootstrap es un protocolo similar y predecesor de DHCP. Las redes de acceso telefónico y algunas de banda ancha utilizan las funciones de dirección dinámica del protocolo punto a punto .
Las computadoras y los equipos utilizados para la infraestructura de red, como enrutadores y servidores de correo, generalmente están configurados con direcciones estáticas.
En ausencia o falla de configuraciones de direcciones estáticas o dinámicas, un sistema operativo puede asignar una dirección de enlace local a un host utilizando la configuración automática de direcciones sin estado.
Sticky es un término informal utilizado para describir una dirección IP asignada dinámicamente que rara vez cambia. [14] Las direcciones IPv4, por ejemplo, normalmente se asignan con DHCP, y un servicio DHCP puede utilizar reglas que maximicen la posibilidad de asignar la misma dirección cada vez que un cliente solicita una asignación. En IPv6, una delegación de prefijo se puede manejar de forma similar, para hacer que los cambios sean lo menos frecuentes posible. En una configuración típica de un hogar o una pequeña oficina, un único enrutador es el único dispositivo visible para un proveedor de servicios de Internet (ISP), y el ISP puede intentar proporcionar una configuración que sea lo más estable posible, es decir, sticky . En la red local del hogar o la empresa, un servidor DHCP local puede estar diseñado para proporcionar configuraciones de IPv4 sticky, y el ISP puede proporcionar una delegación de prefijo de IPv6 sticky, lo que da a los clientes la opción de utilizar direcciones IPv6 sticky. Sticky no debe confundirse con static ; las configuraciones sticky no tienen garantía de estabilidad, mientras que las configuraciones estáticas se utilizan indefinidamente y solo se cambian deliberadamente.
El bloque de direcciones 169.254.0.0 / 16 se define para el uso especial de direccionamiento local de enlace para redes IPv4. [15] En IPv6, cada interfaz, ya sea que utilice direcciones estáticas o dinámicas, también recibe automáticamente una dirección local de enlace en el bloque fe80 :: / 10. [15] Estas direcciones solo son válidas en el enlace, como un segmento de red local o una conexión punto a punto, al que está conectado un host. Estas direcciones no son enrutables y, al igual que las direcciones privadas, no pueden ser el origen o el destino de los paquetes que atraviesan Internet.
Cuando se reservó el bloque de direcciones IPv4 local de enlace, no existían estándares para los mecanismos de configuración automática de direcciones. Para llenar el vacío, Microsoft desarrolló un protocolo llamado Automatic Private IP Addressing (APIPA), cuya primera implementación pública apareció en Windows 98. [ 16] APIPA se ha implementado en millones de máquinas y se convirtió en un estándar de facto en la industria. En mayo de 2005, el IETF definió un estándar formal para él. [17]
Un conflicto de direcciones IP ocurre cuando dos dispositivos en la misma red física o inalámbrica local afirman tener la misma dirección IP. Una segunda asignación de una dirección generalmente detiene la funcionalidad IP de uno o ambos dispositivos. Muchos sistemas operativos modernos notifican al administrador de los conflictos de direcciones IP. [18] [19] Cuando las direcciones IP son asignadas por varias personas y sistemas con diferentes métodos, cualquiera de ellos puede ser el culpable. [20] [21] [22] [23] [ 24] Si uno de los dispositivos involucrados en el conflicto es el acceso de puerta de enlace predeterminado más allá de la LAN para todos los dispositivos en la LAN, todos los dispositivos pueden verse afectados.
Las direcciones IP se clasifican en varias clases de características operativas: unicast, multicast, anycast y direccionamiento de difusión.
El concepto más común de dirección IP se encuentra en el direccionamiento unicast , disponible tanto en IPv4 como en IPv6. Normalmente se refiere a un único remitente o un único receptor, y se puede utilizar tanto para enviar como para recibir. Por lo general, una dirección unicast está asociada a un único dispositivo o host, pero un dispositivo o host puede tener más de una dirección unicast. Para enviar los mismos datos a varias direcciones unicast, el remitente debe enviar todos los datos varias veces, una para cada destinatario.
La difusión es una técnica de direccionamiento disponible en IPv4 para direccionar datos a todos los destinos posibles en una red en una operación de transmisión como una difusión de todos los hosts . Todos los receptores capturan el paquete de red. La dirección 255.255.255.255 se utiliza para la difusión de red. Además, una difusión dirigida más limitada utiliza la dirección de host de todos unos con el prefijo de red. Por ejemplo, la dirección de destino utilizada para la difusión dirigida a dispositivos en la red 192.0.2.0 / 24 es 192.0.2.255 . [25]
IPv6 no implementa direccionamiento de difusión y lo reemplaza con multidifusión a la dirección de multidifusión de todos los nodos especialmente definida.
Una dirección multicast está asociada a un grupo de receptores interesados. En IPv4, las direcciones 224.0.0.0 a 239.255.255.255 (las antiguas direcciones de clase D ) se designan como direcciones multicast. [26] IPv6 utiliza el bloque de direcciones con el prefijo ff00:: / 8 para multicast. En cualquier caso, el remitente envía un único datagrama desde su dirección unicast a la dirección del grupo multicast y los enrutadores intermediarios se encargan de hacer copias y enviarlas a todos los receptores interesados (aquellos que se han unido al grupo multicast correspondiente).
Al igual que la difusión y la multidifusión, la anycast es una topología de enrutamiento de uno a muchos. Sin embargo, el flujo de datos no se transmite a todos los receptores, sino solo al que el enrutador decide que está más cerca en la red. El direccionamiento anycast es una característica incorporada de IPv6. [27] [28] En IPv4, el direccionamiento anycast se implementa con el protocolo Border Gateway Protocol utilizando la métrica de ruta más corta para elegir destinos. Los métodos anycast son útiles para el equilibrio de carga global y se utilizan comúnmente en sistemas DNS distribuidos .
Un host puede utilizar la geolocalización para deducir la posición geográfica de su par que se comunica. [29] [30] Esto normalmente se hace recuperando información de geolocalización sobre la dirección IP del otro nodo desde una base de datos. [31]
Una dirección IP pública es una dirección IP unicast enrutable globalmente, lo que significa que la dirección no es una dirección reservada para su uso en redes privadas , como las reservadas por RFC 1918, o los diversos formatos de dirección IPv6 de alcance local o de alcance local del sitio, por ejemplo para el direccionamiento de enlace local. Las direcciones IP públicas se pueden utilizar para la comunicación entre hosts en Internet global. En una situación doméstica, una dirección IP pública es la dirección IP asignada a la red doméstica por el ISP . En este caso, también es visible localmente iniciando sesión en la configuración del enrutador. [32]
La mayoría de las direcciones IP públicas cambian, y con relativa frecuencia. Cualquier tipo de dirección IP que cambia se denomina dirección IP dinámica. En las redes domésticas, el ISP suele asignar una IP dinámica. Si un ISP le asigna a una red doméstica una dirección que no cambia, es más probable que los clientes que alojan sitios web desde casa la utilicen de forma abusiva o que los piratas informáticos puedan probar la misma dirección IP una y otra vez hasta que vulneren una red. [32]
Pueden aparecer varios dispositivos clientecomparten una dirección IP, ya sea porque son parte de un entorno de servicio de alojamiento web compartido o porque un traductor de direcciones de red (NAT) IPv4 o un servidor proxy actúa como agente intermediario en nombre del cliente, en cuyo caso la dirección IP de origen real se oculta al servidor que recibe una solicitud. Una práctica común es tener una máscara NAT para muchos dispositivos en una red privada. Solo la interfaz pública de la NAT necesita tener una dirección enrutable a Internet. [33]
El dispositivo NAT asigna diferentes direcciones IP de la red privada a diferentes números de puerto TCP o UDP de la red pública. En las redes residenciales, las funciones NAT suelen implementarse en una puerta de enlace residencial . En este escenario, las computadoras conectadas al enrutador tienen direcciones IP privadas y el enrutador tiene una dirección pública en su interfaz externa para comunicarse en Internet. Las computadoras internas parecen compartir una dirección IP pública.
En marzo de 2024, la Corte Suprema de Canadá decidió que las direcciones IP eran información privada protegida según la Carta Canadiense de Derechos y Libertades , y que las búsquedas policiales requerían una orden judicial para obtenerlas. [34] La Comisión Europea considera que las direcciones IP son datos personales y están protegidas por el Reglamento General de Protección de Datos . [35]
Los sistemas operativos de las computadoras proporcionan varias herramientas de diagnóstico para examinar las interfaces de red y la configuración de direcciones. Microsoft Windows proporciona las herramientas de interfaz de línea de comandos ipconfig [36] y netsh y los usuarios de sistemas tipo Unix pueden utilizar las utilidades ifconfig , netstat , route , lanstat, fstat e iproute2 para realizar la tarea. [37]
Una dirección IPv4 tiene el siguiente formato: x . x . x . x donde x se denomina octeto y debe ser un valor decimal entre 0 y 255. Los octetos se separan mediante puntos. Una dirección IPv4 debe contener tres puntos y cuatro octetos. Los siguientes ejemplos son direcciones IPv4 válidas:
1 . 2 . 3 . 4
01 . 102 . 103 . 104