Desde hace alrededor de 8 a 9 años, hemos escuchado que el fin de la versión 4 del Protocolo de Internet o IPv4 según sus siglas en inglés (Internet Protocol version 4). Sin embargo, los años han pasado y aunque desde 1998 tenemos una nueva versión de dicho protocolo, aún el más utilizado a nivel mundial continúa siendo la IPv4 (97% del tráfico mundial en 2015). Sin embargo, en esta ocasión, miraremos qué es IPv6, algunas de sus principales características, y claro está, en qué se diferencia de su predecesor.
Qué es IP?
En primer lugar, debemos entender que IP es el protocolo primario en la capa 3 o capa de internet del modelo OSI. Su función es la de entregar paquetes de un equipo fuente a un equipo destino y es ejecutada mayormente a través de enrutadores o routers en inglés.
IPv6
Las direcciones IPv6 tienen un tamaño de 128 bits, esto quiere decir que se cuenta con una cantidad disponible de 2128 direcciones, para entender dicha cantidad, escribiremos el número completo a continuación: 340.282.366.920.938.463.463.374.607.431.768.211.456; como podemos observar, la cantidad de direcciones es en la práctica, infinita.
Para poder entonces representar dichas direcciones, debemos cambiar del sistema decimal de IPv4 (192.168.100.0) y optar por un sistema hexadecimal representado en 8 grupos de 16 bits cada uno. Cada grupo se escribe como 4 dígitos hexadecimales y se separan con dos puntos, así:
2001:0dfd:0000:0000:0000:ff00:0026:8219
Dicho formato, sin embargo, tiene dos reglas para poder simplificar su escritura, estas reglas son:
- Uno o más ceros consecutivos pueden ser obviados dentro de un mismo grupo, siempre que dichos ceros se encuentren al comienzo del grupo. Por ejemplo, el grupo :0dfd: puede ser escrito como :dfb:, o el grupo :0026: se puede escribir :26:
- Un grupo de ceros consecutivos puede ser reemplazado por dos puntos dobles, claro que a fin de evitar confusiones, esto solo se puede hacer una sola vez en toda la dirección.
Si aplicamos ambas reglas, la dirección anteriormente quedaría de la siguiente forma:
2001:dfd::ff00:26:8219
La dirección de Loopback que no es más que la dirección para dirigirse al mismo equipo (local host) es representada como 0000:0000:0000:0000:0000:0000:0000:0001, o por su formato reducido ::1
Una de las características más importantes de IPv6 es el no requerir obligatoriamente DHCP para la asignación automática de dirección IP, en este caso, es el mismo equipo cliente quien se asigna una dirección IP a través de un proceso denominado SLAAC.
Y qué pasa con la NAT?
Si bien NAT fue diseñado para superar de algún modo la falta de direcciones IPv4, y de esta forma tener direcciones locales de Clase A, B o C, asociadas a una dirección externa de acceso global (en la mayoría de casos); comúnmente, NAT es asociado como una medida de seguridad para impedir al acceso desde fuentes externas a recursos locales, sin embargo, no es cierto que NAT por sí solo sea una medida de seguridad, excepto por lo que se conoce como el Efecto Cortafuegos o Firewall Effect por su nombre en inglés, pero no entraremos en detalle al respecto.
Pero y entonces qué sucede con NAT en sistemas IPv6? En primer lugar, debemos aclarar que NAT puede ser implementado sin problemas en IPv6, aunque no tiene sentido alguno ya que el propósito inicial de superar la cantidad limitada de direcciones IPv4 ya no existirá.
No obstante, es importante tener en cuenta, que una vez todas las direcciones locales sean accesibles directamente desde cualquier lugar, se tendrá mayor facilidad para realizar ataques y sería un paraíso para black hat hackers en búsqueda de presas fáciles; esto sin duda, obligaría a las empresas e ISP a adecuar equipos para restringir accesos no autorizados a través de verdades reglas de Firewall, lo que a su vez, implicará costos adicionales para los mismos, y es este uno de los factores más importantes a considerar antes de decidir una implementación total de IPv6.