Información blog

Linux, tutoriales, noticias, sistemas, redes y seguridad informática, entre otras cosas.

miércoles, 10 de junio de 2015

Hablemos de las bases de ipv6

El artículo de hoy tiene un enfoque completamente teórico, pero que yo en mi opinión considero muy interesante. En este caso voy a hablaros sobre el uso cada vez más extendido del protocolo ipv6. Este protocolo lleva usándose alrededor desde el 8 de Junio del 2011 pero la transición a este protocolo se está realizando de manera muy lenta, aún cuando todo el mundo es consciente de que tarde o temprano el uso de este protocolo será obligatorio.

Este protocolo es la evolución de ipv4, el cual en su día no contempló que tantas personas fuesen a usar Internet. Por aquel entonces se estimaba que solo los profesionales del área de la informática, bancos y universidades usarían esta tecnología; cosa que tal y cómo se ha visto con el tiempo, no ha sido así. Desde 2007 los expertos han ido vaticinando que las direcciones ipv4 disponibles se están acabando lenta pero paulatinamente, agotamiento que se ha ido acelerando gracias a dispositivos tales cómo las tablets y smartphones. Con "únicamente" 4.294.967.296 de direcciones que ofrece ipv4, es solo cuestión de tiempo que se agoten las ips, y en consecuencia que muchos no puedan acceder a Internet; por ello se diseñó una versión mejorada de ipv4: ipv6.
La principal ventaja que ofrece este "nuevo" protocolo es su capacidad de otorgar muchísimas más direcciones que su predecesor; con el fin de evitar el mismo problema que ha ocurrido con ipv4. Exactamente es capaz de otorgar  la para nada desdeñable cantidad de 340.282.366.920.938.463.463.374.607.431.768.211.456 direcciones ip; Una cantidad que no se prevé que se agote a medio plazo. Obviamente, para ser capaz de otorgar ese gran número de direcciones, su estructura varía considerablemente con respecto a ipv4. Las direcciones ipv4 son conocidas por la gran mayoría de gente, y son algo parecido a ésto:

192.168.1.1

Obviamente se trata de un ejemplo y esta dirección puede ser completamente distinta, pero es un buen referente de la estructura que posee una dirección ipv4. Toda dirección ipv4 está compuesta por cuatro números decimales de 8 bits separados por un punto; lo cual se traduce en que dichos números pueden oscilar entre 0 y 255. Eso significa que una dirección ip puede ir desde 0.0.0.1 a 255.255.255.254 y que la longitud total de una dirección ipv4 es de 32 bits.

En ipv6 este concepto deja de existir y es cambiado por nuevo modelo completamente distinto. Para empezar su tamaño es mucho mayor que el de una ipv4; concretamente 128 bits separados en campos de 16 bits divididos por dos puntos. Dichos campos están compuestos por números hexadecimales (a diferencia de con ipv4, que usa números decimales) y dependiendo de la posición de dichos campos, éstos poseen una función u otra. Para que este concepto se entienda mejor, lo más fácil es plasmarlo mediante este esquema genérico:


Los tres primeros campos(48 bits) componen el prefijo; Este prefijo es dado por el ISP (Internet Service Provider) de forma automática cuando queremos navegar por Internet.

El siguiente campo (16 bits) dicta el ID de subred que se le desea asignar a la ip. Este valor es modificable y representa el id que se le desea asignar al lugar.

Los últimos cuatro campos (64 bits) contienen el ID de la interfaz; Se trata de un identificador único que se configura de forma automática desde la dirección MAC (Media Access Control) de la interfaz de red; También es posible configurarlo manualmente siguiendo el estándar eui64. Un ejemplo de una dirección ipv6 sería:



Con esto tendríamos la información básica de ipv6. Aún así, hay bastantes factores extra que hay que tener en cuenta. Para empezar hay que tener en cuenta que muchas veces una ipv6 puede aparecer de de manera acortada; es decir con menos de 8 campos o con un campo que tiene sólo un 0 en vez de 4 caracteres; Eso es debido a que a veces, tal y cómo ocurre en el ejemplo anterior, hay campos compuestos por ceros, los cuales se pueden omitir, siempre y cuando quede claro la cantidad de campos compuestos por ceros hay entre un campo "lleno" y otro. Por ejemplo:

2001:0db8:3c4d:0015:0000:0000:1a2f:1a2b

es lo mismo que:

2001:0db8:3c4d:0015:0:0:1a2f:1a2b
2001:0db8:3c4d:0015::0:1a2f:1a2b
2001:0db8:3c4d:0015::1a2f:1a2b

Cómo podéis ver, para señalar que hay un espacio de ceros entre unos campos y otros, se ponen dos veces dos puntos. Pero si en cambio tuviésemos esta ip:

2001:0000:0000:0015:0000:0000:0000:1a2b

Se podría hacer esto:

2001:0000:0000:0015::1a2b
2001::0015:0000:0000:0000:1a2b

Pero no esto, porque no se sabría que cantidad de ceros hay a cada lado:

2001::0015::1a2b

Con estos conceptos básicos asimilados, podríamos profundizar en varios aspectos.


Tipo de dirección ipv6

Existen tres tipos de dirección ipv6:
  • Dirección unicast: Este tipo de direcciones están diseñadas para ir desde un punto de origen único a un punto de destino también único. Aún así existen tres categorías dentro de este tipo de direcciones:
    1. Link-local Address: También conocida cómo dirección de enlace local. Cuando un ordenador no recibe ip alguna desde un servidor DHCP6, se asigna una dirección de enlace local automaticamente con el fin de tener la posibilidad de enlazarse con otras máquinas.
    2. Site-local Address: También conocida cómo dirección de red local. Esto es lo equivalente a una dirección de red privada, y no tiene validez alguna fuera de la red local.
    3. Global IPv6 unicast address: Esta se trataría de una dirección ip apta para poder navegar por Internet. Para ello es necesario tener un prefijo válido del cual se encargaría de configurar el ISP.
  • Dirección multicastSe trata de una ip capaz de transmitir información a un grupo de dispositivos simultáneamente; dichos dispositivos serían reconocidos por dicha dirección multicast.
  • Dirección anycast: Este tipo de ip está diseñada para direccionar la información a los puntos de red más cercanos a nivel de topología de red.


Prefijo ipv6

Aunque ya he explicado anteriormente la composición del prefijo. Hay que tener en cuenta que existen dos tipos de prefijos:
  1. Prefijo de sitio.
  2. Prefijo de subred.
El prefijo de sitio es aquel que usa los primeros 48 bits.

En cambio, el prefijo de subred se compone de 64 bits e incluye los 16 bits del ID de subred. Dicho prefijo se usa únicamente en las redes locales. Aún así existen algunos prefijos de subred especiales cómo por ejemplo:

2002::/16 --> Significa que es una dirección enrutamiento de ipv6a ipv4.

fe80::/10 --> Significa que es una dirección de enlace local o Link-local Address.

FEC0::/10 --> Significa que es una dirección de red local o Site-local Address

ff00::/8 --> Significa que es una dirección multicast

La existencia de las barras de división se explican en el siguiente apartado.


Tamaño del grupo de direcciones

Al igual que con ipv4, ipv6 también tiene la posibilidad de tener asignada una mascara de red, aunque en este caso no se expresa cómo tal, sino cómo tamaño del prefijo. Dicho tamaño se expresa con el símbolo / y cumple normas parecidas a la máscara de red de ipv4:
  1. La longitud del prefijo se expresa con un número decimal; Este número representa el número de bits que ocupa el prefijo en cuestión; A menor tamaño el prefijo; mayor el rango de direcciones con el que sea capaz de comunicarse la ip. 
  2. El tamaño máximo del prefijo cambia con respecto al tamaño máximo de la máscara de red. El tamaño máximo de un prefijo de sitio SIEMPRE será 48 bits y el de un prefijo de subred SIEMPRE será de 64 bits.

Un ejemplo de una dirección ip válida con un tamaño de 48 bits sería:
2001:0db8:3c4d:0015:0000:0000:1a2f:1a2b/48


Soporte IPsec de forma nativa


A modo informativo, ipv6 está diseñado para conectarse usando un conjunto de protocolos de seguridad denominado IPsec; Dicho protocolo es usado en implementaciones VPN hoy en día, tales cómo OpenVPN y ha sido integrado de forma nativa en ipv6 con el fin añadir un capa de seguridad a las conexiones, pues el protocolo de comunicación ip no fue diseñado en su día pensando en la seguridad.



Con esto ya tendríamos las nociones fundamentales sobre ipv6. 

Espero que os resulte útil.

Saludos.

No hay comentarios :

Publicar un comentario