El protocolo IP se engloba dentro del nivel de red (capa 3) del modelo OSI o del nivel de internet (capa 2) del modelo TCP/IP. IP es el protocolo encargado del transporte de paquetes desde el origen hasta el destino en una comunicación, y a estos paquetes de información se les llama datagrama. A continuación te detallamos qué es el protocolo IP.
Características del protocolo IP
El protocolo IP, de nivel 3, tiene una serie de características que permite comunicaciones entre todas las máquinas a día de hoy, y es una de las bases del funcionamiento de Internet tal como lo conocemos. Es el protocolo de red más utilizado tanto en redes LAN como en redes WAN. Algunas de las características más importantes del protocolo IP son estas:
- No orientado a conexión: esto significa que el envío de información de un extremo al otro puede realizarse directamente, sin haber acordado información nada previamente, como si ocurre en otros protocolos como TCP donde hay una fase de establecimiento de la conexión. Cuando un equipo quiere enviar un datagrama a otro equipo, directamente envía este paquete a través de la red para llegar al destino. También se suele conocer como protocolo sin estado, ya que no hay nada registrado sobre esta comunicación en curso.
- No fiable o confiable: esto quiere decir, que el protocolo IP no tiene ningún mecanismo para segurar que un paquete enviado llega al destino correctamente. Es decir, se hace el mejor esfuerzo para intentar que el paquete llegue al destino, pero no se asegura ni se controla que llegue. Además, tampoco tiene mecanismos para asegurar que los datos no hayan sido modificados por el camino, solo asegura mediante checksums que las cabeceras no han sido modificadas, pero solo para las cabeceras y no para el contenido del datagrama. Todo esto implica que un paquete puede llegar alterado al destino, llegar desordenado con respecto a otros paquetes, llegar duplicado o simplemente no llegar.
- Basado en datagrama: un datagrama IP está formado por una cabecera y los propios datos que se quieren enviar al destino. La cabecera está formada por información del propio protocolo, que indica cómo enrutar este datagrama, qué información contiene, cómo se debe tratar por los routers intermedios por los que pasa, …
- IPv4/IPv6: es la versión del datagrama utilizado en el protocolo IP. Desde la década de 1970 se utiliza la versión 4 de este protocolo (IPv4) y aunque se lleva años desarrollando la nueva versión 6 (IPv6) realmente todavía no ha sustituido al anterior, al menos de forma masiva.
IPv4 vs IPv6
Ambas versiones del protocolo IP están disponibles a día de hoy, aunque prácticamente todo el tráfico de internet a día de hoy se sigue intercambiando mediante IPv4, aunque se lleva años promoviendo el uso de IPv6 pero todavía no ha terminado de despegar para poder reemplazar al ampliamente utilizado protocolo IPv4.
Características del protocolo IPv4
IPv4 está definido en el RFC 791 con fecha de 1981, y aquí resumimos algunas de sus características principales:
- Basado en direcciones de 32 bits: esto significa que cada dirección IP en versión 4 se representa con cuatro números separados por un punto, donde cada uno de ellos está en el rango de 0 a 255 (es decir, 8 bits). Cada equipo que necesita comunicarse mediante IPv4 tiene que disponer de una dirección IP, que le identifica y le permite comunicarse con otros equipos de su red y de fuera de ella. Estos son ejemplos de direcciones IPv4: 193.57.27.38 o 172.16.31.253
- Identificador de red y máscara: cada dirección IP, esos 32 bits están divididos en dos partes, una identifica la red a la que pertenece esa dirección y otra identifica a ese equipo dentro de esa red. Esto se define con la máscara de red, que básicamente identifica cuáles de esos 32 bits forman parte de la red, es decir que son iguales para todas las máquinas de la misma red, y cuáles de esos 32 bits identifican a cada equipo de la red. La representación se puede hacer de varias formas, aunque la más habitual suele ser como lo siguiente: 192.168.67.32/24. Esto quiere decir que los tres primeros octetos identifican las red (192.168.67) y el último número identifica el equipo en esa red (32), siendo la máscara de red de 24 bits.
- Redes privadas: hay varios rangos de IP predefinidos que identifican a redes privadas, lo que significa que esas direcciones no son enrutables a través de redes públicas como Internet y que están pensadas para ser utilizadas de forma aislada (un hogar, una oficina de una empresa, …) Estos rangos son los siguientes: 10.0.0.0/8, 172.16.0.0/12 y 192.168.0.0/16.
- Dirección de loopback: hay otro rango especialmente definido para comunicaciones internas dentro de un equipo, que es este: 127.0.0.0/8. Estas direcciones IP no deben ser usadas fuera de un host, porque el resto de equipos de red no podrán enrutarlas a otro destino.
Características del protocolo IPv6
El protocolo IPv4 surgió durante la década de los 90 como solución al gran problema que se detectó con IPv4, que consistía en el agotamiento de direcciones IP disponibles. En IPv4, con sus direcciones de 32 bits, se define un total aproximado de 4.3 miles de millones de direcciones IPv4, que con la comercialización de las comunicaciones durante los 90 y la expansión posterior se identifica como el gran problema de este protocolo IP.
Para solucionar este problema y algunos otros, se definen las siguientes características de IPv6:
- Basado en direcciones de 128 bits: esto significa que el número de direcciones disponibles es muchísimo más grande que en el protocolo anterior, aproximadamente 3.4 x 10^38. Es decir, que incluso con el crecimiento de dispositivos conectados a Internet, el Internet Of Things, y todas las nuevas propuestas que hará que todo esté conectado a Internet en un futuro cercano, IPv6 podrá ofrecer direcciones suficientes para todo esto sin ningún problema.
- No es compatible con IPv4: esto quiere decir que un equipo que use IPv4 no podrá comunicarse con otro que utilice IPv6, utilizan algo por medio que permita estas comunicaciones. Este es el gran problema con el despliegue del nuevo protocolo, que al no ser interoperables dificulta mucho su adopción.
- Multicast y Broadcast: IPv6 implementa una funcionalidad para enviar un paquete a varios destinos con un solo envío. Esto se hace gracias al Multicast IPv6 que comparte algunas características con la implementación en IPv4, pero lo mejora en algunos aspectos. Por otro lado, IPv6 no implementa el tradicional envío Broadcast de IPv4, sino que utiliza el protocolo Multicast para este tipo de envíos a múltiples máquinas en una red local.
- Cifrado IPSec: el cifrado de paquetes está definido como una característica de IPv6 desde el inicio, porque se diseñó con la seguridad en mente, no como se hizo en IPv4. Aunque IPSec también se ha adaptado a distintos escenarios bajo IPv4, en IPv6 lo tenemos disponible de forma nativa como una extensión del protocolo.
- Movilidad: aunque se ha implementado Mobile IP para IPv4, la implementación que se diseñó en IPv6 es nativa, y evita situaciones como el routing en triángulo obligatorio en algunos escenarios de Mobile IPv6.
- Más eficiente: IPv6 está diseñado para ser más eficiente que IPv4, permitiendo realizar tareas con menos carga de trabajo para los equipos de red involucrados, como los routers. Por ejemplo, el routing es más eficiente porque el procesamiento de las cabeceras de cada paquete se ha optimizado, y por tanto el trabajo se puede hacer más rápido que en IPv4.
¿Y qué diferencia hay entre IPv4 e IPv6?
Pues IPv6 es una nueva versión de IPv4. Hay muchas diferencias entre ambas ya que IPv6 resuelve muchos de los problemas de IPv4, pero una de las más notables es el tamaño de las direcciones IP. En IPv4 las direcciones son de 32 bits mientras que en IPv6 las direcciones utilizan 128 bits.
IPv6 proporciona muchas ventajas y muchas nuevas funcionalidades, y aunque estaba previsto que fuera adoptada hace unos cuantos años todavía no se ha extendido lo suficiente.
[…] IP: Este protocolo define cómo direccionar y enrutar cada paquete a través de la red para llegar al dispositivo de destino. Los routers o gateways intermedios revisan la dirección destino de cada paquete, para enrutarlo por el enlace adecuado. Aquí tienes un artículo con todos los detalles del protocolo IP. […]