Migración del protocolo IPv4 a IPv6 - UAM-I

Anuncio
Migración del protocolo IPv4 a IPv6
Óscar Ávila Mejı́a
Depto. de Ingenierı́a eléctrica. UAM-I
En el presente artı́culo se mostrará una breve descripción de cada uno de estos protocolos y se explicará en qué consiste la migración.
Recibido: 22 de febrero de 2011
Aceptado: 01 de marzo de 2011.
Abstract
In early February 2011, the IANA delivered the last
batch of IP addresses that were available (33 million) to the organization that is responsible for distribution across the Asia-Pacific region (in this case the APNIC). This means that IP addresses have
been exhausted and therefore, each managing body
of the five that exist, will have to use reserves that, it
is estimated, will cover a period of seven months more. The question is: What comes next?
Palabras clave: IPv4, IPv6, Protocolo de Internet,
direccion IP.
Introducción
El protocolo de capa de red, IP (Protocolo de Internet) se diseñó teniendo en mente la interconexión de
redes y para mantener unida a Internet. Su fin es proporcionar un medio para el transporte de datagramas del origen al destino, sin importar si éstas terminales están en la misma red o si hay otras redes entre ellas.
The situation to be faced is the migration to a new
protocol, that is to say leave IPv4 (Internet Protocol
version 4) and adopt IPv6 (Internet Protocol version
6).
En una red, cada host tiene asignada una dirección IP única que se utiliza para establecer comunicación con otros hosts en dicha red, las direcciones
se expresan en formato decimal separado por puntos
(25.120.240.100). Cada parte de una dirección (octeto1 ), ha de ser un número entre 0 y 255 y, como consecuencia, habrá un máximo de 4,294,967,296 (232 )
direcciones disponibles para uso en el caso de las direcciones IPv4. Por tanto, una dirección IP es un
número que identifica de manera lógica una interfaz de red. Sin embargo, un gran número de direcciones se reservan para uso local y, por ello, no están disponibles para Internet.
In the present article will show a brief description of
each of these protocols and explain that is migration.
Key words: IPv4, IPv6, Internet Protocol, IP
adress.
Resumen
A inicios de febrero de 2011, la IANA entregó el último lote de direcciones IP que quedaban disponibles (33 millones) a la organización que se encarga de distribuirlas en la región Asia-Pacı́fico (en este caso la APNIC). Esto significa que se han agotado direcciones IP que quedaban libres y por tanto, cada organismo de gestión, de los cinco que existen, tendrá que utilizar las reservas de las que aun
disponen con las cuales se estima que nos permitirá cubrir un periodo de siete meses más. La pregunta es: ¿Qué sigue después?
El protocolo IPv4
Clases de direcciones IP
Las direcciones IP pueden ser de diferentes tipos o
clases (A, B, C, D y E). Una red de clase A se reserva, generalmente para los Gobiernos, aunque también llegó a hacerse para empresas transnacionales.
Las direcciones de clase B se otorgan a medianas empresas. Los usuarios “normales” usarán direcciones
de clase C, las direcciones de clase D se usan para multidifusión (multicast) y las direcciones clase E
La situación a la que hay que enfrentarse es a la migración hacia un nuevo protocolo, es decir, abandonar IPv4 (Internet Protocol version 4) y adoptar
IPv6 (Internet Protocol version 6).
1 Un octeto (octet en francés, derivado del latı́n octo y del
griego okto, que significa ocho) es un grupo de ocho bits
55
56
ContactoS 79, 55–60 (2011)
se reservan únicamente para investigación. Se pierde ası́ un importante rango de direcciones IP debido a que hubo una mala asignación de los bloques
de direcciones clase A dando a instituciones, gobiernos y universidades más direcciones de las que realmente necesitaban. Los números de direcciones de
red los administra la ICANN (Corporación de Internet para la Asignación de Nombres y Números) a fin
de evitar conflictos.
Teniendo en cuenta lo anterior, no hay suficientes
direcciones IPv4 para enrutar públicamente y proporcionar una dirección distinta para cada terminal
IPv4 (que incluye computadoras de escritorio, teléfonos móviles, dispositivos integrados y hosts virtuales). Este problema se minimiza mediante la NAT2 ,
por medio de la cual diversos host de redes de área
local (LAN) puede compartir una única dirección
IP pública de Internet. Los datos enviados por los
hosts individuales a Internet indican tanto su dirección fuente como la IP pública utilizada y el router
que proporciona el acceso tiene la capacidad de “rastrear” de qué host ha originado el tráfico en la red y
direcciona el contenido correctamente. Aun ası́, esto no es suficiente dado que no todos los host están
en una red local; además, con la expansión de las redes inalámbricas, conexiones de banda ancha que requieren una IP continua y terminales móviles, la conectividad se vuelve permanente.
Según las clases de direcciones la distribución se hace
de la siguiente manera:
Clase A. Permite hasta 128 redes con 16 millones
de hosts cada una. El primer octeto identifica la
red y los tres restantes se asignan a los hosts.
Clase B. Permite 16,382 redes con hasta 64k hosts.
Los dos primeros octetos para identificar a la red
y los dos restantes para asignar a los hosts.
D permite multidifusión. Abarca las direcciones
224.0.0.0 a la 239.255.255.255 o La dirección de IP
menor es 0.0.0.0 y la mayor es 255.255.255.255.
Esquemáticamente esta distribución se puede observar en la figura 1.
Figura 1. Distribución por clases de las direcciones IPv4.
Usando este esquema, un paı́s puede tener asignada una dirección de red clase A y partir de allı́ crear
y distribuir las redes necesarias según la administración ICANN
Existen direcciones IP especiales, las que contienen valores 0 se refieren a la red local o host local y
el valor -1 (todos 1) se usa como dirección de difusión para indicar todos los hosts de una red. La dirección 0.0.0.0 la usan los hosts cuando están en
proceso de arranque únicamente; si la IP contiene 0 como número de red, se refiere a la red local, los demás números serán los distintos hosts.
Si la IP contiene algún valor distinto de 0 y 1 como número de red y unos en los hosts se trata de
multidifusión a una determinada red. Todas las direcciones de la forma 127.xx.yy.zz se reservan para pruebas de realimentación (loopbacks). Esto se
observa en la figura 2.
Clase C. Permite 2 millones de redes (tipo LAN)
de hasta 256 hosts cada una (aunque algunas son
especiales). Aquı́ se toman tres para identificar a
la red y el ultimo se asigna a los hosts.
2 NAT: Traducción de Direcciones de Red (Network Address Translation) La idea básica que hay detrás de NAT es
traducir las IPs privadas de la red en una IP pública (la que se
tenga asignada al momento) para que la red pueda enviar paquetes al exterior; y traducir luego esa IP publica, de nuevo a la IP privada de la PC que envió el paquete, para que pueda recibirlo una vez llega la respuesta.
Figura 2. Formato de direcciones IP especiales.
Migración del protocolo IPv4 a IPv6. Óscar Ávila Mejı́a.
Atendiendo al formato de direcciones, se cuenta con
cuatro octetos los cuales forman palabras de hasta 32
bits que conforma el encabezado IPv4 que se describe
a continuación (figura 3).
Versión: 4 bits. Este campo lleva el registro de
la versión del protocolo al que pertenece el datagrama, en este caso IPv4.
Tamaño Cabecera (IHL): 4 bits. Debido a que
la longitud del encabezado no es constante, se incluye un campo en el encabezado, IHL (Internet
Header Length), que indica cuantas palabras de
32 bits contendrá. El valor mı́nimo es de 5, cuando no hay opciones y pueden ser hasta 15.
Tipo de Servicio: 8 bits. Su finalidad es distinguir entre diferentes clases de servicios. Son posibles varias combinaciones de confiabilidad y velocidad. Por ejemplo, para voz es preferible la entrega rápida a la entrega precisa. Para transferir ficheros importa más la entrega libre de errores que la velocidad.
Los 5 bits de menos peso (de derecha a izquierda) son independientes e indican caracterı́sticas
del servicio como el costo, la fiabilidad, el rendimiento y el retardo.
Los 3 bits restantes manejan la prioridad de los
mensajes, ésta aumenta a medida que el número
formado por estos 3 bits lo hace, y van desde 000:
De rutina o 001: Prioritario, hasta 111: Control de
red.
En la práctica, los enrutadores ignoran este campo
a menos que se les indique lo contrario.
Longitud Total. 16 bits: Aquı́ se incluye el tamaño de todo el datagrama: tanto el encabezado como los datos, la longitud máxima es de 65,536
bytes.
En caso de fragmentación este campo contendrá el
tamaño del fragmento, no el del datagrama original.
Identificación. 16 bits: Este campo es necesario para que el host de destino determine a qué datagrama pertenece un fragmento que llega. Todos
los fragmentos de un datagrama contienen el mismo valor de identificación.
Indicadores (DF, MF). 3 bits: Utilizado para
especificar valores relativos a la fragmentación de
paquetes:
57
• bit 0: No se utiliza; debe ser 0.
• bit 1: si tiene el bit en 0, es Divisible, si es
1 entonces es No Divisible (DF). En este caso,
si el paquete necesitara ser fragmentado, no se
enviará.
• bit 2: si el bit está en 0 indica que es el último
Fragmento del datagrama, si es 1, es Fragmento
Intermedio (le siguen más fragmentos) (MF)
Desplazamiento de Fragmento. 13 bits: En
paquetes fragmentados indica la posición. El primer paquete de una serie de fragmentos contendrá en este campo el valor 0.
Tiempo de Vida (TTL). 8 bits: Es un contador que limita la vida de los paquetes. Se supone que cuenta el tiempo en segundos, permitiendo una vida máxima de 255. En la práctica, indica el máximo número de enrutadores que un paquete puede atravesar. Cada vez que da un salto, disminuye su valor en, como mı́nimo, una unidad. Cuando llegue a ser 0, el paquete será descartado. Esto evita que los datagramas permanezcan indefinidamente por la red.
Protocolo. 8 bits: Indica el protocolo de las capas superiores al que debe entregarse el paquete,
esto es, qué hacer con el datagrama que está manejando. Estos protocolos pueden ser TCP3 , UDP4 ,
etc. cada uno de ellos tiene un número definido.
Suma de verificación del encabezado. 16
bits: Verifica únicamente el encabezado, permite controlar su integridad para establecer si se ha
modificado durante la transmisión. La suma de
comprobación es la suma de todas las palabras de
16 bits del encabezado (excluyendo el campo suma de comprobación). Esto se realiza de tal modo que cuando se suman los campos de encabezado, se obtenga un número con todos los bits en 1.
Debe ejecutarse en cada salto.
Dirección IP de origen. 32 bits: indican el
número de red y el número de host del remitente
y permiten que el destinatario responda.
3 TCP (Transmission Control Protocol) da soporte a diversas aplicaciones de Internet (intercambio de ficheros, navegadores, clientes ftp, etc.) y protocolos de aplicación.
4 UDP (User Datagram Protocol) es básicamente un protocolo orientado a mensajes. UDP es generalmente el protocolo usado en la transmisión de vı́deo y voz a través de una
red.
58
ContactoS 79, 55–60 (2011)
Figura 3. Encabezado del protocolo IPv4.
Dirección IP de destino. 32 bits: indican el número de red y el número de host del
destinatario.
Clase de tráfico o prioridad. 8 bits: es parecido a tipo de servicio de IPv4 modificado para que siempre se verifique.
Opciones: variable. Se diseñó para proporcionar
un recurso que permitiera que las versiones subsiguientes del protocolo incluyeran información no
presente en el diseño original. Originalmente se definieron cinco opciones (Tabla 1).
Etiqueta de flujo. 20 bits: se usa para permitir
tráficos con requisitos de tiempo real.
El Protocolo IPv6
La caracterı́stica fundamental de IPv6 es
que aporta un espacio de 2128 direcciones, equivalente a 3.40 × 1038 (esto es, 340,
282,366,920,938,463,463,374,607,431,768,211,456) o
340 sextillones de direcciones.
En el caso de un paquete IPv6 la cabecera tendrá el
formato que se muestra en la figura 4
como se ve en la figura, hay cambios respecto a
la versión anterior. En IPv4 se tenı́an doce campos y ahora sólo ocho. Algunos campos se han
renombrado:
Longitud total → longitud de carga útil. 16
bits: es la longitud de los datos.
Protocolo → siguiente cabecera. 8 bits: en
lugar de usar cabeceras de longitud variable, ahora
se emplean sucesivas cabeceras encadenadas, por
esta razón desaparece el campo opciones.
Tiempo de vida → lı́mite de saltos. 8 bits:
Aquı́ ya se especifica claramente que la permanencia de un datagrama en la red es por un determinado número de saltos.
Los nuevos campos son:
El campo versión ahora será igual a 6 lógicamente.
Los campos dirección fuente y dirección destino son
ahora de 128 bits cada uno (equivalente a cuatro palabras de 32 bits según la estructura del
encabezado.
Por lo tanto, la longitud de la cabecera es de 40 bytes
el doble que en el caso de IPv4.
En resumen, las principales caracterı́sticas de IPv6
son:
Mayor espacio de direcciones
Autoconfiguración (Plug & Play).
Seguridad intrı́nseca en el núcleo del protocolo
(IPsec).
Clase de Servicio (CoS) y calidad de servicio (QoS)
Posibilidad de paquetes con carga útil de más de
65,535 bytes.
Enrutado más eficiente en el backbone5 de la red.
Multicast: envı́o de un mismo paquete a un grupo
de receptores.
Envı́o de un paquete a un receptor dentro de un
grupo.
5 Un backbone está compuesta de un gran número de routers de alta capacidad que se encuentran interconectados que
llevan los datos a través del mundo mediante cables de fibra óptica.
Migración del protocolo IPv4 a IPv6. Óscar Ávila Mejı́a.
59
Tabla 1. Algunas opciones del protocolo IPv4
Opción
Descripción
Seguridad
Especifica que tan secreto es el datagrama
Enrutamiento estricto desde el origen Indica la ruta completa a seguir
Enrutamineto libre desde el origen
Da una lista completa de los enrutadores
que no deben evitarse
Registrar ruta
Hace que cada enrutador agregue su
dirección IP
Marca de Tiempo
Hace que cada enrutador agregue su
dirección y su marca de tiempo.
Figura 4. Encabezado del protocolo IPv6.
Paquetes IP extensibles y eficientes sin que haya fragmentación en los routers, alineados a 64
bits (por tanto, preparados para los procesadores de 64 bits) y con una cabecera de longitud fija más simple que agiliza su procesado por parte del router.
Debido a la estructura del protocolo, ésta permite que crezca y se adapte a nuevas aplicaciones o
servicios que se requieran.
Pueden obviarse los ceros iniciales, como en IPv4.
Por ejemplo:
2004:0123:0004:00ab:0cde:3403:0001:0063
→ 2004:123:4:ab:cde:3403:1:63.
Los bloques contiguos de ceros se pueden comprimir empleando “::”. Esta operación sólo se puede hacer una vez. Por ejemplo:
2001:0:0:0:0:0:0:4 → 2001::4.
El siguiente ejemplo no es válido:
Representación de las direcciones IPv6
La dirección IPv6 tiene exactamente la misma función que su predecesor IPv4, pero dentro del protocolo IPv6. Está compuesta por 8 segmentos de 2 bytes
cada uno, que suman un total de 128 bits, el equivalente, como ya se mencionó a unos 3.4×1038 hosts direccionables. La ventaja es evidente en cuanto a su
capacidad de direccionamiento con respecto a la dirección IPv4.
Su representación suele ser hexadecimal y para la separación de cada par de octetos se emplea el sı́mbolo “:”. Un bloque abarca desde 0000 hasta FFFF. Algunas reglas acerca de la representación de direcciones IPv6 son:
2001:0:0:0:2:0:0:1 → 2001::2::1
2001::2:0:0:1 ó 2001:0:0:0:2::1).
(deberı́a
ser
La transición a IPv6
IPv4 proviene de una suposición basada en que una
base de direcciones codificadas en 32 bits serı́a suficiente, aunque también es verdad que en esa época (1981) no se pensaba en la expansión de Internet y en la cantidad de dispositivos conectados a la
red que hay hoy en dı́a.
La transición a IPv6 no será un proceso inmediato ni tan simple como pulsar un botón que conmute al nuevo protocolo, la idea es que convivan ambos protocolos durante algunos años y que la implan-
60
ContactoS 79, 55–60 (2011)
tación de IPv6 sea gradual. Para esto se han desarrollado mecanismos que permitirán la coexistencia
y migración progresiva tanto de las redes como de
los equipos de usuario. Estos mecanismos de transición son los siguientes:
Doble pila. Esta solución implementa las pilas
de ambos protocolos, IPv4 e IPv6, en cada nodo de la red. Cada nodo con doble pila en la red
tendrá dos direcciones de red, una IPv4 y otra
IPv6. Este procedimiento es fácil de desplegar y
está ampliamente soportado. Sin embargo, tiene
la desventaja de que la topologı́a de la red requiere dos tablas de encaminamiento y dos procesos de
enrutamiento.
Túneles. Aquı́ la conexión se logra encapsulando los paquetes IPv6 en paquetes IPv4. De esta manera, se pueden enviar paquetes IPv6 sobre una infraestructura IPv4. Hay muchas tecnologı́as de túneles disponibles, éstas difieren en
el método que usan los nodos encapsuladores para determinar la dirección a la salida del túnel (el
destino).
Traducción. Este método es necesario cuando un
nodo que sólo soporta IPv4 intenta comunicar con
un nodo que únicamente soporta IPv6. Se traducen las cabeceras de los paquetes entre IPv4 e
IPv6 (sólo los campos comunes). Una de las técnicas usadas es TRT (Transport Relay Translator)
que traduce a nivel de la capa de transporte (donde se realiza la transferencia de datos libre de errores entre emisor y receptor).
El dı́a 8 de junio del presente año se realizará una
prueba de funcionamiento, llamado el World IPv6
Day, es decir, el dı́a en el que empresas como Google,
Yahoo!, Facebook y Bing, pondrán sus servicios durante 24 horas, disponibles bajo IPv6 con el fin comprobar que todo marcha correctamente y que la transición, afectará mı́nimamente a los usuarios.
Sin embargo, a pesar de que los sistemas operativos en su mayorı́a soportan IPv6, es posible que algunos usuarios tengan que modificar el firmware de sus
routers por medio de su proveedor de servicios y algunas empresas tengan que hacer adecuaciones a su
red.
Como muestra de la convivencia de ambos sistemas
desde hace tiempo se encuentran los siguientes casos:
El gobierno de los Estados Unidos ordenó el despliegue de IPv6 en sus agencias federales en el año
2008
NIC México desde agosto de 2005 permite la utilización de direcciones IPv6 en sus sistemas y desde Marzo de 2009 opera servidores de DNS que soportan IPv6 para los dominios .mx.
Durante la Campus Party de Brasil del pasado mes
de enero, la empresa Telefónica realizó pruebas de
IPv6
De cualquier forma, los usuarios tendremos que mantener, durante esta coexistencia, ambos protocolos
activados (doble-pila) para tener acceso a los servicios que no tengan IPv6, y que sigan funcionando con IPv4.
Conforme se vaya estableciendo el protocolo, además
de una fuente inmensa de direcciones disponibles,
IPv6 ofrecerá mayor seguridad y una mejor protección frente nivel de ataques por “fuerza bruta”.
Además, facilitará la gestión mediante la autoconfiguración y agregar mecanismos de calidad de servicio, mediante flujos de tráfico.
Conclusión
Definitivamente, que durante el par de años o algo más en que ambos protocolos coexistirán, la mayor parte del trabajo será para las empresas proveedoras de servicios y los usuarios finales prácticamente seremos los últimos en migrar y lo que algunos han llamado el IPocalypse o el IPv4 ARPAgeddon, no será un colapso total de Internet, aunque es cierto que los servicios que no hayan trabajado para esta transición, es probable que terminen teniendo fallos y finalmente tengan que invertir en restablecer sus servicios y adaptarse.
Referencias
1. Tanenbaum, Andrew S. Redes de computadoras
4a edición. Pearson, México. 2003.
2. Stewart III, Kenneth D. Diseño y soporte de redes
de computadoras. Pearson, México 2009.
3. www.Iana.org
4. www.rfc.es.org
cs
Descargar